v1.4.7
v1.4.7 Release Notes - May 14, 2020
Fixes
-
FAB-17517: Only Initialize specified BCCSP provider
This fix ensures that only specified provider is initialized
based on ProviderName.
This fixes "Failed initializing PKCS11.BCCSP %!s()" error
when the code compiled with PKCS11 or PLUGINS enabled expected
configuration to not be nil even when Provider is set to SW. -
FAB-16951: Alternative mechanisms to find pkcs11 key
This modification adds a parameter called AltID to the PKCS11 BCCSP configuration.
This change is required in situations where the HSM does not allow
modification of the CKA_ID after creation, for example when using AWS CloudHSM. -
FAB-17726: Properly handle malformed gossip envelopes
If a malformed envelope is read from the stream, an error is propagated
synchronously up the stack.
Under very rare circumstances a race condition caused a nil pointer peer panic. -
FAB-16879: Add stack trace to couchdb http errors
If there was an http error calling couchdb, no context was provided in the error message.
This change adds stack trace in addition to the http error message,
so that administrators can identify where the error was hit. -
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-17752: Return errors when creating keystore
An error is now returned if BCCSP is not able to create keystore directory.
-
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-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.
Dependency updates
- Bump Go to 1.13.9.
- Bump Fabric baseimage to 0.4.20.
Changes, Known Issues, and Workarounds
- FAB-12134: Same chaincode source receiving fingerprint mismatch error -
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.
Deprecations
The following functions are deprecated and are targeted for removal in a future release.
-
Support for automatically vendoring the chaincode shim into user chaincodes
The fabric-ccenv image which is used to build chaincode, currently includes
the github.com/hyperledger/fabric/core/chaincode/shim ("shim") package.
This is convenient, as it provides the ability to package chaincode
without the need to include the "shim". However, this may cause issues in future
releases (and/or when trying to use packages which are included by the "shim").
In order to avoid any issues, users are advised to manually vendor the "shim"
package with their chaincode prior to using the peer CLI for packaging and/or
for installing chaincode.
For more details see FAB-5177. -
Support for CAR chaincode package format
Support for packaging chaincode using the CAR format will be removed in
a future release.
For more details see FAB-14720. -
Support for specifying orderer endpoints at the global level in channel configuration.
Utilize the new 'OrdererEndpoints' stanza within the channel configuration of
an organization instead.
For more details see FAB-7559. -
Support for invoking system chaincodes from user chaincodes.
System chaincodes, for example QSCC, are intended to be invoked by
a client rather than by a user chaincode. Invoking from a user chaincode
may cause deadlocks.
For more details see FAB-15285. -
Support for user chaincodes to utilize the chaincode shim's logger via NewLogger()
Chaincodes that used the shim's NewLogger() will need to shift to their own preferred
logging mechanism.
For more details see FAB-15366. -
Support for peer's Admin service
The peer's Admin service exposes APIs such as GetLogSpec() and SetLogSpec().
Instead of using these services, utilize the HTTP operations service that was
introduced in v1.4.0.
For more details see FAB-15390. -
Support for Solo ordering service
With the introduction of Raft-based ordering service in v1.4.1, it is possible
to deploy a single-node (non-production) or multi-node
Raft-based ordering service with no external dependencies.
For single-node (non-production) ordering services, utilize Raft-based ordering
service with a single node instead of Solo ordering service.
For more details see FAB-15754.
Change log
For the full list of changes, refer to the release change log:
https://github.com/hyperledger/fabric/blob/release-1.4/CHANGELOG.md#v147
Changes:
- e0afaa7 Release Fabric v1.4.7
- 51138b8 Add release notes for v1.4.7
- a178051 [FAB-17728] Add 100ms delay to pkcs11 create session loop (#1253)
- ea185b8 Correct HSM environment variables
- 8ff5d16 Bump baseimage version
- 6112b99 [FAB-17821] fix: use keyword as variable name
- 1964a1b [FAB-17778] MSP.IsWellFormed: Only allow canonical CA signatures
- 5066919 [FAB-17778] Force sanitized signatures be canonically built
- c66c3c4 add the sample policy to remove the test warning info
- e1db649 FAB-17552: add unit test for createKeyStore
See More
- f27803f FAB-17752: following review guide
- c403374 FAB-17752: return errors when creating keystore
- 2f740c4 [FAB-17732] Port HSM updates to release-1.4 branch (#1110)
- 1f0a0dd Validate session and get new if invalid
- b03b3d9 [FAB-17540] Fix for race read/write tlsconfig (#1050)
- 856f215 FAB-15461 Fix election adapter to return correct peers
- f9e80e8 [FAB-16879] Add stack trace to couchdb http errors (#1048)
- c68ee5c [FABB-148, FABB-149]
- 9007739 Properly handle malformed gossip envelopes (#1037)
- 780b16f Fix organizations typo
- 5c2a996 Update to go 1.13
- 3b5b58b Fix deadline logging test
- be925f8 [FAB-16810] comm test changes to support go 1.13
- 7cf38b5 [FAB-16810] bccsp test changes for go 1.13
- 9461ba2 [FAB-17696] Fixed Wiki Link to Contributor meetings
- 1e51225 [FAB-17109] Retrieve ReconnectBackoffThreshold as duration
- afbc42f [FAB-16951] Alternative mechanisms to find pkcs11 key
- ca93be5 BCCSP initialization cleanup
- 2bb6415 [FAB-17517] Only Initialize specified provider
- defb36c Add MSP Key concepts topic to release-1.4 branch
- 609ddf8 Prepare for fabric v1.4.7 release (#743)
- 635fa7b Update release notes for v1.4.6
- af2b462 Release fabric v1.4.6
- 87df051 [FAB-17515] Support configuring BlockValidation policy for orderer group
- 29c58ac [FAB-17431] Decouple javaenv from Fabric version
- ac6305e [FAB-17523] Endorsing peer was not honoring RequiredPeerCount (#716) (#733)
- 0c421c8 Fix nil dereference in etcdraft config parsing (#724)
- 9072299 Add ending braces to ReadWrite set.
- a0b7584 Optimize inquire.IsSubset (#713)
- 60c8ab9 Prepare for next fabric rel v1.4.6
- 11ff991 Release fabric v1.4.5 (#695)
- 1893808 Remove rollback code from private data store
- f354c81 [FAB-17472] Clarify doc and samples for NodeOU Certificate
- d45bac4 Add release notes for Fabric v1.4.5
- a9a1d07 [FAB-17059] Extend private data integration tests to cover case when a
- ca1ae38 [FAB-17059] Change collection membership eligibility checks to
- e75bc71 [FAB-17479] Migrated Kafka cluster can be safely expanded later (#642)
- 5eaae3a Explicitly enumerate orderer and peer metrics
- 9faad9e define couchDB connection pool size
- b27a7c7 [FAB-16681] Fix inconsistencies in the fabcar tutorial
- 46daf02 [FAB-16508] Update commercial paper tutorial to match code
- 0a6993d Add Documentation Maintainers to CODEOWNERS file
- 52e5155 Point to Artifactory for chaintool downloads
- 1786f10 [FABCN-378] Update links to chaincode JSDoc
- bc3bb1a [FAB-15578] Fix typos on the endorser metric name
- 975cc00 FAB-16033 Update channel_artifacts location in doc.
- cae8b55 Static leader should not give up retrieving blocks
- f0ea825 [FAB-17169] Add AZP Status Badge (#511)
- 3ad450d Go SDK link should point to 1.4 release [ #476 ]
- 1b6bea7 Update dead link to Go Chaincode SDK
- 9ec196b Add CODEOWNERS group
- a8639ba Allow seperate TLS config for cluster and client (#393)
- d4dca95 [FAB-17235] Fixed broken links in Chaincode for Operators release-1.4
- 835cae3 [FAB-15900] Add pkcs11 section to orderer.yaml
- 3bae50c [FAB-17289] Fix gossip goroutine leak when reading msg (#439)
- 24d418d [FAB-17128] Add single quote to channel name env var (#437)
- f627b88 Wrong protobuf import in etcdarft
- 778f87b FAB-17177] Config block shouldn't verify itself in block replication
- 0ce6685 [FAB-17220] Dynamically build TLS config in Raft client handshake
- eea42cb Increase open file limit to address Gossip flakes
- 3a9b5e3 Fix flaky etcdraft test by installing chaincode serially
- b4b0191 Deliver can send multiple blocks when seeking newest
- 634e14b Attempt to fix flaky integration ApproveForMyOrg
- 1fe6954 Add hostconfig to build container
- 20ea5df [FAB-17128] Make channel name env var
- d8fac8a [FAB-17166] Gate UT, IT and DocBuild
- d5f056f [FAB-17132] Add Parallel Strategy to Integration Tests
- 36bf3ee [FAB-17133] Add Action to Trigger CI
- ef9960a Add CODEOWNERS file
- d3adcc0 Fix the style-guides directory naming scheme (#309)
- c4f834d [FAB-17115] Update doc for GitHub migration
- 2c3282e [FAB-17114] Add AZP support for Fabric
- 9998978 [FAB-16712] Update Java chaincode doc links
- 633cfbf [FAB-17072] Prepare for next fabric rel v1.4.5
- a192322 Merge "Release fabric v1.4.4" into release-1.4
- 456ca1d Merge "Add consensus type ectdraft in orderer/README.md" into release-1.4
- cb15403 Merge "[FAB-17032] Fix some errors in the doc." into release-1.4
- 7917a40 Release fabric v1.4.4
- a3a9485 [FAB-17068] Add doc for /version endpoint
- 95ffcdc [FAB-15814] Add endpoint for versioning metadata
- e369169 Merge "Do not require reboot when re-adding consenter" into release-1.4
- 06f4ad8 [FAB-17060] Remove s390x from multiarch script
- 9f8168f [FAB-17032] Fix some errors in the doc.
- 707f763 FAB-16544 Homogenize orderer endpoint overrides
- 07db0a8 Do not require reboot when re-adding consenter
- 89655c3 Add consensus type ectdraft in orderer/README.md
- 3257ed6 Merge "FAB-16544 IT for orderer endpoint overrides" into release-1.4
- 4ca163c Merge changes Ide0d1e75,I83a9f78b into release-1.4
- 9893adf Merge "[FAB-15389] Fix private data dissemination" into release-1.4
- 0571934 Merge "Complete chaincode execution on stream termination" into release-1.4
- 96028fd [FAB-15389] Fix private data dissemination
- 872fffe Merge "[FAB-17000] Warn when cert expiration is nigh" into release-1.4
- 1989eee [FAB-17000] Warn when cert expiration is nigh
- c77496c Complete chaincode execution on stream termination
- 5416aef FAB-16544 IT for orderer endpoint overrides
- 66f3d96 Merge "FAB-16852 Update doc to Go v1.12.12" into release-1.4
- e7ed5e8 Merge "FAB-16852 Update Go to v1.12.12" into release-1.4
- 83e3cb4 FAB-16852 Update doc to Go v1.12.12
- 68093d0 Merge "Clarify configtx.yaml capability settings" into release-1.4
- 4b0e995 Add Info message for delivery client
- d7f8962 FAB-16852 Update Go to v1.12.12
- 1a1c71a FAB-16544 Backport orderer TLS cert overrides
- 63e1563 FAB-16544 Fix IT UpdateChannel to match doc
- 1ac3f05 Merge "FAB-16980 add lock to UpdateEndpoints" into release-1.4
- 5879cd3 FAB-16980 add lock to UpdateEndpoints
- 31f85f6 [FAB-14819] Remove duplicate call to GetTxReadWriteSet
- 3b7b8f0 [FAB-16948] To make same with github
- 8196d66 [FAB-16948] Fabric go cid interface enhancement
- 0c221f4 [FAB-16932] Typo in Chaincode Command
- 1485c3d Clarify configtx.yaml capability settings
- dc14773 [FAB-16922] Symbol encoding format error in doc
- d0eecba [FAB-16885] Doc usage of salt for private data
- 3d49575 Fix Raft UT flake by prolong eventual timeout
- f71cfc7 Merge "[FAB-16873] fix cryptogen server TLS to admins" into release-1.4
- 76383ac FAB-16883 fix kafka.rst doc formatting
- d6669bf [FAB-16873] fix cryptogen server TLS to admins
- a2bdb34 FAB-16868: fix
txn
typo error in documents - 76efd6d [FAB-16881] sample configtx.yaml comment fix
- 5cbfc4f Set DOCKER_DYNAMIC_LINK to true
- 59d4adc [FAB-16756] kafka migration guide fix
- 93d94f8 Merge "[FAB-16241] update documentation" into release-1.4
- cea596a [FAB-16783] the cryptogen gen admin cert ou error
- 81953e5 [FAB-16652] check for empty acl api ref
- b0de151 [FAB-16241] update documentation
- 0c9848a [FAB-16052] Fix peerchaincode doc
- 035b95a Merge "FAB-16643 - Fix a bug in pvt data reconciliation" into release-1.4
- 0acd6e9 FAB-16643 - Fix a bug in pvt data reconciliation
- 6197789 [FAB-16651] Fix conn leak if certs renewed
- 54f027d Fabric update to baseimage 0.4.16
- 36249d7 Merge "[FAB-16729] Remove extra "now" typo" into release-1.4
- 456e9ad FAB-16715 Wire orderer endpoint overrides via config
- 0953c69 Merge "FAB-16695 Enable split admin, cluster ports in IT" into release-1.4
- 3345371 FAB-16695 Enable split admin, cluster ports in IT
- d764996 Merge "FAB-16715 Wire endpoint override in UpdateEndpoints" into release-1.4
- be3de21 Merge "FAB-16715 Add overrides to ConnectionCriteria" into release-1.4
- 04d7258 Merge "[FAB-16728] Remove extra unneeded "be"" into release-1.4
- d28741a Merge "FAB-16687 reduce mutex contention in validator" into release-1.4
- 0554664 [FAB-16729] Remove extra "now" typo
- a78be91 [IN-68] Add default GitHub SECURITY policy
- bbb3616 [FAB-16728] Remove extra unneeded "be"
- 23de844 FAB-16695 Make peerServer singleton a slice
- ad1b514 FAB-16695 Re-use metrics for comm GRPCServer
- 1a4ff3f FAB-16715 Wire endpoint override in UpdateEndpoints
- 994f15c FAB-16715 Add overrides to ConnectionCriteria
- 0ac4069 [FAB-16706] remove validate ledger
- b6fdef9 Merge "FAB-16483 Improve error message" into release-1.4
- cdaa9dd FAB-16483 Improve error message
- 19c2829 Merge "[FAB-16274] - Add link to off_chain_data sample" into release-1.4
- 14e85ce [FAB-16274] - Add link to off_chain_data sample
- 7775c13 FAB-15666 Pass NetworkMode in DockerBuildOptions
- 003c8c5 Add test for deployImage
- 1483166 FAB-16687 reduce mutex contention in validator
- bc2d289 [FAB-16630] Fix comment error
- fcfd12e [FAB-16165] Change pkcs11 test keystore directory
- e09c726 Merge "FAB-16605 Add log message for slow WAL" into release-1.4
- 0abcce8 FAB-16650 align sentence for eventclient readme
- a5d9a93 FAB-16605 Add log message for slow WAL
- 6cfdc7d Merge "[FAB-16571] Fix peer panic when package java chaincode" into release-1.4
- 157f500 [FAB-16571] Fix peer panic when package java chaincode
- 7f1abdb [FAB-16580] Remove Hyperledger Composer references
- 86fcc44 Merge "[FAB-16376] MSP_1.4.3: support for admincerts" into release-1.4
- 48a1c86 FAB-16413 Prepare for next fabric rel (1.4.4)
- 05479d9 [FAB-16376] MSP_1.4.3: support for admincerts
- b8c4a6a [FAB-16412] Release fabric v1.4.3
- d7596b6 Merge "[FAB-16282] Upgrade/what's new doc for 1.4.3" into release-1.4
- 9bdd8de Merge "Use latest npm version of ccenv image" into release-1.4
- 2bb8dba Merge "[FAB-15899] Doc Node OU Support for admins and orderers" into release-1.4
- a7ca2fc Use latest npm version of ccenv image
- 98992bd [FAB-16282] Upgrade/what's new doc for 1.4.3
- c12a529 Merge "Remove hardcoded ver on fabric multiarch script" into release-1.4
- af60269 Merge "FAB-16325 Remove travis build file" into release-1.4
- 30dea93 Remove hardcoded ver on fabric multiarch script
- 4b34ac6 Merge "FAB-16399 Correct capabilities error message" into release-1.4
- 11de776 Merge "fix peer node cmd preamble/postscript" into release-1.4
- 4d68e0b Merge "[FAB-15479] Docs updates for Java" into release-1.4
- 7a9f6e7 [FAB-15899] Doc Node OU Support for admins and orderers
- 607de4d FAB-16399 Correct capabilities error message
- 1e54df2 Merge "[FAB-16327] Discovery config query with org endpoints" into release-1.4
- 61030af fix peer node cmd preamble/postscript
- 6f64c22 [FAB-16357] Support for .orderer
- e21cd4a [FAB-16327] Discovery config query with org endpoints
- 9b2fde0 [FAB-16122] Integration Test AdminOU
- 65eb54d Merge "[FAB-16056] Display config block num for CLI" into release-1.4
- fd02119 [FAB-15479] Docs updates for Java
- 4a7e76f FAB-16325 Remove travis build file
- 719e892 Merge "[FAB-15933] Optional NodeOU Classification" into release-1.4
- ea2316f [FAB-16056] Display config block num for CLI
- 3091941 Merge "[FAB-15970] Enable MSP 1.4.3 at Channel Config" into release-1.4
- e486d61 Merge "[FAB-16292] Fix NPE in expiration" into release-1.4
- 7078648 [FAB-15933] Optional NodeOU Classification
- df962e9 [FAB-15970] Enable MSP 1.4.3 at Channel Config
- 762f3c5 [FAB-12620] Orderer OU
- 2f31597 [FAB-15388] AdminOU Support
- 5132634 [FAB-16292] Fix NPE in expiration
- 8c6182e [FAB-15979] Improve capabilities documentation
- fbbeb01 Merge changes from topics "FAB-16141-release1.4", "FAB-15700-release1.4" into release-1.4
- 8d85cab Merge "FAB-15532 create in-proc broadcast client for IT" into release-1.4
- cbf6372 Merge "fix pvt and blockStore recovery for reset/rollback" into release-1.4
- 67026a5 [FAB-16141] Option to disable cert expiration checks
- 56cc786 [FAB-15700] Recover an expired TLS cert cluster
- 1786505 FAB-15532 create in-proc broadcast client for IT
- ea7cd9c Merge "FAB-16208 Add v1.4.2 orderer capability sampleconf" into release-1.4
- 72f22c5 Merge "Fix a typo error for etcdraft" into release-1.4
- 861847b fix pvt and blockStore recovery for reset/rollback
- 0163d56 Merge "rollback/reset: ensure that stateDB is dropped" into release-1.4
- 075851a Merge "rollback: fix capability usage at gossip" into release-1.4
- e40b33e Fix a typo error for etcdraft
- 042b6c4 rollback/reset: ensure that stateDB is dropped
- bb57b08 FAB-16208 Add v1.4.2 orderer capability sampleconf
- ad802f9 rollback: fix capability usage at gossip
- 05da109 Merge "FAB-16051 MSP IDENTITY Principal Deserialization" into release-1.4
- ea4fb38 Merge "[FAB-16138] Accelerate reset and rollback tests" into release-1.4
- 1181f45 [FAB-16138] Accelerate reset and rollback tests
- fc4f3a5 [FAB-16140] Fix Missing error handling in EC query
- f78f7b9 [FAB-15891] Node.js version support
- ebf81bc FAB-16051 MSP IDENTITY Principal Deserialization
- 4d9954c [FAB-16020] Add java_package to transaction.proto
- 469501a [FAB-15998] Prepare for next fabric rel (1.4.3)
- c6cc550 [FAB-15997] Release fabric v1.4.2
- c6ddf3a Merge "[FAB-15908] Add release notes for v1.4.2" into release-1.4
- 5674921 [FAB-15994] What's New v1.4.2 edits
- 78db512 Merge "[FAB-15815] Upgrade to v1.4.2 doc" into release-1.4
- 54c1cad [FAB-15908] Add release notes for v1.4.2
- 89d48a8 Merge "Add a test for a corner case crash scenario" into release-1.4
- c39a485 Merge "[FAB-15450] Doc: add expectation for state keys" into release-1.4
- 7803126 [FAB-15815] Upgrade to v1.4.2 doc
- 950442a [FAB-15450] Doc: add expectation for state keys
- 8049c6f Merge "[FAB-15840] Fix peer isolation after a long disconnect" into release-1.4
- 34b6107 Merge "replace fmt.Sprintf to error.Errorf" into release-1.4
- aef3bcc Merge "rm wait for usr input on reset/rollback" into release-1.4
- d339219 Merge "filelock to allow one of peer start, reset, rollback" into release-1.4
- dffb08c replace fmt.Sprintf to error.Errorf
- af4a0ae [FAB-15840] Fix peer isolation after a long disconnect
- 964200d rm wait for usr input on reset/rollback
- 61199ed Fix rollback bug
- b137f5b filelock to allow one of peer start, reset, rollback
- 68a6a07 Merge "[FAB-12126] Fix discovery client test flake" into release-1.4
- fda1f0b code hygiene: use rolled, rolling, rolls (back)
- 4680494 [FAB-12126] Fix discovery client test flake
- 2828622 Add shim/ext deps to ccenv
This list of changes was auto generated.