Overview
New keyfiles required
Supported Platforms
Platforms for Version 3.5
GemBuilder for Smalltalk (GBS) Versions
VSD Version
Upgrade
Upgrading from GLASS/GsDevKit/Seaside
Documentation Changes
1.1 Library and Distribution changes
Updated library versions
Updated ZoneInfo (TimeZone database)
Raspberry Pi
32-bit openSSL client now included
Change in how shared libraries are packed
File documenting special selectors
shrpcmonitor shell removed
Open Source Library versions
Temporary files on Linux now created in /tmp, not /usr/tmp
Banner printing changes
DbfHistory now includes build as well as version
1.2 Optimizations
Reduced round-trips from Gem to Stone
SSL-encrypted Network Connections
Loading a specific OpenSSL library version
Improved support for additional execution environments
Expansion in file and path names
Automatic Asynchronous Aborts
Spin locks reduced
Array with: now implemented as primitive
Cache line size
OOB signal
1.3 Support for X509-Secured GemStone
New HostAgent process
New login parameter set
All connections require certificates
Remote and mid-level shared page caches
Object Filtering
2.1 Changes in Users and ObjectSecurityPolicies
Added system users
Changes in GsObjectSecurityPolicy
UserProfile instance variable renamed
New authentication scheme for X509-Secured GemStone
2.2 Changes in Garbage Collection
Repository reclaimAll with wait added
Setting persistent GcGem parameters
2.3 Changes in Backup
Compressed backups using lz4 have improved compression
Repository >> fullBackupTo: can accept an array
restoreFromBackup: accepts filename without compression suffix
2.4 GemStone access without a Stone / Solo sessions
Scripting with topaz solo using she-bang
2.5 Other Changes related to administrative operations
Local host reported as localhost
Printing of socket addresses changed
GEMSTONE_NRS_ALL and handling of NetLDI child process logs
Changes in System class >> descriptionOfSession:
performOnServer: using alternate shells
Disconnecting from one mid-level cache and connecting to another
Determining what mid-level cache a session is connected to
C stack traces on Windows for fatal errors
Handling cygwin file names on windows
2.6 Changes in Errors
New Error Classes
Added Error Numbers associated with existing error classes
Changes in Error message arguments
2.7 Changes in Utilities
startnetldi
copydbf changes
pageaudit additional statistics
gemnetobject arguments and documentation
startlogsender/startlogreceiver
New utility largememorypages
gslist no longer distributed on Windows
startstone and startnetldi return codes
2.8 Topaz changes
New command line argument -S for scripting
Improvements for support for additional compilation environments
X509-Secure GemStone login arguments
BREAK accepts new method specification syntax
topaz objectSpec parsing numbers
List classes allows subset filtering
Omitting deprecated methods from method lists
Added topaz commands
POLLFORSIGNAL
TMETHOD to support code management
Subcommands added to topaz SET
ENABLEREMOVEALL
INPUTPAUSEONERROR
SOLOLOGIN
ENVVAR
Subcommands added to OMIT and DISPLAY
VERSIONEDCLASSNAMES
Subcommand added to topaz STACK
TERMINATE
2.9 Configuration Parameter Changes
Parsing and Error handling for configuration files
Determining which Configuration files are in use
Removed Configuration Parameters
Changes in existing configuration parameters
STN_COMMITS_ASYNC disabled
STN_TRAN_LOG_DIRECTORIES limited to 100
SHR_PAGE_CACHE_SIZE_KB rounded to up next MB increment
SHR_PAGE_CACHE_NUM_PROCS provides additional count
DBF_ALLOCATION_MODE
GEM_PGSVR_COMPRESS_PAGE_TRANSFERS, GEM_PGSVR_UPDATE_CACHE_ON_READ, STN_PAGE_MGR_COMPRESSION_ENABLED
GEM_TEMPOBJ_MESPACE_SIZE and GEM_TEMPOBJ_POMGEN_SIZE
STN_LOG_IO_FLAGS
GEM_TEMPOBJ_POMGEN_SIZE scaling
Added Configuration Parameters
GEM_SOLO_EXTENT
STN_ANONYMOUS_SSL
Added runtime-only configuration parameters
DelayAutoServiceSigAbort
GemAutoServiceSigAbort
GemCommitConflictDetails
GemConfigFileNames
StnConfigFileNames
Added X509-only Configuration Parameters
2.10 Changes in Statmonitor and Cache Statistics
Statmonitor automatic delete of older data files
Removed statistics
Changed statistics
Added statistics
Mac System and Host Stats added
Statmonitor now collecting host stats on Mac
Added Per-Process System Statistics
Added Mac OS Host Statistics
3.1 Changes in Classes, compilation, and code management
Code Management
Added private methods for Tonel support
Cypress* classes no longer in Globals
Compiling methods with reserved selectors
Added Behavior compile method
Added class creation options
Multi-byte byte-format classes
Changes in handling some class options
Changes in handling Dynamic Instance Variables
GBS 8.4 Inspector display
Handling during migration
Class information when there are multiple versions of a class
Source code with control characters
Pragmas have been made environment aware
Behavior methods for other environments
3.2 Transaction conflicts and object locks
Detailed information on transaction conflicts
Other added methods on transaction conflicts
Object locking changes
3.3 ClassOrganizer
Filtering deprecated methods
Include method oops in reports
referencesToLiteral: shortcomings
3.4 Parsing JSON
3.5 Image level filein/GsFileIn added
3.6 Changes in Numerics
Linux change affecting floating point #inexactResult exceptions
3.7 Other Changes and Enhancements
Session Signals have additional argument
PetiteParser updated
GsFile nextPutAsUtf8: replaced by nextPutAllUtf8:
GsBitmap hiddenSetSpecifiers no longer include named Customer sets
Added Socket methods
Added System Class methods
Added methods for GsExternalSession
Added methods for Squeak support
Changes to Strings and ByteArrays
Converting from ByteArray containing UTF-8 to decoded string
Support for Base64 encoding
Support for Hex String decoding
Bitwise access to ByteArrays
ByteArray >> byteAt: and byteAt:put:
Other Added methods
3.8 Deprecations and removed methods
Obsolete classes moved to ObsoleteClasses
Cypress Classes moved to CodeLibrarian’s UserGlobals
Deprecated method
Removed private methods
3.9 Encryption Changes
Support for SHA-3
Support for HMAC (Hash-based message authentication codes)
Support for Symmetric-Key Encryption
3.10 GsTlsCredentials
Creating a GsTlsCredentials
Fetch public key from private key or certificate
Verifying public/private key pairs
Querying a GsTlsCredential for its algorithm
3.11 Support for Digital Signatures
3.12 Support for Digital Envelopes
4.1 GCI changes
Added GCI methods
GciClassRemoveAllMethods_
GciX509Login
Linker symbols now weak on Linux
4.2 Foreign Function Interface (FFI) related changes
Pre-parsing of C header files
C Preprocessor must be available
Comment style requirements change
Comments no longer included in output
GciLibrary instance methods no longer include comments
CHeader specification of a library search path
Subclassing FFI classes
Other added and removed methods
4.3 GCI and FFI Bugs Fixed
SIGTERM handler not chained to installed handler in linked GCI
Reported bytes sent/received incorrect
GciErrSType class >> new incorrect malloc size
Problems with GciTsFetchUtf8Bytes/GciTsFetchUtf8
CHeader macros do ## concatenation before argument substitution
4.4 Updated Compile and Link Information
Linux Compile and Link Information
Solaris on x86 Compile and Link Information
AIX Compile and Link Information
DARWIN Compile and Link Information
Windows Compile and Link Information
Symbol Garbage Collection not working reliably
Statmonitor issues
Statmonitor automatic start failed with -X
Automatic start of statmonitor did not occur during pageaudit
Missing localhost entry in /etc/hosts file not handled
Host Memory Banner incorrect on the Mac
GsExternalSession Issues
Infinite recursion in GsExternalSession from GciError >> stack
GsExternalSession failed with gemNRS: string argument
Logout problems in certain configurations
Hot Standby issues
Logreceiver race condition could cause tranlog read failure
Logsender added padding to tranlog records when compressing
NonTranloggedGlobals can cause tranlog restore to fail
GsSysLog writeErrorMessage fails with ArgumentError
Incorrect error from before: and after: on out of range
PositionableStreamPortable>>match: incorrect with legacy streams
instVarAt:put: did not work for a class instance variables
Issues related to Upgrade
After upgrade, GcGems not running
Upgrade failed with "Attempt to modify invariant object"
Upgrade’s removeallmethods incorrectly removed special-case methods
Upgrade logging for PositionableStream handling
NRS with gemnetobject did not handle spaces in pathnames
enableUnixAuthenticationWithAlias: failed in Unicode Mode
Current user SymbolList used instead of session SymbolList
Unnecessary warnings about log birth time
GsPackagePolicy test for session methods incomplete
Optimized code inconsistently handled step points and senders
Spurious errors on inter-gem signalling with Gem terminating