2022 Q2 Hyperledger Fabric
Project Health
Hyperledger Fabric is fairly mature and stable with a Long-term support (LTS) release and incremental new features being added in minor releases. There is less churn and fewer commits than in years past, with continued focus on quality and support. New features get proposed, approved, and implemented based on a community RFC process. Mailing list activity is down compared to prior years. PRs and mailing list questions are generally turned around quickly.
Required Information
- Have you switched from master to main in all your repos? YES
- Have you implemented the Common Repository Structure in all your repos? YES
- Has your project implemented these inclusive language changes listed below to your repo? YES. You can optionally use the DCI Lint tool to make this a recurring action on your repo.
- master → main
- slave → replicas
- blacklist → denylist
- whitelist → allowlist
- Have you added an Inclusive Language Statement to your project's documentation and/or Wiki pages? YES (already had one, but replacing it with the TSC recommended guidelines in https://github.com/hyperledger/fabric/pull/3344)
Questions/Issues for the TSC
None.
Releases
v2.2 is the current LTS releases with patch releases approximately quarterly.
Releases past quarter:
- Fabric v2.2.5 - January 28, 2022
- Fabric v2.4.2 - January 28, 2022
- Fabric v2.4.3 - February 25, 2022
Additionally, SDKs are regularly patched.
Upcoming releases:
- v2.5.0 - Expected to be next LTS release
Overall Activity in the Past Quarter
The project delivered fixes to the v2.4.x release, primarily hardening the new Fabric Gateway feature that was delivered in v2.4.0. The new Gateway SDKs are also being updated to support checkpointing for chaincode events, block events, and off-line signing so that they will have parity with the legacy SDKs, enabling existing users to move up to the new Gateway SDKs that simplify application logic.
Additionally the Fabric v2.2.5 and v2.4.2 releases, and Fabric CA v1.5.3 release updated Fabric to utilize Go 1.17.
Work is underway to implement the Purge Private Data History feature.
RFCs merged this quarter:
Other RFCs are in review , most notably a proposed refactoring of the ordering service nodes to support Byzantine Fault Tolerant ordering.
Finally, project samples have been updated including:
- Asset transfer samples with new Gateway SDK - https://hyperledger-fabric.readthedocs.io/en/latest/write_first_app.html
- Kubernetes Test Network - https://github.com/hyperledger/fabric-samples/tree/main/test-network-k8s
Current Plans
Releases
The project is working on a v2.5.0 release with a feature to Purge the history of private data. The feature may help organizations meet GDPR requirements with the ability to delete private data while preserving a hash of the data on the blockchain. The v2.5 release is expected to become the next long-term support release. As such, many project dependencies are being updated including a somewhat invasive update in the ordering service for etcd and protobuf.
Discussion about a future Fabric v3.0 release was kicked off. The proposal is to refactor some Fabric components so that new features can be more easily added on top, most notably a proposed BFT ordering service.
Documentation
Fabric community documentation meetings have been resumed with initial focus on the following Fabric documentation areas:
- Certificate management (expirations, renewals)
- Chaincode as a service
Performance
Update Caliper client for Fabric gateway SDK (nearing completion).
Maintainer Diversity
With some inactive maintainers retired, we now have 6 of 8 maintainers of core Fabric from IBM.
Contributor Diversity
Year to year comparison, by commit:
- Q1 2021 - 780 commits. 73% from IBM.
- Q1 2022 - 326 commits. 79% from IBM
Year to year comparison, by contributor:
- Q1 2021 - 80 contributors. 51% from IBM.
- Q1 2022 - 75 contributors. 31% from IBM.
Additional Information
Link to the Fabric dashboard: Q1 2022
Reviewed By
- Angelo de Caro
- Arnaud J LE HORS
- artem
- Arun .S.M.
- Bobbi Muscara
- Danno Ferrin
- David Enyeart
- Grace Hartley (Deactivated)
- Jim Zhang
- kamlesh nagware
- Nathan George
- Peter Somogyvari
- Tracy Kuhrt
- Troy Ronda