From b8c4a6aa7da1deac0672e3bc54d429172ace9016 Mon Sep 17 00:00:00 2001 From: David Enyeart Date: Mon, 26 Aug 2019 15:07:41 -0400 Subject: [PATCH] [FAB-16412] Release fabric v1.4.3 Change-Id: I222fdd9436386450e4de0a2ebed06ab41074b501 Signed-off-by: David Enyeart --- CHANGELOG.md | 37 ++++++++++ README.md | 1 + docs/source/install.rst | 4 +- release_notes/v1.4.3.txt | 152 +++++++++++++++++++++++++++++++++++++++ scripts/bootstrap.sh | 8 +-- 5 files changed, 196 insertions(+), 6 deletions(-) create mode 100644 release_notes/v1.4.3.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index 67623b9d5a5..8bd66317692 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,40 @@ +## v1.4.3 +Mon Aug 26 15:15:42 EDT 2019 + +* [3b70d53](https://github.com/hyperledger/fabric/commit/3b70d53) [FAB-16412](https://jira.hyperledger.org/browse/FAB-16412) Release fabric v1.4.3 +* [a7ca2fc](https://github.com/hyperledger/fabric/commit/a7ca2fc) Use latest npm version of ccenv image +* [98992bd](https://github.com/hyperledger/fabric/commit/98992bd) [FAB-16282](https://jira.hyperledger.org/browse/FAB-16282) Upgrade/what's new doc for 1.4.3 +* [30dea93](https://github.com/hyperledger/fabric/commit/30dea93) Remove hardcoded ver on fabric multiarch script +* [7a9f6e7](https://github.com/hyperledger/fabric/commit/7a9f6e7) [FAB-15899](https://jira.hyperledger.org/browse/FAB-15899) Doc Node OU Support for admins and orderers +* [607de4d](https://github.com/hyperledger/fabric/commit/607de4d) [FAB-16399](https://jira.hyperledger.org/browse/FAB-16399) Correct capabilities error message +* [61030af](https://github.com/hyperledger/fabric/commit/61030af) fix peer node cmd preamble/postscript +* [6f64c22](https://github.com/hyperledger/fabric/commit/6f64c22) [FAB-16357](https://jira.hyperledger.org/browse/FAB-16357) Support for .orderer +* [e21cd4a](https://github.com/hyperledger/fabric/commit/e21cd4a) [FAB-16327](https://jira.hyperledger.org/browse/FAB-16327) Discovery config query with org endpoints +* [9b2fde0](https://github.com/hyperledger/fabric/commit/9b2fde0) [FAB-16122](https://jira.hyperledger.org/browse/FAB-16122) Integration Test AdminOU +* [fd02119](https://github.com/hyperledger/fabric/commit/fd02119) [FAB-15479](https://jira.hyperledger.org/browse/FAB-15479) Docs updates for Java +* [4a7e76f](https://github.com/hyperledger/fabric/commit/4a7e76f) [FAB-16325](https://jira.hyperledger.org/browse/FAB-16325) Remove travis build file +* [ea2316f](https://github.com/hyperledger/fabric/commit/ea2316f) [FAB-16056](https://jira.hyperledger.org/browse/FAB-16056) Display config block num for CLI +* [7078648](https://github.com/hyperledger/fabric/commit/7078648) [FAB-15933](https://jira.hyperledger.org/browse/FAB-15933) Optional NodeOU Classification +* [df962e9](https://github.com/hyperledger/fabric/commit/df962e9) [FAB-15970](https://jira.hyperledger.org/browse/FAB-15970) Enable MSP 1.4.3 at Channel Config +* [762f3c5](https://github.com/hyperledger/fabric/commit/762f3c5) [FAB-12620](https://jira.hyperledger.org/browse/FAB-12620) Orderer OU +* [2f31597](https://github.com/hyperledger/fabric/commit/2f31597) [FAB-15388](https://jira.hyperledger.org/browse/FAB-15388) AdminOU Support +* [5132634](https://github.com/hyperledger/fabric/commit/5132634) [FAB-16292](https://jira.hyperledger.org/browse/FAB-16292) Fix NPE in expiration +* [8c6182e](https://github.com/hyperledger/fabric/commit/8c6182e) [FAB-15979](https://jira.hyperledger.org/browse/FAB-15979) Improve capabilities documentation +* [67026a5](https://github.com/hyperledger/fabric/commit/67026a5) [FAB-16141](https://jira.hyperledger.org/browse/FAB-16141) Option to disable cert expiration checks +* [56cc786](https://github.com/hyperledger/fabric/commit/56cc786) [FAB-15700](https://jira.hyperledger.org/browse/FAB-15700) Recover an expired TLS cert cluster +* [1786505](https://github.com/hyperledger/fabric/commit/1786505) [FAB-15532](https://jira.hyperledger.org/browse/FAB-15532) create in-proc broadcast client for IT +* [861847b](https://github.com/hyperledger/fabric/commit/861847b) fix pvt and blockStore recovery for reset/rollback +* [e40b33e](https://github.com/hyperledger/fabric/commit/e40b33e) Fix a typo error for etcdraft +* [042b6c4](https://github.com/hyperledger/fabric/commit/042b6c4) rollback/reset: ensure that stateDB is dropped +* [bb57b08](https://github.com/hyperledger/fabric/commit/bb57b08) [FAB-16208](https://jira.hyperledger.org/browse/FAB-16208) Add v1.4.2 orderer capability sampleconf +* [ad802f9](https://github.com/hyperledger/fabric/commit/ad802f9) rollback: fix capability usage at gossip +* [1181f45](https://github.com/hyperledger/fabric/commit/1181f45) [FAB-16138](https://jira.hyperledger.org/browse/FAB-16138) Accelerate reset and rollback tests +* [fc4f3a5](https://github.com/hyperledger/fabric/commit/fc4f3a5) [FAB-16140](https://jira.hyperledger.org/browse/FAB-16140) Fix Missing error handling in EC query +* [f78f7b9](https://github.com/hyperledger/fabric/commit/f78f7b9) [FAB-15891](https://jira.hyperledger.org/browse/FAB-15891) Node.js version support Add version 10 +* [ebf81bc](https://github.com/hyperledger/fabric/commit/ebf81bc) [FAB-16051](https://jira.hyperledger.org/browse/FAB-16051) MSP IDENTITY Principal Deserialization +* [4d9954c](https://github.com/hyperledger/fabric/commit/4d9954c) [FAB-16020](https://jira.hyperledger.org/browse/FAB-16020) Add java_package to transaction.proto +* [469501a](https://github.com/hyperledger/fabric/commit/469501a) [FAB-15998](https://jira.hyperledger.org/browse/FAB-15998) Prepare for next fabric rel (1.4.3) + ## v1.4.2 Wed Jul 17 14:16:28 EDT 2019 diff --git a/README.md b/README.md index 40884cabd48..06214b93ad4 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ open source architecture; Hyperledger Fabric is your starting point. ## Releases +- [v1.4.3 - August 26, 2019](https://github.com/hyperledger/fabric/releases/tag/v1.4.3) - [v1.4.2 - July 17, 2019](https://github.com/hyperledger/fabric/releases/tag/v1.4.2) - [v1.4.1 - April 11, 2019](https://github.com/hyperledger/fabric/releases/tag/v1.4.1) - [v1.4.1-rc1 - March 29, 2019](https://github.com/hyperledger/fabric/releases/tag/v1.4.1-rc1) diff --git a/docs/source/install.rst b/docs/source/install.rst index 8f9ceb29ef2..fa65d15829a 100644 --- a/docs/source/install.rst +++ b/docs/source/install.rst @@ -48,12 +48,12 @@ the binaries and images. .. note:: If you want a specific release, pass a version identifier for Fabric, Fabric-ca and thirdparty Docker images. - The command below demonstrates how to download **Fabric v1.4.2** + The command below demonstrates how to download **Fabric v1.4.3** .. code:: bash curl -sSL http://bit.ly/2ysbOFE | bash -s -- - curl -sSL http://bit.ly/2ysbOFE | bash -s -- 1.4.2 1.4.2 0.4.15 + curl -sSL http://bit.ly/2ysbOFE | bash -s -- 1.4.3 1.4.3 0.4.15 .. note:: If you get an error running the above curl command, you may have too old a version of curl that does not handle diff --git a/release_notes/v1.4.3.txt b/release_notes/v1.4.3.txt new file mode 100644 index 00000000000..e9615aa4c4c --- /dev/null +++ b/release_notes/v1.4.3.txt @@ -0,0 +1,152 @@ +v1.4.3 Release Notes - August 26, 2019 +-------------------------------------- + +What's New in Hyperledger Fabric v1.4.3 +--------------------------------------- + +The following features are included in this release: + +FAB-15388: Node OU certificate support for admin identities. +FAB-12620: Node OU certificate support for orderer nodes. + +Node OUs are now supported for admin and orderer identity +classifications (extending the existing Node OU support for clients and peers). +These "organizational units" allow organizations to further classify identities +into admins and orderers based on the OUs specified in their x509 certificates. +This feature requires v1.4.3 'channel' capability to be enabled so that all +orderer and peer nodes identify administrators consistently. +Peers need to be updated to version v1.4.3 before channel administrators +update a channel to v1.4.3 channel capability. +Organizations that wish to take advantage of the new capability +will need to update their MSP information in the channel configuration. +For more details see: +https://hyperledger-fabric.readthedocs.io/en/release-1.4/msp.html#identity-classification + + +Important Fixes +--------------- + +FAB-16292 Fix nil pointer exception upon gossip peer expiration + +There was an issue introduced in v1.4.2 where peers participating in channels with +gossip enabled may crash with a nil pointer exception, if another known peer goes down +for several minutes (when using default aliveExpirationTimeout peer configuration +of 25 seconds). To work around the problem on v1.4.2, automatically restart +the peer process if it goes down, or configure a large value for aliveExpirationTimeout +(peer environment variable CORE_PEER_GOSSIP_ALIVEEXPIRATIONTIMEOUT) to completely +avoid the problem until peer can be upgraded to v1.4.3. + + +FAB-16114 - v1.4.2 private data application capability enablement requires peer restart + +Prior to the fix, enablement of the v1.4.2 application capability required +a peer restart to become effective. Since the v1.4.2 application capability +changes how peers disseminate private data for invalid transactions, peers +that have not been restarted after the application capability has been +updated on the channel may not disseminate the data to peers that are +attempting to pull the private data upon block commit. The pulling peers +may therefore get stalled while pulling private data. +The remedy on v1.4.2 requires restarting any peer that participates +in private data dissemination, after v1.4.2 application +capability has been enabled on a channel. +Starting in v1.4.3, the application channel capability becomes effective upon +processing the configuration block update, without requiring a peer restart. + + +FAB-16327 Fix service discovery with orderer endpoints configured at organization level + +v1.4.2 introduced orderer endpoint configuration at the organization level +('OrdererEndpoints' stanza). Prior to the fix, if orderer endpoints are configured +only at the new organization level, and not at the global 'Orderer.Addresses' +level, then service discovery is not able return the channel configuration with the +orderer endpoints. +With the v1.4.3 fix, service discovery functions correctly even if orderer endpoints +are configured only at the organization level. + + +FAB-16089 Use latest npm version of ccenv image + +In the ccenv image that is used to build node.js chaincode, npm is updated to +the latest version. This resolves issues from prior npm versions, such as +the ability to include 'prepare' statements in node.js chaincode +package.json. + + +Changes, Known Issues, and Workarounds +-------------------------------------- +FAB-12088 - Java chaincode support on s390x architecture +Java chaincode support is not available on s390x architecture. + +FAB-12134 - Same chaincode source receiving fingerprint mismatch error +Chaincode installed in different ways may result in "chaincode fingerprint +mismatch data mismatch" error upon instantiation. This may happen when +installing chaincode by using different SDKs. To workaround the problem, +package the chaincode prior to installation and instantiation, by using +the "peer chaincode package" command. + + +Known Vulnerabilities +--------------------- +FAB-8664 - Peer should detect and react when its org has been removed +This is a relatively low severity problem, because it requires a significant +conspiracy of network admins, but it will be addressed in a future release. + + +Resolved Vulnerabilities +------------------------ +None. + + +Deprecations +------------ +The following functions are deprecated and are targeted for removal in a future release. + +Support for automatically vendoring the chaincode shim into user chaincodes. +The fabric-ccenv image which is used to build chaincode, currently includes +the github.com/hyperledger/fabric/core/chaincode/shim ("shim") package. +This is convenient, as it provides the ability to package chaincode +without the need to include the "shim". However, this may cause issues in future +releases (and/or when trying to use packages which are included by the "shim"). +In order to avoid any issues, users are advised to manually vendor the "shim" +package with their chaincode prior to using the peer CLI for packaging and/or +for installing chaincode. +For more details see FAB-5177. + +Support for CAR chaincode package format +Support for packaging chaincode using the CAR format will be removed in +a future release. +For more details see FAB-14720. + +Support for specifying orderer endpoints at the global level in channel configuration. +Utilize the new 'OrdererEndpoints' stanza within the channel configuration of +an organization instead. +For more details see FAB-7559. + +Support for invoking system chaincodes from user chaincodes. +System chaincodes, for example QSCC, are intended to be invoked by +a client rather than by a user chaincode. Invoking from a user chaincode +may cause deadlocks. +For more details see FAB-15285. + +Support for user chaincodes to utilize the chaincode shim's logger via NewLogger(). +Chaincodes that used the shim's NewLogger() will need to shift to their own preferred +logging mechanism. +For more details see FAB-15366. + +Support for peer's Admin service. +The peer's Admin service exposes APIs such as GetLogSpec() and SetLogSpec(). +Instead of using these services, utilize the HTTP operations service that was +introduced in v1.4.0. +For more details see FAB-15390. + +Support for Solo ordering service. +With the introduction of Raft-based ordering service in v1.4.1, it is possible +to deploy a single-node (non-production) or multi-node +Raft-based ordering service with no external dependencies. +For single-node (non-production) ordering services, utilize Raft-based ordering +service with a single node instead of Solo ordering service. +For more details see FAB-15754. + + +For the full list of improvements and fixes, refer to the release change log: +https://github.com/hyperledger/fabric/blob/release-1.4/CHANGELOG.md#v143 diff --git a/scripts/bootstrap.sh b/scripts/bootstrap.sh index a700f17775b..46960b2051b 100755 --- a/scripts/bootstrap.sh +++ b/scripts/bootstrap.sh @@ -6,9 +6,9 @@ # # if version not passed in, default to latest released version -export VERSION=1.4.2 +export VERSION=1.4.3 # if ca version not passed in, default to latest released version -export CA_VERSION=1.4.2 +export CA_VERSION=1.4.3 # current version of thirdparty images (couchdb, kafka and zookeeper) released export THIRDPARTY_IMAGE_VERSION=0.4.15 export ARCH=$(echo "$(uname -s|tr '[:upper:]' '[:lower:]'|sed 's/mingw64_nt.*/windows/')-$(uname -m | sed 's/x86_64/amd64/g')") @@ -23,8 +23,8 @@ printHelp() { echo "-s : bypass fabric-samples repo clone" echo "-b : bypass download of platform-specific binaries" echo - echo "e.g. bootstrap.sh 1.4.2 -s" - echo "would download docker images and binaries for version 1.4.2" + echo "e.g. bootstrap.sh 1.4.3 -s" + echo "would download docker images and binaries for version 1.4.3" } dockerFabricPull() {