GemBuilder™ for Smalltalk (GBS) version 8.8 is a new version of the GemBuilder for Smalltalk product, adding support for earlier and later versions of VisualWorks Smalltalk and including other bug fixes and minor improvements.
These release notes provide changes between the previous version of GBS, version 8.7.1, and version 8.8. If you are upgrading from a version prior to 8.7.1, please also review the release notes for each intermediate release between your version and 8.8, to see the full set of changes.
This release supports GemStone/S 64 Bit only, with VisualWorks 8.x and 9.x. GBS 8.8 does not support 32-bit GemStone/S, nor VAST platform (VA Smalltalk).
To install GemBuilder for Smalltalk 8.8, follow the instructions in the GemBuilder for Smalltalk Installation Guide for version 8.8.
The following tables describe the client Smalltalk versions and platforms supported by GBS 8.8, and the GemStone server product shared library versions that can be used with each.
For more details, including the specific required client libraries for each server product and versions, refer to the GemBuilder for Smalltalk Installation Guide for version 8.8.
The way GBS integrates with VisualWorks code during loading has been further modified to allow loading GBS into VisualWorks 8.3.2.
GbsSession instances now includes the GemStone sessionId for the Gem, the Gem’s PID, and the session’s serial number. The following instance methods have been added:
GbsSession >> gemProcessId
GbsSession >> gemSerialNumber
GbsSession >> gemSessionId
These IDs are now displayed in the printString. For example
Session 1 (remote) for 'DataCurator' on 'gs64stone' @ 'lark' PID: 19136900 Serial #: 2235 Session ID: 5
Fileout of GbsSessionParameter instances previously wrote text to recreate the parameters using expressions such as instVarAt:put:. Now, the correct accessor methods are used, allowing the exported session parameters to be used independent of the version of GBS. (#49873)
When exporting session parameters, duplicates are omitted from the exported file, but the duplicates are no longer removed from the current list of parameters.
By default, errors importing session parameters are counted, and if there were duplicates or session parameters that resulted in an error, the GemStone Launcher will display a message box with the count of each. If no problems occurred, no message box is displayed.
To see errors in import, hold down the Alt key while the import runs; this opens a debugger on the error.
There were a few methods located in the GbsTools package, such as GbsSessionManager >> connectorList, that were invoked from behavior in the GbsRuntime package. This caused breakages in headless images (in which the GbsTools package is not loaded). The packaging has been adjusted in v8.8. In addition, several methods have been conditionalized to better handle the absence of GbsTool. (#51015)
A Diagnostic Special Converter class and the corresponding GBS configuration item for enabling it have been added. These are only used on 64-bit little-endian VisualWorks images. Converting SmallDoubles is approximately 50% slower under the Diagnostic Special Converter than using the standard Special Converter.
When a new GemStone System Browser is opened, the first SymbolDictionary is now selected. This avoids confusion with the VisualWorks highlighting.
On login, GEM_ABORT_MAX_CRS is now always disabled by setting to the maximum value. This configuration parameter limits the number of commit records analyzed on abort, and with GBS all commit records must be considered. (#49438)
To determine the context’s selector, the printString of the block was parsed. If the printString was customized, this caused unexpected behavior. The parse was not necessary. (#50004)
When the number of classes was large enough to exceed printString limitations, the evaluation of GbsSession>>#fetchBehaviorDelegatesForClassConnectors: produced invalid Smalltalk and errored. (#50982)