What's Changed
Breaking changes
- feat: introduces optional JSON-LD context for management API by @wolf4ood in #4470
- refactor: define
ParticipantAgentPolicyContext
interface by @ndr-brt in #4568 - chore: split token-core into token-lib by @paullatzelsperger in #4572
- refactor: cleanup 0.6.x deprecations by @ndr-brt in #4604
- fix: sub-catalogs serialization by @wolf4ood in #4588
- refactor: extract sql-lib and sql-testfixtures modules by @ndr-brt in #4653
- feat: permit abandoned data transfers to be re-started by another data-plane runtime by @ndr-brt in #4650
- refactor: cleanup 0.6.x, 0.7.x and 0.8.x deprecations by @ndr-brt in #4726
- feat: adds support for dcp v1.0 in default credential service client by @wolf4ood in #4780
- feat: move STS modules into IdentityHub by @paullatzelsperger in #4839
- refactor: remove data-plane-public-v2 deprecated module from dataplane-base-bom by @ndr-brt in #4845
Bugfixes
- fix: always record dataplane ID by @paullatzelsperger in #4367
- fix: add missing transformer registrations to
data-plane-selector
extensions by @ndr-brt in #4391 - fix: consider terminated a non existing DataFlow by @ndr-brt in #4420
- fix: close DataSource after transfer by @ndr-brt in #4441
- fix: return StsClient from create() by @paullatzelsperger in #4479
- fix: only return dataset with valid offers by @ronjaquensel in #4490
- fix: build failing on Windows (#4484) by @Barium in #4504
- fix(jsonld): add missing ODRL mapping in ContractAgreement by @wolf4ood in #4517
- fix: typo dcat:endpointUrl by @wolf4ood in #4524
- fix: make consumer use the consumer process id to handle a provider offer by @jimmarino in #4528
- fix: DidDocument default context by @perher in #4503
- fix: (hashicorp-vault) token self-lookup path as segments by @drcgjung in #4512
- feat: fixes related to DSP conformance by @jimmarino in #4544
- fix(ci): deactivate dataplane BOM smoke test for now by @paullatzelsperger in #4549
- chore: fix typos after validation refactor by @wolf4ood in #4553
- fix: dspace 2024/1 compliant transformers by @wolf4ood in #4581
- docs: update broken sample runtime link by @fravl in #4589
- fix: use correct SQL dep in BOM by @paullatzelsperger in #4601
- fix: removes double forNamespace call by @wolf4ood in #4602
- fix: package declaration of JtiValidationStore by @paullatzelsperger in #4623
- fix: add capability to encode
kid
header in request to Oauth2 server by @bscholtes1A in #4627 - fix: not required properties in DcpDefaultServicesExtension by @wolf4ood in #4646
- fix: assignee and assigner serialization as @id by @wolf4ood in #4641
- fix: Fatal error while resume PULL transfer from provider by @AndrYurk in #4647
- fix: deprovision phase for provision-http by @ndr-brt in #4660
- fix: fix broken protocol version api specification by @bscholtes1A in #4681
- fix: update expiration of test credentials by @paullatzelsperger in #4702
- fix: transfer type resolution on dp self registration by @rafaelmag110 in #4687
- fix: reintroduce web.http.default config group as deprecated by @ndr-brt in #4719
- fix: add lazy fetch for ObjectMapper in the json-ld context by @wolf4ood in #4737
- fix: use
nbf
claim for issuance date by @paullatzelsperger in #4777 - fix: make provider transfer termination async by @ndr-brt in #4766
- chore: improve SerDes of CredentialStatus by @paullatzelsperger in #4786
- fix: support VP without VCs in IdentityAndTrustService by @bscholtes1A in #4818
- fix: adds IssuerKeyIdValidationRule to SI token validation by @wolf4ood in #4854
- chore: fix config name for wellknow backward compatibility setting by @wolf4ood in #4868
- chore: amend config change on wellknown path by @wolf4ood in #4870
New Features & Improvements
- feat(sql): add SQL bootstrapper by @paullatzelsperger in #4376
- feat: disable data-plane self-unregistration by default by @ndr-brt in #4383
- refactor: separate sql stores from datasources by @ndr-brt in #4381
- refactor: TokenGenerationService takes key ID instead of PrivateKey by @paullatzelsperger in #4395
- feat: add component ID by @paullatzelsperger in #4402
- chore: dedicated class for default JwsSignerProvider by @paullatzelsperger in #4403
- refactor(remote STS): lazy fetch the secret from the vault before request by @wolf4ood in #4413
- feat: support BitStringStatusList by @paullatzelsperger in #4427
- chore: add method to obtain revocation status as string(s) by @paullatzelsperger in #4429
- feat: adds policy validation in policy engine by @wolf4ood in #4428
- chore(ci): update Discord webhook secret name by @paullatzelsperger in #4432
- feat: Support filter expressions for additional numberic types by @bmg13 in #4435
- feat: policy evaluation plan by @wolf4ood in #4442
- feat: adds REST API for policy validation by @wolf4ood in #4448
- feat: adds REST API for policy evaluation plan by @wolf4ood in #4452
- fix: catch exceptions in the StatusResultRetryProcess by @ndr-brt in #4458
- feat: adds new terms definition in json-ld context by @wolf4ood in #4459
- chore: adds missing terms in context definition by @wolf4ood in #4461
- feat: introduces dspace prefix in signaling client by @wolf4ood in #4468
- feat: introduces PolicyEngineValidator for pre- or post-validators by @wolf4ood in #4463
- feat: STS client SQL store implementation by @wolf4ood in #4474
- fix: catch exceptions in CompletableFutureRetryProcess by @ndr-brt in #4477
- feat: enable defining supported VC types for trusted issuers by @bscholtes1A in #4454
- feat(vault): implements custom secret folder config by @saschaisele-zf in #4385
- chore: management API JSON-LD context improvements by @wolf4ood in #4485
- feat(console monitor): Log level can be set via program arg by @rafaelmag110 in #4476
- feat: add STS Accounts API by @paullatzelsperger in #4493
- feat: add connector BOM modules by @paullatzelsperger in #4533
- feat: use re-usable verify-bom.yml workflow by @paullatzelsperger in #4541
- feat(ci): use E2E tests for BOM smoke tests by @paullatzelsperger in #4550
- feat: introduces dymanic feature binding in WebService by @wolf4ood in #4559
- feat: add JTI validation feature by @paullatzelsperger in #4560
- feat: introduces dspace namespace 2024/1 by @wolf4ood in #4573
- fix: add missing @priority to the AuthenticationRequestFilter by @scandinave in #4582
- refactor: optimize service extensions boot process by @ndr-brt in #4590
- feat: allow bi-directional data transfers by @paullatzelsperger in #4579
- feat: implement Configuration Injection by @paullatzelsperger in #4617
- feat: improve handling of default values for ValueInjectionPoints by @paullatzelsperger in #4620
- feat: adds flag to enable validation on create/update policy definitions by @wolf4ood in #4621
- feat: restart interrupted data flows by @ndr-brt in #4612
- feat: use new Configuration Injection mechanism everywhere by @paullatzelsperger in #4633
- feat: improve DependencyGraph and error reporting by @paullatzelsperger in #4628
- feat: removes JSON-LD requirements in dsp version endpoint by @wolf4ood in #4655
- feat: exposes protocol protoco version management api endpoint by @wolf4ood in #4661
- feat: add compatibility tests for DSP by @paullatzelsperger in #4667
- chore: extract base controllers for all DSP apis by @wolf4ood in #4666
- feat: permit default api context config to be used by @ndr-brt in #4671
- feat: Add resource parameter to the OAuth2 token request to follow RFC-8707 by @scandinave in #4680
- chore(DataPlanePublicAPI): Error message handling by @kkotowiczz in #4678
- feat: add support VC DataModel 2.0 by @paullatzelsperger in #4721
- feat: improve dataplane transfer process logs by @bmg13 in #4743
- feat: implement Hashicorp Vault signing service by @paullatzelsperger in #4749
- fix: expire cached DidDocuments by @paullatzelsperger in #4769
- feat: add initial support for DCP namespace v1.0 by @wolf4ood in #4767
- feat: add support for multiple protocol webooks by @wolf4ood in #4730
- feat: add
credentialSchema
object to VCs by @paullatzelsperger in #4773 - feat: add credential subject validation by @paullatzelsperger in #4776
- feat: add
toBuilder()
methods by @paullatzelsperger in #4796 - feat: map TERMINATING_REQUESTED status to TERMINATED on DSP get transfer process call by @ndr-brt in #4808
- feat: implement JsonArrayTranslator by @paullatzelsperger in #4814
- chore: add column name to JsonArrayTranslator by @wolf4ood in #4820
- fix: Add missing audience validation when accessing management api with oauth by @scandinave in #4784
- feat: filter state by string by @ndr-brt in #4829
- feat: make HashiCorp vault authentication extensible by @ronjaquensel in #4822
- build: add missing control-plane-api and policy-monitor modules to boms by @ndr-brt in #4848
- feat: switch JTI validation to black-listing by @paullatzelsperger in #4851
- feat: introduce multi protocol dsp path by @wolf4ood in #4861
Dependencies
- build(deps): bump org.apache.kafka:kafka-clients from 3.7.1 to 3.8.0 by @dependabot in #4378
- build(deps): bump org.eclipse.parsson:parsson from 1.1.6 to 1.1.7 by @dependabot in #4380
- build(deps): bump testcontainers from 1.20.0 to 1.20.1 by @dependabot in #4387
- build(deps): bump jersey from 3.1.7 to 3.1.8 by @dependabot in #4393
- build(deps): bump com.google.crypto.tink:tink from 1.13.0 to 1.14.1 by @dependabot in #4398
- build(deps): bump org.awaitility:awaitility from 4.2.1 to 4.2.2 by @dependabot in #4401
- build(deps): bump io.micrometer:micrometer-core from 1.13.2 to 1.13.3 by @dependabot in #4410
- build(deps): bump com.h2database:h2 from 2.3.230 to 2.3.232 by @dependabot in #4409
- build(deps): bump jupiter from 5.10.3 to 5.11.0 by @dependabot in #4414
- build(deps): bump org.eclipse.jetty.websocket:websocket-jakarta-server from 11.0.22 to 11.0.23 by @dependabot in #4417
- build(deps): bump org.postgresql:postgresql from 42.7.3 to 42.7.4 by @dependabot in #4431
- build(deps): bump swagger from 2.2.22 to 2.2.23 by @dependabot in #4443
- build(deps): bump gradle wrapper to 8.10 by @ndr-brt in #4444
- build(deps): bump com.google.crypto.tink:tink from 1.14.1 to 1.15.0 by @dependabot in #4449
- build(deps): bump com.nimbusds:nimbus-jose-jwt from 9.40 to 9.41 by @dependabot in #4469
- build(deps): bump io.micrometer:micrometer-core from 1.13.3 to 1.13.4 by @dependabot in #4465
- build(deps): bump org.eclipse.jetty.websocket:websocket-jakarta-server from 11.0.23 to 11.0.24 by @dependabot in #4450
- build(deps): bump com.nimbusds:nimbus-jose-jwt from 9.41 to 9.41.1 by @dependabot in #4475
- build(deps): bump swagger from 2.2.23 to 2.2.24 by @dependabot in #4487
- build(deps): bump jupiter from 5.11.0 to 5.11.1 by @dependabot in #4496
- build(deps): bump org.jetbrains:annotations from 24.1.0 to 25.0.0 by @dependabot in #4497
- build(deps): bump io.opentelemetry.proto:opentelemetry-proto by @dependabot in #4489
- build(deps): bump jackson from 2.17.2 to 2.18.0 by @dependabot in #4502
- build(deps): bump testcontainers from 1.20.1 to 1.20.2 by @dependabot in #4518
- build(deps): bump io.micrometer:micrometer-core from 1.13.4 to 1.13.5 by @dependabot in #4519
- build(deps): bump com.nimbusds:nimbus-jose-jwt from 9.41.1 to 9.41.2 by @dependabot in #4520
- build(deps): bump jupiter from 5.11.1 to 5.11.2 by @dependabot in #4530
- build(deps): bump org.jetbrains:annotations from 25.0.0 to 26.0.1 by @dependabot in #4548
- build(deps): bump org.junit-pioneer:junit-pioneer from 2.2.0 to 2.3.0 by @dependabot in #4531
- build(deps): downgrade opentemetry proto to non-snapshot version by @ndr-brt in #4552
- build(deps): bump io.micrometer:micrometer-core from 1.13.5 to 1.13.6 by @dependabot in #4564
- build(deps): bump jersey from 3.1.8 to 3.1.9 by @dependabot in #4545
- build(deps): bump swagger from 2.2.24 to 2.2.25 by @dependabot in #4529
- build(deps): bump testcontainers from 1.20.2 to 1.20.3 by @dependabot in #4584
- build(deps): bump jupiter from 5.11.2 to 5.11.3 by @dependabot in #4585
- build(deps): bump bouncyCastle-jdk18on from 1.78.1 to 1.79 by @dependabot in #4596
- build(deps): bump jackson from 2.18.0 to 2.18.1 by @dependabot in #4597
- build(deps): bump org.apache.kafka:kafka-clients from 3.8.0 to 3.8.1 by @dependabot in #4598
- build(deps): bump com.nimbusds:nimbus-jose-jwt from 9.41.2 to 9.45 by @dependabot in #4599
- build(deps): bump org.apache.kafka:kafka-clients from 3.8.1 to 3.9.0 by @dependabot in #4614
- build(deps): bump com.nimbusds:nimbus-jose-jwt from 9.45 to 9.46 by @dependabot in #4615
- build(deps): bump com.nimbusds:nimbus-jose-jwt from 9.46 to 9.47 by @dependabot in #4632
- build(deps): bump io.micrometer:micrometer-core from 1.13.6 to 1.14.1 by @dependabot in #4631
- build(deps): bump testcontainers from 1.20.3 to 1.20.4 by @dependabot in #4644
- build(deps): bump swagger from 2.2.25 to 2.2.26 by @dependabot in #4643
- build(deps): bump io.opentelemetry.proto:opentelemetry-proto from 1.3.2-alpha to 1.4.0-alpha by @dependabot in #4645
- build(deps): bump jackson from 2.18.1 to 2.18.2 by @dependabot in #4652
- build(deps): bump swagger from 2.2.26 to 2.2.27 by @dependabot in #4674
- build(deps): bump io.micrometer:micrometer-core from 1.14.1 to 1.14.2 by @dependabot in #4675
- build: update shadow plugin group id by @ndr-brt in #4689
- build(deps): bump org.assertj:assertj-core from 3.26.3 to 3.27.2 by @dependabot in #4698
- build(deps): bump com.nimbusds:nimbus-jose-jwt from 9.47 to 10.0.1 by @dependabot in #4697
- build(deps): bump io.opentelemetry.proto:opentelemetry-proto from 1.4.0-alpha to 1.5.0-alpha by @dependabot in #4716
- build(deps): bump jersey from 3.1.9 to 3.1.10 by @dependabot in #4715
- build(deps): bump swagger from 2.2.27 to 2.2.28 by @dependabot in #4738
- build(deps): bump org.postgresql:postgresql from 42.7.4 to 42.7.5 by @dependabot in #4739
- build(deps): bump org.assertj:assertj-core from 3.27.2 to 3.27.3 by @dependabot in #4740
- build(deps): bump io.micrometer:micrometer-core from 1.14.2 to 1.14.3 by @dependabot in #4742
- build(deps): bump org.jetbrains:annotations from 26.0.1 to 26.0.2 by @dependabot in #4757
- build(deps): bump bouncyCastle-jdk18on from 1.79 to 1.80 by @dependabot in #4741
- build(deps): bump org.apache.commons:commons-pool2 from 2.12.0 to 2.12.1 by @dependabot in #4783
- build(deps): bump com.gradleup.shadow from 8.3.5 to 8.3.6 by @dependabot in #4782
- build(deps): bump com.apicatalog:titanium-json-ld from 1.4.1 to 1.5.0 by @dependabot in #4806
- build(deps): bump com.networknt:json-schema-validator from 1.5.5 to 1.5.6 by @dependabot in #4834
- build(deps): bump io.micrometer:micrometer-core from 1.14.3 to 1.14.4 by @dependabot in #4826
- build(deps): bump testcontainers from 1.20.4 to 1.20.5 by @dependabot in #4835
- build(deps): bump opentelemetry-proto from 1.5.0-alpha to 1.6.0-alpha-SNAPSHOT by @dependabot in #4828
- build(deps): bump io.rest-assured:rest-assured from 5.5.0 to 5.5.1 by @dependabot in #4827
- build(deps): bump jupiter from 5.11.3 to 5.12.0 by @dependabot in #4840
- build(deps): bump com.apicatalog:titanium-json-ld from 1.5.0 to 1.6.0 by @dependabot in #4857
- build(deps): bump testcontainers from 1.20.5 to 1.20.6 by @dependabot in #4856
Documentation
- docs: add decision record about customizable JWSSigners by @paullatzelsperger in #4396
- chore: update README.md by @3rim in #4405
- docs: decision record about policy validation and evaluation plan by @wolf4ood in #4415
- docs: add Decision Record about STS Accounts API by @paullatzelsperger in #4488
- docs: decision record about multiple protocol versions by @wolf4ood in #4495
- docs: deleted documentation that was moved to the website by @ndr-brt in #4515
- docs: DR for clustered data-plane by @ndr-brt in #4522
- docs: typed policy engine DR by @ndr-brt in #4526
- docs: decision record about configuration injection by @paullatzelsperger in #4611
- docs: decision record about transformers versioning scheme by @wolf4ood in #4634
- docs: decision record about multiple protocol webhooks by @wolf4ood in #4747
- docs: decision record about key management by @paullatzelsperger in #4736
- docs: add DR for async protocol message processing by @ndr-brt in #4762
- docs: decision record about toBuilder and copy by @paullatzelsperger in #4800
- docs: provide DR for RetryProcess refactor by @ndr-brt in #4799
- docs: add decision record for HashiCorp vault authentication refactoring by @ronjaquensel in #4802
- docs: DR for http-proxy deprecation by @ndr-brt in #4805
- docs: add DR for moving provisioning phase in the data-plane by @ndr-brt in #4847
- docs: DR for prioritized transfer services by @ronjaquensel in #4869
Other Changes
- refactor: extract data-plane-iam module from data-plane-core by @ndr-brt in #4408
- ci: launch test workflow also on release and bugfix branches by @ndr-brt in #4426
- refactor: cleanup deprecated stuff by @ndr-brt in #4451
- refactor: changes registration of dispatchers by @wolf4ood in #4511
- refactor: avoid potential unnecessary store accesses on dataset resolution by @ndr-brt in #4513
- refactor: supports multi protocols dsp-http by @wolf4ood in #4514
- refactor: introduced message classes for errors by @wolf4ood in #4540
- refactor(policy): provide new contexts and function interfaces for policy engine by @ndr-brt in #4542
- refactor: Refactor dsp messages validations into libs by @wolf4ood in #4547
- refactor: extract dsp catalog transform lib by @wolf4ood in #4551
- refactor: avoid logging on WebApplicationException by @ndr-brt in #4555
- refactor: bind policy scope to policy context hierarchy by @ndr-brt in #4535
- refactor: multi-namespace in dsp controllers by @wolf4ood in #4557
- refactor: add DspNamespace usage by @wolf4ood in #4562
- refactor: add JsonLdNamespace usage in DataAddressDspaceTransformer by @wolf4ood in #4567
- refactor(policy): narrow ScopeExtractor policy context type bounds by @ndr-brt in #4570
- refactor(test): improve QueryValidator testing strategy by @ndr-brt in #4574
- refactor: optimize dependency graph performances by @ndr-brt in #4587
- refactor: remove unnecessary sort in DependencyGraph by @ndr-brt in #4593
- refactor: save one iteration of the extension list in DependencyGraph by @ndr-brt in #4600
- refactor: set INFO as default log level, downgraded some log calls by @ndr-brt in #4629
- refactor: introduce PortMappingRegistry service by @ndr-brt in #4677
- refactor(test): improving
EmbeddedRuntime
exception handling by @ndr-brt in #4685 - chore: deprecate oauth2 service extensions by @ndr-brt in #4703
- refactor(api): expose dataplanes api v4alpha by @ndr-brt in #4704
- ci: fix flaky testcontainers tests by @ndr-brt in #4712
- fix(configuration): nightly-tests by @kkotowiczz in #4717
- refactor: cleanup deprecated management-api endpoint by @ndr-brt in #4713
- refactor(test): make
Participant
lazy by @ndr-brt in #4723 - refactor: hard requirement to switch to the new way to configure api authentication by @ndr-brt in #4735
- refactor: removes hardcoded AuthenticationRequestFilter by @wolf4ood in #4758
- refactor: delete EDR receiver extensions by @ndr-brt in #4801
- refactor: introduce RetryProcessor by @ndr-brt in #4787
- refactor: move data flow suspension call in transfer process manager by @ndr-brt in #4816
- refactor: replace all the RetryProcess usages with RetryProcessor by @ndr-brt in #4817
- refactor: extract api-lib to avoid extensions depending on api-core by @ndr-brt in #4819
- refactor: deprecate data-plane-public-api-v2 and proxy feature by @ndr-brt in #4823
- refactor: incorrect paramaters order in dataplane logs regarding DataFlow Id by @bmg13 in #4833
- build(test): use testcontainers for postgresql tests by @ndr-brt in #4831
- refactor: cleanup test dependencies by @ndr-brt in #4858
New Contributors
- @3rim made their first contribution in #4405
- @bmg13 made their first contribution in #4435
- @rafaelmag110 made their first contribution in #4476
- @Barium made their first contribution in #4504
- @perher made their first contribution in #4503
- @scandinave made their first contribution in #4582
- @fravl made their first contribution in #4589
- @AndrYurk made their first contribution in #4647
- @kkotowiczz made their first contribution in #4717
Full Changelog: v0.8.1...v0.12.0