new: ssl session id, needs special server support, right now only works with AJP

All the deprecated methods and classes have been removed.

Session continuations have been made subclasses of WARequestHandler. Those who have created their own continuation subclasses may need to make adjustments to their classes.

New WAPluggableActionContinuation introduced (see Issue 680 for details). Those subclassing WAActionPhaseContinuation probably want to be subclasses WACallbackProcessingActionContinuation now instead.

Removed WAMain and its subclasses. Applications now specify an initial continuation instead. Those subclassing WAMain should consider implementing a subclass of WASessionContinuation instead.

‘WAPopupAnchorTag>>#name:‘ has been replaced by ‘WAPopupAnchorTag>>#windowTitle:‘

JSON support is now in Seaside-JSON-Core, #jsonOn: methods get a JSON canvas instead of a stream as an argument

Support for the HTML 5 "multiple" attribute has been added. Text input and file upload tags now understand the ‘#multipleValuesCallback:‘ message. The value passed to the callback will be a sequenceable collection.

Document handlers (created by one of the ‘#document:‘ methods) are now stored in their respective session instead as a session in the application. This means that the number of "sessions" used when using document handlers goes down and there’s less pressure on the session cache. Also the document handlers now time out when their session times out. However the size of the individual session now goes up when using document handlers. The document handlers of a session can no longer be accessed concurrently because they are behind the session lock. In addition it makes the code in ‘WAApplication‘ simpler because it only cares about sessions.

The ‘#resetIfPossible‘ method has been added to ‘WAResponse‘. It clears a partially rendered response if that’s possible (not streaming server is used).

The optional ‘#flush‘ method has been added to ‘WAResponse‘. This allows programmatic flushing of a partially rendered response. Out of the box this is used by comet and a new render phase continuation that flushes once the HTML header has been rendered. Currently only the Comanche adaptor supports this.

Changes for Server Adaptors

instead of using ‘WARequestCookie class >> #fromString:‘ you should use ‘WARequestCookie class >> #fromString:codec:‘, this has also been added to the latest versions of Seaside 3.0

Changes for Porters

{{{GRPlatform >> #includesUnsafeUrlCharacter:}}} and {{{#includesUnsafeXmlCharacter:}}} are no longer used. They are replaced by {{{GRPlatform >> #xmlEncoderOn:}}}, {{{#urlEncoderOn:}}}, {{{#urlEncoderOn:codec:}}}, and {{{#jsonEncoderOn:}}} which allow you to answer custom implementations. You don’t have to do this, the old implementations are provided as default implementations.

There is a new {{{#sourceFileEncoding}}} method on {{{GRPlatform}}} that is used by the file library to save the conent of uploaded files into methods. It defaults to ISO-8859-1 which is what was hard coded in Seaside 3.0.

Dependencies

‘Seaside-JSON-Core‘ along ‘Seaside-Pharo-JSON-Core‘ is now in the Seaside 3.1 repository

‘#callback:json:‘ was moved from ‘JQuery-Core‘ to ‘JQuery-JSON‘ which depends on ‘Seaside-JSON-Core‘

‘Seaside-HTML5‘ has been merged into ‘Seaside-Canvas‘ and ‘Seaside-Core‘