What's Changed
Breaking changes
- refactor: consolidate SPI modules into five layer-oriented modules by @paullatzelsperger in #5842
- build: bump dps-tck to 1.2.0 by @ndr-brt in #5878
- fix: conversion of JsonObject to Constraint by @ndr-brt in #5939
- refactor: cleanup 0.16.0 deprecations by @ndr-brt in #5991
- refactor: flatten Sql Dataplane instance store columns by @wolf4ood in #6010
- refactor: remove namespaced id internal usage by @wolf4ood in #6055
- feat: add claims to CN for manual approval usage by @wolf4ood in #6071
- feat: retire ContractAgreement feature by @ndr-brt in #6068
- feat: improve policy monitor lease by @wolf4ood in #6099
- feat: implement DR about stateful entity versioning by @wolf4ood in #6104
Bugfixes
- fix: update PostgreSQL type casts in JsonFieldTranslator and add tests by @mokhairymahmoud in #5858
- fix: avoid exceptions during shutdown by guarding the iteration scheduling by @ndr-brt in #5869
- fix: add missing schema registration for profiles by @wolf4ood in #5872
- fix: autogenerate id if null by @wolf4ood in #5884
- fix: add conversion edc endpoint to dspace data address if present by @wolf4ood in #5891
- fix: wrong type when reason validation fails by @wolf4ood in #5901
- chore: add missing subject_token_type by @wolf4ood in #5918
- fix: rightOperand serialization for list types by @ndr-brt in #5934
- fix: race condition in participant context config merge by @wolf4ood in #5956
- fix(sql): handle SQL NULL as null not 0 by @paullatzelsperger in #5962
- fix: jwt validator cors preflight by @timdahlmanns in #5969
- fix: asset deletion by @wolf4ood in #5978
- fix: allow VC 2.0 credentials without credentialSubject.id by @paullatzelsperger in #5982
- fix: switch associate profile on atomic merge by @wolf4ood in #5992
- fix(PolicyMonitor): update updatedAt field when policy is valid by @ndr-brt in #6004
- fix(vault): avoid token logging on deserialization error by @ndr-brt in #6022
- chore: fix policy field ser in CN by @wolf4ood in #6034
- fix: make status list credential downloads resilient to failures by @paullatzelsperger in #6049
- fix: register JsonMapperProvider by @ndr-brt in #6058
- fix: store JTI entries atomically and let them expire with their tokens by @paullatzelsperger in #6069
- fix: retry did:web server errors and make the DID cache size configurable by @paullatzelsperger in #6072
- fix: read status list credentials that are secured as VCDM 2.0 JOSE tokens by @paullatzelsperger in #6078
- fix: resolve JSON-LD contexts only from the cache or via http(s) by @paullatzelsperger in #6109
- fix: reject deactivated participant contexts in the service principal filter by @paullatzelsperger in #6124
New Features & Improvements
- feat: implements Dcp scope SQL store by @wolf4ood in #5837
- feat: implements DCP scope mgmt api by @wolf4ood in #5845
- feat: implements sts registry for services by @wolf4ood in #5848
- feat: STS implementation with signing service by @wolf4ood in #5853
- feat: implements participant config patch by @wolf4ood in #5856
- feat: support JSON merge patch by @wolf4ood in #5859
- feat: add dataspace profile management vertical by @wolf4ood in #5861
- feat: implement JSON-LD context cache vertical by @wolf4ood in #5876
- chore: move security related services by @wolf4ood in #5877
- feat: support java 25 compilation by @ndr-brt in #5881
- feat: generic document cache api + dynamic json schema validation by @wolf4ood in #5889
- feat: add NKey authentication support for NATS connections by @paullatzelsperger in #5892
- feat: split autocreate config by @wolf4ood in #5903
- feat: add vc cel helpers by @wolf4ood in #5908
- feat: add trustedIssuers to DataspaceProfile API and storage by @ndr-brt in #5910
- feat: permit trusted issuers setting by configuration by @ndr-brt in #5913
- feat: multi-participant signature service by @wolf4ood in #5917
- feat: validate trusted issuers registered in dataspace profile by @ndr-brt in #5925
- feat: add update profile and de-register by @wolf4ood in #5927
- feat: add error handling on negotiation tasks by @wolf4ood in #5933
- feat: avoid double deserialization on json-ld ingress calls by @ndr-brt in #5930
- feat: implement retry by @wolf4ood in #5935
- feat: token exchange DPS by @wolf4ood in #5953
- feat: support DPS 1.0-RC4 by @ndr-brt in #5970
- feat: add missing capabilityInvocation field on DidDocument by @ndr-brt in #5971
- feat: validate capabilityInvocation in SelfSigned Token by @ndr-brt in #5981
- feat: hardening resource access with pc context by @wolf4ood in #6000
- feat: hardening resource access with pc context second batch by @wolf4ood in #6002
- feat: dataplane selector controller v5 by @wolf4ood in #6006
- feat: expose Policy on Contract Negotiation by @MarcAntoine-Arnaud in #6007
- feat: partners and group management by @wolf4ood in #6017
- feat: implement dr about participant resource ids by @wolf4ood in #6020
- feat: cel supported operators by @wolf4ood in #6027
- feat: optimize default sql schema by @wolf4ood in #6037
- feat: switch to asset id instead if the inner property by @wolf4ood in #6042
- feat: allow custom behaviour for scope extractor on catalog request by @wolf4ood in #6044
- feat: bump Jackson to 3.x by @ndr-brt in #6052
- feat: add a locked read to the ParticipantContextStore by @paullatzelsperger in #6065
- refactor: merge default and json-ld object mappers by @ndr-brt in #6063
- feat: implement CN manual approval by @wolf4ood in #6062
- feat: add thread local cache for participant config by @wolf4ood in #6074
- feat: add pc config validation by @wolf4ood in #6075
- feat: let stores set the duration of SQL leases through the SPI by @paullatzelsperger in #6088
- feat: add asset and cd in the approval context by @wolf4ood in #6084
- feat: permit agreement un-retire by @ndr-brt in #6085
- feat: contract retired/unretired events by @ndr-brt in #6090
- feat: implement bom for virtual deployment + poll state machine by @wolf4ood in #6095
- feat: add filter by contractOffers in ContractNegotiation by @ndr-brt in #6097
- feat: store tp and cn lease on the entity by @wolf4ood in #6101
- fix: release lease when state machine processing fails by @wolf4ood in #6106
- fix: lock contract negotiation before writing its agreement by @wolf4ood in #6107
- fix: make the policy monitor watchdog and store robust to failures by @wolf4ood in #6110
- feat: configurable lease duration for the state machine stores by @wolf4ood in #6111
- fix: stop the state machine cleanly and report a dead state machine by @wolf4ood in #6112
- fix: align in-memory stateful entity store leases with the SQL stores by @wolf4ood in #6114
- fix: keep the NATS task subscriber consuming after errors by @wolf4ood in #6117
- test: transfer process state machine in multiple replicas by @wolf4ood in #6115
- feat: retry NATS tasks with a backoff and retry them on handler errors by @wolf4ood in #6122
- feat: support asynchronous data plane by @wolf4ood in #6123
- feat: keep the ack wait of the NATS messages while they are processed by @wolf4ood in #6125
- fix: mark a transfer pending on the task-based state machine by @wolf4ood in #6128
Dependencies
- build(deps): bump jackson from 2.21.3 to 2.22.0 by @dependabot[bot] in #5835
- build(deps): bump actions/checkout from 6 to 7 by @dependabot[bot] in #5834
- build(deps): bump com.fasterxml.jackson.core:jackson-annotations from 2.21 to 2.22 by @dependabot[bot] in #5832
- build(deps): bump cloudEvents from 4.0.2 to 4.1.1 by @dependabot[bot] in #5833
- build(deps): bump jetty from 12.1.9 to 12.1.10 by @dependabot[bot] in #5850
- build(deps): bump org.junit.jupiter:junit-jupiter-api from 6.0.3 to 6.1.1 by @dependabot[bot] in #5851
- build: bump opentelemetry version by @ndr-brt in #5870
- build(deps): bump okhttp from 5.3.2 to 5.4.0 by @dependabot[bot] in #5874
- build(deps): bump com.google.crypto.tink:tink from 1.21.0 to 1.23.0 by @dependabot[bot] in #5886
- build(deps): bump jackson from 2.22.0 to 2.22.1 by @dependabot[bot] in #5885
- build(deps): bump org.eclipse.parsson:parsson from 1.1.7 to 1.1.9 by @dependabot[bot] in #5873
- build(deps): bump io.opentelemetry:opentelemetry-api from 1.63.0 to 1.64.0 by @dependabot[bot] in #5898
- build(deps): bump io.rest-assured:rest-assured from 6.0.0 to 6.0.1 by @dependabot[bot] in #5897
- build(deps): bump swagger from 2.2.50 to 2.2.52 by @dependabot[bot] in #5899
- build(deps): bump org.junit.platform:junit-platform-launcher from 6.0.3 to 6.1.2 by @dependabot[bot] in #5923
- build(deps): bump jetty from 12.1.10 to 12.1.11 by @dependabot[bot] in #5924
- build(deps): bump io.nats:jnats from 2.25.3 to 2.26.0 by @dependabot[bot] in #5922
- build(deps): bump org.postgresql:postgresql from 42.7.11 to 42.7.13 by @dependabot[bot] in #5936
- build(deps): bump cloudEvents from 4.1.1 to 5.0.0 by @dependabot[bot] in #5938
- build(deps): bump opentelemetry-instrumentation-annotations from 1.33.2 to 2.30.0 by @dependabot[bot] in #5937
- build(deps): bump io.opentelemetry.proto:opentelemetry-proto from 1.3.2-alpha to 1.11.0-alpha by @dependabot[bot] in #5943
- build(deps): bump swagger from 2.2.52 to 2.2.53 by @dependabot[bot] in #5944
- build(deps): bump jetty from 12.1.11 to 12.1.12 by @dependabot[bot] in #5945
- build(deps): bump io.nats:jnats from 2.26.0 to 2.26.2 by @dependabot[bot] in #5949
- build(deps): bump org.junit.jupiter:junit-jupiter-api from 6.1.1 to 6.1.3 by @dependabot[bot] in #5948
- build(deps): bump com.gradleup.shadow from 9.4.1 to 9.6.1 by @dependabot[bot] in #5947
- build(deps): bump swagger from 2.2.53 to 2.2.54 by @dependabot[bot] in #5958
- build(deps): bump okhttp from 5.4.0 to 5.5.0 by @dependabot[bot] in #5959
- build(deps): bump jackson from 2.22.1 to 2.22.2 by @dependabot[bot] in #5957
- build(deps): bump gradle-wrapper from 9.5.1 to 9.7.1 by @dependabot[bot] in #5973
- build(deps): bump opentelemetry-instrumentation-annotations from 2.30.0 to 2.31.1 by @dependabot[bot] in #5972
- build(deps): bump io.micrometer:micrometer-core from 1.17.0 to 1.17.1 by @dependabot[bot] in #5974
- chore: bump dcp tck deps by @wolf4ood in #5987
- build(deps): bump swagger from 2.2.54 to 2.2.55 by @dependabot[bot] in #5984
- build(deps): bump org.eclipse.dataspacetck.dsp:dsp-tck from 1.0.1 to 1.0.2 by @dependabot[bot] in #5999
- build(deps): bump jetty from 12.1.12 to 12.1.13 by @dependabot[bot] in #5998
- build(deps): bump dataplane-sdk to 1.1.1 by @wolf4ood in #5995
- build(deps): bump com.nimbusds:nimbus-jose-jwt from 10.9.1 to 10.10 by @dependabot[bot] in #6012
- build(deps): bump bouncyCastle-jdk18on from 1.85 to 1.86 by @dependabot[bot] in #6011
- build(deps): bump com.h2database:h2 from 2.4.240 to 2.5.250 by @dependabot[bot] in #6013
- build(deps): bump gradle-wrapper from 9.7.1 to 9.8.0 by @dependabot[bot] in #6030
- build(deps): bump io.opentelemetry:opentelemetry-api from 1.64.0 to 1.66.0 by @dependabot[bot] in #6029
- build(deps): bump jackson from 2.22.2 to 2.22.3 by @dependabot[bot] in #6028
- build(deps): bump io.opentelemetry.proto:opentelemetry-proto from 1.11.0-alpha to 1.11.1-alpha by @dependabot[bot] in #6047
- build(deps): bump jersey from 4.0.2 to 4.0.3 by @dependabot[bot] in #6046
- build(deps): bump org.junit.platform:junit-platform-launcher from 6.1.2 to 6.1.3 by @dependabot[bot] in #6045
- build(deps): bump com.networknt:json-schema-validator from 2.0.0 to 3.0.8 by @dependabot[bot] in #6048
- build(deps): bump org.postgresql:postgresql from 42.7.13 to 42.7.14 by @dependabot[bot] in #6094
- build(deps): bump io.nats:jnats from 2.26.2 to 2.26.4 by @dependabot[bot] in #6093
- build(deps): bump jetty from 12.1.13 to 12.1.14 by @dependabot[bot] in #6092
- build(deps): bump opentelemetry-instrumentation-annotations from 2.31.1 to 2.32.0 by @dependabot[bot] in #6091
- build(deps): bump gradle-wrapper from 9.8.0 to 9.8.1 by @dependabot[bot] in #6121
- build(deps): bump io.rest-assured:rest-assured from 6.0.1 to 6.1.0 by @dependabot[bot] in #6120
- build(deps): bump cloudEvents from 5.0.0 to 5.1.0 by @dependabot[bot] in #6119
- build(deps): bump io.opentelemetry:opentelemetry-api from 1.66.0 to 1.67.0 by @dependabot[bot] in #6118
Documentation
- docs: decision record about lib module consolidation by @paullatzelsperger in #5839
- docs: add ADR for map-based type transformer registry by @mokhairymahmoud in #5921
- docs: json-ld single deserialization DR by @ndr-brt in #5928
- feat: add dr about partners and partners group by @wolf4ood in #6014
- feat: add dr about participant resource ids by @wolf4ood in #6015
- docs: dr about atomikos removal by @wolf4ood in #6024
- docs: DR about dynamic CN manual approval by @wolf4ood in #6051
- docs: DR about stateful entity versioning by @wolf4ood in #6103
- docs: scope extractor DR by @ndr-brt in #6127
Other Changes
- refactor: consolidate lib modules into four domain-cohesive libraries by @paullatzelsperger in #5844
- refactor: remove kafka data-plane implementation by @ndr-brt in #5841
- refactor: remove data-plane modules by @ndr-brt in #5852
- refactor: cleanup data-plane leftovers by @ndr-brt in #5860
- refactor: push policy spi from core to control-plane by @ndr-brt in #5857
- refactor: remove data-plane-spi by @ndr-brt in #5865
- refactor: remove control-plane core modules from federated-catalog by @ndr-brt in #5864
- refactor: cleanup unused DataAddressValidator by @ndr-brt in #5882
- refactor: remove mgmt api v3 by @wolf4ood in #5893
- refactor: move schemas by @wolf4ood in #5895
- refactor: remove edr classes by @wolf4ood in #5896
- test: fix ControlPlaneCrawlerComponentTest flakiness by @ndr-brt in #5900
- feat: inline data-plane-selector in control-plane by @ndr-brt in #5906
- refactor: cleanup management-v3 related deprecations by @ndr-brt in #5914
- refactor: cleanup 0.15.0 deprecations by @ndr-brt in #5915
- feat: inline dataspace-protocol-spi into control-plane-spi by @ndr-brt in #5920
- refactor: change TypeTransformerRegistry to use a Map instead of Arraylist by @mokhairymahmoud in #5929
- refactor: simplify ParticipantContext hierarchy by @ndr-brt in #5964
- docs(auth-delegated): removed superfluous setting context for audience setting by @pneuschwander in #5965
- refactor: remove extensibleProperties from Policy class by @ndr-brt in #5976
- refactor: switch to v5 stable by @wolf4ood in #5980
- refactor: use config injection in static callback extension by @ndr-brt in #5983
- chore: add dedicated "Security" section to release notes by @paullatzelsperger in #5988
- refactor: cleanup 0.17.0 deprecations by @ndr-brt in #5993
- refactor: inline RemoteMessage into ProtocolRemoteMessage by @ndr-brt in #5994
- refactor: removal lease stuff from dataplane instance store by @wolf4ood in #6001
- refactor: split AbstractJsonLdTransformer by @ndr-brt in #6009
- refactor: rename Operator.IN into IS_PART_OF by @ndr-brt in #6008
- chore: removes atomikos extension by @wolf4ood in #6026
- refactor: push down control-plane spi from core by @ndr-brt in #6031
- refactor: add rule binding methods on PolicyEngine by @ndr-brt in #6033
- feat: manage exceptions in JwsIssuer by @ndr-brt in #6036
- fix: dsp tck tests by @wolf4ood in #6040
- refactor: pass object mapper suppliers by @ndr-brt in #6061
- fix: flaky ControlPlaneCrawlerComponentTest by @wolf4ood in #6089
- chore: fix ControlPlaneCrawlerComponentTest second attempt by @wolf4ood in #6096
- fix: flaky policy monitor row lease test by @wolf4ood in #6113
New Contributors
- @pneuschwander made their first contribution in #5965
- @MarcAntoine-Arnaud made their first contribution in #6007
Full Changelog: v0.18.1...v1.0.0-RC5