corda/docs/source/release-notes.rst

2.0 KiB

Release notes

Here are brief summaries of what's changed between each snapshot release.

Unreleased

Here are changes in git master that haven't yet made it to a snapshot release:

  • Made the NotaryService extensible, we now have both validating and non-validating notaries.
  • Added a protocol for changing the notary for a state.
  • Every ContractState now has to specify a participants field, which is a list of parties that are able to consume this state in a valid transaction. This is used for e.g. making sure all relevant parties obtain the updated state when changing a notary.
  • Introduced TransactionState, which wraps ContractState, and is used when defining a transaction output. The notary field is moved from ContractState into TransactionState.
  • Every transaction now has a type field, which specifies custom build & validation rules for that transaction type. Currently two types are supported:
    • General. Runs the default build and validation logic.
    • NotaryChange. Contract code is not run during validation, checks that the notary field is the only difference between the inputs and outputs.
  • The cash contract has moved from com.r3corda.contracts to com.r3corda.contracts.cash.
  • Amount class is now generic, to support non-currency types (such as assets, or currency with additional information).
  • Refactored the Cash contract to have a new FungibleAsset superclass, to model all countable assets that can be merged and split (currency, barrels of oil, etc.)
  • Switched to the ed25519 elliptic curve from secp256r1. Note that this introduces a new external lib dependency.

Milestone 0

This is the first release, which includes:

  • Some initial smart contracts: cash, commercial paper, interest rate swaps
  • An interest rate oracle
  • The first version of the protocol/orchestration framework
  • Some initial support for pluggable consensus mechanisms
  • Tutorials and documentation explaining how it works
  • Much more ...