Skip to main content

8.2

Server

Features

  • Add "userHasRight" function to GPAL Dataserver, RequestReply and EventHandler
  • Add configurable timeout when waiting for dependent processes
  • Add gpal functions for data pipelines DbSink and update types
  • Add pipeline test for CSV Decoder
  • Added data pipeline manager as process bootstrap entry point + simple db source and log sink impls for testing
  • Added sendEventOnCompletion handler for Data Pipelines
  • Allow Dynamic rule PROCESS_NAME to be null and resolve resources by service discovery
  • CSV Decoder (Operator Implementation)
  • Expose additional system definition properties to run listeners directly on Netty threads and processing update queue updates in a single threaded fashion
  • Relax type requirements on SendEventOnCompletion handler functions and add db and log handles to pipelines script
  • Add non-blocking threading model for database subscriptions
  • Add onCompletion handling to data pipelines v2
  • Add optional pagination support to API code generation
  • Add support for Consolidators and ata pipelines in GenesisJUnit
  • Added persistence api for data pipelines.
  • Added source implementation to batch poll the db.
  • Added source that uses camel to get files.
  • Allow remap to skip confirmation prompt based on sysdef
  • Allow specifying product name in settings plugin
  • Create DbSink class to implement Sink and StreamSink to add rows to db
  • Data pipelines v2 csv encoder
  • Enable sql database metrics
  • Enable update queue metrics
  • Extended DbBatchPoller to accept indexes with multiple fields.
  • Feat add metric for tracking the number of users per dataserver query
  • Pipelines v2 default imports
  • Simplified db batch poll gpal syntax.
  • Update genesis meta json schema with keyword and validation

Fixes

  • getRangeFromEnd default method without fields parameter now calls correct getRangeFromEnd method
  • Consolidator minus operation produces incorrect result when the first operand is null
  • DOUBLE fields generated using the new table DSL to accept negative values by default
  • Ensure that fields marked as non-nullable at the table level are also marked as such in the audit table
  • FDB alias cache will now respect fields with same name and different type defined in different tables
  • Map maxRows from router request to paginated request
  • Update SetLogLevel to use data classes and workflow, re-add countdown latch to script
  • Can use warningNack in context event handlers
  • Ensure PrimaryRoleNodeRestorer handles persisted state properly
  • Ensure socket queues are ready before cluster init
  • Fixed rx implementation constructor.
  • Prevent remap using oracle to potentially rename constraints and indices in the recycle bin
  • Saving process static info in a blocking manner to ensure read integrity
  • Updated db batch poll channel logic.

Dependency changes

  • Bump apachePoi from 5.2.5 to 5.3.0
  • Bump byteBuddyVersion from 1.14.17 to 1.14.18
  • Bump byteBuddyVersion from 1.14.17 to 1.14.18
  • Bump camelVersion from 4.6.0 to 4.7.0
  • Bump com.github.oshi:oshi-core from 6.6.1 to 6.6.2
  • Bump com.github.spullara.mustache.java:compiler from 0.9.13 to 0.9.14
  • Bump com.google.errorprone:error_prone_annotations from 2.28.0 to 2.29.2
  • Bump com.h2database:h2 from 2.2.224 to 2.3.230
  • Bump com.jfrog.artifactory from 5.2.2 to 5.2.3
  • Bump com.jfrog.artifactory from 5.2.2 to 5.2.3
  • Bump com.networknt:json-schema-validator from 1.4.3 to 1.5.0
  • Bump commons-codec:commons-codec from 1.17.0 to 1.17.1
  • Bump de.cronn:reflection-util from 2.15.0 to 2.16.0
  • Bump debeziumVersion from 2.6.2.Final to 2.7.0.Final
  • Bump groovyVersion from 3.0.21 to 3.0.22
  • Bump jacksonVersion from 2.17.1 to 2.17.2
  • Bump junitVersion from 5.10.2 to 5.10.3
  • Bump micrometerVersion from 1.13.1 to 1.13.2
  • Bump nettyVersion from 4.1.111.Final to 4.1.112.Final
  • Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.15.0
  • Bump org.assertj:assertj-core from 3.26.0 to 3.26.3
  • Bump org.checkerframework:checker-qual from 3.44.0 to 3.45.0
  • Bump org.gradle.test-retry from 1.5.9 to 1.5.10
  • Bump org.java-websocket:Java-WebSocket from 1.5.6 to 1.5.7
  • Bump org.jfrog.buildinfo:build-info-extractor-gradle from 5.2.2 to 5.2.3
  • Bump org.jfrog.buildinfo:build-info-extractor-gradle from 5.2.2 to 5.2.3
  • Bump org.mockito.kotlin:mockito-kotlin from 5.3.1 to 5.4.0
  • Bump org.openapitools:openapi-generator from 7.6.0 to 7.7.0
  • Bump testcontainersVersion from 1.19.8 to 1.20.0
  • Downgrading H2 to 2.2.224 due to different behavior on GetRange operations and indices

Patch releases

8.2.22

Fixes
  • genesis-clustersupport : Only initialise process metadata service where the PROCESS_MET_DATA table exists in the db
  • genesis-logging : Fixed issues where startServer would throw an error and stop if runtime/logs contained a .gz file which was not related to a valid Genesis process

8.2.21

Features
  • genesis-pal-dataserver : Improve priming progress updates in log file
  • Improve coroutine exception handling
Fixes
  • genesis-db : Do not use SQL thread pool for RxDb transactions to avoid deadlock
  • genesis-db : UpsertAll now handles insert operations with auto generated indexed sequence values correctly in batch mode
  • genesis-pal-streamer : Ensure response to client when more data is available and records in lookup all filtered out
  • genesis-pal-dataserver : Fixed an issue where priming progress was incorrectly printing 0 rather than the amount of records it has processed
  • genesis-pal-dataserver : Revert publishUpdatesWhilePriming to previous behaviour when it was ignored, due to issue when enabled

8.2.20

Fixes
  • genesis-dataserver2 : Fixed a race condition when a modify event matching the where clause quickly follows a non-matching insert event.
Experimental features
  • genesis-pal-dataserver : Added an alternate update handler - a new way of processing table/view updates that relies on the database as a source of truth more often, potentially introducing more database load.

8.2.19

Fixes
  • Fix support for views in dbmon

8.2.18

Fixes
  • db: do not refresh updates that have moved in or out of range
  • Generated SysDef should allow safe conversion of types
  • Tests should apply SysDefOverwrite when a process config file is provided

8.2.17

Fixes
  • dataserver: ensure we use LMDB as source of truth when the oldRecord information in the table update is not available
  • db: when db cache inserts are enabled, write inserts to the cache if existing cache entry value is null

8.2.16

Features
  • genesis-junit: add support for dumpit csv and csv.gz files
  • genesis-junit: make SysDef class workable
  • genesis-junit: create compatible DumpIt interface
  • genesis-junit: improve loading of test data
Fixes
  • Generated rx repos use modified fields for modify operations
  • Increase producer hwm for zeromq update layer

8.2.15

Features
  • Display current cluster node role in mon
Fixes
  • Race condition when processing multiple back join table modifications on different fields at the same time

8.2.14

Fixes
  • Reusable lambdas in views now cope with aliased table arguments

8.2.13

Fixes
  • Ensure TRACE level is set correctly for GenesisMessageEncoder and GenesisMessageDecoder when DATADUMP_ON is activated

8.2.12

Features
  • Add flag to create compact toString method on entities
  • Allow lambdas for withInput expressions to be assigned and reused
Fixes
  • Handle multiple updates for same record in data server
  • Add sync backwards join cache impl
  • Ensure cookie based REFRESH_AUTH_TOKEN value is correctly added to EVENT_LOGIN_AUTH payload
  • Ensure DataDumpManager uses different loggers for GenesisMessageDecoder and GenesisMessageEncoder
  • Increase zero mq subscriber worker high water mark value to Integer.max_value
  • Regression on view generation when empty blocks are used in derived fields

8.2.11

Features
  • Provide better bulk purge support
  • performance improvements(genesis-environment): Use deleteAll in PurgerScript.purgeDerivedRange

8.2.10

Features
  • Optimise memory usage BackwardJoinCache for 1-2-1 joins

8.2.9

Fixes
  • ResourceDaemon doesn't properly evaluate ClusterMode
  • Preregister root records in back join cache to ensure they exist when child record is registered

8.2.8

Features
  • Query API: Add dynamicQueryBuilder support
  • Add support for dynamic parameters as well as fix issues related to ENUM and DateTime handling
Fixes
  • Query API: ensure number parameters are not passed as string values to "where" clauses and use correct uppercase underscore translation
  • Cluster manager not bound when running GenesisRun and other scripts that user ServiceModule

8.2.7

  • Configurable update frequency and caching for Db cluster strategy
  • Include dependant scripts in codegen cache key
  • ResourceDaemon: Fix Dependency Injection initialisation on startup
  • Remove explicit toString call on ClusterMessage debug line

8.2.6

  • Dataserver backwardsJoin view does not recover in case of a buffered out of order update

8.2.5

  • Add optional classloader and cpu metrics
  • Ensure full service initialisation does not happen until a service is allowed to go up when in primary mode
  • Find project jars from gradle jar task, not from version
  • Consul: improve session check logic used to determine primary process demotion to avoid race conditions
  • Criteria validation and compilation should handle StackOverflow errors
  • DbMon search returns the expected number of records
  • DbMon updateWhere fails if there is a white space in the argument
  • Mon dies when system is not able to connect to CONSUL but is configured to do so
  • Allow db mon to fetch more than 500 results

8.2.4

  • Db batch polling source should accept NANO_TIMESTAMP index

8.2.3

  • Make logging of zero values optional in logger reporter
  • Fix Auth key concatenation for enriched auth clauses and AuthCache re-registration operation now uses correct record ids
  • Refactor metric report type handling in tests and factory
  • Add clientHandler router config with option to close client channel if becomes full
  • Fix ms sql insert handling

8.2.2

  • Ensure completion handlers are only invoked when an element is processed
  • Exclude data folder from site specific folder copy

8.2.1

  • Increasing object_key field size
  • Ensure error messages are flushed to logs on process exit
  • Dix minor issues in GenesisJUnit test framework

Client

Features

  • Allowing to specify development server public path
  • Support for dotenv files
  • Add slot on right-side of foundation header
  • Add number and date formatters
  • Allow EM to use SSRM / server-side-datasource

Fixes

  • Remove sourceRef leftover
  • RefreshToken to be updated on MFA_FAILED error code
  • Accessibility changes
  • Use default FUI .env file in PR test steps if exists
  • Address custom rowId when using EM + re-work of deferredGridOptions
  • Increase lighthouse audit thresholds
  • Address multiselect auto positioning
  • Address stylelint warnings
  • Address zero tab contrast ratio
  • Grid-pro TS type tweaks and grid-tabulator styling
  • Keyboard enabled X button
  • Address -any- types
  • Change display property to block for flex compatibility
  • Login / auth should visually indicate required fields
  • Notifications announced by screen readers
  • Ability to trigger master build manually
  • Remove button styles from nav menu
  • Sync progress bar after tabs/tab-panels change
  • Seed utils is able to add additional server artifacts
  • Add high-frequency demo + route tweaks
  • Fixing vertical alignment issues in rapid foundation form
  • Replacing grid-pro-genesis-datasource with grid-pro-client-side-datasource
  • Updated number-field to accept negative numbers
  • PBC support in angular
  • Fix typeRampPlus4Font size token value for rapid
  • Chart rendering