GemBuilder™ for Smalltalk (GBS) version 5.4.7 is a new version of the GemBuilder for Smalltalk product, adding support for GemStone/S 64 Bit version 3.7, as well as fixing a number of bugs. Please take time to read through these release notes before installing or upgrading, to acquaint yourself with the changes.
These release notes provide changes between the previous version of GBS, version 5.4.6, and version 5.4.7. If you are upgrading from a version prior to 5.4.6, please also review the release notes for each intermediate release to see the full set of changes.
This release supports applications running with Instantiation’s VAST Platform (VA Smalltalk) only. Version 5.4.7 does not support VisualWorks, nor can it be used with GemStone/S 64 Bit 2.x or 32-bit GemStone/S. Support for these servers is provided in separate GBS releases.
To install GemBuilder for Smalltalk 5.4.7, follow the instructions in the GemBuilder for Smalltalk Installation Guide for version 5.4.7.
The following tables describe the client Smalltalk versions and platforms supported by GBS 5.4.7, and the GemStone server versions that can be used with each. For more details, see the GemBuilder for Smalltalk Installation Guide for version 5.4.7.
The User Dialog has some changes in behavior and labels.
Object Read Tracking (see https://docs.gemtalksystems.com/current/objectreadtracking) can now be configured using the security policy too1.
VAST 11 introduced the class UnicodeStrings, and support for converting Strings to UnicodeStrings. With v5.4.7, server instances of Unicode7, Unicode16 and Unicode32 map to client UnicodeStrings.
This method was required to avoid transaction protocol errors with some much older versions of VA Smalltalk, but is no longer needed, and has been removed.
The following deprecated methods have been removed. These methods were pass-throughs to the equivalent GbsConfiguration methods, which should be used instead.
GbsSessionManager >> assertionChecks
GbsSessionManager >> assertionChecks:
GbsSessionManager >> autoMarkDirty
GbsSessionManager >> autoMarkDirty:
GbsSessionManager >> blockingProtocolRpc
GbsSessionManager >> blockingProtocolRpc:
GbsSessionManager >> blockReplicationEnabled
GbsSessionManager >> blockReplicationEnabled:
GbsSessionManager >> blockReplicationPolicy
GbsSessionManager >> blockReplicationPolicy:
GbsSessionManager >> bulkLoad
GbsSessionManager >> bulkLoad:
GbsSessionManager >> confirm
GbsSessionManager >> confirm:
GbsSessionManager >> connectorNilling
GbsSessionManager >> connectorNilling:
GbsSessionManager >> connectVerification
GbsSessionManager >> connectVerification:
GbsSessionManager >> defaultFaultPolicy
GbsSessionManager >> defaultFaultPolicy:
GbsSessionManager >> eventPollingFrequency
GbsSessionManager >> eventPollingFrequency:
GbsSessionManager >> eventPriority
GbsSessionManager >> eventPriority:
GbsSessionManager >> faultLevelRpc
GbsSessionManager >> faultLevelRpc:
GbsSessionManager >> forwarderDebugging
GbsSessionManager >> forwarderDebugging:
GbsSessionManager >> freeOopEncoding
GbsSessionManager >> freeOopEncoding:
GbsSessionManager >> freeSlotsOnStubbing
GbsSessionManager >> freeSlotsOnStubbing:
GbsSessionManager >> fullCompression
GbsSessionManager >> fullCompression:
GbsSessionManager >> generateClassConnectors
GbsSessionManager >> generateClassConnectors:
GbsSessionManager >> generateGSClasses
GbsSessionManager >> generateGSClasses:
GbsSessionManager >> generateSTClasses
GbsSessionManager >> generateSTClasses:
GbsSessionManager >> initialCacheSize
GbsSessionManager >> initialCacheSize:
GbsSessionManager >> initialDirtyPoolSize
GbsSessionManager >> initialDirtyPoolSize:
GbsSessionManager >> removeInvalidConnectors
GbsSessionManager >> removeInvalidConnectors:
GbsSessionManager >> traversalBufferSize
GbsSessionManager >> traversalBufferSize:
GbsSessionManager >> verbose
GbsSessionManager >> verbose:
GbsSession class >> assertionChecks
GbsSession class >> assertionChecks:
GbsSession class >> eventPollingFrequency
GbsSession class >> eventPollingFrequency:
GbsSession class >> eventPriority
GbsSession class >> eventPriority:
GbsSession class >> generateClassConnectors
GbsSession class >> generateClassConnectors:
GbsSession class >> generateGSClasses
GbsSession class >> generateGSClasses:
GbsSession class >> generateSTClasses
GbsSession class >> generateSTClasses:
GbsSession class >> removeInvalidConnectors
GbsSession class >> removeInvalidConnectors:
GbsSession class >> verbose
GbsSession class >> verbose:
GbsConnector class >> connectVerification
GbsConnector >> connectVerification
GbsConnector >> connectVerification:
GbsConfiguration >> generateGSClasses
GbsConfiguration >> generateGSClasses:
GbsConfiguration >> generateSTClasses
GbsConfiguration >> #generateSTClasses:
The server default class fileout format changed in v3.6 to use topaz commands rather than GemStone execution to remove existing methods. This topaz command was not handled correctly in GBS; using the popup menu item GS-file In or GemStone > Tools > GS File in would error. (#50354)
The method isENVYImage was used in places to detect a VAST image, rather than the more appropriate isVisualAgeImage. #(49391)
The GEM_HALT_ON_ERROR configuration parameters can be set in the Gem to allow stacks to be dumped for a server error. This setting was overridden and disabled on login from GBS. (#50417)
During runtime application IC packaging, GBS's method overrides were creating problems. The method override functionality signaled a method notification, which signalled back to the framework, creating a stack overflow. Now, the method change notifications are ignored while installing method overrides. (#49405)
Compiler errors in method text should insert the appropriate error message in the place within the method text that the error is found. Due to changes in the information returned by the server, an incorrect messages was being inserted in the incorrect location. CHECK FOR UPGRADED SYSTEM (#49419)
The center radio buttons and class/instance button resized proportionally. Now, these keep their size as the window is larger or smaller. (#49788)
In the Classes browser, when left-clicking within the method text pane that had not been clicked within previously, all or part of the method text from start up to the click location was highlighted. (#49776)
GemStone DoubleByteStrings, and Unicode16 strings that contained characters with codePoints greater than 255, would cause Inspector errors. (#49789)
Selected a SymbolDictionary that contained a large number of classes, such as Globals, could take a considerable time to display the list of classes over slower connections. (#50410)
When a Class method is selected in a Method List Browser, the Classes menu item Browse Class resulted in a walkback. (#50429)
The privileges dialog was not sized to accommodate all privileges. (#49908)
GBS was using the VAST parser to identify the method selector from within the method text. If the method text included sever-only elements such as class names, this returned nil but did not error. (#49410)
When editing GemStone server method code in a debugger, extra stacks may appears with top frames "GbsObject does not understand classVarNames". This was due to VA Code Assist incorrectly trying to determine information about the server method. (#49806)
LargeIntegers in the range 16r8000000000000000 through 16rFFFFFFFFFFFFFFFF were converted to a denormalized form with four trailing 0s, as a result of incorrect handling between the VA and server representations (#50484)
GBS determines if a server and client classes match (that is, are the same) by analyzing information such as class name, instance variables, and server format bits. The analysis of the format bits was not correct, resulting in classes failing to match and requiring re-syncing. (#40436)