1. Release Notes for GemBuilder for Smalltalk 8.8

GemBuilderfor 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.

Supported Platforms and Versions

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.

Table 1  Supported GemStone/S 64 Bit Server versions

 

VW 9.4
64-bit

VW 9.3.1
64-bit

VW 9.1.1
64-bit

VW 8.3.2
64-bit

VW 8.3.2
32-bit

Windows 11

3.7.1, 3.6.8

3.7.1, 3.6.8

3.7.1, 3.6.8

3.7.1, 3.6.8

3.7.1

Windows 10

3.7.1, 3.6.8

3.7.1, 3.6.8

3.7.1, 3.6.8

3.7.1, 3.6.8

3.6.8

Ubuntu Linux 22.04

3.7.1, 3.6.8

3.7.1, 3.6.8

3.7.1, 3.6.8

3.7.1, 3.6.8

 

Ubuntu Linux 20.04

3.7.1, 3.6.8

3.7.1, 3.6.8

3.7.1, 3.6.8

3.7.1, 3.6.8

 

Red Hat Linux ES 9.4

3.7.1, 3.6.8

3.7.1, 3.6.8

3.7.1, 3.6.8

3.7.1, 3.6.8

 

Red Hat Linux ES 8.9

3.7.1, 3.6.8

3.7.1, 3.6.8

3.7.1, 3.6.8

3.7.1, 3.6.8

3.7.1

Red Hat Linux ES 7.9

3.7.1, 3.6.8

3.7.1, 3.6.8

3.7.1, 3.6.8

3.7.1, 3.6.8

3.6.8

Changes in this Release

Re-introduced support for VisualWorks 8.3.2

The way GBS integrates with VisualWorks code during loading has been further modified to allow loading GBS into VisualWorks 8.3.2.

Support for VisualWorks 9.4 added

GBS 8.8 adds support for VisualWorks 9.4.

Access to Gem Ids

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

Improvements to GbsSessionParameter import/export

Exported format now uses appropriate accessors

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)

Import/export handling of duplicate session parameters

When exporting session parameters, duplicates are omitted from the exported file, but the duplicates are no longer removed from the current list of parameters.

On import, duplicates are ignored.

Error handling on importing session 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.

Methods in tools package that are invoked from runtime

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)

Support Diagnostic Special Converter

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.

Initial selection when System Browser opened

When a new GemStone System Browser is opened, the first SymbolDictionary is now selected. This avoids confusion with the VisualWorks highlighting.

GEM_ABORT_MAX_CRS automatically disabled on login

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)

Finding selector of BlockContext unnecessarily parsed context’s printString

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)

GbsSession>>fetchBehaviorDelegatesForClassConnectors: incorrect with large number of classes

When the number of classes was large enough to exceed printString limitations, the evaluation of GbsSession>>#fetchBehaviorDelegatesForClassConnectors: produced invalid Smalltalk and errored. (#50982)

GbsConfiguration missing configuration item for socketWaitTimeout

This configuration item has been added (#50985)

Improved Font handling in Browsers

The method list pane in the System and other Browsers now responds to VisualWorks font size settings. (#49094)

Negative zero doubles lost sign

Negative zero doubles (-0.0d0), were converted by adding 0, which normalized to 0.0 in 64-bit VisualWorks images. Now, the sign is retained. (#51036)