New in Seaside 2.8

Seaside 2.8 is released as of 28 october 2007.

The big picture

  • rendering speed improvements mostly because of a new encoding architecture
  • memory usage reduction due to less continuations and new backtracking systesm
  • runs on two new platforms:
  • comments, more and better tests, documentation
  • tool modularization
  • new style and homepage
  • Dropped the old WAHtmlRenderer API
  • Squeak 3.7 support dropped (needs SeasideSqueak37 compatibility package)
  • improved response streaming (WATask and WABasicAthentication work)

The new backtracking system

Backtracking is no longer done by sending #registerObjectForBacktracking: or #registerForBacktracking but by implementing the #states selector. This allowed us to simplify and improve a lot of code. It’s also very similar to the existing #children. You can have a look the implementors to see examples.

In Detail

API

  • improved and simplified WAAnchor (uses URL objects now)
  • improved and simplified WAPopupAnchor
  • made WAImageTag protocol compatible to WAAnchorTag
  • added #optionGroup
  • added WAComponent >> #chooseFrom: convenience method (mostly for tutorials)
  • select tag supports disabled elements
  • two new elements (ins and del)
  • WAHtmlBuilder to conveniently render html from outside of #renderContentOn:

I18N

  • set accept-charset of forms to the character set of the session
  • bug with multipart forms fixed in WAKomEncoded
  • included Andreas’ utf-8 fastpath into WAKomEncoded
  • WAUrl has different ecoding as text content or url attribute value
  • fixed WideString bug in WAFile

Bugs Fixed

  • fixed WABrowser bugs
  • fixed bug in the profiler that showed a non-printable character -> this bug existed since the beginning of time
  • lots of AJAX related fixes

Clean Ups

  • removed WAModLisp, use fast_cgi instead -> we do not depend on KomServices anymore
  • removed all references to ScriptingSystem, use Form >> #storeString instead
  • removed WAChangePassword, WAEditDialog, WAEditDialog, WAGridDialog, WALoginDialog, WANoteDialog
  • Sushi Store is now its own package at Seaside Examples

General

  • WARedirectHandler subclasses can be used to handle session expiry
  • the error walkback displays a list of possible causes
  • lots of small fixes especially related to i10n
  • lots of small improvements
  • lots of xhtml validation related fixes
  • clean up, remove lots of old unused stuff
  • better portability

Migration

If you migrate to Seaside 2.8 from an earlier version make sure to check out the Migration Guide