Skip to content


Choose a tag to compare
@lindluni lindluni released this 01 Jun 12:59

v2.1.1 Release Notes - June 1, 2020


FAB-17778: Fix policy support of multiple signatures from single organization

Fix de-duplication logic to ensure sufficient number of signatures are received to satisfy
policies that require multiple signatures from the same organization.
This problem is rare since most users have policies that require signatures from different
organizations, not policies that require multiple signatures from the same organization.

FAB-17722: Validate HSM session and get new if invalid

Previously the pkcs11 code was set to have a session cache and reuse sessions
if available in cache. If a session went bad (due to connection issues with HSM),
the session was not evicted from cache and would be reused.
If all sessions went bad, the client would never be able to recover and keep using bad sessions.

FAB-17728: Add delay to pkcs11 create session loop

Previously there was no backoff when attempting to create a new session if one was not
available in the HSM session cache. This fix introduces a hardcoded backoff of 100ms
after each attempt up to 10.

FAB-17784: Clarify error message when legacy chaincode install fails during build

When a legacy chaincode install fails due to an error building the
chaincode, the chaincode will remain installed on the peer. This change clarifies
the error message so that users understand the behavior:
"chaincode installed to peer but could not build chaincode".

FAB-17844: Copy symlinks as-is in external builder output

Previously, the external builder code did es not check for symlinks in build output
when copying them. This resulted in the resolved files being copied as files
instead of symlinks. This commit changes the external builder code so that
it tests for symlinks, and copies them as symlinks instead of copying them as
files into the destination directory.

External builder switch from os.Stat to exec.LookPath

Replace call to os.Stat to check for the presence of the bin/release script with exec.LookPath.
The LookPath function, when provided with a relative path, will look for the presence of the
executable and determine if it's executable. On non-unix platforms, it will also handle looking
for executable suffixes as appropriate.

FAB-17907: New chaincode lifecycle should ignore previous build failure during install

When a chaincode build previously failed while installing the chaincode, the new lifecycle
would not attempt to rebuild the chaincode on the next install attempt, rather the prior
build error message was returned to the client. This change ensures that the subsequent
install attempt rebuilds the chaincode.

FAB-17733: Validate TLS certs during raft consenter addition

Validate the client/server TLS certs against the orderer organizations while adding a raft consenter.

For the full list of changes, refer to the release change log:


  • 6393adb Release commit for Fabric v2.1.1
  • e8bfb68 Add release notes for v2.1.1
  • 7be9c62 _lifecycle ignore previous build failure during install
  • 4cbaeb4 Validate TLS certs during raft consenter addition (#1342)
  • 02fc373 Fixed write_first_app.rst typo
  • 6b7177b Ensure backward compatibility of range query rwset
  • d39afc8 Update Prereqs for Fabric users
  • f485b83 [FAB-10879] Adding instructions for modifying Commands Reference
  • 389d616 Switch from os.Stat to exec.LookPath
  • fe7e948 Fix script help text in the test network document
See More
  • dff43d2 fix test network docs typo
  • c705510 Fix the installed binary list in the document
  • 716dc7e [FAB-17844] Copy symlinks as-is in external builder output
  • f2bfb58 Add export to deploy CC tutorial
  • 6dc13f0 Remove adding PWD to path in tutorials
  • e197020 Cherry pick test network tutorial improvements to 2.1
  • 6eec309 Clarify error message when lscc chaincode install fails during build
  • bd61a92 Merge first component of create channel tutorial
  • e765962 [FAB-17438] Add links to CA deployment Guide from Fabric Deployment Guide
  • 2cac1e2 Replace link to removed topic with link to relavent image
  • 2052dd2 [FAB-17728] Add 100ms delay to pkcs11 create session loop
  • 9ce5aeb Validate session and get new if invalid (#1255)
  • ba86e48 Fix misleading doc statement
  • c66bcda Correct HSM environment variables
  • d1e1cbd Update
  • bde493c Update old link in command wrappers
  • 971add2 Add link to Go contract API to smart contract processing topic
  • 2909e71 Doc that Init is not required if you use the contract API
  • d25e8ce Replace erroneous double dash
  • e87c350 Add statement about compliance to HSM docs
  • a3d4168 [FAB-17778] Force sanitized signatures be canonically built
  • 407afa7 Remove typo from commercial paper tutorial
  • 4abbf5a Add upgrade steps and troubleshooting to deployCC tutorial
  • 6189c3b Let users know that anchor peer tx is deprecated
  • 5cf1f96 [FAB-17700] Fix wrong docker rmi in documents
  • aee43e6 [FAB-17732] HSM clarifications (#1108)
  • 1bdf975 Fabric v2.1.0 release commit
  • 6cfea8b Add release notes for v2.1.0
  • 4fbbc88 [FAB-17719] Upgrade docs for 2.1
  • d50e8f4 [FAB-17724] Fix configtxgen cannot find etcdraft default config
  • c2e8534 [FAB-17716] Fix test flake due to too many requests for /protos.Deliver
  • 5358d6e Properly handle malformed gossip envelopes (#1039)
  • 0602969 [FAB-17540] Fix for race read/write tlsconfig (#967) (#1052)
  • 10ed627 Add release note for FAB-17725
  • 08df2e1 Omit go.{mod,sum} from pkg when not in module mode
  • d0d4a3f Clear {U,G}name fields in package tar entries
  • 53eda41 Fix typo
  • 6334d22 Fix organizations typo
  • 0f23dad [FAB-16879] Add stack trace to couchdb http errors (#1015)
  • 6f4b196 Update chaincode lifecycle topic
  • 2f13c6c Update tutorials overview for test network
  • 32533a8 3 small fixes that documentation matches samples
  • a28ef41 Set default keepalive options for peer clients (#987)
  • c740f39 Update doc for Go v1.14.1
  • 99d3a8d Remove Config Transaction Package from release-2.1
  • 30e5862 Fix missing export instruction in docs/
  • 534ed60 Move comm pkg to internal
  • 7919e72 [FAB-17109] Retrieve and use ReConnectBackoffThreshold as duration (#951)
  • f293f92 mv encoding util to consumer (pvtdatastorage)
  • 25e3386 Fix code block typo in add org tutorial
  • 20dca4d Clarify instructions for CouchDB state database upgrade.
  • 8704abf Add discussion of MSP folder to test net doc
  • 5148730 [FAB-17687] Rename AddValue() to SetValue() (#946)
  • 0491bcd Refactor MSP-related pkg/config functions
  • 4d7d4ac [FAB-17638] Support retrieving application configuration from an existing config
  • 84e2338 [FAB-17658] Separate config package examples into groups
  • eb4623f [FAB-17408] Move first app tutorial (fabcar) to test network
  • 1cdd885 Update
  • cce54ab [FAB-17664] Add/Remove channel policies
  • 424807d Add jq to the vagrant development environment
  • 8ab138e Address comments from #928
  • b8e2e83 [FAB-17611] IT: discover all peers before endorsement
  • 8a012a0 Consistently use ubuntu-18.04
  • fa29042 Move to go 1.14.1 (#934)
  • 69da72e Remove x509 Utility
  • 4db1939 Remove Clone Utility
  • 1a3dab1 Remove DirMissingOrEmpty Util Function
  • d7c1796 [FAB-17663] Update a consortium group's channel creation policy value
  • 23ebd79 Update grpc to v1.28.0
  • e06bb3f [FAB-17675] Prevent gossip probe from registering as a connection (#925)
  • b5be754 [FAB-17637] Support adding and removing capability
  • 222f99a [FAB-17639] Add/Remove ACLs from channel config.
  • 4d515e0 [FAB-17619] Fix exported ConfigTx functions to retrieve/set correct field
  • 79fb075 [FAB-17619] encapsulate config proto in new type
  • 441fd13 [FAB-17650] fix incorrect word
  • edd5908 Update MSP config for application org
  • cdc2f68 Cleanup followup comments from FAB-17568
  • 4b9302e Ignore containers that are not part of the network (#909)
  • aa80495 Update sample channel config to 2.0 channel (#911)
  • 8c26dad [FAB-17621] Validate certificate when revoking
  • 6f7c37f [FAB-17621] Simplify Printf formatting of cert/key/crl in tests
  • d547002 Add link to Fabric chaincode lifecycle video
  • 7a85e0a Remove duplicate tests done with both legacy cc and new lifecycle cc
  • 9644d43 [FAB-17601] Fix CI flake due to unexpected pvtdata reconciliation
  • a4b2ab1 [FAB-17620] Address error handling in example_test
  • e914648 Fix master
  • 9468dbb Generate all certs and CRLs in pkg/config unit tests
  • 67cb2df AddOrgToConsortium shouldn't allow adding org that already exists
  • 0e178b4 [FAB-17574] Support adding an application org to a channel config
  • 25b268e [FAB-17620] Revisit reference types in config pkg
  • 7af853e [FAB-17568] Support retrieving orderer configuration from a channel
  • dacf97a [FAB-17636] Support retrieving capabilities from a channel transaction
  • 40cda0e [FAB-17568] Use custom API type for etcdraft ConfigMetadata proto
  • f092efc Change link in access control for policies
  • b03d600 [FAB-17592] Support removing an orderer endpoint from existing config
  • eb17803 Fix nits in function AddOrdererEndpoint
  • 66b9722 Remove unused function validateChannelHeaderType (#890)
  • ac367be Minor MSP-related cleanup
  • 1d92fca [FAB-17591] Support adding an orderer endpoint to existing config
  • ef436c9 Revoke certificate from application org MSP
  • e96618d [FAB-17546] Add rootCA to application org MSP
  • a247e32 Cleanup policies test in config package
  • f02f451 Reduce TestDBRequestTimeout timeout value (#885)
  • 76f999d Fix debug message
  • dfc600b Remove incorrect ref to SDK
  • a838c6b Add configtx.yaml link to channel update doc
  • 64d6c66 [FAB-17571] Implement adding/removing policies from orderer
  • 984c3e2 [FAB-17572] Implement adding/removing policies from consortiums orgs
  • 507734c [FAB-17570] Implement adding/removing policies from application
  • b3929ae Use session cache to reduce handshake time in test
  • 9ffdb2b [FAB-17635] Fix incorrect word in comment
  • aa9a468 grpc{logging,metrics} test flake updates
  • 69b5487 [FAB-17629] Correctly Compile Integration Test List
  • 7feb8c5 [FAB-17603] Add constants for consensus state
  • 12f5e39 [FAB-17603] Support consensus type state field in config value
  • 64bc161 [FAB-17569] Retrieve organization from configGroup
  • 1df5929 Call signal.Notify from main go routine
  • 15b735d Use WithOptions to register log hook in test
  • c063206 Stop excluding /vendor/ from conditional deps
  • a30cb24 Fix incorrect expression in comment
  • d7c9a5b Bump assertion library dependencies (#871)
  • a68440b Use correct *testing.T in sub-tests (#867)
  • c61a024 Fix LevelDB.Open failures in TestSpawnEtcdRaft (#869)
  • e80709e fix typo in comment (#860)
  • c43f945 Bump zap dependency [ go/zap#771 ]
  • 3617de2 [FAB-17623] Replace OrdererAddressesKey with EndpointsKey in orderer
  • 3affbf0 [FAB-17624] Handle net.Listen error in gossip unit test (#863)
  • 30efdab Fixed 2 typos (#861)
  • af7980f Fix data race at discovery (#859)
  • 481cf22 Discover CLI to support SEC 1 format private keys
  • 587a8d5 [FAB-17576] Cleanup MSP config retrieval logic [ #8 ]
  • 084db84 [FAB-17576] Support retrieving MSP configuration for a specific org
  • cc199be [FAB-17613] correcting misspelled words
  • 9c3172c Fix Test Flake in TestLedgerHeightFromProperties (#846)
  • 2794f98 [FAB-17573] Support adding organization to orderer group
  • 81b6160 Fix data race in TestHaltChainProcessing
  • c38e83d [FAB-17607] Fix some wrong word
  • 2671855 [FAB-17606] Fix the wrong word. Suported ---> Supported
  • db2e930 Fix data race in TestBlockingEnqueue (#850)
  • ff29da2 Fix data race in expiration UT (#847)
  • 88eff11 [FAB-17600] Fixes retrieve policies for a specific config group
  • 9489a75 BCCSP initialization cleanup
  • 9abe9e7 [FAB-17600] retrieve policies for a specific org
  • e31fe5f [FAB-17565] Add godoc example for NewCreateChannelTx
  • 7438fc2 [FAB-17552] Add godoc example for updating channel using pkg/config
  • ab2ecf0 fix the comment error
  • e07939f [FAB-17581] Increase gossip timeout to prevent test flake
  • 6582179 Move common/ledger/util/Buffer to consumer
  • 00bd23c [FAB-17517] Only Initialize specified provider
  • 6566d1b Update channel config in config integration
  • b8617f0 Avoid port conflicts in configtxlator tests (#826)
  • 554e10c Remove shared common/ledger/blockledger/mocks (#829)
  • 845b5ed Convert unnecessary config type references to values
  • 7315556 [FAB-17582] Use custom API type for FabricMSPConfig proto
  • f410279 Add integration test package that uses pkg/config
  • 300fb0c Move lifecycle tutorial to concept topics
  • b033c8d [FAB-17596] Remove unused Resources type from config
  • 79f180f [FAB-17561] Remove SkipAsForeign from config package
  • 3beba71 [FAB-17567] implement getAnchorPeers from application org (#812)
  • 304acfd Misc updates to test network tutorial
  • 0f1ce6b [FAB-17269] Create new deploy a Chaincode tutorial
  • bd0d710 Add deprecation notice to BYFN
  • 131c9e9 [FAB-17299] Support collection level endorsement policies for discovery support (#472)
  • 863433f Remove plugin_packages from
  • 136d361 [FAB-15570] Make peer functions synchronous
  • f6732d1 Use ephemeral port for TLSCA test
  • 044060c [FAB-17583] Simplify NewCreateChannelTx to only consider new application
  • ab56e81 The operations subsystem is a singular entity
  • a78e2da [FAB-17543] Support adding anchor peers to existing config
  • 9304dd3 Relax error assertion in health check test
  • 21fa648 fix typo in Anchor Peers
  • a90767c Update msp.rst (#691)
  • 789071c [FAB-17575] Encapsulate msp configuration at an organization level
  • fa59dda [FAB-17547] fix cache load configuration file unittest
  • 56fbcf5 Bump version of (#788)
  • 88e331b Fix conflict in pkg/config test
  • e054a8a [FAB-17529] Config package exported function and types comment hygiene
  • 5a066a2 [FAB-17535] Increase PushAckTimeout to prevent test flake
  • 5f6ea7d Revert "[FAB-17575] Encapsulate msp configuration at an organization level"
  • 1f72dc6 [FAB-17547] cache result of load configuration file
  • e8b882a [FAB-17575] Encapsulate msp configuration at an organization level
  • 4e68e59 [FAB-17535] Fix intermittent test failure in implicit_coll_test
  • 4afde7c [FAB-17544] Support removing anchor peers from an existing config (#765)
  • ce8e015 Wire disabled docker builder when docker disabled (#768)
  • 3c19833 Fixed typo word 'netwowrk' in
  • 9e59e94 Try to catch imports of gogo/proto during linting (#762)
  • a362c28 Cleanup Makefile - remove unused env vars
  • b4b2a95 Mailing list correction to Still Have Questions? document
  • b78d79b Fix duplicate AddOrgToConsortium
  • 8c1a290 [FAB-17510] Change AddOrgToConsortium() to modify the provided config
  • 9cf1196 [FAB-17529] More config package cleanup
  • 3d89ccf [FAB-17463] Allow peer to override implicit collection dissemination properties
  • f086a3c Revert "[FAB-17438] CA deployment guide (#751)"
  • e8673de Prepare for go 1.14 (#755)
  • 7ed2fe3 Replace gogo proto imports with golang proto (#757)
  • a3fb26a Add Public() to SigningIdentity
  • 592bd50 [FAB-16233] Mitigate test timeout in deliver test
  • 04d3bf2 [FAB-17438] CA deployment guide (#751)
  • 218b6b5 cmd/peer tests fail due to port conflict
  • 2d6debc missing word 'you' in
  • 5389a1d [FAB-17529] general cleanups for config package
  • 6cdc08f [FAB-17533] Change config package to use policydsl's FromString and remove fork of policyparser
  • 6f80693 [FAB-17533] Move policy dsl related logic to policydsl package
  • d2f0729 Signing-related cleanup in pkg/config
  • a2c9244 Remove proto compilation in contributing docs
  • fd00849 Fix unit test failure related to merge conflict
  • b4141f4 Update master references for v1.4.6
  • 6343d0b [FAB-17529] Reduce and clarify errors in pkg/config
  • 86c048e Implement function to add an org to an existing consortium
  • 3e4f04c [FAB-17469] Support updating orderer configuration
  • f032ff7 [FAB-17532]: remove unused parameters (#734)
  • ebe23a8 [FAB-17093] Add basic tests for protoext/decorate_test
  • dedc4e8 [FAB-17488] Compute a ConfigUpdate from a base and modified configuration transaction
  • deff589 Reformat Deployment Overview for RST (#723)
  • ebb529f [FAB-17530] Update Go Version to 1.13.8
  • 8161192 [FAB-17521] remove protoutil from policyparser tests.
  • 046253c Fix nil dereference in etcdraft config parsing
  • 627719d [FAB-17468] Attach signatures to config update
  • 0c1821d [FAB-17515] Support configuring BlockValidation policy for orderer group
  • 437d8ec [FAB-17487] Create config group for organization
  • cc3f58f [FAB-16957] Fix nil pointer panic flake in deliver_test (#704)
  • b4c3766 Add cURL with retry logic
  • b7a3eba [FAB-17523] Endorsing peer was not honoring RequiredPeerCount (#716)
  • 8aa64fa [FAB-17467] Create signature for config update
  • add77fa [FAB-17525] Fix peer panic for endorser metric labels (#721)
  • eb54d86 Add ending braces to ReadWrite set. (#722)
  • 447264e FAB-17524 rm custom CollectionAccessPolicy mock
  • f8a1a0b Optimize inquire.IsSubset (#710)
  • 9649b26 Fix Heading Size in Deployment Doc
  • 43f7474 [FAB-11240] Deployment guide doc (#554)
  • 8c37495 Update master references for v1.4.5
  • eeaeea9 Fix build error due to PR merging (#703)
  • 6dfec3c [FAB-19491] Do not disseminate pvtdata for other org's implicit collection
  • 9eaab49 [FAB-17466] Generate create channel transaction
  • 9f26222 FAB-16297 remove pvtdataStore initiation with non-zero blkHt (#701)
  • 43ff898 [FAB-17509] Handle all os.Stat errors in InitCrypto (#683)
  • 8dd5e2d [FAB-17059] Extend private data integration tests to cover case when a
  • b52075b [FAB-17059] Change collection membership eligibility checks to
  • a6b8132 Remove qscc concurrency limit
  • bee7154 [FAB-17453] 'peer lifecycle chaincode package' mandates does not need to init crypto

This list of changes was auto generated.