8.9
Server
Features
genesis-testsupport: Add propertiesqueryUpdateMessagesReceivedandlastMoreRowsValueReceivedtoQueryViewobject to enable creation of complex testsgenesis-testsupport: Implement missing functionality in QueryView to handle all potential use casesgenesis-codegen: Add flag to create compact toString method on entitiesgenesis-testsupport: Add support for dumpit csv and csv.gz filesgenesis-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
dateIsTodaycomparisons as well asStringextension functions genesis-testsupport: Create compatible DumpIt interfacegenesis-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 strategygenesis-environment: Make the ExcelType returned from the sampling of empty cells belonging to a labelled column be STRINGgenesis-pal-dataserver: Ensure we use LMDB as source of truth when theoldRecordinformation in the table update is not availablegenesis-db: Do not refresh updates that have moved in or out of rangegenesis-db: When db cache inserts are enabled, write inserts to the cache if existing cache entry value is nulldiags: Better log error message when SysDef evaluation failsgenesis-pal-dataserver: Handle multiple updates for same record in data servergenesis-transform: Handle case when attempting to rename column that does not exist in datasetwebmon: 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
TRACElevel is set correctly forGenesisMessageEncoderandGenesisMessageDecoderwhenDATADUMP_ONis 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: AddmaxBytesPerCharacterconfiguration item to improve handling of UTF-8 characters in indicesgenesis-dbtest: Option to generate random SQL schema name for testsgenesis-gradle: Support site-specific in product details plugingenesis-logging: Support configurable log directories and system definition option to disable automatic archivinggenesis-pal-dataserver: Improve memory profile of data server enriched fieldsgenesis-pal-dataserver: Add new dataserver update processing modegenesis-pal-dataserver: Improve priming progress updates in log file- Add support for
GENESIS_HOMEintemplt.xmlfiles - Improve coroutine exception handling
Fixes
genesis-pal-dataserver: Avoid unnecessary LMDB range read in certain scenariosgenesis-pal-dataserver: Ensure string UTF-8 byte size is taken into account when truncating strings as part of index handlinggenesis-db: Do not use SQL thread pool for RxDb transactions to avoid deadlockgenesis-db: Fixed an issue withupsertAllin SQL layer where it was unable to handle records where the primary key was not populated but is an autoIncrement or sequenced fielddistribution-gradle-plugin: CopyinstallHooksscripts to the correct application folder as part of distribution file creationdistribution-gradle-plugin: Fix incorrect initialisation logicgenesis-clustersupport: Fall back to db if service discovery cache missing entrygenesis-config: SupportStringinput for sys def ProcessDependencyTimeoutSecondsgenesis-console: Console endpointsEVENT_START_PROCESSandEVENT_STOP_PROCESSnow work as expected. Previously an error was returned in recent versions of the platform.genesis-db: Handle sql getRange operation with continuationgenesis-db: UpsertAll now handles insert operations with auto generated indexed sequence values correctly in batch modegenesis-environment: EnsureGlobalClasspathAdditionssysdef item is handled correctly as part ofstartProcessclasspath generationgenesis-environment: Ensure environment genesis-generated-sysdef and genesis-generated-fields take priority in classpath generationgenesis-environment:GENESIS_SYSDEF_environment variable values now take precedence when the system definition item is being read in python scriptsgenesis-environment:preCompileScriptsnow takes into account the tag and uses multiple modules for classpath generation (if defined) in the tag in processes.xmlgenesis-environment: Fix issue preventing all script.kts file evaluationsgenesis-gradle: Also use site specific template files when checking for overridden processesgenesis-gradle: Fixed an issue where the gradle cache was reading system definition items defined with typeLONGasINTvalues. This lead to constant cache misses even when the values were unchanged, which contributed to longer build times.genesis-testsupport: Detect annotations on super classesgenesis-testsupport: Fix handling of nested classesgenesis-logging: Add default log paths to the log4j2-default.xml file if L and RL env variables are not foundgenesis-logging: Fixed issues wherestartServerwould throw an error and stop ifruntime/logscontained a.gzfile which was not related to a valid Genesis processgenesis-pal-streamer: Ensure response to client when more data is available and records in lookup all filtered outgenesis-router: Fix package scan definition in processes.xml to only include console router extensionsgenesis-router: Handle Netty exceptions when creating a TextWebsocketFrame in a graceful mannergenesis-testsupport: Do not register lifecycle manager JVM shutdown hook for testsgenesis-pal-consolidator: Ensure non-nullable fields without default value can be zeroed out automatically in non-transient cold start operationsgenesis-pal-dataserver:Stringoverflow handling logic is now applied correctly when priminggenesis-pal-dataserver: Fixed an issue where priming progress was incorrectly printing 0 rather than the amount of records it has processedgenesis-pal-dataserver: RevertpublishUpdatesWhilePrimingto previous behaviour when it was ignored, due to issue when enabledgenesis-pal-requestserver: Range requests using FROM/TO are now evaluated correctlysettings-plugin: Add script dependencies on script-config module if presentgenesis-dataserver2: Race condition when processing modify very soon after an insert which failed the where clause- Use
GenesisInjectorfor all script configurations - Fixed a test-only edge case in
GenesisMessageClientwhere 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: RevertGenesisInjectorchanges forPurgeTablesand related scripts
Client
Features
build-kit: Add DOT_ENV_FILE overrides for picking up extra .env filesg2plot-chart: Allowing a disabled legend via chart configfoundation-ui: Disabling days of the week in date pickerrapid-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 emitterfoundation-comms: Update criteria conversion to support pure datesfoundation-entity-management: Enable filter persistancefoundation-ui: Expose current tab index on tabs componentfoundation-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 dayfoundation-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: AddingisNullOrWhitespaceto 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