GemStone/S 64 Bit Release Notes

  • 1. Release Notes for 3.7.4

    • Overview

    • Supported Platforms

      • Platforms for Version 3.7.4

      • GemBuilder for Smalltalk (GBS) Versions

      • VSD Version

      • Updated library versions

      • Added Shared Libraries

    • 1. Additional Login Parameter Support

      • Support for JWT Authentication

      • GsTsExternalSession added methods

      • GemStoneParameters added and changed methods

      • Topaz added set subcommands

    • 2. Other significant new features

      • Configurable remote commit

      • Remote cache page server changes for keeping cache warm

      • KeepAlive now configured per socket

        • SOCKET_KEEPALIVE

      • SIGHUP handling for log rotation

    • 3. Collection Changes

      • Collection printing changes

        • Collection printing changes

        • Collection printing did not conform to PrintStream maxSize limit

      • GsBitmap changes

        • Arguments to addAll: and removeAll:

        • addAll: return value

      • Added CharacterCollection and ByteArray HMAC methods

      • Base64Url encoding

    • 4. Backup and Restore Changes

      • Improved performance for commitRestoreForFailoverAfterWaitingUpTo:

      • Added Repository methods

      • restoreStatusInfo additional field

      • Added System methods

      • Methods that now accept DateAndTime in addition to DateTime

    • 5. Other Image Changes

      • Class categories

      • Added GsTsExternalSessions methods

      • ChildError now includes stdout

      • Additional field in descriptionOfSession:

      • Kerberos Principal reporting methods

      • FileSystem changes

        • Handling of Undefined environment variables

        • Incorrect result for SystemResolver >> gemLogDirectory

        • Removed origin methods

        • Changes in SystemResolver >> supportedOrigins

      • Other added methods

      • Removed Methods

    • 6. GcGem Improvements

      • AdminGem only runs when needed

      • ReclaimGem further performance and scaling improvements

        • ReclaimGem now limits frame demand when free frames are low

        • Reclaim of dead checkpoint frequency

        • STN_CR_BACKLOG_THRESHOLD was not working correctly

    • 7. Utilities Changes

      • largememorypages -C now optional

      • startnetldi -l argument now accepts NRS %P and %M

      • Improvements to copydbf -i/-I output

        • Identifying extents in restore mode

        • Checkpoint numeric position as well as timestamp

      • searchlogs output timestamps now include timezone information

    • 8. GCI changes

      • Added login flags

        • Added login flags for GciLoginEx() and GsTsLogin()

      • Added GCI thread-safe functions

    • 9. Cache Statistics Changes

      • Cache Statistics Changes and Fixes

        • Stone cache statistic TimeInCheckpoint not working

        • Added cache statistics

        • Removed cache statistics

    • 10. Bugs Fixed

      • Gem runs hot in detached execution

      • Multithreaded operations on remote Gem with encrypted extents corrupts cache

      • ReclaimGem was not responsive while in sleepTimeBetweenReclaimUs

      • GEM_TEMPOBJ_POMGEN_SIZE always about 83%

      • ReclaimGem fails to release commit token on fatal error in thread

      • Gem may be unresponsive to SIGTERM when executing in a primitive

      • installgs reported that a valid keyfile was invalid

      • Timezone and DateTime related issues

        • restoreToPointInTime: failed with OS/Repository timezone mismatch

        • DateTime/TimeZone passivate-activate issues

        • Time instances with non-Integer milliseconds could break DateTime creation

      • System class >> processKindForSlot: could return zero

      • DBF_EXTENT_SIZES was not cleared correctly on Stone restart

      • GsFileIn did not handle server file access errors in RPC environments

      • pthread_join or other issues due to thread not shutdown

      • Upgrade could fail if Published SymbolDictionary is missing

      • Remote cache warming did not report progress count correctly

      • Sending _selectiveAbort to a temporary object SEGVed

      • Split-tranlogs logsender slow to see commits

      • numElements and numCollisions may have become incorrect in a StringKeyValueDictionary

      • In-memory GC may have failed during load of a large method

      • Improved error message for error #2110, OBJ_ERR_BAD_OFFSET

      • X509-Secured GemStone Issues

        • X509-Secure GemStone remote commits could error

        • GsTsX509ExternalSession spurious "call already in progress" errors

        • Killing a remote cache pageserver could cause stone issues

        • Port range for mid-level cache warmer gems

        • Mid-level cache warming threads could have exited prematurely

        • TotalSessionCount not decremented on when cache or hostagent killed

        • Risk of hostagent SEGV when killed

        • X509 Netldi may have shutdown when midcache hostagent startup fails

  • 2. Authentication using JSON Web Tokens (JWT)

    • Authentication in GemStone using JWTs

    • JWT Tokens

      • Additional payload claims

      • Ordering of JWT claims

      • More information

    • 2.1 Configuring the Stone to support JWTs

      • Public Key Discovery

      • OpenId Discovery Thread

      • Configuring Stone

        • Accessing the OpenId discovery document

        • Special case on Darwin

      • JWT related queries on the Stone

      • Added Configuration Parameters

        • STN_OPENID_DISCOVERY_CA_CERT_FILE

        • STN_OPENID_DISCOVERY_INTERVAL

        • STN_OPENID_DISCOVERY_URLS

    • 2.2 Configure the UserProfile with a JwtSecurityData

      • JwtSecurityData

        • Basic JwtSecurityData configuration

      • JwtUserClaims

      • Enable JWT Authentication in the UserProfile

      • Modifying a JwtSecurityData

    • 2.3 Logging In

      • Password Source Locations

        • JWT in JSON (JSON-wrapped JWT)

      • Login via Topaz

        • Examples of the Topaz JWT authentication options

      • Login via GsTsExternalSession

        • GemStoneParameters changed and added methods

        • direct password

        • Password in disk file

        • Password in environment variable

        • GsTsExternalSession added methods

        • Examples using GsTsExternalSession

      • Login via GemBuilder for C

    • 2.4 JsonWebToken

      • Creating and updating a JsonWebToken

        • Creating a JsonWebToken

        • Converting JWTs

        • Updating a JsonWebToken

      • Using a JsonWebToken to verify login

        • Manual management of public keys in Stone

        • Example

    • 2.5 Login Tracking

    • 2.6 Debugging

      • Environment variable GS_DEBUG_LOGIN

      • GBS login debugging

      • GCI flags

      • Image methods

Copyright 2025 GemTalk Systems