Announcing Daml SDK 1.4.0

As always with the release announcement, we want to keep you updated on the broader Daml ecosystem and community. Indeed, over the last half year, this post and the associated email have progressively morphed more and more into a community update so from the September release it will be official: The monthly RC announcement will become a Community Update. So without further ado, the highlights of the month.

What's New in the Ecosystem

The 1.4.0 release is now stable and was released on August 12th. This release brings us a standalone Daml on SQL, a stable Daml REPL with new features, improvements to the Ledger API that improve client application failover, a faster Javascript codegen, and much more!

First up we have a Daml Triggers webinar coming up on Tuesday August 11th @ 10AM EST / 4PM CET. Watch the webinar recording to learn what this event/action-driven automation is all about and how to use it.

György has gone on a rampage writing several guides on using Daml. He's teaching us to understand do blocks and <- notation from, how to write tests for our Daml code, and broke down Daml vs. Corda’s proposed DSL. We sent him a bobblehead as a thank you for all the wonderful contributions he makes to our community‍‍

Nishchal Vashisht wrote a great post on DAZL bots which Moritz then implemented in Daml Triggers

Dean Demellweek took a look at using Daml for rapid innovation back in April but we missed giving him a shoutout in the SDK announcement. Sorry Dean!

Robin just won't stop producing learning material either , his latest contributions to daml.com/learn show us how to deploy Daml on Sawtooth, learn Daml datatypes, and take an interactive tour of the standard library. These lessons use a live Daml environment in your web browser so take a few minutes and try them out.

Daml on Corda has launched on IntellectEU and DataArt's platforms, you can read the announcement here. If you're curious about how Daml stacks up with Kotlin on Corda then Simon has you covered with code examples in a new blog post, and Harvey wrote a higher level comparison back in April.

We also learned that action and event ordering is always consistent 0️⃣ 1️⃣, the benefits of splitting your Daml business logic and Triggers into separate packages , learned not to make a million contract transaction in the sandbox  (thanks Frankie!), and winners of our ZuriHac contest have started receiving their t-shirts .

Release Candidate for Daml SDK 1.4.0

The preliminary release notes and installation instructions for Daml SDK 1.4.0 RC can be found here. A community open door session will be held on Monday the 10th of August at 2.30pm-3.00pm CET / 8:30-9am EST on Zoom. Participants must register prior to the meeting starting in order to join so please use this link to register in advance.


The Daml REPL in action

Highlights

  • Daml on SQL is available as an Early Access standalone JAR, you can find it on the GH Release page
  • Improvements to Ledger API and documentation for client application failover
    • This involves changes in the Ledger API in corner cases, but unless you are dealing with application failover, you are unlikely to be affected.
  • Daml REPL is stable and has gained new features, including the ability to run without being connected to a ledger
    • Module imports now need to be made explicit when starting Daml REPL
  • daml codegen js is significantly faster when generating Javascript/TypeScript code
  • New Previous/Next buttons on docs.daml.com. Thanks to Alex Mason for the suggestion!

What’s Coming

We are continuing to work on performance of the Daml integration components and improving production readiness of Daml Ledgers, but there are exciting features and improvements in the pipeline for the next few releases as well.

  • The Trigger Service will feature completion and move into Beta
  • The authentication framework for Daml client applications (like the Trigger Service) is being revisited to make it more flexible (and secure!)
  • The build process for Daml client applications using the JavaScript/TypeScript tooling is being improved to remove the most common error scenarios
  • Daml's error and execution semantics are being tidied up with a view towards improving exception handling in Daml
  • Daml Script is coming to the IDE to supersede Scenarios and give a single scripting interface all the way from unit testing in the IDE to interacting with a production ledger
  • Daml will get a generic Map type as part of Daml-LF 1.9