v2.0.0 Release Notes - January 29, 2020
What's New in Hyperledger Fabric v2.0
The following new major features are included in the v2.0.0 release.
For additional details including upgrade steps, see the What's New documentation.
FAB-11237: Decentralized smart contract governance
Fabric 2.0 introduces decentralized governance for smart contracts, with a
new process for installing a chaincode on your peers and starting it on a
channel. The new Fabric chaincode lifecycle allows multiple organizations to
come to agreement on the parameters of a chaincode, such as the chaincode
endorsement policy, before it can be used to interact with the ledger.
New application patterns and private data enhancements
The same decentralized methods of coming to agreement that underpin the new chaincode
lifecycle management can also be used in your own chaincode applications to ensure
organizations consent to data transactions before they are committed to the ledger.
Fabric v2.0 also enables new patterns for working with and sharing private data,
without the requirement of creating private data collections for all combinations
of channel members that may want to transact. Specifically, instead of sharing private
data within a collection of multiple members, you may want to share private data
across collections, where each collection may include a single organization,
or perhaps a single organization along with a regulator or auditor.
- FAB-10889: Implicit org-specific collections
- FAB-15066: Endorsement policies for collections
- FAB-13581: memberOnlyWrite collection configuration option
- FAB-13527: GetPrivateDataHash chaincode API
- FAB-12043: Option to include private data in block events
FAB-13584: External chaincode launcher
The external chaincode launcher feature empowers operators to build and launch
chaincode with the technology of their choice. Use of external builders and
launchers is not required as the default behavior builds and runs chaincode
in the same manner as prior releases using the Docker API.
FAB-103: State database cache for CouchDB
A new peer cache improves performance when using CouchDB state database.
Important Changes
FAB-5177: The ccenv build image no longer includes the shim
The shim package and dependencies for go chaincode are no longer included in
the chaincode build environment. Chaincode packages that do not include their
own dependencies will no longer successfully build on the peer. We strongly
recommend that existing go chaincode be updated to vendor the
github.com/hyperledger/fabric-chaincode-go/shim package and its dependencies.
While there are many tools for managing vendored dependencies, we recommend
moving directly to go modules and vendoring with go mod vendor
.
FAB-15366: Logger removed from chaincode shim
Chaincode that used the shim's NewLogger() will need to shift to a new
logging mechanism. Chaincode logging is intended to be the responsibility
of the application developer. As such it should be handled using tools and
libraries that make the most sense to the chaincode developer and the
application in general. Chaincode developers can forward STDOUT and STDERR
from the chaincode container to the peer container by setting
CORE_VM_DOCKER_ATTACHSTDOUT=true
. While not recommended for production,
once enabled, each chaincode will receive its own logging channel and
STDOUT and STDERR will be integrated in the peers log on a per-line basis.
A production grade approach would be to run a log aggregation service and
forward your logs to the aggregation service.
FAB-16213: The go chaincode entities extension has been removed
Chaincode implementations that used the entities extension package from an
earlier version of Fabric will need to vendor a 1.x version of the package
for as part of their chaincode package.
FAB-12075: Client Identity (CID) library has moved
If chaincode uses client identity (CID) library, note that the source
location has moved to fabric-chaincode-go repository at location /pkg/cid.
FAB-14720: Support for CAR chaincode package format removed
FAB-15285: Support for invoking system chaincodes from user chaincodes
has been removed.
System chaincodes, for example QSCC, are intended to be
invoked by a client rather than by a user chaincode. Invoking from a user
chaincode caused deadlocks in prior releases.
FAB-15390: Support for peer's Admin service has been removed.
The peer's Admin service exposed APIs such as GetLogSpec() and SetLogSpec().
Instead of using these services, utilize the HTTP operations service that was
introduced in v1.4.0.
FAB-16303: GetHistoryForKey returns results from newest to oldest
In prior releases, the GetHistoryForKey chaincode API had no
guarantees on the order of returned results.
Starting in Fabric v2.0, the GetHistoryForKey chaincode API
will return results from newest to oldest in terms of ordered transaction
height (block height and transaction height within block).
This will allow applications to iterate through the top results
to understand recent changes to a key.
FAB-16722: The 'provisional' genesis method of generating the system channel
for orderers has been removed.
Existing users of the provisional genesis method
should instead set BootstrapMethod to 'file', and generate a genesis block file
using configtxgen. Orderer nodes will then use the generated file for the
orderer system channel.
FAB-16477 and FAB-17116: New configuration for orderer genesismethod and genesisfile
The orderer config general.genesismethod
and general.genesisfile
are replaced
by the new general.bootstrapmethod
and general.bootstrapfile
.
FAB-15343: System Chaincode Plugins have been removed.
As part of a general
move away from go plugins as an extension mechanism for Fabric, the ability to
add system chaincodes via go plugins has been removed. Users wishing to extend
Fabric with custom system chaincodes may rebuild the peer binary with the
system chaincode built into the binary. This system chaincode should then be
defined and initialized like any other user chaincode would be. This new model
is very similar to the plugin model (which required that the plugin to be built
at the same exact commit of Fabric), and addresses the significant shortcomings
around the lifecycle and validation of system chaincode transactions.
FAB-11096: Docker images with Alpine Linux
Hyperledger Fabric Docker images will now use Alpine Linux,
a security-oriented, lightweight Linux distribution.
FAB-11096: Bash not available in Docker images with Alpine Linux
Bash is no longer available in Fabric images. Utilize Alpine's built-in
sh or ash instead.
FAB-15499: Ledger data format upgrade
The Fabric ledger data structures use a more optimal and extensible
data format in v2.0. The peer node upgrade-dbs
command must be run
on peers to upgrade them to the new v2.0 data format. See the upgrade
documentation for details.
FAB-16866: Chaincode built upon installation on peer
Chaincode images are now built when a chaincode is installed onto a peer,
rather than at instantiation time as in prior releases. The behavior is
common to both the prior chaincode lifecycle and new chaincode lifecycle.
Expect chaincode installation to take longer than in prior releases.
Chaincode installation may time out and return an error to the client, even
though the installation and chaincode image build may ultimately succeed on
the peer.
FAB-15837: Orderer FileLedger location moved if specified with relative path
If FileLedger is specified with a relative path, it will be relative to the
config file, instead of where the binary is being executed.
FAB-14271: Policies must be specified in configtx.yaml
In Fabric v1.x configtxgen would create default policies if they were omitted
in configtx.yaml, but this behavior was deprecated in v1.2. In v2.0, configtxgen
no longer creates default policies, and they must be explicitly defined in configtx.yaml.
FAB-17000: Warn when certificates are about to expire
This change set adds a warning to the peer and orderer
that logs a warning a week before the enrollment certificate
or the server (client) TLS certificate expires.
FAB-16987: Go version has been updated to 1.13.4.
Deprecations
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.
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.
Fixes
All fixes as of release v1.4.4 are also included in v2.0.0.
For the full list of fixes, refer to the release change log.
Known Issues and Workarounds
FAB-12134: Same chaincode source receiving fingerprint mismatch error
When using the legacy chaincode lifecycle, chaincode installed in different
ways may result in "chaincode fingerprint mismatch data mismatch" error
upon instantiation. This may happen when installing chaincode by using
different SDKs. To workaround the problem, package the chaincode prior to
installation and instantiation, by using the "peer chaincode package" command.
Known Vulnerabilities
FAB-8664: Peer should detect and react when its org has been removed
This is a relatively low severity problem, because it requires a significant
conspiracy of network admins, but it will be addressed in a future release.
Resolved Vulnerabilities
None.
For the full list of improvements and fixes, refer to the release change log:
https://github.com/hyperledger/fabric/blob/release-2.0/CHANGELOG.md#v200
Changes:
- 0432c3e Add changelog for v2.0.0
- 77ff3d2 Install doc and script updates for v2.0.0
- 324d2d1 Add release notes for v2.0.0
- 5eec23d What's New updates for v2.0.0 release
- 7f772f9 Add Core Maintainers to /docs in CODEOWNERS
- 63228ea Revert "FAB-14693 Vendor updated fabric-amcl package"
- a04d430 [FAB-17439] Add integration test for verifying fabric-chaincode-go
- ac2f490 [FAB-17421] Reword links to contract APIs and documentation
- 94eeecf Enable service discovery querying _lifecycle endorsers
- 3777652 Validate label when packaging _lifecycle chaincode
See More
- 419690a [FAB-17431] Use two digit version for chaincode images
- d25d2a5 Create a new Documentation Maintainers sub-group
- e7fb9c7 [FAB-17303] Set RequiredPeerCount and MaxPeerCount defaults for implicit
- 9bd0a95 [FAB-17439] Expose peer's MSPID to chaincode as an env var (#549)
- be23695 Bump fabric-chaincode-go (#564)
- 666a5b7 FAB-17410 Updated doc links to latest levels
- 2777611 [FAB-17428] Deprecate --outputAnchorPeersUpdate flag in configtxgen
- ded1729 Updating chaincode document.
- da131ec Stop _lifecycle ccs that are no longer referenced
- 5c6bdda No need to explicitly deregister handler from registry
- 0f18fc9 FAB-16033 Update channel_artifacts location in doc.
- 0da8233 Update resources in enable _lifecycle doc
- 5131473 Update _lifecycle resources in configtx.yaml
- 868da99 Improve chaincode lifecycle peer log messages (#530)
- dbac8a5 Add disclaimer for commercial paper tutorial
- f94d3b1 Remove references to instantiating a chaincode
- 5cadc61 [FAB-17411] Update Fabric versions where necessary
- 8556a43 [FAB-17265] Move private data tutorial to use test network
- 1462df9 [FAB-16895] Move ledger benchmark tests
- 22a0d2c Documentation update: external chaincode and index for db
- b6a2325 Documentation update: external chaincode and index for db
- 04e5312 Documentation update: external chaincode and index for db
- fc16896 Documentation update: external chaincode and index for db
- 03d8a85 [FAB-17400] Improve log message for approved definition
- ca35d68 [FAB-17402] Test network doc user feedback fix
- 9c6021d Add orderer.yaml BootstrapFile usage and default comments (#514)
- 3b8224e Remove reference to First Network in network concept doc
- 11358a4 FAB-17287: Update wallet description
- b1260cb Fix integration test for static leader (#513)
- c7d595a [FAB-17169] Add AZP Status Badge (#510)
- 470f133 Static leader should not give up on retrieving blocks (#507)
- 2d6becc [FAB-17266] Move CouchDB tutorial to test network
- af66ef8 [FAB-17379] Fix print format for querycommitted
- 3a66888 [FAB-15198] Document peer crash scenario when indexes are not installed
- 21fc6f6 [FAB-17339] Refactor couchDB unit test (#482)
- c491d69 Fix go routine leak in core/scc tests (#502)
- 8aab447 Implement stop for runtime launcher
- b578a96 Chaincode persistence uses period separator (#492)
- 143d2e9 lifecycle cache should remove stale cc def references
- 0bd45e5 [FAB-17173] Document that CouchDB indexes may not get applied in crash scenarios
- 73303a5 Remove BYFN reference from private data architecture doc
- 7d56fac [FAB-4955] Update doc for building on Windows
- 0df1557 FAB-17315 english colon illegal filename problem on windows when lifecycle chaincode install
- d0d935a Log message should start with upper case.
- 58af762 Reject re-defining identical uncommitted cc def
- ac9f694 Bump hyperledger/fabric-chaincode-go
- 803434a Bump hyperledger/fabric-protos-go
- dcdd599 [FAB-17370] Delete old info about shim’s Logger (#489)
- 8318470 Reduce the number of peers in test networks
- d80c5f5 Fixing Number in Chaincode for Operators topic
- f101cab Remove t.Parallel from common/cluster tests
- 83dacb4 Fix and chaincode label regexp and Backfill tests
- 4549cfb Ensure we capture final line of chaincode output
- 5d2cb8f Add channel name to blockpuller logger
- 02f85b4 [FAB-17317] Add code to stop init_public container
- 69ecb07 [FAB-17307] InitRequired param check for ApproveForMyorg (#462)
- 04c1f85 Fix CODEOWNERS group name
- f1c6d88 Small edits to upgrade docs
- 80febba Fix Broken link in cc as a service doc
- 9b25eab FAB-13625 Add memberOnlyWrite integration test
- 2f80112 make correction of the docker-compose command in build_network.rst
- 6ac19e5 Range query UT for keys with special or non-English characters
- e4f00b9 Cleanup packaging utilities chaincode/platforms
- 42606a5 Use
go list -json
to build go cc dependencies - 571842f Wait for orderer to terminate before restarting (#460)
- 92af234 [FAB-17263] Update upgrade doc with peer docker command
- f26c2b4 FAB-15817 Prefer last config in signatures metadata field (#363)
- 269cb04 external chaincode service doc update
- 12a2fd3 Remove gerrit specific .gitreview
- 9e59923 Remove CAP theorem information from first network tutorial
- bfc762b [FAB-17184] Skip pulling from remote peers if all remaining missing rwsets (#365)
- ff7c083 [FAB-17301] Add documentation build instructions to contribution guide
- d35acaa FAB-16120 Adding IT for MSP inconsistence (#305)
- c939f45 Fabcar uses first-network instead basic-network
- 2e2506d Point CODEOWNERS to group
- 2dae4c0 Remove Gerrit reference (#453)
- d89b9a6 Test Network tutorial header fix (#452)
- c34eae3 [FAB-17262] Fix instructions in build_network
- 2a39779 [FAB-17279] Discovery supports collection level endorsement policies (#445)
- 65f8a01 [FAB-17297] Use wget in bootstrap.sh
- 74345be FABN-1428: Relocate Node SDK documentation
- f20eeb4 [FAB-17231] Update externalBuilders description in sampleconfig (#443)
- c54b8c0 [DOC] Standardize orderer address env var
- 9495e67 Remove CKA_PRIVATE from pubkeyT to broaden compatibility with HSMs
- 0b5923b [FAB-17238] Refactor couchdb test in ./core/ledger/
- de14789 FGJ-67: Relocate Java SDK docs
- fa0f68c Increase open file limit to address Gossip flakes (#430)
- ca905ee fix wrong protobuf import in mgr_test.go
- 2fbd83d [FAB-17176] Make decode hooks consistent in viperutil (#424)
- 28c6efd define couchDB connection pool size
- c25924a [DOC] Mention deprecatation of Kafka and Solo (#425)
- 2902908 [FAB-17272] Fix Docker Build Context
- f0ef0b5 FAB-17228 External cc clients/servers use consistent key/cert model (#407)
- b3ac630 Fixing operations guide toc for new cclauncher materia
- c80d1c0 FAB-17233 Update chaincode package comment
- fcfe51a [FAB-17248] Prepare for fabric next rel (v2.0.0)
- 21594ac Getting started link fix
- 977ed80 Fix bootstrap.sh
- 242b1e3 [FAB-17247] Release fabric v2.0.0-beta
- 16d8436 Update byfn download command
- 6de9dc2 Change 'node' language to 'javascript'
- 7cd1eda Add release notes for v2.0.0-beta
- 5deab9a Merge pull request #399 from pamandrejko/FAB-14083
- 402a077 [FAB-17199] Add new test network tutorial
- 2420fa5 Merge branch 'master' into FAB-14083
- 1432b66 [FAB-14083] Chaincode as an external service documentation
- f93acfa [FAB-17239] What's new links 2.0 beta
- c37f8cf [FAB-17240] Small fix to upgrade doc
- 2e44a2a [FAB-16906] Chaincode launcher doc
- 79a4e8c Modified doc links and a few edits
- e73407f [FAB-14086] Chaincode launcher doc
- c3a3723 Merge pull request #384 from wlahti/FAB-17160
- 5e4ede7 [FAB-16754] Upgrade doc
- 339e682 Add two digit release variable
- 7d91ef4 What's New in Fabric v2.0 Beta
- a4bf700 Update prereq doc for Go 1.13.x
- cce46ac Add an instantiation policy cache layer
- 6f32be4 FAB-17160 Ensure peer can be started without any docker requirements
- c2c5183 FAB-17170 externalbuilder pass metadata unmangled
- e7f5ab8 FAB-16731 Use org1peer0 in lifecycle test
- 5b722b5 Merge pull request #385 from jyellick/FAB-17170-lowercase-json
- 84845ff FAB-17170 Peer CLI should encode mdata lowercase
- b1d37c6 Attempt to fix flaky integration ApproveForMyOrg
- 206795d Merge pull request #377 from satota2/FAB-17196
- 77de117 Merge pull request #381 from idiota101/gossipUpdate
- b430f81 [FAB-16125] fix allow ledger test to succeed when no tests are run
- 76765db Copy if rename fails during external build
- 49ed882 [FAB-17196] Fix broken md structures in docs
- 3e3b0fc [FAB-17135] Document private data enhancements in v2.0
- 96fefd0 FAB-17222 updating go version to go1.13.4 in vagrant dev_env
- 00eecd1 Fix incorrect block metadata documentation (#378)
- 4149c6d Merge pull request #376 from yacovm/tlsRotate
- 3cce10a [FAB-17220] Dynamically build TLS config in Raft client handshake
- f5799c0 FAB-17057 Generate crypto during orderer/common/server UT (#373)
- c3720b4 Fix for FAB-16996, Removed solo and kafka refference in BYNF doc
- 05706bb Merge pull request #370 from mastersingh24/fab-14693
- 46ccaf0 [FAB-15035] Remove couchdb HTTP Request headers from debug log
- bf085a2 FAB-14693 Vendor updated fabric-amcl package
- 1b8be06 [FAB-16937] complete by hooking CC fwork with ext. CC
- 4bde8c4 [FAB-17141] Update fabric docs for updated go programming model
- 0b4ca1c [FAB-17116] Add orderer config change to release note
- 09ad9dc [FAB-17188] unit test for couchDB revision fetching functions
- 64c888f Bump IT pull retry threshold to 7s
- 31a2d51 FAB-16437 Remove common mocks
- 2402250 FAB-16437 Remove unused common/mocks
- 6de732f FAB-16437 Remove common/mocks/config
- a1f2794 FAB-16437 Remove common/mocks/peer
- 5025cad [FAB-17150] Clean up temp dir on configure_test
- 0bfcd36 Merge pull request #357 from nikhil550/FAB-16157
- 169fc51 [FAB-15724] Improve migration integration test
- f84b1f0 Merge pull request #352 from mastersingh24/kill-common-mocks2
- f02440d Merge pull request #348 from caod123/fix-it-flake
- 0999e0e [FAB-16157] Remove references to alpha and disclaimers
- fc0a9e9 [FAB-17165] Reduce pvtdata pull-retry threshold to 3s in IT core_template
- 9dcb65e FAB-17177] Config block shouldn't verify itself in block replication (#355)
- 9fa8172 Merge pull request #333 from fnlctrl/patch-1
- c0f019e Merge pull request #323 from Shubham-koli/patch-1
- 03576df fixed typo.
- e6a9bde FAB-16437 Remove common/mocks from v20 validator
- b8aaafc FAB-16408 Deprecate the Kafka based orderer
- 6e52f56 FAB-16437 Remove common/mocks from v13 validator
- b6830f1 FAB-15343 Document removal of SCC Plugins
- 24d1954 replace http with https in install.rst
- f2dbb66 Merge pull request #321 from guoger/err-msg-improvement
- e3188cf FAB-16437 Remove common/mocks from v12 validator
- 6044822 FAB-16687 reduce mutex contention in validator
- 151ea02 [FAB-17133] Add branch to AZP trigger
- da8b99c Amend GitHub workflow guidance
- 94c3a09 Merge pull request #337 from btl5037/azp_gate
- 29dd911 fix for FAB-17156, clean up main_test folder by defer
- 7a309c7 FAB-17161 improve error message
- f0422d6 [FAB-17166] Gate UT, IT and DocBuild
- 4947729 fix FAB-17153, change temp folder mode to remove
- 0264eb6 fix FAB-17148 defer to delete 'bccsp-sw' directory (#328)
- ab4d595 [FAB-17132] Add Parallel Strategy to Integration Tests
- ea93b8f Merge pull request #325 from guoger/FAB-17158-ignore-test
- e779196 [FAB-17135] Private data sharing doc
- db73af2 fix FAB-17146
- 027d751 FAB-17158 ignore util test using build tag
- 4cec60e Merge pull request #327 from yacovm/golintgossip
- 01d1eb4 Golint gossip/gossip/
- c5d4087 FAB-17157 rm createTempDir method
- e939f9c [FAB-17116] Use bootstrapmethod for raft consensus
- dd26403 Merge pull request #313 from btl5037/action_trigger
- 7f30434 [FAB-17136] Fix the typo error (#318)
- 543e38c FAB-16393 Cleanup endorser logging
- 24afa12 [FAB-11241] Move Profiling init Service external
- cfae78e [FAB-17133] Add Action to Trigger CI
- db3b1cc Remove read-only note and Gerrit reference
- 8e33173 FAB-17105 - Fixing broken links
- 87f6240 Merge pull request #301 from maniankara/master
- d00b96e Merge "[FAB-16117] Add test to kill cc container in IT"
- c18a194 docs/source/channel_update_tutorial.rst: CHANNEL_NAME variable missing in 2 places in channel update tutorial
- fb56820 [FAB-17123] Update dep for fabric-protos-go
- 8d073c1 [FAB-17123] Revert FAB-17038
- fc86d1a Add PULL_REQUEST_TEMPLATE.md
- ef4b79f Merge "FAB-16812 Update bootstrap script"
- 2869d92 Merge "[FAB-16376] MSP_1.4.3: support for admincerts"
- 71f40ed Merge "[FAB-17115] Update doc for GitHub migration"
- 07b2f14 Merge "[FAB-15900] Add pkcs11 section to orderer.yaml"
- 75e51fb Merge "[FAB-16890] move build out of container runtime"
- 78471de Merge "[FAB-16842] prep for for ext CC config"
- 603dbf7 [FAB-16117] Add test to kill cc container in IT
- 01a80e4 Merge "FAB-16477 Fix regression in orderer bootstrap"
- ecec58b [FAB-15900] Add pkcs11 section to orderer.yaml
- 6d98cac [FAB-17115] Update doc for GitHub migration
- 4a75c13 Merge "[FAB-16118] Add IT for MSP unauthorized Peer"
- a1b83d4 FAB-16477 Fix regression in orderer bootstrap
- 8105eff FAB-16812 Update bootstrap script
- 061ef6a [FAB-16118] Add IT for MSP unauthorized Peer
- fc53b9d Merge "[FAB-17086] Update references in master for v1.4.4"
- 4a3c65c Merge "[FAB-16574] Cache results of msp.Validate function"
- 0ae7c3d Merge "Add rebuild test with real ledger data"
- 7cbbc74 Merge "[FAB-15066] Add additional IT"
- a9572d6 [FAB-16890] move build out of container runtime
- fead9d9 [FAB-16842] prep for for ext CC config
- 3d8825e Add rebuild test with real ledger data
- ddd24b9 [FAB-15066] Add additional IT
- bbdfa7f Merge "[FAB-16560] Fix review comments"
- f747ff1 [FAB-16574] Cache results of msp.Validate function
- d41953a Merge "FAB-17097 Implemented recommendations after review"
- 8eab735 Merge "FAB-17097"
- ba2b328 Merge "[FAB-16921] Upgrade older ledger data w/ couchdb"
- 2c5c442 Merge "[FAB-17118] Make CI scripts executable"
- 29056b0 [FAB-16921] Upgrade older ledger data w/ couchdb
- 127e224 Merge "[FAB-16169] Separate unmarshalling from validation"
- 96651c6 Merge "Convert creation block to genesis block early on"
- 67d4f6f Merge "FAB-16969"
- c665f14 [FAB-17118] Make CI scripts executable
- f421582 Merge "[FAB-16169] clean up tests"
- 3adcab3 Merge "Minor cleanup for orderer without a system channel"
- 8aca8e7 Merge "[FAB-16169] CR Comments"
- 5c898da Merge "[FAB-16377] Perform validation of channel ID"
- 7cc8760 Merge "[FAB-16170] hdr validation for endorser transactions"
- 60ef90d Merge "[FAB-15066] Enable endorsement policies for collections"
- 1946812 Merge "[FAB-15066] Cleanup pvtdata integration test"
- 454a9fa Merge "[FAB-17114] Add AZP support for Fabric"
- 2d9bacd Merge "FAB-16573 Ledger consistency is across channel"
- 2cc9258 Merge "[FAB-15226] Re-enable gossip integration test"
- 9de6ec5 Merge "integrate cache with LoadCommittedVersion"
This list of changes was auto generated.