diff --git a/docs/source/release-notes.rst b/docs/source/release-notes.rst index fba39537be..45bbaa28e2 100644 --- a/docs/source/release-notes.rst +++ b/docs/source/release-notes.rst @@ -1,6 +1,94 @@ Release notes ============= +.. _release_notes_v3_2: + +Release 3.2 +----------- + +As we see more Corda deployments in production this minor release of the open source platform brings +several fixes that make it easier for a node to join Corda networks broader than those used when +operating as part of an internal testing deployment. This will ensure Corda nodes will be free to interact +with upcoming network offerings from R3 and others who may make broad-access Corda networks available. + +* **The Corda Network Builder** + +To make it easier to create more dynamic, flexible, networks for testing and deployment, +with the 3.2 release of Corda we are shipping a graphical network bootsrapping tool (see :doc:`network-builder`) +to facilitate the simple creation of more dynamic ad hoc dev-mode environments. + +Using a graphical interface you can dynamically create and alter Corda test networks, adding +nodes and CorDapps with the click of a button! Additionally, you can leverage its integration +with Azure cloud services for remote hosting of Nodes and Docker instances for local testing. + +* **Split Compatibility Zone** + +Prior to this release compatibility zone membership was denoted with a single configuration setting + +.. sourcecode:: shell + + compatibilityZoneURL : "http://(:)" + +That would indicate both the location of the Doorman service the node should use for registration +of its identity as well as the Network Map service where it would publish its signed Node Info and +retrieve the Network Map. + +Compatibility Zones can now, however, be configured with the two disparate services, Doorman and +Network Map, running on different URLs. If the compatibility zone your node is connecting to +is configured in this manner, the new configuration looks as follows. + +.. sourcecode:: shell + + networkServices { + doormanURL: "http://(:)" + networkMapURL: "http://(:)" + } + +.. note:: The ``compatibilityZoneURL`` setting should be considered deprecated in favour of the new + ``networkServices`` settings group. + +* **The Blob Inspector** + +The blob inspector brings the ability to unpack serialized Corda blobs at the +command line, giving a human readable interpretation of the encoded date. + +.. note:: This tool has been shipped as a separate Jar previously. We are now including it + as part of an official release. + +Documentation on its use can be found here :doc:`blob-inspector` + +* **The Event Horizon** + +One part of joining a node to a Corda network is agreeing to the rules that govern that network as set out +by the network operator. A node's membership of a network is communicated to other nodes through the network +map, the service to which the node will have published its Node Info, and through which it receives the +set of NodeInfos currently present on the network. Membership of that list is a finite thing determined by +the network operator. + +Periodically a node will republish its NodeInfo to the Nework Map service. The Network Map uses this as a +heartbeat to determine the status of nodes registered with it. Those that don't "beep" within the +determined interval are removed from the list of registered nodes. The ``Event Horizon`` network parameter +sets the upper limit within which a node must respond or be considered inactive. + +.. important:: This does not mean a node is unregistered from the Doorman, only that its NodeInfo is + removed from the Network Map. Should the node come back online it will be re-added to the published + set of NodeInfos + +Issues Fixed +~~~~~~~~~~~~ + +* Update Jolokia to a more secure version [`CORDA-1744 `_] +* Add the Blob Inspector [`CORDA-1709 `_] +* Add support for the ``Event Horizon`` Network Parameter [`CORDA-866 `_] +* Add the Network Bootstrapper [`CORDA-1717 `_] +* Fixes for the finance CordApp[`CORDA-1711 `_] +* Allow Doorman and NetworkMap to be configured independently [`CORDA-1510 `_] +* Serialization fix for generics when evolving a class [`CORDA-1530 `_] +* Correct typo in an internal database table name [`CORDA-1499 `_] and [`CORDA-1804 `_] +* Hibernate session not flushed before handing over raw JDBC session to user code [`CORDA-1548 `_] +* Fix Postgres db bloat issue [`CORDA-1812 `_] +* Roll back flow transaction on exception [`CORDA-1790 `_] + .. _release_notes_v3_1: Release 3.1 diff --git a/docs/source/upgrade-notes.rst b/docs/source/upgrade-notes.rst index 339763ca6c..0de909ea6b 100644 --- a/docs/source/upgrade-notes.rst +++ b/docs/source/upgrade-notes.rst @@ -67,11 +67,42 @@ UNRELEASED No action is needed for default node tables as ``PersistentStateRef`` is used as Primary Key only and the backing columns are automatically not nullable or custom Cordapp entities using ``PersistentStateRef`` as Primary Key. -* H2 database upgrade - the table with a typo has been change, for each database instance and schema run the following SQL statement: +v3.1 to v3.2 +------------ - ALTER TABLE [schema].NODE_ATTCHMENTS_CONTRACTS RENAME TO NODE_ATTACHMENTS_CONTRACTS; +Gradle Plugin Version +^^^^^^^^^^^^^^^^^^^^^ - Schema is optional, run SQL when the node is not running. +You will need to update the ``corda_release_version`` identifier in your project gradle file. + +.. sourcecode:: shell + + ext.corda_release_version = '3.2-corda' + +Database schema changes +^^^^^^^^^^^^^^^^^^^^^^^ + +* Database upgrade - a typo has been corrected in the ``NODE_ATTACHMENTS_CONTRACTS`` table name. +When upgrading from versions 3.0 or 3.1, run the following command: + +.. sourcecode:: sql + + ALTER TABLE [schema].NODE_ATTCHMENTS_CONTRACTS RENAME TO NODE_ATTACHMENTS_CONTRACTS; + +Schema name is optional, run SQL when the node is not running. + +* Postgres database upgrade - Change the type of the ``checkpoint_value`` column to ``bytea``. +This will address the issue that the `vacuum` function is unable to clean up deleted checkpoints as they are still referenced from the ``pg_shdepend`` table. + + .. sourcecode:: sql + + ALTER TABLE node_checkpoints ALTER COLUMN checkpoint_value set data type bytea using null; + + .. note:: + This change will also need to be run when migrating from version 3.0. + +.. important:: + The Corda node will fail on startup if the database was not updated with the above commands. v3.0 to v3.1 ------------