mirror of
https://github.com/corda/corda.git
synced 2025-02-28 20:06:25 +00:00
fixed formatting for release notes. (#1782)
This commit is contained in:
parent
359175eefa
commit
39c0c63bf1
@ -21,16 +21,19 @@ Release 1.0
|
||||
|
||||
* ``FlowLogic`` communication has been extensively rewritten to use functions on ``FlowSession`` as the base for communication
|
||||
between nodes.
|
||||
|
||||
* Calls to ``send()``, ``receive()`` and ``sendAndReceive()`` on FlowLogic should be replaced with calls
|
||||
to the function of the same name on ``FlowSession``. Note that the replacement functions do not take in a destination
|
||||
parameter, as this is defined in the session.
|
||||
* Initiated flows now take in a ``FlowSession`` instead of ``Party`` in their constructor. If you need to access the
|
||||
counterparty identity, it is in the ``counterparty`` property of the flow session.
|
||||
|
||||
|
||||
* Added X509EdDSAEngine to intercept and rewrite EdDSA public keys wrapped in X509Key instances. This corrects an issue
|
||||
with verifying certificate paths loaded from a Java Keystore where they contain EdDSA keys.
|
||||
|
||||
* Confidential identities are now complete:
|
||||
|
||||
* The identity negotiation flow is now called ``SwapIdentitiesFlow``, renamed from ``TransactionKeyFlow``.
|
||||
* generateSpend() now creates a new confidential identity for the change address rather than using the identity of the
|
||||
input state owner.
|
||||
@ -39,13 +42,14 @@ Release 1.0
|
||||
* Remove the legacy web front end from the SIMM demo.
|
||||
|
||||
* ``NodeInfo`` and ``NetworkMapCache`` changes:
|
||||
|
||||
* Removed ``NodeInfo::legalIdentity`` in preparation for handling of multiple identities. We left list of ``NodeInfo::legalIdentitiesAndCerts``,
|
||||
the first identity still plays a special role of main node identity.
|
||||
* We no longer support advertising services in network map. Removed ``NodeInfo::advertisedServices``, ``serviceIdentities``
|
||||
and ``notaryIdentity``.
|
||||
* Removed service methods from ``NetworkMapCache``: ``partyNodes``, ``networkMapNodes``, ``notaryNodes``, ``regulatorNodes``,
|
||||
``getNodesWithService``, ``getPeersWithService``, ``getRecommended``, ``getNodesByAdvertisedServiceIdentityKey``, ``getAnyNotary``,
|
||||
``notaryNode``, ``getAnyServiceOfType``. To get all known ``NodeInfo``s call ``allNodes``.
|
||||
``notaryNode``, ``getAnyServiceOfType``. To get all known ``NodeInfo``'s call ``allNodes``.
|
||||
* In preparation for ``NetworkMapService`` redesign and distributing notaries through ``NetworkParameters`` we added
|
||||
``NetworkMapCache::notaryIdentities`` list to enable to lookup for notary parties known to the network. Related ``CordaRPCOps::notaryIdentities``
|
||||
was introduced. Other special nodes parties like Oracles or Regulators need to be specified directly in CorDapp or flow.
|
||||
@ -63,7 +67,7 @@ Release 1.0
|
||||
* About half of the code in test-utils has been moved to a new module ``node-driver``,
|
||||
and the test scope modules are now located in a ``testing`` directory.
|
||||
|
||||
* CordaPluginRegistry has been renamed to SerializationWhitelist and moved to the net.corda.core.serialization
|
||||
* ``CordaPluginRegistry`` has been renamed to ``SerializationWhitelist`` and moved to the ``net.corda.core.serialization``
|
||||
package. The API for whitelisting types that can't be annotated was slightly simplified. This class used to contain
|
||||
many things, but as we switched to annotations and classpath scanning over time it hollowed out until this was
|
||||
the only functionality left. You also need to rename your services resource file to the new class name.
|
||||
@ -85,10 +89,14 @@ Release 1.0
|
||||
* Vault Query fix: filter by multiple issuer names in ``FungibleAssetQueryCriteria``
|
||||
|
||||
* Following deprecated methods have been removed:
|
||||
|
||||
* In ``DataFeed``
|
||||
|
||||
* ``first`` and ``current``, replaced by ``snapshot``
|
||||
* ``second`` and ``future``, replaced by ``updates``
|
||||
|
||||
* In ``CordaRPCOps``
|
||||
|
||||
* ``stateMachinesAndUpdates``, replaced by ``stateMachinesFeed``
|
||||
* ``verifiedTransactions``, replaced by ``verifiedTransactionsFeed``
|
||||
* ``stateMachineRecordedTransactionMapping``, replaced by ``stateMachineRecordedTransactionMappingFeed``
|
||||
@ -98,13 +106,12 @@ Release 1.0
|
||||
``ResolveTransactionsFlow`` has been made internal. Instead merge the receipt of the ``SignedTransaction`` and the subsequent
|
||||
sub-flow call to ``ResolveTransactionsFlow`` with a single call to ``ReceiveTransactionFlow``. The flow running on the counterparty
|
||||
must use ``SendTransactionFlow`` at the correct place. There is also ``ReceiveStateAndRefFlow`` and ``SendStateAndRefFlow`` for
|
||||
dealing with ``StateAndRef``s.
|
||||
dealing with ``StateAndRef``'s.
|
||||
|
||||
* Vault query soft locking enhancements and deprecations
|
||||
|
||||
* removed original ``VaultService`` ``softLockedStates` query mechanism.
|
||||
* introduced improved ``SoftLockingCondition`` filterable attribute in ``VaultQueryCriteria`` to enable specification
|
||||
of different soft locking retrieval behaviours (exclusive of soft locked states, soft locked states only, specified
|
||||
by set of lock ids)
|
||||
* introduced improved ``SoftLockingCondition`` filterable attribute in ``VaultQueryCriteria`` to enable specification of different soft locking retrieval behaviours (exclusive of soft locked states, soft locked states only, specified by set of lock ids)
|
||||
|
||||
* Trader demo now issues cash and commercial paper directly from the bank node, rather than the seller node self-issuing
|
||||
commercial paper but labelling it as if issued by the bank.
|
||||
@ -114,7 +121,7 @@ Release 1.0
|
||||
If you specifically need well known identities, use the network map, which is the authoritative source of current well
|
||||
known identities.
|
||||
|
||||
* Currency-related API in ``net.corda.core.contracts.ContractsDSL`` has moved to ```net.corda.finance.CurrencyUtils`.
|
||||
* Currency-related API in ``net.corda.core.contracts.ContractsDSL`` has moved to ```net.corda.finance.CurrencyUtils``.
|
||||
|
||||
* Remove `IssuerFlow` as it allowed nodes to request arbitrary amounts of cash to be issued from any remote node. Use
|
||||
`CashIssueFlow` instead.
|
||||
@ -166,15 +173,16 @@ Release 1.0
|
||||
|
||||
* The unused ``MetaData`` and ``SignatureType`` in ``crypto`` package have been removed.
|
||||
|
||||
* The ``class TransactionSignature(bytes: ByteArray, val by: PublicKey, val signatureMetadata: SignatureMetadata): DigitalSignature(bytes)``
|
||||
class is now utilised Vs the old ``DigitalSignature.WithKey`` for Corda transaction signatures. Practically, it takes
|
||||
the ``signatureMetadata`` as an extra input, in order to support signing both the transaction and the extra metadata.
|
||||
* The ``class TransactionSignature(bytes: ByteArray, val by: PublicKey, val signatureMetadata:``
|
||||
``SignatureMetadata): DigitalSignature(bytes)`` class is now utilised Vs the old ``DigitalSignature.WithKey`` for
|
||||
Corda transaction signatures. Practically, it takes the ``signatureMetadata`` as an extra input, in order to support
|
||||
signing both the transaction and the extra metadata.
|
||||
|
||||
* To reflect changes in the signing process, the ``Crypto`` object is now equipped with the:
|
||||
``fun doSign(keyPair: KeyPair, signableData: SignableData): TransactionSignature`` and
|
||||
``fun doVerify(txId: SecureHash, transactionSignature: TransactionSignature): Boolean`` functions.
|
||||
|
||||
* ``SerializationCustomization.addToWhitelist()` now accepts multiple classes via varargs.
|
||||
* ``SerializationCustomization.addToWhitelist()`` now accepts multiple classes via varargs.
|
||||
|
||||
* Two functions to easily sign a ``FilteredTransaction`` have been added to ``ServiceHub``:
|
||||
``createSignature(filteredTransaction: FilteredTransaction, publicKey: PublicKey)`` and
|
||||
@ -204,8 +212,8 @@ Release 1.0
|
||||
* All of the ``serializedHash`` and ``computeNonce`` functions have been removed from ``MerkleTransaction``.
|
||||
The ``serializedHash(x: T)`` and ``computeNonce`` were moved to ``CryptoUtils``.
|
||||
|
||||
* Two overloaded methods ``componentHash(opaqueBytes: OpaqueBytes, privacySalt: PrivacySalt, componentGroupIndex: Int,
|
||||
internalIndex: Int): SecureHash`` and ``componentHash(nonce: SecureHash, opaqueBytes: OpaqueBytes): SecureHash`` have
|
||||
* Two overloaded methods ``componentHash(opaqueBytes: OpaqueBytes, privacySalt: PrivacySalt,``
|
||||
``componentGroupIndex: Int, internalIndex: Int): SecureHash`` and ``componentHash(nonce: SecureHash, opaqueBytes: OpaqueBytes): SecureHash`` have
|
||||
been added to ``CryptoUtils``. Similarly to ``computeNonce``, they internally use SHA256d for nonce and leaf hash
|
||||
computations.
|
||||
|
||||
@ -216,18 +224,19 @@ Release 1.0
|
||||
``FilteredTransaction`` now extend ``TraversableTransaction``.
|
||||
|
||||
* Two classes, ``ComponentGroup(open val groupIndex: Int, open val components: List<OpaqueBytes>)`` and
|
||||
``FilteredComponentGroup(override val groupIndex: Int, override val components: List<OpaqueBytes>,
|
||||
val nonces: List<SecureHash>, val partialMerkleTree: PartialMerkleTree): ComponentGroup(groupIndex, components)``
|
||||
have been added, which are properties of the ``WireTransaction`` and ``FilteredTransaction``, respectively.
|
||||
``FilteredComponentGroup(override val groupIndex: Int, override val components:``
|
||||
``List<OpaqueBytes>, val nonces: List<SecureHash>, val partialMerkleTree:``
|
||||
``PartialMerkleTree): ComponentGroup(groupIndex, components)`` have been added, which are properties
|
||||
of the ``WireTransaction`` and ``FilteredTransaction``, respectively.
|
||||
|
||||
* ``checkAllComponentsVisible(componentGroupEnum: ComponentGroupEnum)`` is added to ``FilteredTransaction``, a new
|
||||
function to check if all components are visible in a specific component-group.
|
||||
|
||||
* To allow for backwards compatibility, ``WireTransaction`` and ``FilteredTransaction`` have new fields and
|
||||
constructors: ``WireTransaction(componentGroups: List<ComponentGroup>, privacySalt: PrivacySalt = PrivacySalt())``,
|
||||
``FilteredTransaction private constructor(id: SecureHash,filteredComponentGroups: List<FilteredComponentGroup>,
|
||||
groupHashes: List<SecureHash>``. ``FilteredTransaction`` is still built via
|
||||
``buildFilteredTransaction(wtx: WireTransaction, filtering: Predicate<Any>).
|
||||
``FilteredTransaction private constructor(id: SecureHash,filteredComponentGroups:``
|
||||
``List<FilteredComponentGroup>, groupHashes: List<SecureHash>``. ``FilteredTransaction`` is still built via
|
||||
``buildFilteredTransaction(wtx: WireTransaction, filtering: Predicate<Any>)``.
|
||||
|
||||
* ``FilteredLeaves`` class have been removed and as a result we can directly call the components from
|
||||
``FilteredTransaction``, such as ``ftx.inputs`` Vs the old ``ftx.filteredLeaves.inputs``.
|
||||
|
Loading…
x
Reference in New Issue
Block a user