Announcing Daml SDK 1.0

It's been a year in the making - more if you count the significant development that happened before we open sourced Daml on the 4th of April 2019 - but today we are thrilled to announce the release of Daml SDK 1.0 on the 15th of April 2020.

With Daml we want to bring you the best experience for building distributed applications, at all scales and for any infrastructure. We had already laid the groundwork for this a year ago with the Daml Smart Contract Language. But applications are so much more than just shared state and rules. Applications need to be composable, upgradable, and maintainable. They include automation, integrations, and user interfaces. And of course they need compelling deployment targets.

Consequently, 2019 and Q1 2020 saw a lot of investment into all of these areas with the end result that it is now possible to build and deploy complete end-to-end Daml applications to a range of targets in a matter of days, using sound APIs that we believe will stand the test of time.

Having spent the last month putting some polish on the ledger client tooling, the next generation Sandbox, and tidying up after a year of intense feature development, we now feel the time is ripe to call this the first major version of the Daml SDK and give our users a much stronger commitment on the stability of the developer experience.

Release Candidate for Daml SDK 1.0

The preliminary release notes for Daml SDK 1,0. can be found here. A community open door session will be held Tuesday 14th April 2.30pm-3.00pm CET on Zoom.

Highlights

  • A new Getting Started Guide shows how several new pieces of JavaScript client tooling fit together to build and extend a distributed social networking application.
  • The Time Model has been improved so that it works seamlessly without user input to the Ledger API.
  • Next generation Sandbox giving an experience closer to distributed infrastructures.

A little teaser of the app you can build with the new Getting Started Guide:

What’s Next

The next month, and possibly months, will be focused on finishing more of the features we started and making the entire Daml ecosystem more robust by improving documentation, performance, compatibility, and production readiness of Daml Ledgers.

  • Daml Triggers currently need to be started one-by-one using the daml trigger command making them difficult to control dynamically at runtime. We will work on a solution to make them easier to use in practice.
  • We will work to complete the Websockets streaming part of the JSON API.
  • We will work to complete Daml REPL.
  • Daml will get a generic Map type as part of Daml-LF 1.9.
  • We will work to make Daml Ledgers more performant.
  • We will continue to work on our release process and to tighten the interfaces between different components of Daml so that we can give clearer compatibility and long term support guarantees.