diff --git a/docs/03_server/06_state-machine/06_testing.mdx b/docs/03_server/06_state-machine/06_testing.mdx index aa57e0643..dc8594c8c 100644 --- a/docs/03_server/06_state-machine/06_testing.mdx +++ b/docs/03_server/06_state-machine/06_testing.mdx @@ -13,7 +13,9 @@ tags: As State Machine is another layer on Event Handler, the test configuration is same as for Event Handlers. -The Genesis low-code platform provides the `AbstractGenesisTestSupport` abstract class that enables end-to-end testing of specific areas of your application. In this case, we want to ensure that we have a database, seeded with information, and that our Event Handler configuration is used to create our Event Handler. We also need to add the required packages, genesis home and separately set the `IS_SCRIPT` System Definition property to true (This is required as part of the Event Handler initialisation.). +For more information, see the [Testing pages](/operations/testing/integration-testing/). + +The Genesis Platform provides the `AbstractGenesisTestSupport` abstract class that enables end-to-end testing of specific areas of your application. In this case, we want to ensure that we have a database, seeded with information, and that our Event Handler configuration is used to create our Event Handler. We also need to add the required packages, genesis home and separately set the `IS_SCRIPT` System Definition property to true (This is required as part of the Event Handler initialisation.). ```kotlin class EventHandlerTest : AbstractGenesisTestSupport( @@ -29,8 +31,6 @@ class EventHandlerTest : AbstractGenesisTestSupport( } ``` -For more information about `AbstractGenesisTestSupport`, see the [Testing pages](../../../operations/testing/integration-testing/#abstractgenesistestsupport). - Once you have set up your configuration, you can start writing tests against State Machine. ## Writing tests diff --git a/docs/03_server/08_evaluator/04_examples.mdx b/docs/03_server/08_evaluator/04_examples.mdx index fea079bed..a4058b2bb 100644 --- a/docs/03_server/08_evaluator/04_examples.mdx +++ b/docs/03_server/08_evaluator/04_examples.mdx @@ -64,11 +64,11 @@ Add **MYAPP_EVALUATOR** to the file **myapp-service-definitions.xml** inside yo From the Genesis plugin for Intellij, build the application. -Double-check your [Resource daemon](../../../server/tooling/intellij-plugin/#resource-daemon) using the Genesis Intellij plugin. You should be able to see the **MYAPP_EVALUATOR** process on **Standby**. +Double-check your [Resource daemon](/server/tooling/intellij-plugin/#resource-daemon) using the Genesis Intellij plugin. You should be able to see the **MYAPP_EVALUATOR** process on **Standby**. This is because the Evaluator process is set to run only on the primary node. Our application only has one node, but we still have to identify it as the Primary node. -Run [SetPrimary](../../../operations/clustering/genesis/#set-the-primary-node) script as explained [here](../../../server/tooling/intellij-plugin/#running-a-genesis-script) and you should be able to see all processes running. +Run the [SetPrimary](/operations/clustering/genesis/#set-the-primary-node) script. ### 2. Create a new class When the Evaluator is running, create a PositionReport kotlin class to trigger the new event. This class should be created inside your project folder **server/myapp/src/main/kotlin/genesis/global/message/event/**. Use the code below: diff --git a/docs/06_operations/14_release-notes/current.mdx b/docs/06_operations/14_release-notes/current.mdx index bf1c38d2f..f838c563c 100644 --- a/docs/06_operations/14_release-notes/current.mdx +++ b/docs/06_operations/14_release-notes/current.mdx @@ -15,7 +15,7 @@ tags: :::info This version of the documentation has been current since June 2024. -**It currently describes version 8.1 of the Genesis Platform**. +**It currently describes version 8.2 of the Genesis Platform**. ::: ## Release notes @@ -44,6 +44,191 @@ GSF release notes are added to this area immediately following each software rel **As new GSF releases are added, they shall be displayed here.** +## Genesis 8.2.0(platform-symphony) +No functional changes. + +## Genesis 8.2.0(platform-notify) + +### Breaking changes +- Change enum names to avoid clashes with generated DAO enums in GPAL scripts +- Ensure screen all notifications can support TTL functionality properly +- Ensure screen all notifications can support TTL functionality properly + +### Features +- Add ability to notify all screens on pipeline completion +- Added data pipeline components and GPAL extensions to Notify +- Pbc support in angular + +### Fixes +- Do not set process name on rules and templates to support compact processes +- Update for file storage client API changes +- Fix package types + +## Genesis 8.2.0(platform-elektron) +No functional changes. + +## Genesis 8.2.0(platform-reconciliation) + +### Features +- Added ReconDataSource implementation that integrates with data pipelines, as well as batch pipeline compatible sink +- Added aggregation of rule results in to new table +- Added consolidator for reconciliation record results +- Added data server for ReconciliationRecordResult +- Added endpoint for returning reconciliation config ids that are active in a reconciliation run +- Added metrics to reconciliation process. +- Added reconciliation name to reconciliation record result +- Added reqrep for return record result pair +- Added result statues for fields that differ from the dictionary and set recon rules +- Captures and validates recon strategies +- Enabled multiple recon keys to be set on rules +- Pbc support in angular +- Stores unmatched records after a reconciliation run in the database +- Update package types + +### Fixes +- Ensure record pairs have consistent ordering according to datasource index +- Ensure records that can be reconciled are processed at the end of a batch run +- Ensure status is set correctly when there are unmatched records +- Make RUN_RECONCILIATION transaction to prevent records getting stuck on error +- Prevent duplicate key errors in result writes +- Added RECONCILIATION_RULE_RESULT as a new table +- Change dependencies in package.json to use from hosting project + +### Dependency changes +- Bump com.h2database:h2 from 2.2.224 to 2.3.230 +- Bump com.jfrog.artifactory from 5.2.2 to 5.2.3 + +## Genesis 8.2.0(platform-fix) +No functional changes. + +## Genesis 8.2.0(platform-auth) + +### Features +- Pbc support in angular +- Update package types + +### Fixes +- Provide placement index for nav buttons in auth + +### Dependency changes +- Bump com.jfrog.artifactory from 5.2.1 to 5.2.3 + +## Genesis 8.2.0(platform-reporting) + +### Features +- feat: pbc support in angular +- feat: sandbox env for development + +### Fixes +- Label for button +- Package types +- Split action menu into buttons + +## Genesis 8.2.0(ref_data_app-server) +No functional changes. + +## Genesis 8.2.0(platform-market-data) +No functional changes. + +## Genesis 8.2.0(platform-documents) + +### Breaking changes +- Improved doc manager client API to allow different injectable implementations + +### Features +- Added realtime source listening to file storage +- Create FileStorageSink Implementation +- Pbc support in angular +- Update package types + +### Fixes +- Ensure API module jar has a file storage provider in the same package as the app jar + +## Genesis 8.2.0(genesis-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 gradle-api vulnerable dependencies are not added to the build due to the new openapi gradle plugin +- 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 +- Gradle preCompileScripts does not consider compacted processes +- 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 +- Excluding unsupported pbcs from DEV compactProcessStrategy +- 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 +- Typo in compactProcesses in gradle properties +- Updated db batch poll channel logic. +- Uses io dispatcher and timeout while cleaning process metadata entries + +### Dependency changes +- Bump apachePoi from 5.2.5 to 5.3.0 in /genesis-conventions +- Bump byteBuddyVersion from 1.14.17 to 1.14.18 in /genesis-conventions +- Bump byteBuddyVersion from 1.14.17 to 1.14.18 in /genesis-conventions +- Bump camelVersion from 4.6.0 to 4.7.0 in /genesis-conventions +- Bump com.github.oshi:oshi-core from 6.6.1 to 6.6.2 in /genesis-conventions +- Bump com.github.spullara.mustache.java:compiler from 0.9.13 to 0.9.14 in /genesis-conventions +- Bump com.google.errorprone:error_prone_annotations from 2.28.0 to 2.29.2 in /genesis-conventions +- Bump com.h2database:h2 from 2.2.224 to 2.3.230 in /genesis-conventions +- Bump com.jfrog.artifactory from 5.2.2 to 5.2.3 in /genesis-conventions +- Bump com.jfrog.artifactory from 5.2.2 to 5.2.3 in /genesis-publish-config +- Bump com.networknt:json-schema-validator from 1.4.3 to 1.5.0 in /genesis-conventions +- Bump commons-codec:commons-codec from 1.17.0 to 1.17.1 in /genesis-parent/genesis-cluster +- Bump de.cronn:reflection-util from 2.15.0 to 2.16.0 in /genesis-subcore/genesis-db +- Bump debeziumVersion from 2.6.2.Final to 2.7.0.Final in /genesis-conventions +- Bump groovyVersion from 3.0.21 to 3.0.22 in /genesis-conventions +- Bump jacksonVersion from 2.17.1 to 2.17.2 in /genesis-conventions +- Bump junitVersion from 5.10.2 to 5.10.3 in /genesis-conventions +- Bump micrometerVersion from 1.13.1 to 1.13.2 in /genesis-conventions +- Bump nettyVersion from 4.1.111.Final to 4.1.112.Final in /genesis-conventions +- Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.15.0 in /genesis-conventions +- Bump org.assertj:assertj-core from 3.26.0 to 3.26.3 in /genesis-conventions +- Bump org.checkerframework:checker-qual from 3.44.0 to 3.45.0 in /genesis-conventions +- Bump org.gradle.test-retry from 1.5.9 to 1.5.10 in /genesis-conventions +- Bump org.java-websocket:Java-WebSocket from 1.5.6 to 1.5.7 in /genesis-conventions +- Bump org.jfrog.buildinfo:build-info-extractor-gradle from 5.2.2 to 5.2.3 in /genesis-conventions +- Bump org.jfrog.buildinfo:build-info-extractor-gradle from 5.2.2 to 5.2.3 in /genesis-publish-config +- Bump org.mockito.kotlin:mockito-kotlin from 5.3.1 to 5.4.0 in /genesis-conventions +- Bump org.openapitools:openapi-generator from 7.6.0 to 7.7.0 in /genesis-conventions +- Bump testcontainersVersion from 1.19.8 to 1.20.0 in /genesis-conventions +- Downgrading H2 to 2.2.224 due to different behavior on GetRange operations and indices + ## Genesis 6.7.35(genesis-server) ### Features