diff --git a/common/metadata/metadata.go b/common/metadata/metadata.go index b52b7bed0b1..27e57e34f2d 100644 --- a/common/metadata/metadata.go +++ b/common/metadata/metadata.go @@ -9,7 +9,7 @@ package metadata // Variables defined by the Makefile and passed in with ldflags var Version string = "latest" var CommitSHA string = "development build" -var BaseVersion string = "0.4.21" +var BaseVersion string = "0.4.22" var BaseDockerLabel string = "org.hyperledger.fabric" var DockerNamespace string = "hyperledger" var BaseDockerNamespace string = "hyperledger" diff --git a/release_notes/v1.4.10.md b/release_notes/v1.4.10.md index 07ec25c4222..40e9c7c71c6 100644 --- a/release_notes/v1.4.10.md +++ b/release_notes/v1.4.10.md @@ -1,23 +1,62 @@ v1.4.10 Release Notes - Date TBD -========================================= - -What's New in Hyperledger Fabric v1.4.10 ---------------------------------------- - +================================ Fixes ----- -**FAB-XXXXX: component - fix title** +**peer and orderer PKCS#11 - Always Finalize the PKCS#11 FindObject Operation** + +In certain error paths, a PKCS#11 session was not finalized, leaving the session +in a locked state so that it could not be reused. +This fix finalizes session handles even in error paths, so that the session can be reused +by subsequent calls. + +**orderer - Allow tick interval override via orderer.yaml** + +If a raft network becomes unstable, sometimes, adjusting the tick +interval duration can be effective to restore it. However, the tick interval is +stored in the channel configuration, so if the network is not operational, +modifying it is very challenging. This fix adds Consensus.TickIntervalOverride +option to orderer.yaml configuration, allowing the channel configuration parameter +to be overridden from the local configuration. + +**FAB-18244: orderer - Single node orderer will not start due to inconsistent state** + +If using a single node orderer, it was possible to get into an inconsistent state where +a Raft WAL snapshot was taken but an in-flight block at the associated height is not yet written. +This fix resolves the inconsistent state by writing the last block, so that the +single node orderer can start. + +**orderer - Remove duplicate orderer server TLS root CAs** + +This fix reduces processing overhead when an ordering service node participates +in many channels. + +**peer - incorrect handling of values set to empty byte array in node chaincode** -Fix description +Peer should handle key values set to nil or empty byte arrays as a delete of the key. +While the behavior worked as expected when using Go chaincode and Java chaincode, if using +node chaincode it did not work correctly when setting key values to empty byte arrays. +This fix ensures that peer will interpret empty byte arrays as deletes even for node chaincodes. +If using node chaincode with private data, if you had set private data values to an empty byte array, +the private data hash would have been committed incorrectly to the state database. +To repair the state database, after applying the fix, with the peer stopped, +request that the state database be rebuilt by calling "peer node rebuild-dbs" +or by deleting the state database. Upon the next start, the peer will rebuild the state +database from the already processed block store. +If subsequent transactions had referenced the existence of such a private data hash by +calling GetPrivateDataHash, then the subsequent transactions may have been +processed incorrectly and the peer will need to additionally reprocess blocks, +which can be triggered by calling "peer node reset" instead of "peer node rebuild-dbs". +If using regular channel data only and not private data, the empty byte array will +not have been committed, and therefore no action is required on the peer beyond applying the fix. Dependencies ------------ Fabric v1.4.10 has been tested with the following dependencies: -* Go 1.13.12 -* Fabric baseimage 0.4.21 +* Go 1.14.12 +* Fabric baseimage 0.4.22 * CouchDB v2.3.1