From a GLASS perspective, there are a handful of new features in the 2.3 release:
- Support for full Unicode character range with introduction of QuadByteString and MultiByteString classes
- Primitive support for UTF8 encoding (100x faster than Smalltalk-based algorithm).
- Primitive support for HTML encoding.
- Thread local support for GsProcess and continuations. Thread locals are being used in Seaside2.9.
- Improved ProfMonitor output code moved from GLASS-only to base image.
For a full description of the new product features and bugfixes, check out the Release Notes.
Between the last Beta Update (GLASS.230-dkh.162) and the 2.3 product release, I managed to slip in a couple of bugfixes for Pier and FastCGI. As I mentioned earlier, Pier 1.0.17 is installed as part of the Seaside release in 2.3.
You can find 2.3 downloads for Mac and Linux on the Glass Downloads page.
Follow the instructions in the Install Guide, or follow James Foster’s instructions and/or screencast. James’ instructions are aimed at installing 2.3 on Slicehost, but his instructions are useful for any *NIX install.
If you have been using 2.2.5, you will want to upgrade your repository from 2.2.5 to 2.3. Start by following instructions in the Install Guide for “Upgrading from previous GemStone/S 64 Bit 2.x versions” and after those steps have completed without error, run
using the same arguments you used with the upgradeImage script. This script ensures the SessionMethods are enabled, updates the UTF8Encoding package to to Utf8Encoding.230-dkh.21 and recompiles all methods that are managed under Monticello. Utf8Encoding.230-dkh.21 is the required for correct UTF8 encoding of DoubleBytesStrings and instances of the new class QuadByteString.
Assuming that you were running with GLASS-dkh.122, with the inclusion of the new UTF8 package, you will be running with the same code as GLASS.230-dkh.162, so after the upgrade is complete you will want to load GLASS.230-dkh.164 so that you are using the latest code. If you are using a custom-built repository, then you will want to update your build scripts to use Utf8Encoding.230-dkh.21 for future builds.
I’ve run several successful tests using this upgrade script on several different repositories, one of which dates back to 1.0beta6 (I’ve been continuously upgrading it since last February), but I will be interested in any issues that folks may run into in upgrading their 2.2.x Seaside repositories. If you have a Maintenance agreement with GemStone, please submit any bug reports through the Technical Support site, otherwise submit mail to the Beta Mailing list (subscription required) and we’ll help resolve any issues you may run into.