Daml SDK 1.2.0 has been released 11th June 2020. You can install it using
daml install latest
This is a purely additive upgrade which comes with some minor new features and bug fixes. Upgrading should not require any intervention.
daml.yaml
. This means that you can use multiple versions of libraries in the same project by specifying them in daml.yaml
instead of with the --package
command line flag.--max-lf-value-translation-cache-entries
, allows you to set a number of events for which Daml-LF values will be cached. This can help reduce latency when serving transactions.
Background
When upgrading a package using a Daml upgrade workflow, one has to import both the old and new version of the package as dependencies. If both the package and module names are the same, this used to require setting compiler flags. The new Module Prefixes feature gives an easier means of disambiguating the packages and modules.
Specific Changes
The compiler picks up a new block module-prefixes specified in daml.yaml
. module-prefixes takes entries of the form package: Prefix, and modules from the package are then accessible using that prefix. For example, the below makes module X
from foo-1.0.0
available as Foo1.X
, and X
from foo-2.0.0
as Foo2.X
.
module-prefixes:<br> foo-1.0.0: Foo1<br> foo-2.0.0: Foo2
Refer to the documentation for detailed information.
Impact and Migration
This is a purely additive feature, so no migration is necessary. If your project uses the old --package
compiler flag to disambiguate packages, you can switch to this simpler method.
--max-lf-value-translation-cache-entries
option allows you to set a number of events for which Daml-LF values are cached. This can reduce latency in serving transactions.daml damlc inspect-dar
now has a --json
flag to produce machine-readable output. See the documentation for more information.LedgerClient#close
, which will shut down the channel and await termination. This is optional; the channel will still be shut down on JVM exit if this method is not called.rec.field1.field2
is now handled in expressions entered into the REPL.daml trigger
, daml script
and daml repl
now all support the --max-inbound-message-size
command line flag, which configures the maximum size of transactions that can be handled.createAndExerciseCmd
command has been added to Daml Triggers.
DA.Text.splitOn
function will now correctly handle the case where the separator appears at the end but should not be matched, as in splitOn "aa" "aaa" == ["", "a"]
. See #5786 for more details.
--max-state-value-cache-size
is greater than zero, the following additional metrics will be recorded under the daml.kvutils.submission.validator.state_value_cache
namespace:
hits
misses
load_successes
load_failures
load_total_time
evictions
Evicted_weight
daml.index.db.*.translation
to measure the time spent translating to and from the serialized Daml-LF values when fetched from the participant index.daml.index.db.*.deserialization
to measure the duration of the translation of the serialized Daml-LF values when fetched from the participant index.
Our priorities for the imminent future remain unchanged.