Skip to content

Changelog

This page records asset developer documentation changes and the software releases that affect integrations. Software release dates are separate from documentation publication dates.

October 8, 2026: cbtc-lib v0.9.0 software release

Section titled “October 8, 2026: cbtc-lib v0.9.0 software release”

cbtc-lib v0.9.0 pins canton-lib v0.11.0 and canton-api-client 3.6.1-0.1.0. It works with Canton 3.6.1 participants.

  • Canton 3.6.1 rejects the filter and verbose fields of an active-contracts request. canton-lib v0.11.0 sends eventFormat in their place.
  • Earlier releases return an empty balance and no error on a Canton 3.6.1 participant. Mint and redeem fail with post_v2_state_active_contracts failed.
  • A holdings query that the Ledger API rejects now returns an error. The error text starts with Ledger API returned.
  • This release is breaking. An application that pins a canton-lib crate must move that pin to v0.11.0.
  • An application that depends on canton-api-client must move that dependency to 3.6.1-0.1.0. Mixed versions build two copies of the shared types.
  • Engineering tested this release on Canton 3.6.1 only.
  • The repository lockfile moves h2 to 0.4.19 to fix RUSTSEC-2026-0258. Your application’s own lockfile sets its h2 version.

This date identifies the software release, not the publication date of the documentation update.

Software changelog · Canonical upgrade path

October 1, 2026: cbtc-lib v0.8.0 software release

Section titled “October 1, 2026: cbtc-lib v0.8.0 software release”

cbtc-lib v0.8.0 pins canton-lib v0.9.0 and exposes returned operation results.

  • Transfer calls return a TransferReceipt. Read its outcome to distinguish an offer from immediate settlement.
  • The CSV batch helper returns its batch result. Callers must handle reported failures.
  • Allocation returns an AllocationResult. Its outcome field holds an AllocationOutcome, which distinguishes a completed allocation from a pending instruction.
  • Transfer guidance now requires acceptance only when an offer exists. Self-transfers and transfers to pre-approved receivers settle immediately.
  • V2 examples cover consolidation, splitting, batch distribution, and batch with callback.
  • Accept, reject, and cancel each retain one example because their V2 modules use the same parameter types.
  • No V1 split example exists. Allocation remains V1-only.

This date identifies the software release, not the publication date of the documentation update.

Software changelog · Canonical upgrade path

September 24, 2026: cbtc-lib v0.7.0 software release

Section titled “September 24, 2026: cbtc-lib v0.7.0 software release”

This release introduces the CIP-0112 / Canton Token Standard V2 entry points and breaking integration changes.

  • Eight operations gain V2 entry points: accept, batch, cancel offers, consolidate, distribute, reject, split, and transfer.
  • Holding queries gain account configuration. TokenClient selects version-dependent writes and holding reads through TokenClientConfig.version.
  • Holding and offer filters match both the instrument name and administrator exactly.
  • Parameter structs and offer-helper arguments require explicit instrument identity.
  • cbtc::holding::Holding replaces the earlier mint/redemption holding type.
  • Split errors expose partial results. Holding parsing requires registrar and label.
  • ENVIRONMENT supplies standard network configuration. Explicit overrides remain supported.
  • Transfer-factory and accept-context routes use bounded transport retries. Allocation routes have no timeout and do not use those retries.
  • Keycloak authentication uses token_url without the obsolete /auth prefix.
  • The release pins canton-lib v0.8.0. The later cbtc-lib v0.8.0 release pins canton-lib v0.9.0.

The eight V2 operations are available on Mainnet. Allocation remains V1-only.

An upgrade from v0.6.4 crosses both v0.7.0 and v0.8.0. Follow one canonical upgrade path.

Version references had drifted out of sync with released libraries. Three pages stated different cbtc-lib versions. This update aligned them with the released tags at that time.

Corrected versions:

  • cbtc-lib to v0.6.4. Previous references included v0.3.1 on API Reference, v0.4.2 on SDK Setup and Technical Reference, and v0.3.0 on Quick Start.
  • canton-lib crates keycloak, ledger, registry, and common to v0.6.1. Previous references included v0.3.1 and v0.5.0.
  • Latest CBTC DAR to cbtc-1.2.1, shipped in cbtc-lib v0.6.4.

Affected pages: SDK Setup and Installation, API Reference, Technical Reference.

Other corrections:

  • Changed the API Reference installation snippet from HTTPS to SSH transport, matching repository access requirements at that time.
  • Repointed DAR download links from v0.3.1 and v0.4.2 to v0.6.4.
  • Corrected a duplicate cbtc-lib entry in the Technical Reference repository table to describe the CBTC DAR.
  • Clarified that DAR and crate versions use independent numbering.
  • Added dependency-pin guidance to avoid incompatible copies of shared types.

December 2025 restructure guidance moved to history

Section titled “December 2025 restructure guidance moved to history”

Removed the old restructure migration section from SDK Setup and the matching note from API Reference. Both pages describe the current release.

The restructure changed module paths and function signatures, not runtime behavior. Earlier code needed updated imports. The historical guidance remains recorded here and in the cleanup pull request.

The documentation update applied GitHub PR #22, “Fix CBTC docs to match actual cbtc-lib and canton-lib APIs.” The historical review recorded verification against cbtc v0.3.0 and canton-lib v0.3.0.

Affected pages: Quick Start, Minting and Burning, API Reference, Authentication, SDK Setup, Technical Reference.

Version and crate corrections

  • Updated SDK references from v0.0.1 to v0.3.0.
  • Corrected the Rust crate name from cbtc-lib or cbtc_lib to cbtc.
  • Described canton-lib as a workspace containing keycloak, ledger, registry, and common, then at v0.3.0.

Authentication corrections

  • Replaced the older positional login call with password(PasswordParams { ... }) and client_credentials(ClientCredentialsParams { ... }).
  • Corrected Auth0 callouts to use the corresponding struct-based helper names.
  • Replaced KEYCLOAK_URL with KEYCLOAK_HOST and KEYCLOAK_REALM.
  • Removed KEYCLOAK_CLIENT_SECRET from password-flow examples.
  • Removed LEDGER_PORT; curl examples used LEDGER_HOST.

Module and function corrections

Earlier name Replacement recorded in that update
cbtc_lib::deposit cbtc::mint_redeem::mint
cbtc_lib::balance cbtc::active_contracts
cbtc_lib::withdraw cbtc::mint_redeem::redeem
cbtc_lib::utxo cbtc::consolidate
get_deposit_address get_bitcoin_address
get_active_contracts active_contracts::get
transfer::send transfer::submit
accept::accept_transfer accept::submit
redeem::burn_and_withdraw redeem::create_withdraw_account followed by redeem::submit_withdraw
consolidate::check_consolidate consolidate::check_and_consolidate

Function signatures changed from positional arguments to parameter structs.

Infrastructure and template corrections

  • Updated historical Attestor host references from attestor.bitsafe.dev, attestor.bitsafe.testnet, and attestor.bitsafe.com to the corresponding devnet.dlc.link/attestor-1, testnet.dlc.link/attestor-1, and mainnet.dlc.link/attestor-1 hosts.
  • Corrected CBTC.Issuance:DepositAccount to CBTC.DepositAccount:CBTCDepositAccount.
  • Added CBTC.WithdrawAccount:CBTCWithdrawAccount to API Reference.

These are historical corrections, not current endpoint configuration. Obtain current endpoints through approved onboarding.

SDK setup additions

  • Added accept and cancel-offer modules to the module table.
  • Added the client-credentials authentication example.
  • Added a verification script, migration guide, and .env example.

Historical terminology and network notes

The March update changed “Attestor” to “Attester” in several pages following reviewer feedback. Current documentation uses Attestor / Attestor Network, following the current terminology guide.

The same historical update changed the published operator description from nine external operators plus BitSafe to Finoa, Nethermind, DSRV, and BitSafe. This records the update at that time, not a permanent operator count.

Partner and feature notes

Integration Guides marked Silvana and the hosted UI as “coming soon,” pending confirmation. These entries describe their status at that time.

Fee note

Technical Reference recorded mint and burn fees at 0% in that review. Confirm current fee information before quoting it for a new integration.

  • Published the first draft of CBTC developer documentation across 11 pages.
  • Pages included CBTC Overview, Quick Start, Minting and Burning, API Reference, Authentication, Integration Guides, Security Deep Dive, Technical Reference, Instrument ID Management, SDK Setup and Installation, and Testnet Guide.
  • Pinned SDK documentation to cbtc-lib v0.0.1 after the December 2025 restructure.
  • Published devnet, testnet, and mainnet instrument identifiers with metadata endpoint references.
  • Recorded gaps: Vaults documentation had not started, Home was in progress, and Error Codes Reference was deferred to v2.

Historical identifiers and status notes are not current configuration instructions.