Daml Connect 1.16.0 has been released and marked stable on August 11th. You can install it using:
daml install 1.16.0
Want to know what's happening in our developer community? Check out the latest update for this month.
Daml Connect 1.16 is a relatively lightweight release with most improvements under the hood. The application-developer-facing highlights are twofold:
Impact and Migration
The release contains a number of minor improvements and bug fixes that may require action under certain conditions:
trace_context
field has been removed from the Daml Ledger API. If you are compiling your own gRPC services from the proto files, this may require code changes to propagate the removal of the field.Background
For large and complex Daml solutions, the speed of Daml interpretation can have a significant impact on overall system performance. The Daml Profiler now provides a tool for the developers of Daml applications to extract the timing information of real-world workflows in the well-established Speedscope file format, and analyse the performance characteristics using standard tools.
Specific changes
The Daml Sandbox distributed as part of the Enterprise Edition of Daml Connect has a command line flag --profile-dir
, which is now stable. If set, the timings of the interpretation of every submitted command will be stored in a json
file in the provided directory. These profiles are compatible with standard analysis tools like Speedscope.
Please refer to the documentation for a complete usage example.
Impact and Migration
This is a purely additive change.
Background
As a continuation of the improved observability features in Daml Connect 1.15, both the JSON server has received further enhancements to logging and metrics.
Specific Changes
Metrics
in the JSON API documentation explaining how to enable metrics and which are available.Impact and Migration
These are additive changes.
createSchema
in the jdbcConfig has been deprecated. Via the field start-mode
you can specify:
create-only
: This is equal to the behaviour of createSchema=true
so the db schema is created or overwritten if existent and then the application terminates.start-only
(the default): This is equal to the behaviour of createsSchema=false
. With this, the schema version is checked and if no version or a version was found which is not equal to the internal schema version then the application terminates.create-and-start
: Similar to the first option but instead of terminating the application proceeds with the startup.create-if-needed-and-start
: Similar to the third option with the difference that the schema is never overwritten, which has a performance advantage. If the schema does not exist, it will be created. If a schema of the correct version exists, it will be used. And if a schema of an incorrect version exists, the application terminates.trace_context
has been removed from the Daml Ledger API. A tracing mechanism based on gRPC metadata will be introduced in an upcoming release.Tried to fetch or exercise -homePackageId-:Main:T contract ContractId(00d9637fd3efbdeff8a9b8ea4c4f966c44292204767756bed00a1ac99162a7e33f) but none of the reading parties actAs = TreeSet(p2), readAs = Set() are a stakeholder TreeSet(p1). Use of divulged contracts is deprecated and incompatible with pruning.
If you encounter these warnings, it is recommended to add one of the parties in the actAs
or readAs
sets as an observer to the contract in question.
createSchema=false
or start-mode=start-only
.There are no big shifts in focus from last month. As a result, the coming releases will bring improvements on:
In parallel, we are completing work on Oracle DB support (Enterprise Edition only)