<% header(name + ' ' + versionString + ' Release Notes') %>

<p><% name %> version <% versionString %> released on <% releaseDate %></p>

<a name="NewFeatures"></a><h2>New Features</h2>
<ul>
	<li>As suggested by Alex Southgate, WebKit now uses Fazal Majid's
	<a href="http://www.majid.info/mylos/stories/2004/06/10/threadframe.html">threadframe</a>
	module (that needs to be installed separately from Webware) in order to
	print thread stack frames when receiving a <code>SIGQUIT</code> signal.
	On Windows, <code>SIGBREAK</code> (Ctrl-Break) can be used instead.</li>
	<li>Finding the directory index file ignored cascading extensions.
	If there was an index.py and an index.html file, you got a "not found"
	error, even with <code>UseCascadingExtensions = True</code> and
	<code>ExtensionCascadeOrder = ['.py','.html']</code>. Now, the index.py
	file will be chosen over the index.html file because it has the higher
	priority. Still, the order of the file names in <code>DirectoryFile</code>
	takes precedence over <code>ExtensionCascadeOrder</code>.
	(Patch 891917 by Christoph Zwerschke)</li>
	<li><code>HTTPRequest</code> now exposes content type, charsets or
	languages in an elementary fashion. Also, <code>rawInput</code> was
	somewhat prone to breakage. An additional check prevents illegal/impossible
	operations on the request stream. (Patch 753331 by Paul Boddie)</li>
	<li>When a user created a new context, but forgot to add the __init__.py
	file, the context failed to load. This file is now auto-generated when
	loading the context failed. (Patch 763490 by Jose Galvez)</li>
	<li>By setting a special define, you can now have mod_webkit pass the
	password secret from Apache to WebKit. Usually, Apache will pass only
	the remote user name. (Patch 830586 by Maximillian Dornseif)</li>
	<li>The maximum file size to be cached and the buffer size when serving
	unknown file types are now configurable via subsettings of the
	<code>UnknownFileTyes</code> setting in
	<span class="filename">Application.config</span>
	(see Configuration Guide for details).</li>
	<li>In <span class="filename">WebKit/Adapters/CGIPlus</span> you will find
	additional and modified files to help you run Webware on OpenVMS in a WASD
	CGIPlus environment (provided by Jean-François Piéronne).</li>
</ul>

<a name="Improvements"></a><h2>Improvements and Refinements</h2>
<ul>
	<li>Names in the <span class="filename">AppServer.config</span>
	<code>Host</code> setting are now resolved. You can now also use
	<code>'localhost' = '127.0.0.1'</code> and <code>'' = '0.0.0.0'</code>
	(all interfaces) as the <code>Host</code>.</li>
	<li>Config files are now opened in universal newline mode. This means you
	can now edit config files for Webware running under one platform (e.g. Unix)
	with an editor running on a different platform (e.g. Windows) without
	causing any troubles.</li>
	<li>Made the session cookie name configurable (request 1049922).
	This can now be done with the Application setting <code>SessionName</code>.
	The default name is "_SID_", as it has been used before.</li>
	<li>Removed the very obscure context keyword parameter from
	<code>forward()</code>, <code>includeURL()</code>,
	<code>resolveInternalRelativePath()</code> and
	<code>callMethodOfServlet()</code>. Probably nobody used it anyway,
	and it was pretty confusing. This context parameter (or, if missing,
	the current context) was always prepended to absolute paths, though
	according to the docstring absolute paths are not changed. Absolute paths
	stay now really unchanged. This also fixes bugs 530390 and 789693.</li>
	<li>The <code>URLParser</code> now handles absolute file paths delivered
	by the PSP handler.</li>
	<li>The <code>serverSidePath()</code> method now handles absolute paths,
	removing a leading slash (request 836157 by Toyotomi Hideyoshi).</li>
	<li>Cheetah template backups are now ignored (patch 675230).</li>
	<li>Code-cleanup in <code>WebUtils.FieldStorage</code>.
	<code>parse_qs()</code> will not raise an exception any more if
	<code>REQUEST_METHOD</code> is not set.</li>
	<li>The <code>HTTPResponse.writeHeaders()</code> will now set the Status
	header if there is none (part&nbsp;2 of patch 1520399 by Jean-Francois
	Pieronne). Also optimized that method for speed and readability.</li>
	<li>In the Image example, the image is now embedded in the ExamplePage.</li>
	<li>Solved problems with stale pid files in some start scripts.</li>
	<li>The <span class="filename">address.text</span>
	(<span class="filename">http.text</span>,
	<span class="filename">monitor.text</span>) files
	are now deleted at shutdown. If they already exist at startup, then,
	if possible, remove; continue startup if they cannot be removed but
	have the same content anyway; otherwise give a proper error message.</li>
	<li>Some optimizations in the built-in HTTP server; removed dependency
	from the deprecated <code>mimetools</code> module.</li>
	<li>Fixed some problems in the Ajax example and tried to make the code
	more clear.</li>
	<li>Improved ListBox example to kindly handle refresh/reload.</li>
	<li>As a precaution, using <code>os.chdir()</code> while running the
	ThreadedAppServer now prints an error message. You can set the
	<code>force</code> parameter to True if you want to do it anyway.</li>
</ul>

<a name="Bugfixes"></a><h2>Bugfixes</h2>
<ul>
	<li>Fixed a typo causing trouble with the
	<code>AutoReloadingAppServer</code>.</li>
	<li>Because of another typo in <code>ThreadedAppServer</code>, the
	<code>activeThreadCount()</code> method always returned zero and the number
	of threads could not be properly adjusted. (Reported by Oliver Bock)</li>
	<li>If an exception happened in an included or forwarded servlet, the
	exception handling happened in the context of the including or forwarding
	servlet. Particularly, the <code>writeExceptionReport()</code> method of
	the including or forwarding servlet was called, an not the method of the
	included or forwarded servlet. (Reported by Oliver Bock)</li>
	<li>The Request method <code>isSessionExpired()</code> and the Application
	setting <code>IgnoreInvalidSession</code> did not work any more due to a
	larger rewrite of the Application module after Webware version 0.8.1. This
	functionality has been reimplemented. (Reported by Niurka Perez)</li>
	<li>Building wkcgi on Solaris needs socket and nsl (bug 727052). The
	makefile does now support a LIBS macro and the proper setting needs only
	be commented out. See also the note in the README file.</li>
	<li>Rewritten URLs are now handled correctly by evaluating
	<code>SCRIPT_URL</code> (bug 902242).</li>
	<li>Bugfix in <code>setTransaction()</code>.</li>
	<li>Fixed a bug when Webware is used in a non-persistent environment
	(OneShotAdapter); don't start the session sweeper in this case
	(part&nbsp;1 of patch 1520399 by Jean-Francois Pieronne). Also,
	don't start the session sweeper when no session timeout is set.</li>
	<li>Some more minor changes and fixes.</li>
</ul>

<% footer() %>