Hyperledger Fabric is an enterprise-grade permissioned distributed ledger framework for developing solutions and applications. Its modular and versatile design satisfies a broad range of industry use cases. It offers a unique approach to consensus that enables performance at scale while preserving privacy.
Fabric v2.5.0-alpha3 has been tested with the following dependencies:
Fabric docker images on dockerhub utilize Ubuntu 20.04
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 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 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.
Fabric v2.5.0-alpha2 has been tested with the following dependencies:
Fabric docker images on dockerhub utilize Alpine 3.16.
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 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 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.
Fabric v2.5.0-alpha has been tested with the following dependencies:
Fabric docker images on dockerhub utilize Alpine 3.16.
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 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 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.
peer - Avoid gateway nil pointer exception
Return error for any unexpected nil conditions in gateway component to avoid nil pointer exceptions.
peer - Allow Hardware Security Module (HSM) configuration to be set with environment variables
The configuration parameters for the BCCSP PKCS11 component could not be set using environment variables. This fix ensures that configuration parameters can be set using environment variables, for example:
CORE_PEER_BCCSP_DEFAULT=PKCS11
CORE_PEER_BCCSP_PKCS11_LIBRARY=/etc/hyperledger/fabric/libsofthsm2.so
CORE_PEER_BCCSP_PKCS11_PIN=71811222
CORE_PEER_BCCSP_PKCS11_LABEL=fabric
peer - Add delivery client logging
Add peer logging for delivery client connections and disconnections to improve serviceability.
Fabric v2.4.7 has been tested with the following dependencies:
Fabric docker images on dockerhub utilize Alpine 3.16.
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.
peer - Add delivery client logging
Add peer logging for delivery client connections and disconnections to improve serviceability.
Fabric v2.2.9 has been tested with the following dependencies:
Fabric docker images on dockerhub utilize Alpine 3.16.
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 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.
orderer - Fix active nodes metric
Fix active nodes metrics for etcdraft ordering service when a node is evicted.
peer - Handle malformed gateway request
If a gateway client sends a malformed request to a peer it may crash the peer node. This fix checks for the malformed request and returns an error to the gateway client.
Make chaincode-as-a-service (ccaas) builder available in all release distributions
The chaincode-as-a-service (ccaas) builder executables for build
, detect
, and release
are now available in the Fabric release tar at builders/ccaas/bin
.
Fabric v2.4.6 has been tested with the following dependencies:
Fabric docker images on dockerhub utilize Alpine 3.16.
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.
-O json
option to calculatepackageid
calculatepackageid
commandcalculatepackageid
commandcalculatepackageid
commandBlockWriter
BlockWriter
InstallChaincode
--ctor
JSON stringThis list of changes was auto generated.
peer - Ability to override core.yaml chaincode.externalBuilders via environment variable
Since chaincode.externalBuilders is an array, it previously was not possible to set via environment variable override. It is now possible to override chaincode.externalBuilders using an environment variable using the format CORE_CHAINCODE_EXTERNALBUILDERS=[{name: x, path: dir1}, {name: y, path: dir2}].
Fabric v2.2.8 has been tested with the following dependencies:
Fabric docker images on dockerhub utilize Alpine 3.16.
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 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.
--ctor
JSON stringinternational_languages.md
This list of changes was auto generated.
orderer - Handle malformed consensus request
If a consensus client sends a malformed consensus request to an orderer it may crash the orderer node. This fix checks for the malformed consensus request and returns an error to the consensus client.
Fabric v2.4.4 has been tested with the following dependencies:
Fabric docker images on dockerhub utilize Alpine 3.16.
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.
This list of changes was auto generated.
orderer - Handle malformed consensus request
If a consensus client sends a malformed consensus request to an orderer it may crash the orderer node. This fix checks for the malformed consensus request and returns an error to the consensus client.
Fabric v2.2.7 has been tested with the following dependencies:
Fabric docker images on dockerhub utilize Alpine 3.16.
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 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.
--ctor
JSON stringinternational_languages.md
This list of changes was auto generated.
peer and orderer - Handle TLS CA certificate expiry
When any TLS CA certificate configured on a channel expired, peer and orderer nodes fail to start due to MSP initialization error "setting up the MSP manager failed: CA Certificate is not valid: certificate has expired or is not yet valid". MSP initialization now ignores TLS CA certificate expiration so that the peer or orderer can start up and receive channel configuration updates with renewed TLS CA certificates.
Fabric v2.2.6 has been tested with the following dependencies:
Fabric docker images on dockerhub utilize Alpine 3.16.
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 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.
--ctor
JSON stringinternational_languages.md
This list of changes was auto generated.