# WebKit 0.3 Release Notes

Version 0.3
Webware for Python 0.3

## Release Notes

- Version 0.3 was released on 6/6/2000.
- Page: This class has a new action feature that allows forms to invoke a particular method of the servlet.
- WebKit.cgi: Added WebKitDir variable that when sent, points the adaptor to the location of WebKit. If you want Webware to reside somewhere else other than your server's web directory, then this is useful for platforms that don't have real links (e.g., Windows) or if your server won't follow symbolic links and you can't change that.
- In the HTML generated by your servlets, links to static files (such as HTML and GIFs), now work.
- The Configs/ directory now contains full blown config files, Application.config and AppServer.config. Copies of these exist in the same place with '.default' added to their name. To make a change, edit a .config. To see what the original settings were, look at a .default.
- The admin script now shows more useful information including the size of the log files, when the server was started, number of requests received and a list of plug-ins.
- You no longer have to specify the extension in a URL. WebKit will automatically detect it and use it. For example, `http://localhost/WebKit.cgi/Welcome.py` now becomes `http://localhost/WebKit.cgi/Welcome`. This hides implementation details from users of your site, and also allows you to switch implementations. For example, Welcome could become a PSP file or a directory, and no one using the site would know the difference or have broken bookmarks. There is a setting, ExtensionsToIgnore, whose default value is ['.pyc', '.pyo', '.py~', '.bak']. This is used to ignore files that are generally not of interest.
- There is a new Plug-in architecture.
- WebKit is now more friendly to Windows.
  - WebKit is no longer confused about the localhost name being blank in address.text.
  - The error report page now works (it previously had UNIX specific calls).
  - WebKit on Windows can now serve binary files such as images.
  - Note: You still have to do one special thing on Windows, which is fix the first line in WebKit.cgi. Unfortunately, we cannot find a line that works on both platforms. See Running and Testing for more info.
- HTTPResonse.write() can now take any kind of object as parameter (e.g., it invokes `str()` on it's argument).
- Added various convenience methods including Session.hasValue(), HTTPResponse.hasHeader() and HTTPResponse.hasCookie().
- Testing/stress.py - This new program can be used to stress out the app server with multiple
- AppServer can now handle concurrent requests correctly.
- AppServer and Application have generally better handling, recovery and messages in response to errors/exceptions.
- Fixed several memory leaks. Some leaks remain, notably when the app server receives multiple simultaneous requests.
- Added request forwarding function to Application. You can forward a request from one Servlet to another by calling application.forwardRequest(transaction). See ExamplePage.py for example.
- Added mutiple source directories through the "Context" configuration dictionary. See Application.default in the Configs/ directory for more info.
- There is a new Webware component named Python Server Pages (PSP) that is a plug-in to WebKit. You'll find a PSP link on the WebKit examples page, and as a separate component it has it's own documentation. (Future release notes will be found there, not here.)
- Added an inital Java Bean-like interface called Cans. See PSP examples for an example of its use.