# WebKit 0.5.1 Release Notes

Webware for Python 0.5.1

## Introduction

- Version 0.5.1 was released on 4/26/2001 (as a release candidate).
- This is a bugfix release.

## API Changes

- This change occurred in the last release (0.5), but was not documented in the release notes. We include it here as a reminder:

  The proper way to import modules from WebKit, such as Page, is by qualifying the module with `WebKit.` For example, this:

      from Page import Page

  now becomes:

      from WebKit.Page import Page

  If you previously had WebKit in your Python path please remove it.

## Bugfixes

- The Admin context was not password protected, with the exception of the AppControl servlet. Protection has been added to the other servlets in the Admin context. Also, the Security servlet for the Admin context shared a session variable with the example security servlet, meaning that a client which tried out the security servlet was also given access to the Admin servlets. We found this disturbing and corrected it.
- The servlet used to view the source code of the examples was also able to view any file on the system to which the WebKit process had access. This has been corrected so that only files in the Examples dirtectory can be viewed. A similar issue existed in the PSP Examples context and was also corrected.
- The SessionFileStore.keys() method incorrectly put a slash at the beginning of every key. This affected the other flavors of session storage, which use SessionFileStore for various purposes.
- The XMLRPC servlet in the 0.5.0 release was non-functioning. It is now functional.
- Testing/stress.py now works properly (by killing HTTP cookies, in the test requests, which contain stale session ids).
- The FastCGI adapter was not functional in the last release. It works now. However, we discovered in the process of fixing this that the FastCGI library we are using does not work on Windows. We have no plans to rectify this situation at the moment.
- Added some error checking for socket communications.
- Corrected bug in AsyncThreadedAppServer where errors in asyncore were not caught properly. This was due to a change in asyncore between Python 1.5.x and Python 2.x.