Skip to content

Platform releases

2024.2.5

Released 2024-11-20

  • ST-4349 Enhanced text native contrib lib
  • ST-4171 Added pageSize query parameter to NPL API
  • ST-4344 Extended DatabaseHealthCheck (detect read_only_transaction settings)
  • ST-4345 Fixed CVE-2024-38819, CVE-2024-38820

2024.2.4

Released 2024-10-28

  • ST-4342 Filter-out invalid type parameters at deserialisation
  • ST-4339 Fixed issue where ApplicationHttpClient didn't close connections
  • ST-4311 Fixed CVE-2024-8184
  • ST-4295 Added configuration property ENGINE_PROTOBUF_DESER_RECURSION_LIMIT
  • ST-4018 Allowed unchanged states to be omitted from the migration state mapping
  • ST-3920 Deprecated ENGINE_DB_UPSHIFT_SCHEMA
  • ST-4309 Fixed missing OpenAPI schemas for non-annotated protocols
  • ST-4315 Fixed CVE-2024-47764

2024.2.3

Released 2024-10-08

  • ST-4142 Remove tags from showing in openapi specification
  • ST-4245 Added thrown exception to runCreateProtocol for invalid entity claims
  • ST-4244 Removed sub claim from being ignored
  • ST-4293 Adressed GHSA-735f-pc8j-v9w8
  • ST-4274 Extended Management API deploySourcesWithoutMigrations to accept tag as input
  • Bump the npm_and_yarn group across 1 directory with 2 updates
  • ST-4282 Fixed NPL OpenAPI non-var user-defined protocol constructor input

2024.2.2

Released 2024-09-17

  • ST-4122 Fixed open API optional refs being generated as required
  • ST-4160 Updated npl contrib reference to refer to npl integrations project
  • ST-4264 Addressed CVE-2024-45296
  • ST-3676 Fixed CVE-2023-45857, CVE-2024-4067
  • Bump micromatch from 4.0.7 to 4.0.8 in /read-model
  • ST-3876 Added UnitValue serDes support to npl-api service

2024.2.1

Released 2024-08-26

  • ST-4089 Added handling of disappearing protocols in NplApiService
  • ST-4203 Fixed the HISTORY_SCHEDULER_CRON_EXPRESSION default value
  • ST-3951 Allowed arbitrary RequireStmt usages
  • ST-4207 Addressed CVE GHSA-8hc4-vh64-cxmj
  • ST-4193 Fixed stream-related memory leaks

2024.2.0

Released 2024-08-08

  • ST-4174 Fixed incorrect runNPL import resolution
  • ST-4119 Disallowed creating parties without entity claims
  • ST-4042 Renamed postgraphile to read model
  • ST-4046 Deprecated Kotlin codegen
  • ST-4109 Added warning for non-exhaustive enum match
  • ST-4166 Adressed CVE-2024-29025
  • ST-4154 Removed redundant stdlib extra native functions
  • ST-4140-2 Synchronized access to NPL native contrib registry

2024.1.9

Released 2024-07-15

  • ST-4138 Updated NPL stdlib-extra log & toThePowerOf docs
  • ST-4140 Fixed duplicate NPL native contrib plugin initialize
  • ST-4138 Added language-stdlib-extra docs
  • ST-3916 Added native stdlib-extra contributor library
  • ST-4064 Added warning to docs about usage of transformEnum on states
  • ST-4001 Fixed Optional and NotifyResult match handling

2024.1.8

Released 2024-06-24

  • ST-4081 Modified storeProtocol behavior to only persist states changes up to but not after invocation site
  • ST-4068 Added notifications to /api/streams
  • ST-4094 Addressed CVE GHSA-3h5v-q93c-6h6q
  • Bump braces from 3.0.2 to 3.0.3 in /postgraphile
  • ST-3629 Added platformVersion to the engine's health endpoint
  • ST-4048 Changed registerProtocol/recallProtocol to storeProtocol/loadProtocol

2024.1.7

Released 2024-06-03

  • ST-3806 Added native NPL contrib library sample project and docs
  • ST-3871 Added ability to register and recall protocol states between protocol runNPL test invocations
  • ST-4023 Official Windows support for npl-maven-plugin
  • ST-4039 Removed unnecessary NPL contrib mojo zip unpacking
  • ST-3476 Filled @actions field with accessible actions

2024.1.6

Released 2024-05-13

  • ST-3804 Added preliminary native NPL contrib support
  • ST-3990 Fixed removal of variables during compilation
  • ST-4017 Added support for SWAGGER_SECURITY_AUTH_URL to NPL API
  • ST-3768 Adapted engine not to create or modify other DB users
  • ST-3944 Codegen handles blobs correctly

2024.1.5

Released 2024-05-01

  • ST-3996 Fixed migrations by taking only allowed prototype transformations into account
  • ST-3995 Fixed enumerating types for inclusion in OpenAPI
  • ST-3803 Added language-builtins-native and modularised BuiltinsLookup
  • ST-3709 Moved error handling for Npl Api
  • ST-3800 Added NPL contrib creator sample module & docs
  • ST-3988 Ensured that engine client plugin is using correct cbor library
  • ST-3799 Added NPL contrib support for the Idea NPL Plugin

2024.1.4

Released 2024-04-19

  • ST-3870 Added ability to run tests with the EngineMigrationTester
  • ST-3967 Fixed import of packages while generating the OpenAPI spec in the npl-maven-plugin
  • ST-3824 Fixed semantics of top-level @api annotation
  • ST-3798 Added NPL contrib support to npl-maven-plugin
  • ST-3797 Added support to the compiler for NPL-only contributor library zip files
  • ST-3717 Added timed metrics to NPL API
  • ST-3738 Removed MyBatis

2024.1.3

Released 2024-04-02

  • Bump express from 4.18.2 to 4.19.2 in /postgraphile
  • ST-3870 Added ability to build sources incrementally
  • ST-3793 Updated codegen to use require instead of guard
  • ST-3929 Made Collection Value arg TypeRef an explicit constructor argument
  • ST-3940 Addressed CVE
  • Bump follow-redirects from 1.15.4 to 1.15.6 in /postgraphile
  • ST-3845 Added generation of the OpenAPI specifications to the npl-maven-plugin
  • ST-3695 Added Npl-reflecting Api serDes support for NotifyResult
  • Bump jose from 4.15.4 to 4.15.5 in /postgraphile

2024.1.2

Released 2024-03-11

  • ST-3712 Added proper names and descriptions to poms of publicly published sub-modules
  • ST-3664 Allowed postgraphile and history variables to be unset
  • ST-3794 Removed NPL functionDecl ambiguity and made require an updateStatement
  • ST-3893 Addressed CVE GHSA-ccgv-vj62-xf9h
  • ST-3889 Fixed warn/error messages when using deprecated ENV vars
  • ST-3089 Addressed CVE GHSA-xfg6-62px-cxc2
  • ST-3683 Removed unsupported annotation on protocol properties
  • ST-3660 Added schema name restrictions

2024.1.1

Released 2024-02-20

  • ST-3774 Changed struct copy-constructor to have normal scoping rules
  • ST-3655 Added support for toList on a Map and toMap on a List of Pairs
  • ST-3682 Fixed bug causing multiple usages of generated enums to error
  • ST-3825 Added official documentation for the NPL APIs
  • ST-3860 Fixed nested union type checking
  • ST-3846 Page parameter should be optional
  • ST-3857 Fixed NPL API bug involving indirect protocol references
  • ST-3579 Deprecated guard keyword and ClientGuardOrigin
  • ST-3576 Introduced require as an alias for guard
  • ST-3574 Added NPL Test expectNotifications support

2024.1.0

Released 2024-02-05

  • ST-3840 Upgraded actions in Github workflows
  • ST-3766 Removed old engine clients; moved engine-client-auth
  • Bump org.apache.maven:maven-core from 3.6.3 to 3.8.1 in /npl-maven-plugin
  • ST-3642 Added ability to specify party when executing a protocol action
  • Bump com.jayway.jsonpath:json-path from 2.7.0 to 2.9.0 in /history-integration-tests
  • ST-2775 Removed support for Option
  • ST-3814 Added documentation for createOptional
  • ST-3819 Fixed CVE GHSA-r4q3-7g4q-x89m
  • ST-3674 Fixed equality check on optional struct types
  • ST-2776 Removed support for deprecated lambda backslash notation
  • ST-3811 Fixed amountOf deprecation warning
  • ST-3780 Added NPL parser partial code handling
  • ST-3795 Bumped spring framework to address CVE GHSA-r4q3-7g4q-x89m
  • ST-2778 Deprecated currentState, states, allStates()
  • ST-3766 Reverted removal of old engine clients
  • ST-2777 Removed deprecated function declaration without right arrow
  • ST-3766 Removed old engine clients; moved engine-client-auth
  • ST-3757 Added missing deprecation schedules
  • ST-3576 Renamed originType ‘guard’ discriminator to ‘require’ in the engine API
  • ST-3528 Removed deprecated utility mapPrototypesInUpshift
  • ST-3757 Updated deprecations
  • ST-3759 Removed support for Struct.with { } and Struct { } instantiation
  • ST-3416 Deprecated JWT_TRUSTED_ISSUERS and POSTGRAPHILE_TRUSTED_ISSUERS
  • ST-2785 Removed me parameter on engine clients/API
  • ST-3760 Added struct copy constructor
  • ST-2879 Updated Postgres version requirement to 14.10
  • ST-2937 Removed deprecated dpl type aliases
  • ST-2378 Un-deprecated audit engine streams
  • ST-3641 Fixed codegen failure for certain identifiers

2023.3.9

Released 2024-10-15

  • ST-4325 Merged Transform and Token Context Binding stages during migration to reduce memory footprint and fixed closing of cursors on transaction streaming

2023.3.8

Released 2024-10-08

  • ST-4295 Set protobuf recursion depth to max

2023.3.7

Released 2024-05-16

  • ST-4037 Ported migration bug fixes from hotfix 2023.2.72

2023.3.6

Released 2024-01-08

  • ST-3729 Fixed issue with using protocols as parameters and return types in NPL API
  • ST-3698 Added javadoc jars and dummy source jars to deployment

2023.3.5

Released 2023-12-19

  • ST-3673 Provided AMQP receiver client
  • ST-3540 AMQP publication
  • ST-3079 Added NPL APIs to the Swagger documentation
  • ST-3698 Published NPL-maven-plugin dependencies on Maven Central
  • ST-3697 Fixed issue with lingering types after deleting an application
  • ST-3678 Added AMQP publication metrics
  • ST-3693 Upgraded vulnerable dependencies
  • ST-3689 Aligned compiler with plugin wrt observers protocol declaration

2023.3.4

Released 2023-11-27

  • ST-3626 Added hyphen support for DB usernames
  • ST-3663 Fixed migration struct transform
  • ST-3625 Fixed Flyway migration V57 (advance the npl_migration_log_entriessequencer)
  • ST-3650 Reduced ReadModel logging to debug where needed
  • ST-3633 Fixed nested pair struct migration

2023.3.3

Released 2023-10-30

  • ST-3625 Added data transformations when migrating upshift data to platform npl migration tables
  • ST-3559 Fixed error compiling notification with a forward referencing return type
  • ST-3621 Fixed race condition in JWT TokenVerifier

2023.3.2

Released 2023-10-16

  • ST-3059 Added history endpoint for data removal (GDPR)
  • ST-3494 Added engine endpoint for deleting historical protocol states (dry run)
  • ST-3600 Security: Upgraded Spring and Jetty
  • ST-3494 Added engine endpoint for deleting historical protocol states
  • ST-3080 Added support for retrieving a protocol list to the Npl Api Restcontroller
  • ST-3456 Added DB schema health check
  • ST-3372 Added support for createProtocols and createProtocol with transform
  • ST-3153 Improved navigation to sources on compile errors/warnings

2023.3.1

Released 2023-09-25

  • ST-3515 Removed DemoIT, DemoTest and their related resources
  • ST-2108 Corrected theskip compile/run tests logic in NPL Maven plugin
  • ST-3508 Upgraded Kotlin version to 1.9.10
  • ST-3524 Fixed wrong package warnings (for dependency sources)
  • ST-3525 Simplified History health checks
  • ST-3507 Refactored EngineMigrationTester interfaces
  • ST-3457 Added clear engine caches endpoint
  • ST-2318 Allowed null party to be supplied to runAction and debugAction
  • ST-3247 Removed redundant tests and moved tests from MockedEngineClientIT
  • ST-3451 Deprecated usage of ** for arbitrary matching in POSTGRAPHILE_TRUSTED_ISSUERS
  • ST-2109 Improved docs on NPL and Engine Maven plugins
  • ST-3468 Fixed handling of cyclic struct and union types
  • ST-3487 Fixed retry logic for PersistentListener
  • ST-3492 Correctly populated Authorization.refreshToken
  • ST-3375 Added language getting started documentation page
  • ST-2807 Updated Topology page
  • ST-3038 Added an NPL cheat sheet to the docs
  • ST-3481 Fixed codegen on includeTagInPackage
  • ST-3374 Added getting started for platform docs page
  • ST-3478 Fixed URL construction for service discovery

2023.3.0

Released 2023-09-04

  • ST-3453 Optimised functional receiver type inference resolution
  • ST-3152 Used matrix build to test modules independently
  • ST-3350 Added workflow details to the CI-CD.md
  • ST-2869 Removed deprecated variables from engine application
  • ST-3361 Removed default values for env var passwords
  • ST-1923 Added compiler warning for more than 10 memberExpr chained calls
  • ST-2807 Restructured platform documentation (concepts and deployment)
  • ST-2871 Removed deprecated environment variables from Postgraphile
  • ST-3442 Fixed history startup issues against an RC version
  • ST-2782 Removed FEATURE_CODEGEN_EMPTY_STRUCT_STATIC_OBJECT
  • ST-2781 Removed FEATURE_APPLY_NPL_MIGRATIONS_AT_STARTUP
  • ST-2789 Moved to distroless base image
  • ST-2780 Removed FEATURE_MIGRATION_DESCRIPTOR_NAME_BACKWARD_COMPATIBILITY
  • ST-2950 Fixed typos in collection stdlib documentation
  • ST-2597 Fixed protocol action accessibility without state guard

2023.2.72

Released 2024-05-15

  • ST-4032 Fixed migrations w.r.t. prototype transformations and metadata

2023.2.71

Released 2023-11-30

  • ST-3691 Nested pair struct & transform migration fix

2023.2.70

Released 2023-09-18

  • ST-3487 Fixed retry logic for PersistentListener

2023.2.69

Released 2023-09-11

  • ST-3492 Correctly populated Authorization.refreshToken

2023.2.67

Released 2023-08-16

  • ST-3147 Added exception wrapper for Throwable of type Error
  • ST-3148 Aligned compiler against redefinition of builtin intrinsic types
  • ST-3414 Renamed NPL keyword unique_id to identifier
  • ST-3207 Added takeFirst and takeLast to List and Set of NPL standard library
  • ST-3393 Generalized IAM support
  • ST-3388 Restricted scope of unique identifiers values (UUID-only)
  • ST-3397 Fixed missing documentation links
  • ST-3065 Added missing unescaping of string literal in ASTBuilder

2023.2.66

Released 2023-07-24

  • ST-3240 Added %DEV_MODE variables and adapted application version checks
  • ST-3208 Adjusted protocol state version increments
  • ST-3052 Added missing ApiValue examples in OpenApi specs
  • ST-3106 Removed keycloak health check
  • ST-3381 Fixed illegal property access in gatling stress-test
  • ST-3342 Further improved party access checks performance for runGetValue
  • ST-3275 Added type matching for anonymization
  • ST-3336 Optimized (big) Flyway migrations V60_ and V61_
  • ST-3310 Fixed CVE-2023-2976 for image scans
  • ST-3318 Improved read state cache with configurable cache size
  • ST-3228 Made doc headers and initial paragraphs more consistent
  • ST-3336 Disabled Flyway validation to allow correction of past versioned migrations
  • ST-3235 Modified local builds to use local tag rather than latest
  • ST-3229 Used sentence casing for docs
  • ST-3322 Fixed engine-client-auth token refresh logic

2023.2.65

Released 2023-07-05

  • ST-2987 Added type inference handling for recursive functions
  • ST-3241 Updated Postgraphile for CVE-2023-2650
  • ST-3249 Added migration use case to port pre-existing values to unique_id values
  • ST-3314 Fixed flaky DemoTest
  • ST-3251 Reworked the Kotlin codegen section in the docs
  • ST-2522 Added documentation for unique identifiers
  • ST-2522 Added support for unique identifiers to the NPL
  • ST-3191 Improved documentation structure
  • ST-3237 Fixed secrets detection workflow
  • ST-3235 Revert - Converted project to use 'local' tag versus latest for docker images
  • ST-3235 Reverted - Added version to runtime build base image
  • ST-3235 Added version to runtime build base image
  • ST-3235 Converted project to use 'local' tag versus latest for docker images
  • ST-3284 Fixed issue with running tests in the debugger
  • ST-3233 Integrated healthcheck for engine and history apps into docker config
  • ST-2055 Filtered ignored claims from JWT in Graph API
  • ST-3271 Removed non-serializable annotations
  • ST-3070 Created docs for Anonymization endpoint

2023.2.64

Released 2023-06-15

  • ST-3120 Assert that classes are present for de/serialization in SerializationRoundTripTest
  • ST-3221 Extracted protocol states to separate named type
  • ST-3241 Ignored CVE-2023-2650 in security scans until a fix is available
  • ST-3097 Switched to using GitHub actions to remove artifacts & images
  • ST-3220 Reinstituted latest tag for docker images
  • ST-3100 Added anonymise endpoint to Engine Admin API
  • ST-3204 Worked around broken doc links in Chrome and Safari
  • ST-2905 Set alerts for the Docker image scans
  • ST-3166 Removing the release files
  • ST-3075 Added endpoint definitions to OpenAPI
  • ST-3160 Fixed API section ordering
  • ST-3160 Inlined Swagger UI components
  • ST-3201 Extended schemas with example values
  • ST-3209 Fixed postgraphile image vulnerability
  • ST-3126 Removed Spring magic from History Scheduler configuration
  • ST-3173 Added schemas for action commands
  • ST-3172 Added schema generation for protocols

2023.2.63

Released 2023-05-22

  • ST-3170 Added schema generation for named schemas
  • ST-2709 Updated docs regarding external party access
  • ST-2967 Added documentation explaining NPL party dynamics in greater detail
  • ST-3169 Added schema generation for inline schemas
  • ST-2708 Clarified unanimous invocations usage in docs
  • ST-2743 Added secrets detection
  • ST-3179 Fixed the expressions in the slack messages
  • ST-3168 Implemented algorithm for determining OpenAPI types
  • ST-3093 Added notification to merge-to-master when workflow fails
  • ST-2312 Added docs guidelines for deprecations and new features
  • ST-3073 Added generator for the OpenAPI outline
  • ST-2923 Removed deprecated NPL constructs from docs
  • ST-3140 Made history tests more robust
  • ST-2982 Added description for features flags and their intended use
  • ST-2974 Corrected openAPI specs for entity claims examples
  • ST-2857 Fixed RC list in the publish release workflow
  • ST-3142 Changed base image to Alpine
  • ST-3124 Fixed flaky ManagementApiIT

2023.2.62

Released 2023-05-05

  • ST-2857 Fixed minor bug on publish release workflow
  • ST-3144 Temporarily commented out flaky tests located in History Engine tests
  • ST-2857 Applied several minor fixes to merge to master workflow
  • ST-3013 Fixed flaky ReadStreamsClientIT
  • ST-3143 Rolled back package name change for client values
  • ST-3142 Security: updated base image
  • ST-3140 Disabled flaky tests
  • ST-3088 Updated Java distribution
  • ST-2850 Added support for multi-party matches
  • ST-3104 Updated documentation to reflect updates in JWT handling
  • ST-2857 Modified release process to tag builds as release candidates

2023.2.61

Released 2023-05-01

Security: Upgraded snakeyaml to 2.0

2023.2.60

Released 2023-05-01

Security: updated Spring to 6.0.7

2023.2.59

Released 2023-04-28

Modified new release process to remove its release candidates upon successful release

2023.2.58

Released 2023-04-26

Updated OpenAPI definitions and generator plugin

2023.2.57

Released 2023-04-26

Internal: moved documentation related to the platform into the platform repository.

2023.2.56

Released 2023-04-25

Added E2E test migrating from an old engine version to the latest

2023.2.55

Released 2023-04-20

Generalized oAuth handling to allow any issuer

2023.2.54

Released 2023-04-18

Added workflow to remove releases and docker images manually by tagname.

2023.2.53

Released 2023-04-18

Updated API names to follow the new convention

2023.2.52

Released 2023-04-18

Added union collection type based iterator support to FOR statement.

2023.2.51

Released 2023-04-18

Internal: Improved docker stage stability

2023.2.50

Released 2023-04-18

Internal: Removed engine-values module, moved client data model to the clients module, moved api data model to engine-api-values module, moved EngineVersionResolver to the engine module.

2023.2.49

Released 2023-04-14

Made the use of api annotation and external party on an action a compilation error.

2023.2.48

Released 2023-04-13

Removed dependency on spring-boot parent pom

2023.2.47

Released 2023-04-13

Created new workflow for publishing releases

2023.2.46

Released 2023-04-11

Internal: Adapted test configurations to let Jetty server itself assign available random ports.

2023.2.45

Released 2023-04-11

Internal: fix flaky tests

2023.2.44

Released 2023-04-11

Internal: Fixed unexecuted SerializationRoundTripTest.

2023.2.43

Released 2023-04-06

Fixed multiple CVEs

2023.2.42

Released 2023-04-06

Added prometheus metrics to all api requests

2023.2.41

Released 2023-04-05

Updated Postgraphile and dependencies

2023.2.40

Released 2023-04-05

Internal: Fixed artifacts upload for PR and merge-to-master builds.

2023.2.39

Released 2023-04-04

Allowed variable name with same name as the type.

2023.2.38

Released 2023-04-03

Stop using SHA-1 for temporary paths

2023.2.37

Released 2023-04-03

Separated engine multi-node API endpoints definitions into own openApi specification.

2023.2.36

Released 2023-03-31

Internal: Added content-based test for history move data functionality.

2023.2.35

Released 2023-03-30

Deprecated the me parameter in ApplicationClient

2023.2.34

Released 2023-03-30

Internal: Adapted history test to wait for processed multinode messages.

2023.2.33

Released 2023-03-29

Internal: Fixed the merge-to-master build (build-downstream-projects job replaces the explicit upgrade trigger of the old Gitlab project, platform-dependencies).

2023.2.32

Released 2023-03-29

Internal: Fixed flaky test (HistoryMoveDispatcherTest).

2023.2.31

Released 2023-03-29

Internal: Fixed issues with history-benchmarks tests.

2023.2.30

Released 2023-03-28

Implemented the remaining endpoints of the Management API in the ManagementClient

2023.2.29

Released 2023-03-23

Deprecated the SseReaderClient and EngineClientApi and the flux client values type aliases. EngineInteractor and RecordProvisioner now use ApplicationHttpClient

2023.2.28

Released 2023-03-22

Internal: History application is now configured by default.

2023.2.27

Released 2023-03-17

Internal: Cleaned up code in the history-related modules.

2023.2.26

Released 2023-03-17

Added delete data endpoint to the history management API.

2023.2.25

Released 2023-03-16

Added history management API and client.

2023.2.24

Released 2023-03-15

Internal: Resolved various code smells to improve code quality.

2023.2.23

Released 2023-03-14

Internal: Removed references to upshift

2023.2.22

Released 2023-03-09

Modified startup behavior to skip migration unless all configuration items are present.

2023.2.21

Released 2023-03-09

Internal: simplified MigrationDefinitionRunner

2023.2.20

Released 2023-03-09

Internal: Removed references to upshift

2023.2.19

Released 2023-03-07

Introduced AdminClient and implemented it with the AdminHttpClient

2023.2.18

Released 2023-03-07

Internal: Added complementary protocol access changes to tests.

2023.2.17

Released 2023-03-06

Revised, renamed and documented Prometheus metrics for engine, history and clients.

2023.2.16

Released 2023-03-02

Moved the EngineManagementApi to the ManagementClient

2023.2.15

Released 2023-03-01

Internal: improved coverage for migration.yml validation

2023.2.14

Released 2023-02-28

Internal: Swapped C1 with 2 for thread count for maven tasks in CI

2023.2.13

Released 2023-02-28

Internal: Improved static analysis and security scanners in CI

2023.2.12

Released 2023-02-27

Internal: Refactored usages of substringAfterLast slash for local type names.

2023.2.11

Released 2023-02-24

Internal: fixed issue where the PR title/release notes were not re-verified after editing the PR title.

2023.2.10

Released 2023-02-24

Internal: Refactored MigrationIT tests

2023.2.9

Released 2023-02-23

Changed grammar to notify error listeners on missing comma between parties.

2023.2.8

Released 2023-02-23

Internal: Fixed dependabot alerts

2023.2.7

Released 2023-02-23

Internal: Added Sonarcloud stats to README

2023.2.6

Released 2023-02-22

Updated ktlint to 0.48.2 and formatted code.

2023.2.5

Released 2023-02-22

Internal: Updated the usage of github secrets to use new standard secret.

2023.2.4

Released 2023-02-22

Internal: Improved ChangeSet and ChangeSetRunner APIs

2023.2.3

Released 2023-02-22

Added bills-of-material for the Docker images

2023.2.2

Released 2023-02-22

Added a toggle for the history application scheduler (HISTORY_SCHEDULER_ENABLED).

2023.2.1

Released 2023-02-21

Added read model dependency report to build artefacts

2023.2.0

Released 2023-02-21

Renamed dpl package to npl.

2023.1.11

Released 2023-02-21

Internal: added architecture diagrams

2023.1.10

Released 2023-02-21

Moved functional chained command to the storage layer

2023.1.9

Released 2023-02-20

Internal: trigger npl-starter workflow on merge to master.

2023.1.8

Released 2023-02-20

Performance: efficient retrieval of huge frames

2023.1.7

Released 2023-02-17

Fixed compiler type inference stackoverflow.

2023.1.6

Released 2023-02-16

Removed all unnecessary reset flags from migration tests

2023.1.5

Released 2023-02-15

Added more specific exceptions for migration errors

2023.1.4

Released 2023-02-15

Internal: consolidated READMEs.

2023.1.3

Released 2023-02-15

Internal: Standardized variable name

2023.1.2

Released 2023-02-15

Removed Clinterface module

2023.1.1

Released 2023-02-14

Internal: remove spurious errors when running tests on M1

2023.1.0

Released 2023-02-09

New major release

  • Deprecated engine "audit" streams endpoint - /api/streams/current-archived-states
  • Deprecated engine "audit" streams endpoint - /admin/streams/current-archived-states
  • Deprecated engine "audit" streams endpoint - /api/streams/current-commands
  • Deprecated engine "audit" streams endpoint - /admin/streams/current-commands
  • Feature flags (engine) - FEATURE_CODEGEN_EMPTY_STRUCT_STATIC_OBJECT is now true by default
  • Feature flags (engine) - FEATURE_MIGRATION_DESCRIPTOR_NAME_BACKWARD_COMPATIBILITY is now false by default
  • Feature flags (engine) - FEATURE_COMPILER_LAMBDA_NON_UNIT_RETURN has been removed
  • Feature flags (engine) - FEATURE_MULTI_NODE has been removed; multinode is always on
  • Environment variables (engine) - replaced ADMIN_HOST with ENGINE_ADMIN_HOST
  • Environment variables (engine) - replaced ADMIN_PORT with ENGINE_ADMIN_PORT
  • Environment variables (engine) - replaced APPLICATION_MANAGEMENT_HOST with ENGINE_MANAGEMENT_HOST
  • Environment variables (engine) - replaced APPLICATION_MANAGEMENT_PORT with ENGINE_MANAGEMENT_PORT
  • Environment variables (engine) - replaced APPLICATION_MANAGEMENT_ARCHIVESIZELIMIT with ENGINE_MANAGEMENT_ARCHIVE_SIZE_LIMIT
  • Environment variables (engine) - replaced POSTGRAPHILE_DB_USER with ENGINE_DB_POSTGRAPHILE_USER
  • Environment variables (engine) - replaced POSTGRAPHILE_DB_PASSWORD with ENGINE_DB_POSTGRAPHILE_PASSWORD
  • Environment variables (engine) - replaced ENGINE_NPL_MIGRATION_DIRECTORYPATH with ENGINE_NPL_MIGRATION_DIRECTORY_PATH
  • Environment variables (engine) - replaced ENGINE_NPL_MIGRATION_RUNONLY with ENGINE_NPL_MIGRATION_RUN_ONLY
  • Environment variables (engine) - replaced ENGINE_ACTUATOR_EXPOSE with ENGINE_SPRING_ACTUATOR_EXPOSE
  • Environment variables (engine) - replaced SWAGGER_ADMIN_URL with SWAGGER_ENGINE_ADMIN_URL
  • Environment variables (engine) - replaced SWAGGER_MANAGEMENT_URL with SWAGGER_ENGINE_MANAGEMENT_URL
  • Environment variables (postgraphile) - replaced PORT with POSTGRAPHILE_PORT
  • Environment variables (postgraphile) - replaced DATABASE_URL with POSTGRAPHILE_DB_URL
  • Environment variables (postgraphile) - replaced SCHEMA with POSTGRAPHILE_DB_SCHEMA
  • Environment variables (postgraphile) - replaced TRUSTED_ISSUER with POSTGRAPHILE_TRUSTED_ISSUERS
  • Environment variables (postgraphile) - replaced ISSUER_OVERRIDE with POSTGRAPHILE_ISSUER_OVERRIDE
  • Environment variables (postgraphile) - replaced ENGINE_HEALTH_ENDPOINT with POSTGRAPHILE_ENGINE_HEALTH_ENDPOINT
  • Environment variables (postgraphile) - replaced ENGINE_TIMEOUT_SECONDS with POSTGRAPHILE_ENGINE_HEALTH_TIMEOUT_SECONDS
  • Environment variables (postgraphile) - removed MAX_INIT_ATTEMPTS

2022.1.101

Released 2023-02-07

Internal Removed leading and trailing white-spaces and new lines during facade factory method assertion

2022.1.100

Released 2023-02-06

ST-2814 Add ability to run in-memory migrations with EngineMigrationTester

2022.1.99

Released 2023-02-06

Internal: added synchronization barrier to PersistentListener, ensuring NOTIFY will not happen before the LISTEN

2022.1.98

Released 2023-02-06

Added NPL migrations' status to actuator health endpoint

2022.1.97

Released 2023-02-02

Internal: refactored history BatchTransfer e2e tests into a data-driven test style.

2022.1.96

Released 2023-02-02

Improved performance on read-model queries

2022.1.95

Released 2023-02-01

Prevented StackOverflowException by throwing an early TypeSubstitutionErrorException when GenericSubstitutor could not substitute type.

2022.1.94

Released 2023-02-01

Implemented History API client.

2022.1.93

Released 2023-01-27

The notifications database object model has been refactored (notifications now reference their triggering commands).

2022.1.92

Released 2023-01-25

Internal: add tests for History Swagger UI.

2022.1.91

Released 2023-01-24

Internal: unit test for JWT flattening.

2022.1.90

Released 2023-01-24

Internal: build downstream projects when a new version is deployed

2022.1.89

Released 2023-01-24

Performance: pre-parsing JWT from postgraphile and passing it to PG as a stringified JSON array in order to improve performance of the read model.

2022.1.88

Released 2023-01-19

Internal: reorganization of tests.

2022.1.87

Released 2023-01-12

Internal: tests refactoring.

2022.1.86

Released 2023-01-11

Updating party documentation

2022.1.85

Released 2023-01-11

Replaced IllegalStateException with RuntimeException when using empty claims in partyOf() invocation.

2022.1.84

Released 2023-01-10

Internal: improved integration with slack.

2022.1.83

Released 2023-01-09

Remove springdoc and provide improved Swagger UI

2022.1.82

Released 2023-01-09

Added new module engine-testing for the purpose of exposing tools to the client for integration testing.

2022.1.81

Released 2023-01-04

Dependency report fixes.

2022.1.80

Released 2023-01-03

Clear migration caches between runs

2022.1.79

Released 2022-12-29

Internal: added security scan image Github workflow.

2022.1.78

Released 2022-12-27

Internal: fix nightly validation

2022.1.77

Released 2022-12-22

Internal: History tests re-organisation, history test utils refactoring, fixing flaky tests.

2022.1.76

Released 2022-12-21

New read-streams client

2022.1.75

Released 2022-12-21

Internal: Enforce versions and release notes on PRs.

2022.1.74

Released 2022-12-20

Internal: upgrade to docker compose v2 (as opposed to docker-compose/v1).

2022.1.73

Released 2022-12-16

Internal: Added coverage support for the history modules.

2022.1.72

Released 2022-12-16

Internal: Added coverage support for the history modules.

2022.1.71

Released 2022-12-15

Implemented the history application which moves past event data (no longer needed for the live operations) to the history data store.

2022.1.70

Released 2022-12-14

This version removes the feature flag FEATURE_API_USE_ORIGINAL_STRUCT_TYPE_PARAMS causing structs to give the type as it was defined rather than instantiated from StructValue.typeIdWithOriginalTypeArgs() e.g. Some rather than Some

2022.1.69

Released 2022-12-14

Code generation now provides a factory method that be used to instantiate facades with ease.

2022.1.68

Released 2022-12-14

Set the body of Github releases to the appropriate release notes.

2022.1.67

Released 2022-12-12

Internal: report code coverage on PR validation.

2022.1.66

Released 2022-12-12

Migrations will now check log history to determine if a change has already been migrated. Reset migrations will no longer log twice.

2022.1.65

Released 2022-12-12

Provided support for the creation of optional types in migration dsl scripts

2022.1.64

Released 2022-12-07

Internal: Fix test reports publishing

2022.1.63

Released 2022-12-07

Added new module engine-testing for the purpose of exposing tools to the client for integration testing.

2022.1.62

Released 2022-12-02

Offer a more efficient query to back the /api/engine/protocols/{protocolId} API.

2022.1.61

Released 2022-11-28

Compile to Java 17 instead of 11

2022.1.60

Released 2022-11-23

Migrations will now throw exception if change set name or system under default are not within the allowed set of characters

2022.1.59

Released 2022-11-22

Internal: workflow changes

2022.1.58

Released 2022-11-21

Internal: add module for running E2E tests.

2022.1.57

Released 2022-11-17

Rename the engine-maven-plugin's engineUrl parameter to engineManagementUrl.

2022.1.56

Released 2022-11-17

Internal: broken workflow fix.

2022.1.55

Released 2022-11-17

New clients package for engine communication

2022.1.54

Released 2022-11-17

Move API postprocessor to separate package

2022.1.53

Released 2022-11-17

Added API support for generic struct types, and ability for API to accept fully qualified generic types.

2022.1.52

Released 2022-11-15

internal: CI fix

2022.1.51

Released 2022-11-15

Internal changes

2022.1.50

Released 2022-11-14

Fix nightly validation

2022.1.49

Released 2022-11-11

Internal: PR validation process improvement.

2022.1.48

Released 2022-11-10

Remove spring dependency from engine-values

2022.1.47

Released 2022-11-08

Remove Guava from client dependencies

2022.1.46

Released 2022-11-07

Modify temporary file name during engine deployment of sources and migrations, to contain the time of deployment.

2022.1.45

Released 2022-11-07

Adds the engine-maven-plugin that executes calls to the Management Endpoint

2022.1.44

Released 2022-11-07

Move agent-resolver to different package

2022.1.43

Released 2022-11-07

Move API postprocessor to separate package

2022.1.42

Released 2022-11-07

Disallowed slash star from appearing inside a block comment.

2022.1.41

Released 2022-11-03

Added unclosed block comment lexer rule.

2022.1.40

Released 2022-11-02

Dependabot updates

2022.1.39

Released 2022-11-02

ST-2584 Added fix for incorrectly migrated stdlib generic structs

2022.1.38

Released 2022-10-27

[Build] Add retries on Maven deployments

2022.1.37

Released 2022-10-27

Prevent deadlocks when clearing user data

2022.1.36

Released 2022-10-26

Dependabot updates

2022.1.35

Released 2022-10-25

Dependabot updates

2022.1.34

Released 2022-10-24

Internal: address worfklow deprecation warnings.

2022.1.33

Released 2022-10-24

Fixed NplLexer block comment mismatch when doc comment is used.

2022.1.32

Released 2022-10-21

Internal: address worfklow deprecation warnings.

2022.1.31

Released 2022-10-21

Internal: fixes to integration tests.

2022.1.30

Released 2022-10-21

Fixed grammatical error when encountering space in blank line of a javadoc comment.

2022.1.29

Released 2022-10-20

Fix commands selection.

2022.1.28

Released 2022-10-20

Internal: fixes to integration tests.

2022.1.27

Released 2022-10-20

Internal: fixes to integration tests.

2022.1.26

Released 2022-10-18

Internal: reduce IT flakiness

2022.1.25

Released 2022-10-14

Fix minor bugs in migration descriptor command migrate.

2022.1.24

Released 2022-10-14

Fixed shadowing of self-referencing variable declaration.

2022.1.23

Released 2022-10-12

Reassignment to immutable property now results in compiler exception.

2022.1.22

Released 2022-10-10

Added reserved characters for changeset names and systemUnderAudit properties and restricted their use in migrations.

2022.1.21

Released 2022-10-10

Added warning for PropertyDecl with implicit type.

2022.1.20

Released 2022-10-06

Fixed incorrect GuardId for function with guards called from protocol.

2022.1.19

Released 2022-10-06

Internal: fixes to integration tests.

2022.1.18

Released 2022-10-06

Fixed grammar parenExpr and invokeExpr ambiguity.

2022.1.17

Released 2022-10-06

Upgraded Kotlin to 1.7.10, coroutines to 1.6.4, kotest to 5.4.0, and mybatis to 3.5.11.

2022.1.16

Released 2022-09-22

Added an optional environment variable (ISSUER_OVERRIDE) to postgraphile, it can be used to configure the openid-connect endpoint.

2022.1.15

Released 2022-09-21

[Build] Use Github to build releases

2022.1.14

Released 2022-09-20

NPL Migration default yaml descriptor name changed to 'migration.yml'. 'upshift.yml' will still be supported for a time when using the FEATURE_MIGRATION_DESCRIPTOR_NAME_BACKWARD_COMPATIBILITY feature flag, which is enabled by default.

2022.1.13

Released 2022-09-19

Publish stdlib documentation artefacts

2022.1.12

Released 2022-09-16

Fixed MemoryStore selectAllLatest selection by timestamp.

2022.1.11

Released 2022-09-16

Fix batch selection of messages.

2022.1.10

Released 2022-09-16

Update Docker JRE version to eclipse-temurin:17

2022.1.9

Released 2022-09-16

Remove unused upshift version

2022.1.8

Released 2022-09-15

Internal: storage-persistent code refactoring - separation of concerns of Flyway migrator and MyBatis mappers.

2022.1.7

Released 2022-09-15

Update Docker JRE version to eclipse-temurin:17

2022.1.6

Released 2022-09-15

Added various deprecation analyser improvements.

2022.1.5

Released 2022-09-15

Update Docker JRE version to eclipse-temurin:17

2022.1.4

Released 2022-09-14

[Github] Set up nightly validation workflow

2022.1.3

Released 2022-09-14

Update Docker JRE version to eclipse-temurin:17

2022.1.2

Released 2022-09-14

[Internal] make sure migration log gets closed if there are unexpected exceptions

2022.1.1

Released 2022-09-14

[Internal testing] prevent TaskScheduler log spam for certain ITs

2022.1.0

Released 2022-09-14

Added ability to previous migration logs to platform environment.

2021.1.195

Released 2022-09-13

Fixed migration validation and test

2021.1.194

Released 2022-09-13

[Build] Exclusively use Github for Docker images

2021.1.193

Released 2022-09-12

[Build] Exclusively use Github for Docker images

2021.1.192

Released 2022-09-09

Adds support for connection filters in postgraphile allowing for filtering w.r.t. data in read model tables. For example use, see https://github.com/graphile-contrib/postgraphile-plugin-connection-filter/blob/master/docs/examples.md

2021.1.191

Released 2022-09-08

[Build] Fix dependency report in pipeline

2021.1.190

Released 2022-09-08

Internal improvements to code organization.

2021.1.189

Released 2022-09-07

Disallowed NPL static member access on Enum and Protocol type instances.

2021.1.188

Released 2022-09-06

Fix bug where migration descriptor could only be on the top level of zips.

2021.1.187

Released 2022-09-06

[Build] Exclusively use Github for Maven packages

2021.1.186

Released 2022-09-06

Prevented removal of dead-code following a for-statement which fully returns.

2021.1.185

Released 2022-09-05

[Build] Exclusively use Github for Maven packages

2021.1.184

Released 2022-09-02

Added Migration DSL support for multinode TokenContext.

2021.1.183

Released 2022-09-01

Adds an endpoint to the management API which can be used to delete all operational data (including sources, prototypes, protocol states, etc) from an application.

2021.1.182

Released 2022-08-31

Fix migration bug related to nested unions and structs (and thereby Optionals).

2021.1.181

Released 2022-08-30

[Build] Inline keycloak customization

2021.1.180

Released 2022-08-30

NPL variable declaration referencing itself now leads to compilation exception.

2021.1.179

Released 2022-08-29

[Internal] Inline kotlin/infra

2021.1.178

Released 2022-08-29

[Build] Fix test coverage

2021.1.177

Released 2022-08-24

Added side-effect free code removal optimisation for the Encoder.

2021.1.176

Released 2022-08-24

Multi-node message acknowledgements.

2021.1.175

Released 2022-08-23

Porting the existing ITs from cli tool

2021.1.174

Released 2022-08-23

[Build] Fix flaky test

2021.1.173

Released 2022-08-23

Fix invalid dependency

2021.1.172

Released 2022-08-23

The token binding API will not return an error if the targeted notification has not been annotated with @multinode.

2021.1.171

Released 2022-08-22

Add ability to run in-memory migrations

2021.1.170

Released 2022-08-22

Added caching of JWKS URI lookups for the Postgraphile middleware server.

2021.1.169

Released 2022-08-22

Use JWKS to verify JWTs for the read model middleware server.

2021.1.168

Released 2022-08-18

Remove unused checksums from npl migrations.

2021.1.167

Released 2022-08-18

Changing ExecutionResult from string value to enum.

2021.1.166

Released 2022-08-18

Replacing push metrics with pull metrics in NPL migrations.

2021.1.165

Released 2022-08-17

Build: fix release process

2021.1.164

Released 2022-08-17

Build: fix release process

2021.1.163

Released 2022-08-17

Added NPL deprecation warning management analysis reporting endpoint.

2021.1.162

Released 2022-08-16

Build: fix nightly validation

2021.1.161

Released 2022-08-16

Build: pull parent-pom into project

2021.1.160

Released 2022-08-16

Build: better approach for assigning random ports

2021.1.159

Released 2022-08-11

Introduces a new management API at /management, available on port 12400 by default.

It currently has a single endpoint, /management/application, which can be used to provision new sources via zip file uploads. Archives containing an upshift description file and migrations can be PUT'ed to this endpoint, while archives that contain only NPL files should be POST'ed. The latter requires that the application does not contain any pre-existing data.

2021.1.158

Released 2022-08-11

Internal: fix dependency in integration tests

2021.1.157

Released 2022-08-11

Internal changes.

2021.1.156

Released 2022-08-04

Bump parent-pom (internal change).

2021.1.155

Released 2022-08-04

Detect multi-node notification bindings that are statically incorrect.

2021.1.154

Released 2022-08-03

Multi-node notification export functionality for the NPL Maven Plugin.

2021.1.153

Released 2022-07-29

Internal: update Keycloak to latest version

2021.1.152

Released 2022-07-28

Read model: introduce ENGINE_HEALTH_ENDPOINT environment variable

If this environment variable is set, Postgraphile will wait for this endpoint to report HTTP 200 before starting the server. This will ensure that the engine has created the proper schemas and tables that are required by the read model.

2021.1.151

Released 2022-07-27

Read model: retry when schema not found

2021.1.150

Released 2022-07-22

Internal changes (integrate NPL migration log/lock tables into platform database schema).

2021.1.149

Released 2022-07-21

Improve patch-release process

2021.1.148

Released 2022-07-21

Improve patch-release process

2021.1.147

Released 2022-07-20

Internal: remove deprecated dockerfile-maven-plugin

2021.1.146

Released 2022-07-20

Improve patch-release process

2021.1.145

Released 2022-07-20

Moving migration-validation nightly to the test pipeline.

2021.1.144

Released 2022-07-20

Improve patch-release process

2021.1.143

Released 2022-07-15

Internal changes only (code cleanup).

2021.1.142

Released 2022-07-14

Internal changes: Do not use CTE in SQL queries (relevant for Postgres version <= 11).

2021.1.141

Released 2022-07-12

Added deprecated annotation warning to NPL stdlib amountOf function.

2021.1.140

Released 2022-07-12

Added unused variable/property declarations warnings, and replaced Statement with no effect with Expression result unused.

2021.1.139

Released 2022-07-11

Fix nightly-migration-validation pipeline bug.

2021.1.138

Released 2022-07-11

Deprecated Migration DSL createAmount transform in favour of createSymbol.

2021.1.137

Released 2022-07-08

Run migrations on start-up.

2021.1.136

Released 2022-07-05

Run migrations on start-up.

2021.1.135

Released 2022-06-30

Added mixing of named & unnamed parties support to protocol instantiations and protocol actions.

2021.1.134

Released 2022-06-30

Run migrations on start-up.

2021.1.133

Released 2022-06-29

Added transformEnum API to migration DSL for migrating Protocol derived enum states.

2021.1.132

Released 2022-06-28

Added mixing of named/unnamed argument support to protocol instantiations and protocol actions.

2021.1.87.A

Released 2022-07-15

Tag for release 2021.1.87.A version update - with platform fix for - ST-2317 Rewrite SQL queries not to use CTE (PG <= 11)