Release of Daml 2.8.9

Summary

This is a maintenance release that addresses several issues.

What’s New

  • A participant node that is using an Oracle synchronizer database can, in the very rare circumstances of  an extremely large transaction, fail and the return code was not properly propagated to indicate that failure. 
  • If a transaction with a very large number of key updates is submitted to the participant, the SQL query to update the contract keys table will fail, leading to a database retry loop, stopping transaction processing. The issue is caused by a limit of 32k rows in a prepared statement in the JDBC Postgres driver.  This has been resolved.
  • When a command is rejected due to resource conflict (e.g. usage of an inactive contract),
    every participant detecting the resource conflict will now log the resource causing the conflict at INFO level.  This change affects the following error codes:
    LOCAL_VERDICT_LOCKED_CONTRACTSLOCAL_VERDICT_LOCKED_KEYS, LOCAL_VERDICT_INACTIVE_CONTRACTS,
    LOCAL_VERDICT_DUPLICATE_KEYLOCAL_VERDICT_INCONSISTENT_KEY, LOCAL_VERDICT_CREATES_EXISTING_CONTRACTS.

Download and Installation

The Daml 2.8.9 SDK has been released. You can install it using the command:  daml install 2.8.9.

The table below lists how you can download Daml Enterprise or individual components.

Daml Enterprise v2.8.9

Component

File download

Container Image

SDK

Linux
macOS
Windows

NA

Canton for Daml Enterprise

Standalone JAR file

digitalasset-docker.jfrog.io/canton-enterprise:2.8.9

Daml Finance

GitHub Page

NA

HTTP JSON API Service

Standalone JAR file

digitalasset-docker.jfrog.io/http-json:2.8.9

Trigger Service

Standalone JAR file

digitalasset-docker.jfrog.io/trigger-service:2.8.9

OAuth 2.0 middleware (Open-Source)

GitHub Page

digitalasset-docker.jfrog.io/oauth2-middleware:2.8.9

Participant Query Store

Standalone JAR file

digitalasset-docker.jfrog.io/participant-query-store:0.3.4

Trigger Runner

Standalone JAR file

digitalasset-docker.jfrog.io/trigger-runner:2.8.9

Daml Script

Standalone JAR file

digitalasset-docker.jfrog.io/daml-script:2.8.9

If you are using Oracle JVM and testing security provider signatures, note that the Canton JAR file embeds the Bouncy Castle provider as a dependency. To enable the JVM to verify the signature, put the bcprov JAR on the classpath before the Canton standalone JAR.  For example:

java -cp bcprov-jdk15on-1.70.jar:canton-with-drivers-2.8.9-all.jar com.digitalasset.canton.CantonEnterpriseApp

Note: These Docker images are designed to be suitable for production use, with minimal size and attack surface. Minimal images can sometimes make debugging difficult (e.g. no shell in the containers). For convenience, we provide “debug” versions of each of the above images, which you can access by appending “-debug” to the image tag (e.g. digitalasset-docker.jfrog.io/http-json:2.8.9-debug).