R3 Releases Corda 4

R3 has announced the release of latest version of its open source blockchain platform - Corda, the new version - Corda 4 - brings multiple features to enable you to accelerate your vision of delivering rock solid DLT applications and enabling long term stability.
 
According to the company it has done significant work on backwards compatibility testing in this release, which also includes testing apps written by users. As prior releases did bring with them commitments to wire and API stability, Corda 4 also comes with those same guarantees. And states and apps valid in Corda 3 are transparently usable in the latest version.
 
 
Source: Corda 
 
Corda 4 is introducing reference states that enables smart contracts to read data from the ledger without updating it at the same time. Reference states are useful for any type of reference data like rates, healthcare codes, geographical information etc, and for anywhere where is a use of SELECT JOIN statement.
 
Signature constraints will allow smooth rolling upgrades over huge datasets. They enables states to define what contract logic governs them with much greater flexibility than previous versions of Corda. The company recommends all apps be signed and use signature constraints going forward.
 
Corda 4 is rollingout AMQP serialisation across the whole communication stack. The company has removed usage of Kryo from the RPC stack. The new class carpenter functionality will auto-generate and load classes that match the embedded message schemas received from the node. Moreover, Corda 4 also brings SSL support for the RPC connections.
 
Network parameters in transactions: Transactions created by a Corda 4 node will have the currently valid signed network parameters file attached and signed over. New signatures must be working against the current globally accepted parameters. The notary signing a transaction will make sure that it does indeed reference the current in-force network parameters. New transactions that are valid only under old (and superseded) network parameters cannot be confirmed.
 
Some of the other improvements and updates include a standalone Deterministic JVM, state pointers, Configurable flow responders, improved security for applications, Java Persistence Architecture and Target versioning.
 
To see full list of updates and improvements you can visit the release notes here.