{"total":24,"total_unfiltered":24,"category_filter":"all","current_versions":[{"key":"canton_sdk","value":"3.5.18"},{"key":"splice","value":"0.8.3"},{"key":"dpm_install","value":"curl https://get.digitalasset.com/install/install.sh | sh"},{"key":"prerequisites","value":"JDK 17+, VS Code"},{"key":"note","value":"canton_sdk and splice are the latest reviewed upstream release and release tag, not a claim about versions deployed on every Canton network. Verify network-specific versions independently. daml-assistant remains a legacy Canton 3.3 tool and is not recommended for new projects."},{"key":"canton_sdk_source","value":"https://github.com/digital-asset/canton/releases/tag/v3.5.18"},{"key":"splice_source","value":"https://docs.canton.network/global-synchronizer/release-notes/splice"},{"key":"verified_at","value":"2026-09-23T00:00:00Z"},{"key":"compatibility_baseline","value":"","note":"Minimum baseline used by version-specific migration and deprecation entries in this knowledge base."},{"key":"protocol_versions","value":"Canton 3.5 supports protocol versions 34 and 35; LSU to 36 being prepared"},{"key":"postgres","value":"Recommended PostgreSQL 17; 14–18 tested. PostgreSQL 14 EOL 2026-11-12."},{"key":"latest_check","value":"For the current latest versions, see CONCEPTS.live_sources (Canton: GitHub releases API; Splice: release notes page)."}],"last_synced":"2026-09-26T03:15:38.527Z","categories":["cli","package","tool","api","workflow","other"],"deprecations":[{"id":1,"name":"Daml Assistant (daml-assistant)","replacement":"Digital Asset Package Manager (DPM)","note":"daml-assistant is ONLY for legacy Splice 0.4.x / Canton 3.3. For Canton 3.4+ / Splice 0.5.0+, always use DPM.","since":"Canton 3.4 / Splice 0.5.0","installReplacement":"Mac/Linux: curl https://get.digitalasset.com/install/install.sh | sh","category":"cli","tags":["daml","dpm","canton","splice"]},{"id":2,"name":"@daml/ledger","replacement":"@c7/ledger","note":"@daml/ledger is deprecated. Use community-maintained @c7/ledger.","since":"Canton 3.3+","installReplacement":null,"category":"package","tags":["daml"]},{"id":3,"name":"@daml/react","replacement":"@c7/react","note":"@daml/react is deprecated. Use community-maintained @c7/react.","since":"Canton 3.3+","installReplacement":null,"category":"package","tags":["daml","frontend"]},{"id":4,"name":"Daml Hub","replacement":"Self-hosted Canton Sandbox / LocalNet / DevNet","note":"Daml Hub has been discontinued. Use Canton Sandbox for local dev, CN Quickstart LocalNet, or DevNet/TestNet.","since":"2024","installReplacement":null,"category":"cli","tags":["daml","canton"]},{"id":5,"name":"daml start","replacement":"dpm sandbox + dpm build + Ledger API","note":"'daml start' is legacy. Use 'dpm sandbox' for local ledger, 'dpm build' to compile, JSON/gRPC API for upload/allocate.","since":"Canton 3.4","installReplacement":null,"category":"cli","tags":["daml","dpm","ledger-api","json-api","grpc"]},{"id":6,"name":"daml build","replacement":"dpm build","note":"Use 'dpm build' to compile. 'dpm build --all' for multi-package projects.","since":"Canton 3.4","installReplacement":null,"category":"cli","tags":["daml","dpm"]},{"id":7,"name":"daml test","replacement":"dpm test","note":"Use 'dpm test' for Daml Script tests. 'dpm test --files <file>' for specific files.","since":"Canton 3.4","installReplacement":null,"category":"cli","tags":["daml","dpm"]},{"id":8,"name":"daml new","replacement":"dpm new","note":"Use 'dpm new <name>' or 'dpm new <name> --template <t>' for templates like daml-intro-compose.","since":"Canton 3.4","installReplacement":null,"category":"cli","tags":["daml","dpm"]},{"id":9,"name":"Navigator","replacement":"JSON Ledger API + custom frontend","note":"Navigator is discontinued. Build frontends using the JSON Ledger API (port 7575) or gRPC API.","since":"Canton 3.0+","installReplacement":null,"category":"api","tags":["ledger-api","json-api","grpc","frontend"]},{"id":10,"name":"Daml Triggers","replacement":"Backend automation via Ledger API","note":"Daml Triggers deprecated. Implement automation in your backend using gRPC/JSON Ledger API update stream.","since":"Canton 3.0+","installReplacement":null,"category":"cli","tags":["daml","ledger-api","json-api","grpc"]},{"id":11,"name":"daml ledger upload-dar","replacement":"JSON / gRPC Ledger API or Declarative API","note":"Use JSON Ledger API or gRPC PackageService to upload DARs.","since":"Canton 3.4","installReplacement":null,"category":"cli","tags":["daml","ledger-api","json-api","grpc"]},{"id":12,"name":"daml ledger allocate-parties","replacement":"POST /v2/parties/allocate on JSON Ledger API","note":"Use the JSON Ledger API (port 7575) or gRPC PartyManagementService.","since":"Canton 3.4","installReplacement":null,"category":"cli","tags":["daml","ledger-api","json-api","grpc"]},{"id":13,"name":"splice-wallet-payments subscription","replacement":"Token Standard (CIP-0056 / CIP-0112) DVP workflows","note":"CC subscription workflow in splice-wallet-payments is deprecated. Use token standard DVP workflows. CIP112 / CIP-0112 IS ALREADY LIVE ON MAINNET.","since":"Splice 0.4+","installReplacement":null,"category":"workflow","tags":["splice","cip-0056"]},{"id":14,"name":"prune_to_offset (PQS SQL function)","replacement":"prune_archived_to_offset()","note":"Deprecated since 3.5.0. Known to cause deadlocks and performance bottlenecks.","since":"Canton 3.5","installReplacement":null,"category":"other","tags":[]},{"id":156,"name":"TransferCommand + validator endpoints /v0/admin/external-party/transfer-preapproval/prepare-send and /submit-send","replacement":"Token Standard transfers (Transfer Instruction API)","note":"REMOVED in Splice 0.8.0 (disabled by default in 0.7.0). Token standard transfers support the 24h submission delay (CIP-0107). Remove the enable-deprecated-transfer-command-support flag.","since":"Splice 0.8.0","installReplacement":null,"category":"api","tags":["splice"]},{"id":157,"name":"Hard Synchronizer/Domain Migrations (HDM) and HDM-based disaster recovery","replacement":"Logical Synchronizer Upgrades (LSU, CIP-0117)","note":"LSU is the only supported mechanism for protocol upgrades and network-wide disaster recovery. MIGRATION_ID is frozen — keep your current value. Validator config domain-migration-dump-path was removed.","since":"Splice 0.6.2","installReplacement":null,"category":"other","tags":[]},{"id":158,"name":"splice-postgres Helm chart / PostgreSQL 14","replacement":"Self-provisioned or managed PostgreSQL (e.g. Amazon RDS, Google Cloud SQL), version 17 or 18","note":"PostgreSQL 14 reaches end of life on 2026-11-12. No new splice-postgres chart versions after 2026-10-12 and no support after 2026-11-12. Splice officially supports PostgreSQL 18 since 0.7.0; Canton recommends 17. Migration guide: https://docs.canton.network/global-synchronizer/production-operations/validator-postgres-migration","since":"Splice 0.6.13","installReplacement":null,"category":"other","tags":["canton","splice"]},{"id":159,"name":"Scan POST /v1/state/acs and /v1/holdings/state","replacement":"/v2/state/acs and /v2/holdings/state","note":"Only change: pagination token (after / next_page_token) is now a String instead of a number. v1 planned for removal in Splice 0.9.0.","since":"Splice 0.7.5","installReplacement":null,"category":"other","tags":["splice"]},{"id":160,"name":"Scan /v0/holdings/summary","replacement":"/v1/holdings/summary","note":"v1 drops the accumulated_holding_fees_* and total_available_coin fields and the as_of_round parameter (not meaningful aggregates). Also exposed on the validator scan-proxy.","since":"Splice 0.6.3","installReplacement":null,"category":"other","tags":[]},{"id":161,"name":"Scan leaderboard/aggregate endpoints (/v0/activities, /v0/transactions, /v0/top-*, /v0/round-totals, /v0/round-party-totals, /v0/aggregated-rounds, /v0/rewards-collected, /v0/round-of-latest-data, /v0/total-amulet-balance, /v0/wallet-balance)","replacement":"/v0/events, /v2/updates, /registry/metadata/v1/instruments/{instrumentId}, /v1/holdings/summary, or your own Ledger API / PQS","note":"Removed across Splice 0.5.8–0.7.0.","since":"Splice 0.5.8–0.7.0","installReplacement":null,"category":"api","tags":["splice","ledger-api"]},{"id":162,"name":"SV app public /v0/dso","replacement":"Scan app public /v0/dso (no SV credentials) or SV app /v1/dso (SV operator auth)","note":"Planned for removal in Splice 0.9.0.","since":"Splice 0.8.0","installReplacement":null,"category":"other","tags":["splice"]},{"id":163,"name":"Featured-app-right in Scan choice context for CC transfers/allocations","replacement":"Explicitly fetch /api/scan/v0/featured-apps/{provider_party_id} and pass it under the 'featured-app-right' choice-context key","note":"Takes effect once SVs set 'no-featured-app-choice-context' in svOperationsSwitchOverTimes. Prevents apps from unintentionally creating markers outside Canton Foundation marker guidance. Validators must be on Splice 0.8.0+ before the vote.","since":"Splice 0.8.0","installReplacement":null,"category":"api","tags":["canton","splice"]},{"id":164,"name":"Exception-based control flow / rollback nodes in Daml","replacement":"failWithStatus (FailureStatus with error_id)","note":"Protocol version 35 does not support rollback nodes. Splice AmuletRules now fails with error ids such as splice.lfdecentralizedtrust.org/insufficient-funds instead of InvalidTransfer exceptions — update any error parsing.","since":"Splice 0.6.1 / Canton 3.5 (PV35)","installReplacement":null,"category":"other","tags":["daml","splice"]},{"id":165,"name":"scan_txlog.py script","replacement":"Token-standard-compliant transaction history parsing (V2 EventLog_HoldingsChange events)","note":"Deprecated and unmaintained; will be removed.","since":"Splice 0.5.13","installReplacement":null,"category":"other","tags":[]}],"source":"foundation_kb DEPRECATED category","canonical":"https://github.com/canton-network-devs/Build-on-Canton-MCP"}