Corda M14 Released

The following two tabs change content below.

Clinton Alexander

Software Engineer at R3
Clinton is a Software Engineer at R3, working on Corda. His main area of focus has been the Corda platform and CorDapp ecosystem.

Latest posts by Clinton Alexander (see all)

This release continues on Corda on the path to a stable API and improving developer friendliness. There have also been more bug fixes and other improvements across the board.


The Corda Architecture Working Group is now regularly publishing content that can be viewed here. The inaugural deck of slides can found here. Our open calls are every fortnight. Click here to join!

The CorDapp template repository has been replaced with a specific repository for Java and Kotlin to improve the experience of starting a new project and to simplify the build system.

Release Notes

A format has been introduced for CorDapp JARs that standardises the contents of CorDapps across nodes. This new format now requires CorDapps to contain their own external dependencies. This paves the way for significantly improved dependency management for CorDapps with the release of Jigsaw (Java Modules). For those using non-gradle build systems it is important to read this docsite page to learn more. Those using our cordformation plugin simply need to update to the latest version (0.14.0) to get the fixes.

Diagram showing the future of the Cordapp format and loading – currently the fat JAR work has been completed. Read more in our AWG notes.

It is now possible to specify multiple IP addresses and legal identities for a single node, allowing node operators more flexibility in setting up nodes.

We’ve now begun the process of demarcating which classes are part of our public API and which ones are internal. Everything found in net.corda.core.internal and other packages in the net.corda namespace which has .internal in it are considered internal and not for public use. In a future release any CorDapp using these packages will fail to load, and when we migrate to Jigsaw these will not be exported.

The transaction finalisation flow (FinalityFlow) has had hooks added for alternative implementations, for example in scenarios where no single participant in a transaction is aware of the well known identities of all parties.

DemoBench has a fix for a rare but inconvenient crash that can occur when sharing your display across multiple devices, e.g. a projector while performing demonstrations in front of an audience.

Guava types are being removed because Guava does not have backwards compatibility across versions, which has serious issues when multiple libraries depend on different versions of the library.

The identity service API has been tweaked, primarily so anonymous identity registration now takes in AnonymousPartyAndPath rather than the individual components of the identity, as typically the caller will have an AnonymousPartyAndPath instance. See change log for further detail.

The Vault Query service adds support for Aggregate Functions (sum, max, min, avg, count) with, optional, group by clauses and sorting (on calculated aggregates). Pagination has been simplified, with a resulting improvement in performance for general queries. Finally a new Sort criteria (by State Reference or constituents of) has been added, and several important fixes applied (please see the changelog).

Upgrading to this release is strongly recommended in order to keep up with the API changes, removal and additions.

You can download the latest DemoBench here. For more details about this release please view the changelog


  1. Hart says:

    Very good news. I believe this Version can resolve some susses that’s very nice.

Continue the discussion at