diff --git a/docs/source/release-notes.rst b/docs/source/release-notes.rst index 77a8fd17a0..a7e5e5e5ba 100644 --- a/docs/source/release-notes.rst +++ b/docs/source/release-notes.rst @@ -3,6 +3,78 @@ Release notes Here are brief summaries of what's changed between each snapshot release. +Milestone 6 +----------- + +* Added the `Corda technical white paper <_static/corda-technical-whitepaper.pdf>`_. Note that its current version + is 0.5 to reflect the fact that the Corda design is still evolving. Although we expect only relatively small tweaks + at this point, when Corda reaches 1.0 so will the white paper. + +* Major documentation restructuring and new content: + + * More details on Corda node internals. + * New CorDapp tutorial. + * New tutorial on building transactions. + * New tutorials on how to run and use a notary service. + +* An experimental version of the deterministic JVM sandbox has been added. It is not integrated with the node and will + undergo some significant changes in the coming releases before it is integrated, as the code is finished, as bugs are + found and fixed, and as the platform subset we choose to expose is finalised. Treat this as an outline of the basic + approach rather than something usable for production. + +* Developer experience: + + * Samples have been merged back into the main repository. All samples can now be run via command line or IntelliJ. + + * Added a Client RPC python example. + + * Node console output now displays concise startup information, such as startup time or web address. All logging to + the console is suppressed apart from errors and flow progress tracker steps. It can be re-enabled by passing + ``--log-to-console`` command line parameter. Note that the log file remains unchanged an will still contain all + log entries. + + * The ``runnodes`` scripts generated by the Gradle plugins now open each node in separate terminal windows or (on macOS) tabs. + + * A much more complete template app. + + * JARs now available on Maven Central. + +* Data model: A party is now identified by a composite key (formerly known as a "public key tree") instead of a single public key. + Read more in :ref:`composite-keys`. This allows expressing distributed service identities, e.g. a distributed notary. + In the future this will also allow parties to use multiple signing keys for their legal identity. + +* Decentralised consensus: A prototype RAFT based notary composed of multiple nodes has been added. This implementation + is optimised for high performance over robustness against malicious cluster members, which may be appropriate for + some financial situations. See :ref:`notary-demo` to try it out. A BFT notary will be added later. + +* Node explorer app: + + * New theme aligned with the Corda branding. + * The New Transaction screen moved to the Cash View (as it is used solely for cash transactions) + * Removed state machine/flow information from Transaction table. A new view for this will be created in a future release. + * Added a new Network View that displays details of all nodes on the network. + * Users can now configure the reporting currency in settings. + * Various layout and performance enhancements. + +* Client RPC: + + * Added a generic ``startFlow`` method that enables starting of any flow, given sufficient permissions. + * Added the ability for plugins to register additional classes or custom serialisers with Kryo for use in RPC. + * ``rpc-users.properties`` file has been removed with RPC user settings moved to the config file. + +* Configuration changes: It is now possible to specify a custom legal name for any of the node's advertised services. + +* Added a load testing framework which allows stress testing of a node cluster, as well as specifying different ways of + disrupting the normal operation of nodes. See :doc:`loadtesting`. + +* Improvements to the experimental contract DSL, by Sofus Mortensen of Nordea Bank (please give Nordea a shoutout too). + +API changes: + +* The top level package has been renamed from ``com.r3corda`` to ``net.corda``. +* Protocols have been renamed to "flows". +* ``OpaqueBytes`` now uses ``bytes`` as the field name rather than ``bits``. + Milestone 5 -----------