mirror of
https://github.com/corda/corda.git
synced 2024-12-20 05:28:21 +00:00
M14 Release Notes (#1168)
* Created a new M14 gradle plugins version to fix a bug with using the 0.13.6 gradle plugins. * Added first draft of M14 release notes and changelog. * Vault Query improvements and fixes. * remove note about an internal change * Added improvements to release notes. * Added release notes about templates and the need to upgrade. * Added documentation about the removal of Guava types. * Add release notes on identity * Fixed spelling error.
This commit is contained in:
parent
0f7a055356
commit
030dabbd7f
@ -4,8 +4,8 @@ Changelog
|
||||
Here are brief summaries of what's changed between each snapshot release. This includes guidance on how to upgrade code
|
||||
from the previous milestone release.
|
||||
|
||||
UNRELEASED
|
||||
----------
|
||||
Milestone 14
|
||||
------------
|
||||
|
||||
* Changes in ``NodeInfo``:
|
||||
|
||||
@ -34,7 +34,7 @@ UNRELEASED
|
||||
* Moved the core flows previously found in ``net.corda.flows`` into ``net.corda.core.flows``. This is so that all packages
|
||||
in the ``core`` module begin with ``net.corda.core``.
|
||||
|
||||
* ``FinalityFlow`` now has can be subclassed, and the ``broadcastTransaction`` and ``lookupParties`` function can be
|
||||
* ``FinalityFlow`` can now be subclassed, and the ``broadcastTransaction`` and ``lookupParties`` function can be
|
||||
overriden in order to handle cases where no single transaction participant is aware of all parties, and therefore
|
||||
the transaction must be relayed between participants rather than sent from a single node.
|
||||
|
||||
@ -57,6 +57,43 @@ UNRELEASED
|
||||
* ``Cordformation`` adds a ``corda`` and ``cordaRuntime`` configuration to projects which cordapp developers should
|
||||
use to exclude core Corda JARs from being built into Cordapp fat JARs.
|
||||
|
||||
* ``database`` field in ``AbstractNode`` class has changed the type from ``org.jetbrains.exposed.sql.Database`` to
|
||||
‘net.corda.node.utilities.CordaPersistence’ - no change is needed for the typical use
|
||||
(i.e. services.database.transaction { code block } ) however a change is required when Database was explicitly declared
|
||||
|
||||
* ``DigitalSignature.LegallyIdentifiable``, previously used to identify a signer (e.g. in Oracles), has been removed.
|
||||
One can use the public key to derive the corresponding identity.
|
||||
|
||||
* Vault Query improvements and fixes:
|
||||
|
||||
* FIX inconsistent behaviour: Vault Query defaults to UNCONSUMED in all QueryCriteria types
|
||||
|
||||
* FIX serialization error: Vault Query over RPC when using custom attributes using VaultCustomQueryCriteria.
|
||||
|
||||
* Aggregate function support: extended VaultCustomQueryCriteria and associated DSL to enable specification of
|
||||
Aggregate Functions (sum, max, min, avg, count) with, optional, group by clauses and sorting (on calculated aggregate)
|
||||
|
||||
* Pagination simplification
|
||||
Pagination continues to be optional, but with following changes:
|
||||
- If no PageSpecification provided then a maximum of MAX_PAGE_SIZE (200) results will be returned, otherwise we fail-fast with a ``VaultQueryException`` to alert the API user to the need to specify a PageSpecification.
|
||||
Internally, we no longer need to calculate a results count (thus eliminating an expensive SQL query) unless a PageSpecification is supplied (note: that a value of -1 is returned for total_results in this scenario).
|
||||
Internally, we now use the AggregateFunction capability to perform the count.
|
||||
- Paging now starts from 1 (was previously 0).
|
||||
|
||||
* Additional Sort criteria: by StateRef (or constituents: txId, index)
|
||||
|
||||
* Confidential identities API improvements
|
||||
|
||||
* Registering anonymous identities now takes in AnonymousPartyAndPath
|
||||
* AnonymousParty.toString() now uses toStringShort() to match other toString() functions
|
||||
* Add verifyAnonymousIdentity() function to verify without storing an identity
|
||||
* Replace pathForAnonymous() with anonymousFromKey() which matches actual use-cases better
|
||||
* Add unit test for fetching the anonymous identity from a key
|
||||
* Update verifyAnonymousIdentity() function signature to match registerAnonymousIdentity()
|
||||
* Rename AnonymisedIdentity to AnonymousPartyAndPath
|
||||
* Remove certificate from AnonymousPartyAndPath as it's not actually used.
|
||||
* Rename registerAnonymousIdentity() to verifyAndRegisterAnonymousIdentity()
|
||||
|
||||
Milestone 13
|
||||
------------
|
||||
|
||||
|
@ -3,12 +3,45 @@ Release notes
|
||||
|
||||
Here are release notes for each snapshot release from M9 onwards.
|
||||
|
||||
Unreleased
|
||||
----------
|
||||
Milestone 14
|
||||
------------
|
||||
|
||||
The transaction finalisation flow (``FinalityFlow``) has had hooks for alternative implementations, for example in
|
||||
This release continues with the goal to improve API stability and developer friendliness. There have also been more
|
||||
bug fixes and other improvements across the board.
|
||||
|
||||
The CorDapp template repository has been replaced with a specific repository for
|
||||
`Java <https://github.com/corda/cordapp-template-java>`_ and `Kotlin <https://github.com/corda/cordapp-template-kotlin>`_
|
||||
to improve the experience of starting a new project and to simplify the build system.
|
||||
|
||||
It is now possible to specify multiple IP addresses and legal identities for a single node, allowing node operators
|
||||
more flexibility in setting up nodes.
|
||||
|
||||
A format has been introduced for CorDapp JARs that standardises the contents of CorDapps across nodes. This new format
|
||||
now requires CorDapps to contain their own external dependencies. This paves the way for significantly improved
|
||||
dependency management for CorDapps with the release of `Jigsaw (Java Modules) <http://openjdk.java.net/projects/jigsaw/>`_. For those using non-gradle build systems it is important
|
||||
to read :doc:`cordapp-build-systems` to learn more. Those using our ``cordformation`` plugin simply need to update
|
||||
to the latest version (``0.14.0``) to get the fixes.
|
||||
|
||||
We've now begun the process of demarcating which classes are part of our public API and which ones are internal.
|
||||
Everything found in ``net.corda.core.internal`` and other packages in the ``net.corda`` namespace which has ``.internal`` in it are
|
||||
considered internal and not for public use. In a future release any CorDapp using these packages will fail to load, and
|
||||
when we migrate to Jigsaw these will not be exported.
|
||||
|
||||
The transaction finalisation flow (``FinalityFlow``) has had hooks added for alternative implementations, for example in
|
||||
scenarios where no single participant in a transaction is aware of the well known identities of all parties.
|
||||
|
||||
DemoBench has a fix for a rare but inconvenient crash that can occur when sharing your display across multiple devices,
|
||||
e.g. a projector while performing demonstrations in front of an audience.
|
||||
|
||||
Guava types are being removed because Guava does not have backwards compatibility across versions, which has serious
|
||||
issues when multiple libraries depend on different versions of the library.
|
||||
|
||||
The identity service API has been tweaked, primarily so anonymous identity registration now takes in
|
||||
AnonymousPartyAndPath rather than the individual components of the identity, as typically the caller will have
|
||||
an AnonymousPartyAndPath instance. See change log for further detail.
|
||||
|
||||
Upgrading to this release is strongly recommended in order to keep up with the API changes, removal and additions.
|
||||
|
||||
Milestone 13
|
||||
------------
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user