Release of Daml SDK 0.13.37

Daml Stdlib

  • Added the NumericScale typeclass, which improves the type inference for Numeric literals, and helps catch the creation of out-of-bound Numerics earlier in the compilation process.
  • fromAnyChoice and fromAnyContractKey now take the template type into account.

Navigator

  • Fixed a bug where Navigator becomes unresponsive if the ledger does not contain any Daml packages.

Ledger-API

  • Add field gen_map in Protobuf definition for ledger api values. This field is used to support generic maps, an new feature currently in development. See issue https://github.com/digital-asset/daml/pull/3356 for more details about generic maps. The Ledger API will send no messages where this field is set, when using a stable version of Daml-LF. However the addition of this field may cause pattern-matching exhaustive warnings in the code of ledger API clients. Those warnings can be safely ignored until GenMap is made stable in an upcoming version of Daml-LF.

Extractor

  • The app can now work against a Ledger API server that requires client authentication. See issue #3157.

Daml Compiler

  • Breaking The default Daml-LF version is now 1.7. You can still produce Daml-LF 1.6 by passing --target=1.6 to daml build. This removes the Decimal type in favor of a Numeric s type with a flexible scale. Decimal is now a synonym for Numeric 10. If you get errors about ambigous literals, you might need to add a type annotation, e.g., replace 1.0 by (1.0 : Decimal).

JSON API - Experimental

  • CLI configuration to enable serving static content as part of the JSON API daemon: --static-content "directory=/full/path,prefix=static" This configuration is NOT recommended for production deployment. See issue #2782.
  • The database schema has changed; if using --query-store-jdbc-config, you must rebuild the database by adding ,createSchema=true. See issue #3461.
  • Terminate process immediately after creating schema. See issue #3386.

Daml Triggers - Experimental

  • emitCommands now accepts an additional argument that allows you to mark contracts as pending. Those contracts will be automatically filtered from the result of getContracts until we receive the corresponding completion/transaction.

Daml Script - Experimental

  • This release contains a first version of an experimental Daml script feature that provides a scenario-like API that is run against an actual ledger.