Skip to content

Commit

Permalink
Release commit for v2.5.4 (#4344)
Browse files Browse the repository at this point in the history
Add docs and release notes for v2.5.4 release.

Signed-off-by: David Enyeart <enyeart@us.ibm.com>
  • Loading branch information
denyeart authored Aug 1, 2023
1 parent bcd3eb5 commit e1e8e2e
Show file tree
Hide file tree
Showing 6 changed files with 122 additions and 9 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
# - verify - runs unit tests for only the changed package tree

UBUNTU_VER ?= 20.04
FABRIC_VER ?= 2.5.3
FABRIC_VER ?= 2.5.4

# 3rd party image version
# These versions are also set in the runners in ./integration/runners/
Expand Down
6 changes: 3 additions & 3 deletions docs/source/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Run the script with the `-h` option to see the options:
./install-fabric.sh -h
Usage: ./install-fabric.sh [-f|--fabric-version <arg>] [-c|--ca-version <arg>] <comp-1> [<comp-2>] ... [<comp-n>] ...
<comp>: Component to install one or more of d[ocker]|b[inary]|s[amples]. If none specified, all will be installed
-f, --fabric-version: FabricVersion (default: '2.5.3')
-f, --fabric-version: FabricVersion (default: '2.5.4')
-c, --ca-version: Fabric CA Version (default: '1.5.6')
```

Expand All @@ -70,10 +70,10 @@ If no arguments are supplied, then the arguments `docker binary samples` are ass

By default the latest version of the components are used; these can be altered by using the options `--fabric-version` and `-ca-version`. `-f` and `-c` are the respective short forms.

For example, to download the v2.5.3 binaries, run this command
For example, to download the v2.5.4 binaries, run this command

```bash
./install-fabric.sh --fabric-version 2.5.3 binary
./install-fabric.sh --fabric-version 2.5.4 binary
```

You have completed installing Fabric samples, Docker images, and binaries to your system.
Expand Down
1 change: 1 addition & 0 deletions docs/source/whatsnew.rst
Original file line number Diff line number Diff line change
Expand Up @@ -337,6 +337,7 @@ Specifically, take a look at the changes and deprecations.
* `Fabric v2.5.1 release notes <https://github.com/hyperledger/fabric/releases/tag/v2.5.1>`_.
* `Fabric v2.5.2 release notes <https://github.com/hyperledger/fabric/releases/tag/v2.5.2>`_.
* `Fabric v2.5.3 release notes <https://github.com/hyperledger/fabric/releases/tag/v2.5.3>`_.
* `Fabric v2.5.4 release notes <https://github.com/hyperledger/fabric/releases/tag/v2.5.4>`_.

.. Licensed under Creative Commons Attribution 4.0 International License
https://creativecommons.org/licenses/by/4.0/
112 changes: 112 additions & 0 deletions release_notes/v2.5.4.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
v2.5.4 Release Notes - August 2, 2023
=====================================

Fixes
-----

**Misconfigured certificate can cause a peer or orderer node to fail**

A misconfigured certificate can cause a peer or ordering service node to fail with error:
`runtime error: index out of range [1] with length 1`.
Additional handling of certificates in Go 1.19 and above did not handle an error condition correctly.
The fix will now log an error `failed to traverse certificate verification chain` instead of failing the peer or orderer node.
[#4320](https://github.com/hyperledger/fabric/pull/4320)

**Orderer startup may fail due to max entry size limit exceeded**

An ordering service node with large blocks may fail to start with error:
`Failed to create chain support for channel, error: error creating consenter for channel: failed to restore persisted raft data: failed to create or read WAL: failed to read WAL and cannot repair: wal: max entry size limit exceeded`.
The version of etcd raft included in Fabric v2.5 had a maximum wal (write-ahead log) entry size of 10MB. The issue has been fixed in later versions of etcd raft. Fabric v2.5.4 updates etcd raft to v3.5.9 which includes the fix.
[#4343](https://github.com/hyperledger/fabric/pull/4343)


Dependencies
------------
Fabric v2.5.4 has been tested with the following dependencies:
* Go 1.20.6
* CouchDB v3.3.2

Fabric docker images on dockerhub utilize Ubuntu 20.04.


Deprecations (existing)
-----------------------

**Ordering service system channel is deprecated**

v2.3 introduced the ability to manage an ordering service without a system channel.
Managing an ordering service without a system channel has privacy, scalability,
and operational benefits. The use of a system channel is deprecated and may be removed in a future release.
For information about removal of the system channel, see the [Create a channel without system channel documentation](https://hyperledger-fabric.readthedocs.io/en/release-2.3/create_channel/create_channel_participation.html).

**FAB-15754: The 'Solo' consensus type is deprecated.**

The 'Solo' consensus type has always been marked non-production and should be in
use only in test environments; however, for compatibility it is still available,
but may be removed entirely in a future release.

**FAB-16408: The 'Kafka' consensus type is deprecated.**

The 'Raft' consensus type was introduced in v1.4.1 and has become the preferred
production consensus type. There is a documented and tested migration path from
Kafka to Raft, and existing users should migrate to the newer Raft consensus type.
For compatibility with existing deployments, Kafka is still supported,
but may be removed entirely in a future release.
Additionally, the fabric-kafka and fabric-zookeeper docker images are no longer updated, maintained, or published.

**Fabric CouchDB image is deprecated**

v2.2.0 added support for CouchDB 3.1.0 as the recommended and tested version of CouchDB.
If prior versions are utilized, a Warning will appear in the peer log.
Note that CouchDB 3.1.0 requires that an admin username and password be set,
while this was optional in CouchDB v2.x. See the
[Fabric CouchDB documentation](https://hyperledger-fabric.readthedocs.io/en/v2.2.0/couchdb_as_state_database.html#couchdb-configuration)
for configuration details.
Also note that CouchDB 3.1.0 default max_document_size is reduced to 8MB. Set a higher value if needed in your environment.
Finally, the fabric-couchdb docker image will not be updated to v3.1.0 and will no longer be updated, maintained, or published.
Users can utilize the official CouchDB docker image maintained by the Apache CouchDB project instead.

**FAB-7559: Support for specifying orderer endpoints at the global level in channel configuration is deprecated.**

Utilize the new 'OrdererEndpoints' stanza within the channel configuration of an organization instead.
Configuring orderer endpoints at the organization level accommodates
scenarios where orderers are run by different organizations. Using
this configuration ensures that only the TLS CA certificates of that organization
are used for orderer communications; in contrast to the global channel level endpoints which
would cause an aggregation of all orderer TLS CA certificates across
all orderer organizations to be used for orderer communications.

**FAB-17428: Support for configtxgen flag `--outputAnchorPeersUpdate` is deprecated.**

The `--outputAnchorPeersUpdate` mechanism for updating anchor peers has always had
limitations (for instance, it only works the first time anchor peers are updated).
Instead, anchor peer updates should be performed through channel configuration updates.

**FAB-15406: The fabric-tools docker image is deprecated**

The fabric-tools docker image will not be published in future Fabric releases.
Instead of using the fabric-tools docker image, users should utilize the
published Fabric binaries. The Fabric binaries can be used to make client calls
to Fabric runtime components, regardless of where the Fabric components are running.

**FAB-15317: Block dissemination via gossip is deprecated**

Block dissemination via gossip is deprecated and may be removed in a future release.
Fabric peers can be configured to receive blocks directly from an ordering service
node, and not gossip blocks, by using the following configuration:
```
peer.gossip.orgLeader: true
peer.gossip.useLeaderElection: false
peer.gossip.state.enabled: false
peer.deliveryclient.blockGossipEnabled: false
```

**FAB-15061: Legacy chaincode lifecycle is deprecated**

The legacy chaincode lifecycle from v1.x is deprecated and will be removed
in a future release. To prepare for the eventual removal, utilize the v2.x
chaincode lifecycle instead, by enabling V2_0 application capability on all
channels, and redeploying all chaincodes using the v2.x lifecycle. The new
chaincode lifecycle provides a more flexible and robust governance model
for chaincodes. For more details see the
[documentation for enabling the new lifecycle](https://hyperledger-fabric.readthedocs.io/en/release-2.2/enable_cc_lifecycle.html).
6 changes: 3 additions & 3 deletions scripts/bootstrap.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
#

# if version not passed in, default to latest released version
VERSION=2.5.3
VERSION=2.5.4
# if ca version not passed in, default to latest released version
CA_VERSION=1.5.6
ARCH=$(echo "$(uname -s|tr '[:upper:]' '[:lower:]'|sed 's/mingw64_nt.*/windows/')-$(uname -m |sed 's/x86_64/amd64/g')" |sed 's/darwin-arm64/darwin-amd64/g')
Expand All @@ -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.5.3 1.5.6 -s"
echo "will download docker images and binaries for Fabric v2.5.3 and Fabric CA v1.5.6"
echo "e.g. bootstrap.sh 2.5.4 1.5.6 -s"
echo "will download docker images and binaries for Fabric v2.5.4 and Fabric CA v1.5.6"
}

# dockerPull() pulls docker images from fabric and chaincode repositories
Expand Down
4 changes: 2 additions & 2 deletions scripts/install-fabric.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,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.5.3"
_arg_fabric_version="2.5.4"
_arg_ca_version="1.5.6"

REGISTRY=${FABRIC_DOCKER_REGISTRY:-docker.io/hyperledger}
Expand Down Expand Up @@ -50,7 +50,7 @@ print_help()
{
printf 'Usage: %s [-f|--fabric-version <arg>] [-c|--ca-version <arg>] <comp-1> [<comp-2>] ... [<comp-n>] ...\n' "$0"
printf '\t%s\n' "<comp> Component to install, one or more of docker | binary | samples | podman First letter of component also accepted; If none specified docker | binary | samples is assumed"
printf '\t%s\n' "-f, --fabric-version: FabricVersion (default: '2.5.3')"
printf '\t%s\n' "-f, --fabric-version: FabricVersion (default: '2.5.4')"
printf '\t%s\n' "-c, --ca-version: Fabric CA Version (default: '1.5.6')"
}

Expand Down

0 comments on commit e1e8e2e

Please sign in to comment.