diff --git a/Makefile b/Makefile index 5c852f28ad0..5c61a74b45d 100755 --- a/Makefile +++ b/Makefile @@ -43,7 +43,7 @@ # - docker-tag-latest - re-tags the images made by 'make docker' with the :latest tag # - help-docs - generate the command reference docs -BASE_VERSION = 1.2.0 +BASE_VERSION = 1.2.0-rc1 PREV_VERSION = 1.1.0 CHAINTOOL_RELEASE=1.1.1 BASEIMAGE_RELEASE=0.4.8 @@ -56,7 +56,7 @@ PROJECT_NAME = $(PROJECT_NAME)/fabric else PROJECT_NAME = hyperledger/fabric endif -EXPERIMENTAL ?= true +EXPERIMENTAL ?= false BUILD_DIR ?= .build diff --git a/docs/source/install.rst b/docs/source/install.rst index 4b3154e6974..b7cd9f1c2c8 100644 --- a/docs/source/install.rst +++ b/docs/source/install.rst @@ -41,7 +41,7 @@ Fabric Samples and binaries, go ahead and execute the following command: .. code:: bash - curl -sSL https://goo.gl/6wtTN5 | bash -s 1.1.0 + curl -sSL http://bit.ly/2ysbOFE | bash -s 1.2.0-rc1 .. note:: If you get an error running the above curl command, you may have too old a version of curl that does not handle @@ -54,7 +54,7 @@ Fabric Samples and binaries, go ahead and execute the following command: https://github.com/hyperledger/fabric/blob/master/scripts/bootstrap.sh .. note:: You can use the command above for any published version of Hyperledger - Fabric. Simply replace '1.1.0' with the version identifier + Fabric. Simply replace '1.2.0-rc1' with the version identifier of the version you wish to install. The command above downloads and executes a bash script diff --git a/docs/source/releases.rst b/docs/source/releases.rst index faa1e70155c..a5b1580b7e6 100644 --- a/docs/source/releases.rst +++ b/docs/source/releases.rst @@ -1,399 +1,11 @@ -Release Notes -============= +Releases +======== -`v1.1.0-rc1 `__ - March 1, 2018 ----------------------------------------------------------------------------------------------- -The v1.1 release candidate 1 (rc1) includes all of the features delivered in v1.1.0-preview -and v1.1.0-alpha. +The latest release is +`v1.2.0-rc1 `. - Additionally, there are feature improvements, bug fixes, documentation and test - coverage improvements, UX improvements based on user feedback and changes to address a - variety of static scan findings (unused code, static security scanning, spelling, - linting and more). - -Known Vulnerabilities ---------------------- -none - -Resolved Vulnerabilities ------------------------- -none - -Known Issues & Workarounds --------------------------- -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. - -Please refer to `FAB-5177 `__ for more details, -and kindly be aware that given the above, we may end up changing the -fabric-ccenv in the future. - -`Change Log `__ - -`v1.1.0-alpha `__ - January 25, 2018 ------------------------------------------------------------------------------------------------------ -This is a feature-complete *alpha* release of the up-coming 1.1 release. The 1.1 release -includes the following new major features: - - - `FAB-6911 `__ - Event service for blocks - - `FAB-5481 `__ - Event service for block transaction events - - `FAB-5300 `__ - Certificate Revocation List from CA - - `FAB-3067 `__ - Peer management of CouchDB indexes - - `FAB-6715 `__ - Mutual TLS between all components - - `FAB-5556 `__ - Rolling Upgrade via configured capabilities - - `FAB-2331 `__ - Node.js Chaincode support - - `FAB-5363 `__ - Node.js SDK Connection Profile - - `FAB-830 `__ - Encryption library for chaincode - - `FAB-5346 `__ - Attribute-based Access Control - - `FAB-6089 `__ - Chaincode APIs for creator identity - - `FAB-6421 `__ - Performance improvements - - Additionally, there are feature improvements, bug fixes, documentation and test - coverage improvements, UX improvements based on user feedback and changes to address a - variety of static scan findings (unused code, static security scanning, spelling, - linting and more). - -Known Vulnerabilities ---------------------- -none - -Resolved Vulnerabilities ------------------------- -none - -Known Issues & Workarounds --------------------------- -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. - -Please refer to `FAB-5177 `__ for more details, -and kindly be aware that given the above, we may end up changing the -fabric-ccenv in the future. - -`Change Log `__ - -`v1.1.0-preview `__ - November 1, 2017 ---------------------------------------------------------------------------------------------------------- -This is a *preview* release of the up-coming 1.1 release. We are not feature -complete for 1.1 just yet, but we wanted to get the following functionality -published to gain some early community feedback on the following features: - - - `FAB-2331 `__ - Node.js Chaincode - - `FAB-5363 `__ - Node.js SDK Connection Profile - - `FAB-830 `__ - Encryption library for chaincode - - `FAB-5346 `__ - Attribute-based Access Control - - `FAB-6089 `__ - Chaincode APIs to retrieve creator cert info - - `FAB-6421 `__ - Performance improvements - -Additionally, there are the usual bug fixes, documentation and test coverage -improvements, UX improvements based on user feedback and changes to address a -variety of static scan findings (unused code, static security scanning, spelling, -linting and more). - -Known Vulnerabilities ---------------------- -none - -Resolved Vulnerabilities ------------------------- -none - -Known Issues & Workarounds --------------------------- -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. - -Please refer to `FAB-5177 `__ for more details, -and kindly be aware that given the above, we may end up changing the -fabric-ccenv in the future. - -`Change Log `__ - -`v1.0.4 `__ - October 31, 2017 ------------------------------------------------------------------------------------------ -Bug fixes, documentation and test coverage improvements, UX improvements -based on user feedback and changes to address a variety of static scan -findings (unused code, static security scanning, spelling, linting and more). - -Known Vulnerabilities ---------------------- -none - -Resolved Vulnerabilities ------------------------- -none - -Known Issues & Workarounds --------------------------- -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. - -Please refer to https://jira.hyperledger.org/browse/FAB-5177 for more details, -and kindly be aware that given the above, we may end up changing the -fabric-ccenv in the future. - -`Change Log `__ - -`v1.0.3 `__ - October 3, 2017 ----------------------------------------------------------------------------------------- - -Bug fixes, documentation and test coverage improvements, UX improvements -based on user feedback and changes to address a variety of static scan -findings (unused code, static security scanning, spelling, linting and more). - -Known Vulnerabilities -none - -Resolved Vulnerabilities -none - -Known Issues & Workarounds -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. - -Please refer to https://jira.hyperledger.org/browse/FAB-5177 for more details, -and kindly be aware that given the above, we may end up changing the -fabric-ccenv in the future. - -`Change Log `__ - -`v1.0.2 `__ - August 31, 2017 ----------------------------------------------------------------------------------------- - -Bug fixes, documentation and test coverage improvements, UX improvements -based on user feedback and changes to address a variety of static scan -findings (unused code, static security scanning, spelling, linting and more). - -Known Vulnerabilities -none - -Resolved Vulnerabilities -https://jira.hyperledger.org/browse/FAB-5753 -https://jira.hyperledger.org/browse/FAB-5899 - -Known Issues & Workarounds -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. - -Please refer to https://jira.hyperledger.org/browse/FAB-5177 for more details, -and kindly be aware that given the above, we may end up changing the -fabric-ccenv in the future. - -`Change Log `__ - -`v1.0.1 `__ - August 5, 2017 ---------------------------------------------------------------------------------------- - -Bug fixes, documentation and test coverage improvements, UX improvements -based on user feedback and changes to address a variety of static scan -findings (unused code, static security scanning, spelling, linting and more). - -Known Vulnerabilities -none - -Resolved Vulnerabilities -https://jira.hyperledger.org/browse/FAB-5329 -https://jira.hyperledger.org/browse/FAB-5330 -https://jira.hyperledger.org/browse/FAB-5353 -https://jira.hyperledger.org/browse/FAB-5529 -https://jira.hyperledger.org/browse/FAB-5606 -https://jira.hyperledger.org/browse/FAB-5627 - -Known Issues & Workarounds -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. - -Please refer to https://jira.hyperledger.org/browse/FAB-5177 for more details, -and kindly be aware that given the above, we may end up changing the -fabric-ccenv in the future. - -`Change Log `__ - -`v1.0.0 `__ - July 11, 2017 --------------------------------------------------------------------------------------- - -Bug fixes, documentation and test coverage improvements, UX improvements -based on user feedback and changes to address a variety of static scan -findings (removal of unused code, static security scanning, spelling, linting -and more). - -Known Vulnerabilities -none - -Resolved Vulnerabilities -https://jira.hyperledger.org/browse/FAB-5207 - -Known Issues & Workarounds -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. - -Please refer to https://jira.hyperledger.org/browse/FAB-5177 for more details, -and kindly be aware that given the above, we may end up changing the -fabric-ccenv in the future. - -`Change Log `__ - -`v1.0.0-rc1 `__ - June 23, 2017 ----------------------------------------------------------------------------------------------- - -Bug fixes, documentation and test coverage improvements, UX improvements -based on user feedback and changes to address a variety of static scan -findings (unused code, static security scanning, spelling, linting and more). - -Known Vulnerabilities -none - -Resolved Vulnerabilities -https://jira.hyperledger.org/browse/FAB-4856 -https://jira.hyperledger.org/browse/FAB-4848 -https://jira.hyperledger.org/browse/FAB-4751 -https://jira.hyperledger.org/browse/FAB-4626 -https://jira.hyperledger.org/browse/FAB-4567 -https://jira.hyperledger.org/browse/FAB-3715 - -Known Issues & Workarounds -none - -`Change Log `__ - -`v1.0.0-beta `__ - June 8, 2017 ------------------------------------------------------------------------------------------------ - -Bug fixes, documentation and test coverage improvements, UX improvements based -on user feedback and changes to address a variety of static scan findings (unused -code, static security scanning, spelling, linting and more). - -Upgraded to `latest version `__ (a -precursor to 1.4.0) of gRPC-go and implemented keep-alive feature for improved -resiliency. - -Added a `new tool `__ -`configtxlator` to enable users to translate the contents of a channel configuration transaction -into a human readable form. - -Known Vulnerabilities - -none - -Resolved Vulnerabilities - -none - -Known Issues & Workarounds - -BCCSP content in the configtx.yaml has been `removed `__. This change will cause a panic when running `configtxgen` tool with a configtx.yaml file that includes the removed BCCSP content. - -Java Chaincode support has been disabled until post 1.0.0 as it is not yet fully mature. It may be re-enabled for experimentation by cloning the hyperledger/fabric repository, reversing `this commit `__ and building your own fork. - -`Change Log `__ - -`v1.0.0-alpha2 `__ ------------------------------------------------------------------------------------- - -The second alpha release of the v1.0.0 Hyperledger Fabric. The code is -now feature complete. From now until the v1.0.0 release, the community is -focused on documentation improvements, testing, hardening, bug fixing and -tooling. We will be releasing successive release candidates periodically as -the release firms up. - -`Change Log `__ - -`v1.0.0-alpha `__ - March 16, 2017 ---------------------------------------------------------------------------------------------------- - -The first alpha release of the v1.0.0 Hyperledger Fabric. The code is -being made available to developers to begin exploring the v1.0 architecture. - -`Change Log `__ - -`v0.6-preview `__ -September 16, 2016 - -A developer preview release of the Hyperledger Fabric intended to -exercise the release logistics and stabilize a set of capabilities for -developers to try out. This will be the last release under the original -architecture. All subsequent releases will deliver on the v1.0 -architecture. - -`Change Log `__ - -`v0.5-developer-preview `__ - June 17, 2016 ------------------------------------------------------------------------------------------------------------------------ - -A developer preview release of the Hyperledger Fabric intended to -exercise the release logistics and stabilize a set of capabilities for -developers to try out. - -Key features: - -Permissioned blockchain with immediate finality Chaincode (aka smart -contract) execution environments Docker container (user chaincode) -In-process with peer (system chaincode) Pluggable consensus with PBFT, -NOOPS (development mode), SIEVE (prototype) Event framework supports -pre-defined and custom events Client SDK (Node.js), basic REST APIs and -CLIs Known Key Bugs and work in progress - -- 1895 - Client SDK interfaces may crash if wrong parameter specified -- 1901 - Slow response after a few hours of stress testing -- 1911 - Missing peer event listener on the client SDK -- 889 - The attributes in the TCert are not encrypted. This work is - still on-going +All of the other Fabric releases are documented +`here `. .. Licensed under Creative Commons Attribution 4.0 International License https://creativecommons.org/licenses/by/4.0/ diff --git a/release_notes/unreleased-draft.txt b/release_notes/unreleased-draft.txt deleted file mode 100644 index 1ad96857b6b..00000000000 --- a/release_notes/unreleased-draft.txt +++ /dev/null @@ -1,49 +0,0 @@ -UNRELEASED DRAFT (1.2) ----------------------- - -Release Notes -------------- - -Known Vulnerabilities ---------------------- -none - -Resolved Vulnerabilities ------------------------- -none - -Known Issues & Workarounds --------------------------- -Previous releases included example input files for configtxgen (configtx.yaml) -that contained invalid YAML. This was discovered as we were moving to a newer -YAML parser. - -While we have corrected the examples, users are advised to evaluate their -configtxgen input documents for places were YAML anchors are referenced before -they are defined. Nodes should be reordered to ensure anchors are defined -before referenced. - -Please refer to https://jira.hyperledger.org/browse/FAB-10151 for more -details. - -There is a change how some of the indexes maintained by ledger are updated. -Specifically, this include indexes that maintain information by txid. In a rare -scenario where there are more than one transactions with same transaction ids, -in the Previous releases, the last transaction would be indexed. However, in this -release, the behaviour is changed and the first transaction will not be overwritten -in the index. See https://jira.hyperledger.org/browse/FAB-8557 for more details. - -This change may cause peers in a network giving different answers to the queries -that are answered using these indexes. This can happen when during upgrade when some of -the peers are still on the previous release and hence indexing transaction based on the -previous behavior. The queries that may show this effect include 'GetTransactionByID', -'GetBlockByTxID', via qscc. TODO - check whether 'GetTxValidationCodeByTxID' ledger -api is also exposed by some other mean. - -As noted above that in a permissioned network, duplicate transaction ids would be a rare -situation, however, if the above mentioned different query response is observed, it can be -resolved by rebuilding the block storage indexes. - - -Change Log ----------- diff --git a/release_notes/v1.2.0-rc1.txt b/release_notes/v1.2.0-rc1.txt new file mode 100644 index 00000000000..91a93bfb385 --- /dev/null +++ b/release_notes/v1.2.0-rc1.txt @@ -0,0 +1,99 @@ +v1.2.0-rc1 Release Notes - June 22, 2018 +---------------------------------------- + +What's New in v1.2 +------------------ + +The following features/epics are included in this release: + +FAB-8718 - Channel Private Data +Keep chaincode data confidential among a subset of channel members. + +FAB-8727 - Access control for peer functions +Configure which client identities can interact with peer functions, per channel. + +FAB-8729 - Pluggable endorsement and validation +Utilize pluggable endorsement and validation logic per chaincode. + +FAB-8779 - Service Discovery +Discover network services dynamically, including orderers, peers, chaincode, +and endorsement policies, to simplify client applications. + +Hygiene and Technical debt +Ginkgo-based integration tests have been added, and component code has been +refactored for improved readability and maintainability. + + +Changes, Known Issues, and Workarounds +-------------------------------------- + +FAB-10151 - configtx.yaml samples fixed + +Previous releases included example input files for configtxgen (configtx.yaml) +that contained invalid YAML which referenced YAML anchors before they were +defined. It was not a problem in prior releases since the golang YAML parser +tolerated references before definitions. +The configtx.yaml samples are corrected in version v1.2. Users are advised +to evaluate their configtxgen input documents for places where YAML anchors +are referenced before they are defined. Either reorder nodes to ensure +anchors are defined before they are referenced, or re-create YAML documents +using the updated configtx.yaml sample documents as a starting point. +Refer to https://jira.hyperledger.org/browse/FAB-10151 for more details. + + +FAB-8557 - Transaction index and query behavior changed + +There is a change to how some of the indexes maintained by ledger are updated. +Specifically, this includes indexes that maintain information by txid. In the rare +scenario when two transactions were submitted with the same transaction ids, +in the previous releases, the last transaction would be indexed. Only the first +instance of a transaction can be valid, therefore it was possible for an invalid +transaction to overwrite the status of a valid transaction, and therefore APIs +such as 'GetTransactionByID' and 'GetBlockByTxID' may return the latter invalid +transaction. In these cases the ledger remained correct, however transaction +queries may have returned unexpected results. +In this release, the behavior is changed so that the first transaction (the only +instance that can be valid) will not be overwritten in the index. +In the rare scenario where this problem has occurred on a channel, the peer's +transaction index can be rebuilt after upgrading to version v1.2, by stopping the +peer, deleting the /ledgersData/chains/index directory, +and restarting the peer. The peer will automatically rebuild its indexes +using the new behavior. +Refer to https://jira.hyperledger.org/browse/FAB-8557 for more details. + + +FAB-8877 - Reserved field validation for CouchDB state database + +Prior releases did not validate chaincode data against all state database +content restrictions. Specifically, version v1.2 adds validation during +chaincode execution to ensure that keys that will be written to CouchDB +state database are UTF8 complaint, do not start with an underscore, and +that there are no top-level JSON fields named '~version' or that start with +underscores, as these fields are reserved for use by CouchDB (and Fabric). +If these conditions are found during chaincode execution, an error will +be returned to the client in the proposal response. +For the same reason, all peers on a channel must utilize the same state +database type, and it is not possible to convert a channel's peers from +using LevelDB state database to CouchDB state database, unless the +chaincode performs the same validations. +Refer to https://jira.hyperledger.org/browse/FAB-8877 for more details. + + +Known Vulnerabilities +--------------------- +FAB-8664 - Peer does not detect his own org ejection +This is a relatively low severity problem, because it requires a significant +conspiracy of network admins, but it will be addressed in an upcoming release. + + +Resolved Vulnerabilities +------------------------ +FAB-10537 - Reject CONFIG/ORDERER_TRANSACTION messages +Ensures that clients cannot submit transactions intended to be generated +from orderer nodes. + + +Other improvements and fixes +---------------------------- +For the full list of improvements and fixes, refer to the release change log: +https://github.com/hyperledger/fabric/blob/master/CHANGELOG.md#v120-rc1 diff --git a/scripts/bootstrap.sh b/scripts/bootstrap.sh index 6f6af866cf1..16312f8fd4d 100755 --- a/scripts/bootstrap.sh +++ b/scripts/bootstrap.sh @@ -6,11 +6,11 @@ # # if version not passed in, default to latest released version -export VERSION=1.1.0 +export VERSION=1.2.0-rc1 # if ca version not passed in, default to latest released version export CA_VERSION=$VERSION # current version of thirdparty images (couchdb, kafka and zookeeper) released -export THIRDPARTY_IMAGE_VERSION=0.4.6 +export THIRDPARTY_IMAGE_VERSION=0.4.8 export ARCH=$(echo "$(uname -s|tr '[:upper:]' '[:lower:]'|sed 's/mingw64_nt.*/windows/')-$(uname -m | sed 's/x86_64/amd64/g')") export MARCH=$(uname -m)