v2.4.4 Release Notes - June 17, 2022
Improvements
peer - Add a "gateway.responsechecker" logger for logging endorsement response differences
To assist with troubleshooting when endorsement responses are different across multiple peers, the new "gateway.responsechecker" logger will log warnings indicating which parts of endorsement responses are different.
peer - Enable gateway service to invoke system chaincodes
The gateway service can now invoke system chaincodes such as QSCC when requested by a client application.
peer - Enable resume of chaincode event listening
Enables the client to (optionally) specify an AfterTransactionId property in addition to a start block number when requesting chaincode events, which causes chaincode events up to that transaction ID (inclusive) to be ignored and not returned to the client.
This supports resume of chaincode event listening on client reconnect without duplicating or missing any events.
Dependencies
Fabric v2.4.4 has been tested with the following dependencies:
- Go 1.18.2
- CouchDB v3.2.2
Fabric docker images on dockerhub utilize Alpine 3.16.
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.
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 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
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 the normal config update flow.
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.
Changes:
- 1473eca Release commit for v2.4.4 (#3487)
- 6f4282b Fix gossip unit test flake (#3215)
- a914ec3 Bump Alpine to 3.16 (release-2.4) (#3472)
- 8ffd334 Locate correct block number for transaction ID in ChaincodeEvents (#3289)
- f64eea2 Refactor of ChaincodeEvents service implementation to support resume (#3283)
- 02d63c3 Add -buildvcs=false for building binaries
- 60638b5 Improved gateway error for transient data failure [ #3328 ]
- a6947fa Use any peer to evaluate system chaincode transactions (#3447)
- 135c268 Improve response mismatch logging
- 29fea4f Log proposal response differences (backport #3420)
See More
- 4c6ef91 Bump CouchDB to 3.2.2 (#3369)
- c8f83e4 caas review comments
- 3c2c2f8 no mdash char supported
- 24e6f34 new caas page
- 6588ed2 Bump Go to 1.18.2 (#3423)
- e5ad0ef Update chaincode language parameter name
- ffbd37b Fix hyperlink
- 566a1a6 Fix warning log printing
- ae316aa Properly handle concurrent building of chaincode packages
- 37cca19 Update cc_service.md (#3355) (#3366)
- 1c97ab1 Node 16 and v1.4 libraries (#3357)
- f6e8336 certs mgmt guide (#3307)
- f614fb5 Additional TLS troubleshooting information (#3346)
- 1fb499a Handle empty policies when traversing the policy tree in discovery policy analysis (#3335)
- 0396bf9 Ignore channel double creation during replication. [ #2931 ]
- 458345a Add in the CCAAS builders to the tgz package
This list of changes was auto generated.