Skip to content

chore: bump version to 0.6.0#20

Merged
gyorgybalazsi merged 1 commit into
mainfrom
chore/bump-version-0.6.0
May 19, 2026
Merged

chore: bump version to 0.6.0#20
gyorgybalazsi merged 1 commit into
mainfrom
chore/bump-version-0.6.0

Conversation

@gyorgybalazsi
Copy link
Copy Markdown
Contributor

Summary

Workspace version bump 0.5.0 → 0.6.0 so a release can be tagged and
downstreams (cbtc-lib, dec-party-manager, dlc-attestor-stack) can
pin to a real version instead of the temporary branch refs that
#18 used during build verification.

What's in 0.6.0

Two PRs merged into main since 0.5.0:

  • chore: bump canton-api-client to 3.6.0-0.1.0 #18chore: bump canton-api-client to 3.6.0-0.1.0 (Canton 3.6.0
    OpenAPI spec). Conversion changes in common::filters, ledger::common,
    ledger::active_contracts; behavior change in ledger::ledger_end::get
    (returns Err on missing offset instead of defaulting to 0); workspace
    clippy cleanup.
  • feat(keycloak): added Quarkus-style token URL helpers #19feat(keycloak): added Quarkus-style token URL helpers.
    Adds keycloak::login::token_url and master_token_url for Keycloak 17+
    deployments. Legacy helpers unchanged.

Changes in this PR

  • Cargo.tomlworkspace.package.version 0.5.0 → 0.6.0.
  • Cargo.lock — propagated by cargo check --workspace.
  • CHANGELOG.md[Unreleased] content moved under [0.6.0] - 2026-05-19;
    fresh empty [Unreleased] left for the next cycle.

Verification

Follow-up

After merge, tag v0.6.0 so downstream Cargo.tomls can reference it
directly (closes the "Tag a new canton-lib release after merge" item from
#18's test plan).

Workspace version bump from 0.5.0 → 0.6.0 covering all member crates
(common, ledger, keycloak, registry, wallet, cryptography, examples,
ledgrpc). Cuts the [Unreleased] CHANGELOG section into [0.6.0] dated
2026-05-19, including the canton-api-client 3.6.0 bump (#18) and the
keycloak Quarkus token-URL helpers (#19).

Required so downstreams (cbtc-lib#52, dlc-attestor-stack#488,
dec-party-manager#156) can pin to a tagged release instead of the
temporary branch refs that #18 used during build verification.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@gyorgybalazsi gyorgybalazsi requested a review from scolear May 19, 2026 13:22
@gyorgybalazsi gyorgybalazsi merged commit 8344619 into main May 19, 2026
2 checks passed
gyorgybalazsi added a commit to DLC-link/cbtc-lib that referenced this pull request May 19, 2026
Replaces the temporary branch refs (`branch =
"chore/bump-canton-api-client-3.6.0"`) on `ledger`/`keycloak`/`registry`/
`common` with `tag = "v0.6.0"`. canton-lib v0.6.0 (DLC-link/canton-lib#20)
contains the 3.6.0 bump (#18) plus the keycloak Quarkus token-URL helpers
(#19); the upstream PR branch was deleted on merge, so the previous refs no
longer resolve.

Cargo.lock updated by `cargo update -p ledger -p keycloak -p registry -p
common`. `cargo check` clean.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
schronck pushed a commit to DLC-link/cbtc-lib that referenced this pull request May 19, 2026
* chore: bump canton-api-client to 3.6.0-0.1.0

Note: this PR also requires a new canton-lib tag containing the same
canton-api-client bump in its `common` crate. Blocked on
DLC-link/canton-lib#18 and the follow-up release.

* chore: adapt to canton-api-client 3.6.0 spec changes

Adapts cbtc-lib to the spec deltas introduced in Canton 3.6.0 — many
previously required fields are now optional, `create_argument` is no
longer double-wrapped (`Option<Option<Value>>` → `Option<Value>`),
`transaction.events` and `package_ids` are now required (no longer
`Option<Vec>`), `created_event_blob` is now `Option<String>`,
`CreatedEvent` gained required `representativePackageId`/`acsDelta`
fields, and `ExercisedEvent` gained `acsDelta`.

Mechanical changes:

- accept/cancel_offers/utils/list_incoming_offers/list_outgoing_offers:
  drop the outer `Some(...)` from `if let Some(Some(create_arg)) = ...`
  patterns on `create_argument`.
- credentials/mint_redeem/models: drop the
  `.and_then(|opt| opt.as_ref())` middle step from the
  `create_argument.as_ref().and_then(...).and_then(|v| v.as_object())`
  chains used to read the create-argument map.
- credentials/mint_redeem/models: `created_event.created_event_blob` is
  now `Option<String>`; `unwrap_or_default()` to preserve the existing
  `String` surface on the local types.
- consolidate/split/transfer/mint_redeem/credentials parsers:
  `transaction.events` is no longer `Option<Vec<Event>>`; drop the
  `.as_ref().ok_or("Failed to find events")?` indirection and iterate
  the Vec directly.
- consolidate/split/transfer parsers: `ExercisedEvent.exercise_result`
  is `Option<Option<Value>>` in 3.6 — match `Some(Some(result))` rather
  than the single-layer pattern that used to compile against 3.3.
- dar_check: `ListPackagesResponse.package_ids` is now a plain
  `Vec<String>`; drop the `.ok_or_else(...)` that handled the previous
  optional wrapping.
- utils test fixtures: include the new required
  `representativePackageId`/`acsDelta` fields on `CreatedEvent`,
  `acsDelta` on `ExercisedEvent`, and always emit `events: []` (rather
  than omitting the field) since `JsTransaction.events` is required.
- parser unit tests for the "missing events" case: update assertions to
  the new error messages each parser returns when given an empty events
  list (the old "Failed to find events" branch no longer exists, since
  the typed model guarantees events is present).

NOTE: this commit temporarily points the four canton-lib deps at the
`chore/bump-canton-api-client-3.6.0` branch so the workspace can
resolve end-to-end against the matching canton-api-client 3.6.0 bump
there. The maintainer should swap these back to a real v0.6.0 tag
before merging.

* fix(integration_test): filter holdings to CBTC before splitting

The step 20 split called `holdings.first()` on the result of
`list_holdings`, which returns every Holding-template contract owned by
the party. On devnet the sender's account holds legacy `CBTCV0RC8`
instrument holdings alongside `CBTC`, so `.first()` could pick a
non-CBTC holding. The split request then asserted `instrument_id = "CBTC"`,
and the registry correctly rejected the mismatch with 400 "Given holdings
are invalid".

Filter to `instrument_id == "CBTC"` before picking, matching the pattern
already used by `submit_withdraw` in `mint_redeem::redeem`.

Verified end-to-end on devnet: 20/20 integration_test steps pass.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* chore: pin canton-lib deps to v0.6.0 tag

Replaces the temporary branch refs (`branch =
"chore/bump-canton-api-client-3.6.0"`) on `ledger`/`keycloak`/`registry`/
`common` with `tag = "v0.6.0"`. canton-lib v0.6.0 (DLC-link/canton-lib#20)
contains the 3.6.0 bump (#18) plus the keycloak Quarkus token-URL helpers
(#19); the upstream PR branch was deleted on merge, so the previous refs no
longer resolve.

Cargo.lock updated by `cargo update -p ledger -p keycloak -p registry -p
common`. `cargo check` clean.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* chore: bump cbtc version to 0.6.0

Aligns cbtc-lib's crate version with the canton-lib v0.6.0 release this
PR depends on. Skips 0.5.x — the version jump reflects the canton-api-client
3.6.0 wire bump pulled in transitively (breaking change in dependency
behavior, see CHANGELOG of canton-lib v0.6.0 for the `ledger_end::get`
error-path change).

cbtc-lib's public API is unchanged.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

---------

Co-authored-by: gyorgybalazsi <gyorgy.balazsi@gmail.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants