Release of Daml SDK 0.13.46


  • The sandbox uses a new payload format for authentication tokens (JWTs). The old format is
    deprecated, but still works.
  • Metrics are now namespaced by "daml" and their names have been standardized to snake_case.

Daml Studio

  • Scenarios with unserializable result types no longer crash the scenario service.
  • Fix a bug introduced in 0.13.43 that caused Daml studio to stop responding after code completions were requested.


  • Prohibit contract IDs in contract keys completely. Previously, creating keys containing absolute (but not relative) contract IDs was allowed, but lookupByKey on such a key would crash.

Daml Compiler

  • Added a --drop-orphan-instances flag in daml damlc docs.
  • The modification times in a DAR are now fixed to a given value which makes the output of daml build deterministic in single-threaded mode (which is the default).


  • The HTTP JSON API now uses the same payload format for authentication tokens as the sandbox. The
    old format is deprecated, but still works.

JSON API - Experimental

  • Support Exercise by Key. See issue #4099 .
  • Response format in searchForever changed to be more like exercise. See issue #4072 .
  • In 'search' endpoint arguments, %templates is now templateIds.
    Additionally, all contract query fields must occur under 'query'. See issue #3450 .
  • WebSocket contract search at /contracts/searchForever. See issue #3936 .


  • Potentially fix a bug when recovering from failure.

Daml Standard Library

  • The TemplateChoice, and TemplateKey typeclasses have been split up into many small typeclasses to improve forward compatibility of Daml models. TemplateChoice and TemplateKey constraints can still be used as before.

Ledger API Server

  • Publish the resource management code as a library under com.digitalasset:resources.

Ledger API Authorization

  • Support EC256 and EC512 algorithms for JWT