Splice 0.6.1
Note: 0.6.0 was skipped as it introduced a regression where the SV UI governance page can become unusable due to slow SQL query. Fix an issue where the query for listing vote results could degrade to a sequential scan…
- A newer release in the 0.6 line: Splice 0.6.14
- Newest Splice: Splice 0.9.4
Open the release notes (opens in a new tab)docs.canton.network
Note: 0.6.0 was skipped as it introduced a regression where the SV UI governance page can become unusable due to slow SQL query.
-
SV/Scan UI
- Fix an issue where the query for listing vote results could degrade to a sequential scan breaking the SV/Scan UI governance page.
-
SV UI
- Fix calendar in the effective date field reverting selected month
-
Canton
- Upgrade to Canton 3.5. Note that unlike the upgrade to 3.4 this is still just applied like any other upgrade through a helm upgrade or upgrade of the compose files. Reference UNRELEASED.md for release notes. More polished release notes will be made available later.
-
SV App
- Package versions newer than the version specified in the AmuletRules configuration are now automatically unvetted by the SV app after a successful downgrade vote.
-
Deployment
- SV apps now support a
copy-votes-fromsetting that automatically mirrors governance votes from another named SV, which can help operators keep votes in sync when they run multiple SV nodes. - The SV helm chart now supports a new
synchronizersvalue that replaces the previousdomainvalue. The new structure allows configuringcurrent,successor, andlegacysynchronizer nodes, each withsequencerPublicUrl,sequencerAddress,mediatorAddress, optionalsequencerPruningConfig,enableBftSequencer, and inlinecometBFT. Thesynchronizers.skipInitializationfield replacesdomain.skipInitialization. The previousdomainvalue is still accepted for backwards compatibility but cannot be combined withsynchronizers. We strongly recommend updating yoursv-values.yamlto use the newsynchronizersstructure, as thedomainvalue will be removed in a future release. Seehelm-sv-installfor the updated configuration instructions. - The Scan helm chart now supports a new
synchronizersvalue that replaces the previous top-levelsequencerAddress,mediatorAddress, andbftSequencersvalues. The new structure requiressynchronizers.current.sequencerandsynchronizers.current.mediator, and optionally supportssuccessorandlegacyentries with the same fields, as well as per-synchronizerbftSequencerConfig.p2pUrl. The previoussequencerAddressandmediatorAddressvalues are still accepted for backwards compatibility but cannot be combined withsynchronizers. We strongly recommend updating yourscan-values.yamlto use the newsynchronizersstructure, as the previous values will be removed in a future release. Seehelm-sv-installfor the updated configuration instructions.
- SV apps now support a
-
Scan
- Added a new
GET /v2/updates/hash/{hash}endpoint that returns the update associated with a given external transaction hash of a prepared transaction. This endpoint is not always BFT safe, see the Scan OpenAPI documentation for details. POST /v0/state/acshas been labeled as deprecated, and replaced by a newerPOST /v1/state/acs. The new/v1endpoint replaces the event ID in the response from/v0by an (optional) update ID. The update ID for each contract in the ACS refers to the update in which the contract has been created. This value is guaranteed to be consistent across all instances of Scan, therefore is suitable for BFT reads. The update ID will be omitted for contracts created in a prior migration ID, or potentially in the future in extreme cases of disaster recovery.
- Added a new
-
Validator
- The HTTP client used by the CN apps (Validator, Scan, SV, Wallet) now honours the standard
http.nonProxyHostsJava system property to bypass a configured HTTP forward proxy for specific hosts. This matches the JDK’s own defaultProxySelectorbehaviour, so the same property also applies to other JVM egress components. Seevalidator-http-proxy-composeandvalidator-http-proxy-helmfor configuration examples.
- The HTTP client used by the CN apps (Validator, Scan, SV, Wallet) now honours the standard
-
LocalNet
- Added support for configuring the protocol version used in LocalNet.
-
Participant
- Set
commitment-use-db-snapshot-for-participant-lookup = trueby default. If you manually set this, you can remove your overwrite.
- Set
-
Daml
-
Remove use of rollback nodes to support protocol version 35
-
AmuletRules. ReplaceInvalidTransferexceptions withfailWithStatus:ITR_InsufficientFunds→FailureStatuswith error_id =splice.lfdecentralizedtrust.org/insufficient-fundsITR_UnknownSynchronizer→FailureStatuswith error_id =splice.lfdecentralizedtrust.org/unknown-synchronizerITR_InsufficientTopupAmount→FailureStatuswith error_id =splice.lfdecentralizedtrust.org/insufficient-topup-amountITR_Other ("More than the maximum number of inputs")→FailureStatuswith error_id =splice.lfdecentralizedtrust.org/maximum-inputs-exceededITR_Other ("More than the maximum number of outputs")→FailureStatuswith error_id =splice.lfdecentralizedtrust.org/maximum-outputs-exceeded
-
WalletAppInstall_ExecuteBatch. No longer catches exceptions and returns them asAmuletOperationOutcome/COO_Error. Instead, the transaction is aborted. -
TransferCommand_Send. No longer catches exceptions and returns them asTransferCommandResultFailure. Instead, the transaction is aborted without merging inputs. -
DsoRules_CloseVoteRequestno longer catches exceptions. Previously, it would close the vote request with outcomeVRO_AcceptedButActionFailed. The transaction will now abort on failure.
-
- The Daml compiler used for the splice DARs has been upgraded to 3.4.11.
-
The Daml changes require an upgrade to these versions:
-
Remove use of rollback nodes to support protocol version 35