Skip to main content

8.9

Server

Features

  • genesis-testsupport : Add properties queryUpdateMessagesReceived and lastMoreRowsValueReceived to QueryView object to enable creation of complex tests
  • genesis-testsupport : Implement missing functionality in QueryView to handle all potential use cases
  • genesis-codegen : Add flag to create compact toString method on entities
  • genesis-testsupport : Add support for dumpit csv and csv.gz files
  • genesis-pal-datapipeline : Added ability to perform record deltas using dbSink by exposing modifiedFields
  • Enhance criteria expression capabilities by allowing direct comparisons between DateTime objects against Long and String types
  • Enhance criteria expression capabilities by implementing dateIsToday comparisons as well as String extension functions
  • genesis-testsupport : Create compatible DumpIt interface
  • genesis-testsupport : Improve loading of test data
  • Add framework support for external sql integration
  • Display current cluster node role in mon

Fixes

  • genesis-environment : Fix side effect produced by changing excel naming strategy
  • genesis-environment : Make the ExcelType returned from the sampling of empty cells belonging to a labelled column be STRING
  • genesis-pal-dataserver : Ensure we use LMDB as source of truth when the oldRecord information in the table update is not available
  • genesis-db : Do not refresh updates that have moved in or out of range
  • genesis-db : When db cache inserts are enabled, write inserts to the cache if existing cache entry value is null
  • diags : Better log error message when SysDef evaluation fails
  • genesis-pal-dataserver : Handle multiple updates for same record in data server
  • genesis-transform : Handle case when attempting to rename column that does not exist in dataset
  • webmon : Ensure route extension mechanism can handle dependency injection correctly
  • ClasspathGenerator to attempt to resolve module name without a full match
  • DumpTable now produces a file with headers when there are rows but the supplied criteria doesn't match any records
  • Ensure TRACE level is set correctly for GenesisMessageEncoder and GenesisMessageDecoder when DATADUMP_ON is activated
  • Ensure classpath builder util can handle jars with no manifest
  • Inject SystemDefinition as member variable into data pipelines script to avoid issues with Intellisense
  • ORDER_BY index selection is now forced at criteria interval buiding stage, and criteria cache now respects index information
  • TypeAwareCriteriaEvaluator in dataservers now works with query-enriched fields
  • Disabling processRestart for docker images and including encrypting sysdefs
  • Disabling processRestart when flag is TRUE and not FALSE
  • Ensure TypeAwareCriteriaEvaluator usage in dataserver and req/rep handles all common date/datetime formats
  • Ensure aliased enum serialization is correct when dealing with GenesisSet objects
  • Ensure correct HTTP response is sent when message can't be deserialized
  • Fix support for views in dbmon
  • Generated rx repos use modified fields for modify operations
  • Race condition when processing multiple back join table modifications on different fields at the same time
  • Reusable lambdas in views now cope with aliased table arguments
  • Tests should apply SysDefOverwrite when process config file provided

Dependency changes

  • Bump aeronVersion from 1.46.7 to 1.46.8
  • Bump apachePoi from 5.3.0 to 5.4.0
  • Bump byteBuddyVersion from 1.15.11 to 1.16.1
  • Bump byteBuddyVersion from 1.16.1 to 1.17.0
  • Bump byteBuddyVersion from 1.17.0 to 1.17.1
  • Bump com.github.oshi:oshi-core from 6.6.5 to 6.6.6
  • Bump com.google.protobuf:protobuf-java from 4.29.2 to 4.29.3
  • Bump com.opencsv:opencsv from 5.9 to 5.10
  • Bump commons-codec:commons-codec from 1.17.2 to 1.18.0
  • Bump dataframeVersion from 0.12.1 to 0.15.0
  • Bump debeziumVersion from 3.0.6.Final to 3.0.7.Final
  • Bump jnaVersion from 5.15.0 to 5.16.0
  • Bump joda-time:joda-time from 2.13.0 to 2.13.1
  • Bump micrometerVersion from 1.14.2 to 1.14.3
  • Bump micrometerVersion from 1.14.3 to 1.14.4
  • Bump msgpackVersion from 0.9.8 to 0.9.9
  • Bump nettyVersion from 4.1.116.Final to 4.1.117.Final
  • Bump nettyVersion from 4.1.117.Final to 4.1.118.Final
  • Bump oracleJdbcVersion from 23.6.0.24.10 to 23.7.0.25.01
  • Bump org.apache.activemq:artemis-jakarta-client from 2.38.0 to 2.39.0
  • Bump org.apache.commons:commons-csv from 1.12.0 to 1.13.0
  • Bump org.apache.fury:fury-core from 0.9.0 to 0.10.0
  • Bump org.apache.ivy:ivy from 2.5.2 to 2.5.3
  • Bump org.assertj:assertj-core from 3.27.0 to 3.27.2
  • Bump org.assertj:assertj-core from 3.27.2 to 3.27.3
  • Bump org.checkerframework:checker-qual from 3.48.3 to 3.48.4
  • Bump org.checkerframework:checker-qual from 3.48.4 to 3.49.0
  • Bump org.freemarker:freemarker from 2.3.33 to 2.3.34
  • Bump org.gradle.test-retry from 1.6.0 to 1.6.1
  • Bump org.gradle.test-retry from 1.6.1 to 1.6.2
  • Bump org.gradle:test-retry-gradle-plugin from 1.6.0 to 1.6.1
  • Bump org.gradle:test-retry-gradle-plugin from 1.6.1 to 1.6.2
  • Bump org.kiwiproject:consul-client from 1.4.5 to 1.5.0
  • Bump org.openapitools:openapi-generator from 7.10.0 to 7.11.0
  • Bump org.postgresql:postgresql from 42.7.4 to 42.7.5
  • Bump pekkoVersion from 1.1.2 to 1.1.3
  • Bump testcontainersVersion from 1.20.4 to 1.20.5
  • Revert msgpackVersion from 0.9.9 to 0.9.8

Patch releases

8.9.1

Features
  • genesis-pal-dataserver : Add maxBytesPerCharacter configuration item to improve handling of UTF-8 characters in indices
  • genesis-dbtest : Option to generate random SQL schema name for tests
  • genesis-gradle : Support site-specific in product details plugin
  • genesis-logging : Support configurable log directories and system definition option to disable automatic archiving
  • genesis-pal-dataserver : Improve memory profile of data server enriched fields
  • genesis-pal-dataserver : Add new dataserver update processing mode
  • genesis-pal-dataserver : Improve priming progress updates in log file
  • Add support for GENESIS_HOME in templt.xml files
  • Improve coroutine exception handling
Fixes
  • genesis-pal-dataserver : Avoid unnecessary LMDB range read in certain scenarios
  • genesis-pal-dataserver : Ensure string UTF-8 byte size is taken into account when truncating strings as part of index handling
  • genesis-db : Do not use SQL thread pool for RxDb transactions to avoid deadlock
  • genesis-db : Fixed an issue with upsertAll in SQL layer where it was unable to handle records where the primary key was not populated but is an autoIncrement or sequenced field
  • distribution-gradle-plugin : Copy installHooks scripts to the correct application folder as part of distribution file creation
  • distribution-gradle-plugin : Fix incorrect initialisation logic
  • genesis-clustersupport : Fall back to db if service discovery cache missing entry
  • genesis-config : Support String input for sys def ProcessDependencyTimeoutSeconds
  • genesis-console : Console endpoints EVENT_START_PROCESS and EVENT_STOP_PROCESS now work as expected. Previously an error was returned in recent versions of the platform.
  • genesis-db : Handle sql getRange operation with continuation
  • genesis-db : UpsertAll now handles insert operations with auto generated indexed sequence values correctly in batch mode
  • genesis-environment : Ensure GlobalClasspathAdditions sysdef item is handled correctly as part of startProcess classpath generation
  • genesis-environment : Ensure environment genesis-generated-sysdef and genesis-generated-fields take priority in classpath generation
  • genesis-environment : GENESIS_SYSDEF_ environment variable values now take precedence when the system definition item is being read in python scripts
  • genesis-environment : preCompileScripts now takes into account the tag and uses multiple modules for classpath generation (if defined) in the tag in processes.xml
  • genesis-environment : Fix issue preventing all script.kts file evaluations
  • genesis-gradle : Also use site specific template files when checking for overridden processes
  • genesis-gradle : Fixed an issue where the gradle cache was reading system definition items defined with type LONG as INT values. This lead to constant cache misses even when the values were unchanged, which contributed to longer build times.
  • genesis-testsupport : Detect annotations on super classes
  • genesis-testsupport : Fix handling of nested classes
  • genesis-logging : Add default log paths to the log4j2-default.xml file if L and RL env variables are not found
  • 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
  • genesis-pal-streamer : Ensure response to client when more data is available and records in lookup all filtered out
  • genesis-router : Fix package scan definition in processes.xml to only include console router extensions
  • genesis-router : Handle Netty exceptions when creating a TextWebsocketFrame in a graceful manner
  • genesis-testsupport : Do not register lifecycle manager JVM shutdown hook for tests
  • genesis-pal-consolidator : Ensure non-nullable fields without default value can be zeroed out automatically in non-transient cold start operations
  • genesis-pal-dataserver : String overflow handling logic is now applied correctly when priming
  • 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
  • genesis-pal-requestserver : Range requests using FROM/TO are now evaluated correctly
  • settings-plugin : Add script dependencies on script-config module if present
  • genesis-dataserver2 : Race condition when processing modify very soon after an insert which failed the where clause
  • Use GenesisInjector for all script configurations
  • Fixed a test-only edge case in GenesisMessageClient where event message type, correctly registered with EventReply, was expected to return a GenesisSet in a specific test path. This mismatch caused type errors, now resolved by transforming the reply into a GenesisSet where needed
  • genesis-environment : Revert GenesisInjector changes for PurgeTables and related scripts

Client

Features

  • build-kit : Add DOT_ENV_FILE overrides for picking up extra .env files
  • g2plot-chart : Allowing a disabled legend via chart config
  • foundation-ui : Disabling days of the week in date picker
  • rapid-grid-tabulator : Create package
  • Dispatch logout event from header
  • foundation-ui : Datepicker adding bottom slot, hide weekends attribute, display inline attribute
  • Add foundation-storybook showcase
  • foundation-events : Add functional emitter
  • foundation-comms : Update criteria conversion to support pure dates
  • foundation-entity-management : Enable filter persistance
  • foundation-ui : Expose current tab index on tabs component
  • foundation-layout : Add ability to hide maximise icon

Fixes

  • Retain initial value when no data is available and allowCustomOption is true
  • Address failing clean script + extra tweaks
  • Added button style attribute in action renderer params
  • foundation-ui : Using current date for rolling day
  • foundation-ui : Fixing null date set in calendar
  • Extend session using cookies
  • Improve github actions to reduce resource usage
  • Remove debugger statements
  • Styling for rapid and zero tabulator
  • Add redirect page for github pages
  • Remove logger.debug from variables file
  • web-core : Adding isNullOrWhitespace to web core exports
  • Session extension on multi window
  • Address grid datasource stream start before metadata
  • Issue with combo value and add new filter option
  • Revert value change