Docs: fix changelog for C4

This commit is contained in:
Mike Hearn 2019-02-20 20:37:08 +01:00
parent c4c0769763
commit 4afa28bc77

View File

@ -4,32 +4,6 @@ Changelog
Here's a summary of what's changed in each Corda release. For guidance on how to upgrade code from the previous
release, see :doc:`app-upgrade-notes`.
Unreleased
----------
* Updating postgres dependency to 42.2.5
* Test ``CordaService`` s can be installed on mock nodes using ``UnstartedMockNode.installCordaService``.
* The finance-contracts demo CorDapp has been slimmed down to contain only that which is relevant for contract verification. Everything else
has been moved to the finance-workflows CorDapp:
* The cash selection logic. ``AbstractCashSelection`` is now in net.corda.finance.contracts.asset so any custom implementations must now be
defined in ``META-INF/services/net.corda.finance.workflows.asset.selection.AbstractCashSelection``.
* The jackson annotations on ``Expression`` have been removed. You will need to use ``FinanceJSONSupport.registerFinanceJSONMappers`` if
you wish to preserve the JSON format for this class.
* The various utility methods defined in ``Cash`` for creating cash transactions have been moved to ``net.corda.finance.workflows.asset.CashUtils``.
Similarly with ``CommercialPaperUtils`` and ``ObligationUtils``.
* Various other utilities such as ``GetBalances` and the test calendar data.
The only exception to this is ``Interpolator`` and related classes. These are now in the `IRS demo workflows CorDapp <https://github.com/corda/corda/tree/master/samples/irs-demo/cordapp/workflows-irs>`_.
* Vault states are now correctly migrated when moving from V3 to V4. In particular, this means the relevancy column is correctly filled, and the state party table is populated.
Note: This means Corda can be slow to start up for the first time after upgrading from V3 to V4.
.. _changelog_v4.0:
Version 4.0
@ -43,10 +17,10 @@ Version 4.0
retries have been disabled for single node notaries since in this case they offer no potential benefits, unlike for a notary cluster with
several members who might have different availability.
* New configuration property `database.initialiseAppSchema` with values `UPDATE`, `VALIDATE` and `NONE`.
The property controls the behavior of the Hibernate DDL generation. `UPDATE` performs an update of CorDapp schemas, while
`VALID` only verifies their integrity. The property does not affect the node-specific DDL handling and
complements `database.initialiseSchema` to disable DDL handling altogether.
* New configuration property ``database.initialiseAppSchema`` with values ``UPDATE``, ``VALIDATE`` and ``NONE``.
The property controls the behavior of the Hibernate DDL generation. ``UPDATE`` performs an update of CorDapp schemas, while
``VALID`` only verifies their integrity. The property does not affect the node-specific DDL handling and
complements ``database.initialiseSchema`` to disable DDL handling altogether.
* ``JacksonSupport.createInMemoryMapper`` was incorrectly marked as deprecated and is no longer so.
@ -72,11 +46,11 @@ Version 4.0
* Fixed a problem with IRS demo not being able to simulate future dates as expected (https://github.com/corda/corda/issues/3851).
* Fixed a problem that was preventing `Cash.generateSpend` to be used more than once per transaction (https://github.com/corda/corda/issues/4110).
* Fixed a problem that was preventing ``Cash.generateSpend`` to be used more than once per transaction (https://github.com/corda/corda/issues/4110).
* Fixed a bug resulting in poor vault query performance and incorrect results when sorting.
* Improved exception thrown by `AttachmentsClassLoader` when an attachment cannot be used because its uploader is not trusted.
* Improved exception thrown by ``AttachmentsClassLoader`` when an attachment cannot be used because its uploader is not trusted.
* Fixed deadlocks generated by starting flow from within CordaServices.
@ -98,7 +72,7 @@ Version 4.0
* BFT-Smart and Raft notary implementations have been moved to the ``net.corda.notary.experimental`` package to emphasise
their experimental nature. Note that it is not possible to preserve the state for both types of notaries when upgrading from V3 or an earlier Corda version.
* New "validate-configuration" sub-command to `corda.jar`, allowing to validate the actual node configuration without starting the node.
* New "validate-configuration" sub-command to ``corda.jar``, allowing to validate the actual node configuration without starting the node.
* CorDapps now have the ability to specify a minimum platform version in their MANIFEST.MF to prevent old nodes from loading them.
@ -292,7 +266,7 @@ Version 4.0
In case your Cordapps use this entity class to persist data in own custom tables as non Primary Key columns refer to
:doc:`app-upgrade-notes` for upgrade instructions.
* Adding a public method to check if a public key satisfies Corda recommended algorithm specs, `Crypto.validatePublicKey(java.security.PublicKey)`.
* Adding a public method to check if a public key satisfies Corda recommended algorithm specs, ``Crypto.validatePublicKey(java.security.PublicKey)``.
For instance, this method will check if an ECC key lies on a valid curve or if an RSA key is >= 2048bits. This might
be required for extra key validation checks, e.g., for Doorman to check that a CSR key meets the minimum security requirements.
@ -316,14 +290,14 @@ Version 4.0
required to filter by object type. Thus, when one wants to filter-in all "reference input states" in a ``FilteredTransaction``
then he/she should check if it is of type ``ReferenceStateRef``.
* Removed type parameter `U` from `tryLockFungibleStatesForSpending` to allow the function to be used with `FungibleState`
as well as `FungibleAsset`. This _might_ cause a compile failure in some obscure cases due to the removal of the type
* Removed type parameter ``U`` from ``tryLockFungibleStatesForSpending`` to allow the function to be used with ``FungibleState``
as well as ``FungibleAsset``. This _might_ cause a compile failure in some obscure cases due to the removal of the type
parameter from the method. If your CorDapp does specify types explicitly when using this method then updating the types
will allow your app to compile successfully. However, those using type inference (e.g. using Kotlin) should not experience
any changes. Old CorDapp JARs will still work regardless.
* `issuer_ref` column in `FungibleStateSchema` was updated to be nullable to support the introduction of the
`FungibleState` interface. The `vault_fungible_states` table can hold both `FungibleAssets` and `FungibleStates`.
* ``issuer_ref`` column in ``FungibleStateSchema`` was updated to be nullable to support the introduction of the
``FungibleState`` interface. The ``vault_fungible_states`` table can hold both ``FungibleAssets`` and ``FungibleStates``.
* CorDapps built by ``corda-gradle-plugins`` are now signed and sealed JAR files.
Signing can be configured or disabled, and it defaults to using the Corda development certificate.
@ -345,6 +319,29 @@ Version 4.0
* Vault Query Criteria have been enhanced to allow filtering by state relevancy. Queries can request all states, just relevant ones, or just non relevant ones. The default is to return all states, to maintain backwards compatibility.
Note that this means apps running on nodes using Observer node functionality should update their queries to request only relevant states if they are only expecting to see states in which they participate.
* Postgres dependency was updated to version 42.2.5
* Test ``CordaService`` s can be installed on mock nodes using ``UnstartedMockNode.installCordaService``.
* The finance-contracts demo CorDapp has been slimmed down to contain only that which is relevant for contract verification. Everything else
has been moved to the finance-workflows CorDapp:
* The cash selection logic. ``AbstractCashSelection`` is now in net.corda.finance.contracts.asset so any custom implementations must now be
defined in ``META-INF/services/net.corda.finance.workflows.asset.selection.AbstractCashSelection``.
* The jackson annotations on ``Expression`` have been removed. You will need to use ``FinanceJSONSupport.registerFinanceJSONMappers`` if
you wish to preserve the JSON format for this class.
* The various utility methods defined in ``Cash`` for creating cash transactions have been moved to ``net.corda.finance.workflows.asset.CashUtils``.
Similarly with ``CommercialPaperUtils`` and ``ObligationUtils``.
* Various other utilities such as ``GetBalances`` and the test calendar data.
The only exception to this is ``Interpolator`` and related classes. These are now in the `IRS demo workflows CorDapp <https://github.com/corda/corda/tree/master/samples/irs-demo/cordapp/workflows-irs>`_.
* Vault states are now correctly migrated when moving from V3 to V4. In particular, this means the relevancy column is correctly filled, and the state party table is populated.
Note: This means Corda can be slow to start up for the first time after upgrading from V3 to V4.
Version 3.3
-----------