Corda M8 released

Posted on Posted in Announcements
The following two tabs change content below.

Andrius Dagys

Andrius is a Software Engineer at R3, working on the Corda platform. His main area of focus has been the Corda consensus mechanism.

Latest posts by Andrius Dagys (see all)

We are pleased to announce the latest monthly Corda milestone release, M8. The main focus of this release has been performance and stability, Corda nodes now have a greatly reduced memory footprint. M8 also includes HTTP server split, improvements in exception/error handling for flows, simplification of contract clauses, and many bug fixes.

Upgrading is recommended, especially if your project involves running a network of 3+ nodes locally. There have been some API changes but upgrading most apps should only take a few minutes.

You can read the documentation, and download the code from the release-M8 branch in our git repository. It is also available via Maven Central/JCenter and so you can upgrade your CorDapps to use it by switching to version 0.8 in your build files.

Release Notes

  • Node memory usage and performance improvements, demo nodes now only require 200 MB heap space to run.

  • The Corda node no longer runs an internal web server, it’s now run in a separate process. Driver and Cordformation have been updated to reflect this change. Existing CorDapps should be updated with additional calls to the new startWebserver() interface in their Driver logic (if they use the driver e.g. in integration tests). See the IRS demo for an example.

  • Data model: Party equality is now based on the owning key, rather than the owning key and name. This is important for party anonymisation to work, as each key must identify exactly one party.

  • Contracts: created new composite clauses called AllOf, AnyOf and FirstOf to replace AllComposition, AnyComposition and FirstComposition, as this is significantly clearer in intent. AnyOf also enforces that at least one subclause must match, whereas AnyCompositionwould accept no matches.

  • Explorer: the user can now configure certificate path and keystore/truststore password on the login screen.

  • Documentation:

    • Key Concepts section revamped with new structure and content.
    • Added more details to Getting set up page.
  • Flow framework: improved exception handling with the introduction of FlowException. If this or a subtype is thrown inside a flow it will propagate to all counterparty flows and subsequently be thrown by them as well. Existing flows such as NotaryFlow.Client/Serviceand others have been modified to throw a FlowException (in this particular case a NotaryException) instead of sending back error responses.

  • Notary flow: provide complete details of underlying error when contract validation fails.

Start the discussion at