hie-core v1.2.0 Release Notes
Release Date: 2020-06-11 // almost 4 years ago-
Summary
- ๐ Module prefixes can now be stored in
daml.yaml
. This means that
you can use multiple versions of libraries in the same project by
specifying them indaml.yaml
instead of with
๐ฆ the--package
command line flag. - ๐ A new 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.
What's New
๐ Module Prefixes
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
๐ indaml.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
moduleX
fromfoo-1.0.0
available asFoo1.X
,
andX
fromfoo-2.0.0
asFoo2.X
.module-prefixes: ย ย foo-1.0.0: Foo1 ย ย 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.Minor Improvements
- ๐ The Sandbox's
--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.- The Scala bindings have gained a method,
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. - Record dot syntax like
rec.field1.field2
is now handled in
expressions entered into the REPL. - ๐
daml trigger
,daml script
anddaml repl
now all support
๐ง the--max-inbound-message-size
command line flag, which configures
the maximum size of transactions that can be handled. - The
createAndExerciseCmd
command has been added to DAML Triggers.
๐ Security and Bugfixes
- โฌ๏ธ Dependencies have been upgraded to newer versions to avoid exposure
๐ to reported security vulnerabilities.- Upgrade
jackson
version to2.11.0
from2.9.9.3
- Upgrade
io.grpc:grpc-xxxxx
andio.netty:netty-xxx
version
โ to latest - Upgrade
protobuf
andprotobuf-java
to 3.11.0
- Upgrade
- A Sandbox Classic migration issue when used with postgres has been
๐ fixed.
๐ See #6017 - A bug where large multi-command transactions would cause a stack
๐ overflow in DAML Script was fixed. - The Standard Library's
DA.Text.splitOn
function will now correctly
๐ handle the case where the separator appears at the end but should
not be matched, as insplitOn "aa" "aaa" == ["", "a"]
.
๐ See #5786 for
more details. - ๐ The DAML linter, dlint, has been improved by removing some
Haskell-based rules not currently applicable to DAML and by changing
some function references.
Ledger Integration Kit
- The Ledger API Server emits new metrics for the LF Value Cache. If
the--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
- โ Added new Ledger API Server metrics
๐ fordaml.index.db.*.translation
to measure the time spent
translating to and from the serialized DAML-LF values when fetched
from the participant index. - โ Added new Ledger API Server metrics
fordaml.index.db.*.deserialization
to measure the duration of the
๐ translation of the serialized DAML-LF values when fetched from the
participant index. - โ
The Ledger API Test Tool has gained
๐ theTransactionSize
performance benchmark test.
- ๐ Module prefixes can now be stored in