diff --git a/README.md b/README.md index e98bdb1a6ca..4083e7c736a 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,7 @@ Follow the release discussion on the [#fabric-release](https://chat.hyperledger. Please visit our online documentation for information on getting started using and developing with the fabric, SDK and chaincode: +- [v2.4](http://hyperledger-fabric.readthedocs.io/en/release-2.4/) - [v2.3](http://hyperledger-fabric.readthedocs.io/en/release-2.3/) - [v2.2](http://hyperledger-fabric.readthedocs.io/en/release-2.2/) - [v2.1](http://hyperledger-fabric.readthedocs.io/en/release-2.1/) diff --git a/docs/source/install.md b/docs/source/install.md index 326fc1e1f07..6915ae08ed2 100644 --- a/docs/source/install.md +++ b/docs/source/install.md @@ -46,11 +46,11 @@ To view the help and available commands for the download script, please use the curl -sSL https://bit.ly/2ysbOFE | bash -s -- -h ``` -To download a specific release, pass a version identifier for Fabric and Fabric CA Docker images. The command below demonstrates how to download the latest production releases - `Fabric v2.3.3` and `Fabric CA v1.5.2`  +To download a specific release, pass a version identifier for Fabric and Fabric CA Docker images. The command below demonstrates how to download the latest production releases - `Fabric v2.4.0` and `Fabric CA v1.5.2`  ```shell curl -sSL https://bit.ly/2ysbOFE | bash -s -- -curl -sSL https://bit.ly/2ysbOFE | bash -s -- 2.3.3 1.5.2 +curl -sSL https://bit.ly/2ysbOFE | bash -s -- 2.4.0 1.5.2 ``` ## Notes diff --git a/docs/source/whatsnew.rst b/docs/source/whatsnew.rst index b27854de220..2dab07153ac 100644 --- a/docs/source/whatsnew.rst +++ b/docs/source/whatsnew.rst @@ -1,6 +1,49 @@ What's new in Hyperledger Fabric v2.x ===================================== +What's New in Hyperledger Fabric v2.4 +------------------------------------- + +Fabric Gateway +^^^^^^^^^^^^^^ + +Fabric Gateway is a new service running on peer nodes that manages transaction submission and processing for client applications, with the following benefits: + +* Simplifies client applications and SDKs - Your client application can simply delegate transaction submission to a trusted peer. There is no need for your application to open connections to peer nodes and ordering service nodes from other organizations. +* Fabric Gateway manages the collection of transaction endorsements from other organizations and submission to the ordering service on behalf of client applications. +* Fabric Gateway has intelligence to determine what endorsements are required for a given transaction, even if your solution utilizes a combination of chaincode-level endorsement policies, private data collection endorsement policies, and state-based endorsement policies. + +New lightweight Gateway SDKs (v1.0.0) are available for Node, Java, and Go. The SDKs support flexible application patterns: + +* You can utilize the high-level programming model similar to prior SDK versions, allowing your application to simply call a single SubmitTransaction() function. +* More advanced applications can leverage the gateway's individual Endorse, Submit, and CommitStatus services for transaction submission, and the Evaluate service for queries. +* You can delegate transaction endorsement entirely to the gateway, or if needed, specify the endorsing organizations and the gateway will utilize a peer from each organization. + +For more information, see the :doc:`gateway` topic. + +Peer node unjoin +^^^^^^^^^^^^^^^^ + +You can now unjoin a peer from a channel when the channel is no longer needed. All channel resources will be removed from the peer and the peer will no longer process blocks from the channel. + +For more details, see the `peer node unjoin` :doc:`command reference topic`. + +Calculate package ID of a packaged chaincode +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +You can calculate the package ID from a packaged chaincode without installing the chaincode on peers using the new `peer lifecycle chaincode calculatepackageid` command. +This command will be useful, for example, in the following scenarios: + +* When multiple chaincode packages with the same label name are installed, it is possible to identify which ID corresponds to which package later. +* To check whether a particular chaincode package is installed or not without installing that package. + +For more information, see the `peer lifecycle chaincode calculatepackageid` :doc:`command reference topic`. + + +.. note:: + + While Fabric v2.4.0 introduces new features, Fabric v2.2.x remains the current long-term support release until the next LTS release is announced. + What's New in Hyperledger Fabric v2.3 ------------------------------------- @@ -279,6 +322,7 @@ announced in each of the v2.x releases. * `Fabric v2.3.1 release notes `_. * `Fabric v2.3.2 release notes `_. * `Fabric v2.3.3 release notes `_. +* `Fabric v2.4.0 release notes `_. .. Licensed under Creative Commons Attribution 4.0 International License https://creativecommons.org/licenses/by/4.0/ diff --git a/scripts/bootstrap.sh b/scripts/bootstrap.sh index 0867663c989..351e511b307 100755 --- a/scripts/bootstrap.sh +++ b/scripts/bootstrap.sh @@ -6,7 +6,7 @@ # # if version not passed in, default to latest released version -VERSION=2.3.3 +VERSION=2.4.0 # if ca version not passed in, default to latest released version CA_VERSION=1.5.2 ARCH=$(echo "$(uname -s|tr '[:upper:]' '[:lower:]'|sed 's/mingw64_nt.*/windows/')-$(uname -m | sed 's/x86_64/amd64/g')") @@ -21,8 +21,8 @@ printHelp() { echo "-s : bypass fabric-samples repo clone" echo "-b : bypass download of platform-specific binaries" echo - echo "e.g. bootstrap.sh 2.3.3 1.5.2 -s" - echo "will download docker images and binaries for Fabric v2.3.3 and Fabric CA v1.5.2" + echo "e.g. bootstrap.sh 2.4.0 1.5.2 -s" + echo "will download docker images and binaries for Fabric v2.4.0 and Fabric CA v1.5.2" } # dockerPull() pulls docker images from fabric and chaincode repositories diff --git a/scripts/install-fabric.sh b/scripts/install-fabric.sh index feb7eede9c2..a89d413eb5b 100755 --- a/scripts/install-fabric.sh +++ b/scripts/install-fabric.sh @@ -7,7 +7,7 @@ # A modified version of the Fabric bootstrap script # Use positional arguments to select componenets to install -# +# # Has exactly the same functional power of bootstrap.sh @@ -23,7 +23,7 @@ _arg_comp=('' ) # if version not passed in, default to latest released version # if ca version not passed in, default to latest released version -_arg_fabric_version="2.3.3" +_arg_fabric_version="2.4.0" _arg_ca_version="1.5.2" ARCH=$(echo "$(uname -s|tr '[:upper:]' '[:lower:]'|sed 's/mingw64_nt.*/windows/')-$(uname -m | sed 's/x86_64/amd64/g')") @@ -51,7 +51,7 @@ print_help() { printf 'Usage: %s [-f|--fabric-version ] [-c|--ca-version ] [] ... [] ...\n' "$0" printf '\t%s\n' ": Component to install one or more of d[ocker]|b[inary]|s[amples]. If none specified, all will be installed" - printf '\t%s\n' "-f, --fabric-version: FabricVersion (default: '2.3.3')" + printf '\t%s\n' "-f, --fabric-version: FabricVersion (default: '2.4.0')" printf '\t%s\n' "-c, --ca-version: Fabric CA Version (default: '1.5.2')" } @@ -86,7 +86,7 @@ parse_commandline() -h*) print_help exit 0 - ;; + ;; --ca-version=*) _arg_ca_version="${_key##--ca-version=}" ;; @@ -187,7 +187,7 @@ download() { if [ -d fabric-samples ]; then DEST_DIR="fabric-samples" fi - echo "===> Will unpack to: ${DEST_DIR}" + echo "===> Will unpack to: ${DEST_DIR}" curl -L --retry 5 --retry-delay 3 "${URL}" | tar xz -C ${DEST_DIR}|| rc=$? if [ -n "$rc" ]; then echo "==> There was an error downloading the binary file." @@ -280,7 +280,7 @@ if [[ "${_arg_comp[@]}" =~ s(amples)? ]]; then echo cloneSamplesRepo fi - + if [[ "${_arg_comp[@]}" =~ b(inary)? ]]; then echo echo "Pull Hyperledger Fabric binaries" @@ -294,4 +294,3 @@ if [[ ${_arg_comp[@]} =~ d(ocker)? ]]; then echo pullDockerImages fi -