A new release cadence for the Daml SDK

It's been nearly a year since Digital Asset open sourced Daml. Over that year, we have been working on a rapid release cadence to bring new features to our users as quickly as possible in order to provide the best development experience in the market for distributed applications. At the same time, we've seen major Daml projects move towards production and numerous Daml ledger integrations come to life. And as the Daml ecosystem is maturing, it is also time to stabilise the Daml SDK and associated developer experience. The first step in that process is to move to a slower release cadence.

From March 2020, the Daml SDK will be released on a monthly cadence. On the first or second Thursday of each month, we will announce a release candidate together with detailed release notes, and an outlook to the next release. The following Monday, we will host an open door Zoom conference for community members to ask questions about the upcoming release or provide feedback, and on the Wednesday of that week, the release candidate will be marked stable. At that point, the Daml SDK Assistant will start informing users that a new release is available.

For those that want to stay on the cutting edge, we will continue to make weekly snapshot releases that can be found on GitHub and downloaded using the Daml SDK Assistant.

Release Candidate for SDK 0.13.55

The preliminary release notes for Daml SDK 0.13.55. can be found here. The community open door session will be held Monday 16th March 2.30pm-3.30pm CET on Zoom.

Highlights of the upcoming release are

  • Daml Script is now stable
  • Daml Repl allows real time interaction with live Daml ledgers using Daml
  • Support for seamless Daml Contract Upgrades across SDK versions

A little Daml Repl teaser:

What's Next

We are working towards the first stable Daml SDK release in April. The majority of work between now and then amounts to tidying up, cleaning up UX issues, reducing architectural debt, and removing deprecated features.

  • The Quickstart / Getting Started documentation will be overhauled
  • The Ledger Time model will be upgraded so ledger_effective_time no longer needs to be supplied as part of command submission
    • Record time will no longer be guaranteed to be linearly ordered to support even more distributed ledgers
    • Maximum Record Time will be removed from the API
    • Checkpoints will be removed from the Completion Service
  • The Daml Sandbox will have a new architecture much more closely aligned with other Daml Ledgers
    • Contract Ids will be hashes rather than sequence numbers
    • The default time mode will switch to wall clock
    • Ledger initialization via scenarios will be removed
    • Ledger Offsets will no longer be sequence numbers, but instead increasing integers
  • Maven artefacts will be versioned in line with the SDK
  • Daml will get a generic Map type to replace the current TextMap