Daml 2.2.0 has been released. You can install it using:
daml install 2.2.0
Contract IDs in contract keys currently cause runtime errors. They are now no longer allowed at compile time. If you were using them, the section below explains the migration path in detail.
An error code on the Canton shell sequence pruning command has been changed to ensure that error reporting is accurate. If you use the sequencer pruning command and have code that depends on specific error codes, please check the section below.
Having contract IDs as part of a contract key will cause a runtime error. To mitigate the possibility of this happening, a compile-time check now prevents this from happening.
ContractId
types in contract key types. This check looks for potential problems with the contract key type only within the template's module.This early feedback requires you to change Daml models to remove the contract ID from the contract key to make sure it compiles. Due to it causing a runtime error, the only impact on your application runtime is that the error can no longer happen.
Error reporting is extremely important to write robust applications that handle errors appropriately. As such, we took steps to make error reporting better reflect the state of the system.
<sequencer>.pruning.prune_at
is now more accurate: if the given timestamp is unsafe to prune the gRPC status will be FAILED_PRECONDITION
instead of INVALID_ARGUMENT
.<participant>.parameters.warnIfOverloadedFor
(which defaults to 20 seconds) due to PARTICIPANT_BACKPRESSURE
, the participant will log a PARTICIPANT_OVERLOADED
warning.If you were using <sequencer>.pruning.prune_at
and relying on INVALID_ARGUMENT
as an error code when the timestamp is unsafe to prune, be sure to change your code to look for FAILED_PRECONDITION
.
As part of our early access features, Daml interfaces receive constant updates. In this release, we took steps to ensure that end users can take full advantage of interfaces through our client libraries. Note that Daml interfaces are not stable yet and subject to changes in the future that may reflect on the client libraries and affect your application. Please check the release notes regularly for relevant updates until the feature is declared stable.
ContractIds
and interface ContractIds
.Fully backward compatible changes.
ExercisedEvent
nodes used in the TransactionTree
streams contained child_event_ids
in an incorrect order. Now the order corresponds to the order of child event execution.query-wait-time
and invoke-wait-time
in Fabric configuration to query-wait-time-millis
and invoke-wait-time-millis
respectively. These are expert settings and shouldn't be changed normally.<participant>.domains.connect_ha
command has been deprecated. We've added another one with a slightly different argument list in order to support backwards compatible future extensions. Users are encouraged to migrate to the new version of the command, but the previous command will remain available until the next major release.