GemStone/S 64 Bit Release Notes

  • 1. Release Notes for 3.5

    • 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. Changes in Administration

    • 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. Changes in GemStone Smalltalk

    • 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. Changes in the GCI Interfaces

    • 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

  • 5. Bug Fixes

    • 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

Copyright 2019 GemTalk Systems