Skip to content

Releases: hyperledger/fabric

v1.3.0-rc1 Release Notes - September 24, 2018

22 Nov 15:34
Compare
Choose a tag to compare
---------------------------------------------

What's New in Hyperledger Fabric v1.3
-------------------------------------

The following features/epics are included in this release:

FAB-10120 - Identity Mixer for anonymous transactions
Keep client identities anonymous and unlinkable through the use of
zero-knowledge proofs.

FAB-8812 - State-based endorsement
Allows the default chaincode-level endorsement policy to be overridden by a
per-key endorsement policy.

FAB-2809 - Chaincode pagination of query results
Clients can now page through result sets from chaincode queries, making it
feasible to support large result sets with high performance.

FAB-8779 - Java chaincode support
As an addition to the current Fabric support for chaincode written in Go and
Node.js, Java is now supported.

Changes, Known Issues, and Workarounds
--------------------------------------

FAB-11122 - Removal of event hub

The 'old' event hub has been removed in Hyperledger Fabric v1.3.  It is
replaced by the peer channel-based event service which was introduced in
Fabric v1.1.
Applications using the old event hub must switch over to the new
channel-based event service before upgrading to v1.3 peer or SDKs.

FAB-12088 - Java chaincode support on s390 architecture

Java chaincode support is not yet available on s390 architecture.

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.

Other improvements and fixes
----------------------------
Updated to Go version 1.10.4
Updated baseimage version to 0.4.12

For the full list of improvements and fixes, refer to the release change log:
https://github.com/hyperledger/fabric/blob/master/CHANGELOG.md#v130-rc1

v1.1.1 July 5, 2018

22 Nov 15:39
Compare
Choose a tag to compare
---------------------

Release Notes
-------------
Bug fixes, documentation and test coverage improvements, UX improvements
based on user feedback and changes to address a variety of static scan
findings (unused code, static security scanning, spelling, linting and more).

Known Vulnerabilities
---------------------
none

Resolved Vulnerabilities
------------------------
https://jira.hyperledger.org/browse/FAB-10537
https://jira.hyperledger.org/browse/FAB-10577

Known Issues & Workarounds
--------------------------
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.

Please refer to https://jira.hyperledger.org/browse/FAB-5177 for more details,
and kindly be aware that given the above, we may end up changing the
fabric-ccenv in the future.

Change Log
----------
https://github.com/hyperledger/fabric/blob/master/CHANGELOG.md#v111

v1.2.0 Release Notes - July 3, 2018

22 Nov 15:28
Compare
Choose a tag to compare
----------------------------------------

What's New in v1.2
------------------

The following features/epics are included in this release:

FAB-8718 - Channel Private Data
Keep chaincode data confidential among a subset of channel members.

FAB-8727 - Access control for peer functions
Configure which client identities can interact with peer functions, per channel.

FAB-8729 - Pluggable endorsement and validation
Utilize pluggable endorsement and validation logic per chaincode.

FAB-8779 - Service Discovery
Discover network services dynamically, including orderers, peers, chaincode,
and endorsement policies, to simplify client applications.

Hygiene and Technical debt
Ginkgo-based integration tests have been added, and component code has been
refactored for improved readability and maintainability.

Changes, Known Issues, and Workarounds
--------------------------------------

FAB-10151 - configtx.yaml samples fixed

Previous releases included example input files for configtxgen (configtx.yaml)
that contained invalid YAML which referenced YAML anchors before they were
defined. It was not a problem in prior releases since the golang YAML parser
tolerated references before definitions.
The configtx.yaml samples are corrected in version v1.2. Users are advised
to evaluate their configtxgen input documents for places where YAML anchors
are referenced before they are defined. Either reorder nodes to ensure
anchors are defined before they are referenced, or re-create YAML documents
using the updated configtx.yaml sample documents as a starting point.
Refer to https://jira.hyperledger.org/browse/FAB-10151 for more details.

FAB-8557 - Transaction index and query behavior changed

There is a change to how some of the indexes maintained by ledger are updated.
Specifically, this includes indexes that maintain information by txid. In the rare
scenario when two transactions were submitted with the same transaction ids,
in the previous releases, the last transaction would be indexed. Only the first
instance of a transaction can be valid, therefore it was possible for an invalid
transaction to overwrite the status of a valid transaction, and therefore APIs
such as 'GetTransactionByID' and 'GetBlockByTxID' may return the latter invalid
transaction. In these cases the ledger remained correct, however transaction
queries may have returned unexpected results.
In this release, the behavior is changed so that the first transaction (the only
instance that can be valid) will not be overwritten in the index.
In the rare scenario where this problem has occurred on a channel, the peer's
transaction index can be rebuilt after upgrading to version v1.2, by stopping the
peer, deleting the <CORE_PEER_FILESYSTEMPATH>/ledgersData/chains/index directory,
and restarting the peer. The peer will automatically rebuild its indexes
using the new behavior.
Refer to https://jira.hyperledger.org/browse/FAB-8557 for more details.

FAB-8877 - Reserved field validation for CouchDB state database

Prior releases did not validate chaincode data against all state database
content restrictions.  Specifically, version v1.2 adds validation during
chaincode execution to ensure that keys that will be written to CouchDB
state database are UTF8 complaint, do not start with an underscore, and
that there are no top-level JSON fields named '~version' or that start with
underscores, as these fields are reserved for use by CouchDB (and Fabric).
If these conditions are found during chaincode execution, an error will
be returned to the client in the proposal response.
For the same reason, all peers on a channel must utilize the same state
database type, and it is not possible to convert a channel's peers from
using LevelDB state database to CouchDB state database, unless the
chaincode performs the same validations.
Refer to https://jira.hyperledger.org/browse/FAB-8877 for more details.

Known Vulnerabilities
---------------------
FAB-8664 - Peer does not detect his own org ejection
This is a relatively low severity problem, because it requires a significant
conspiracy of network admins, but it will be addressed in an upcoming release.

Resolved Vulnerabilities
------------------------
FAB-10537 - Reject CONFIG/ORDERER_TRANSACTION messages
Ensures that clients cannot submit transactions intended to be generated
from orderer nodes.

Other improvements and fixes
----------------------------
For the full list of improvements and fixes, refer to the release change log:
https://github.com/hyperledger/fabric/blob/master/CHANGELOG.md#v120

v1.2.0-rc1 Release Notes - June 22, 2018

22 Nov 15:30
Compare
Choose a tag to compare
----------------------------------------

What's New in v1.2
------------------

The following features/epics are included in this release:

FAB-8718 - Channel Private Data
Keep chaincode data confidential among a subset of channel members.

FAB-8727 - Access control for peer functions
Configure which client identities can interact with peer functions, per channel.

FAB-8729 - Pluggable endorsement and validation
Utilize pluggable endorsement and validation logic per chaincode.

FAB-8779 - Service Discovery
Discover network services dynamically, including orderers, peers, chaincode,
and endorsement policies, to simplify client applications.

Hygiene and Technical debt
Ginkgo-based integration tests have been added, and component code has been
refactored for improved readability and maintainability.

Changes, Known Issues, and Workarounds
--------------------------------------

FAB-10151 - configtx.yaml samples fixed

Previous releases included example input files for configtxgen (configtx.yaml)
that contained invalid YAML which referenced YAML anchors before they were
defined. It was not a problem in prior releases since the golang YAML parser
tolerated references before definitions.
The configtx.yaml samples are corrected in version v1.2. Users are advised
to evaluate their configtxgen input documents for places where YAML anchors
are referenced before they are defined. Either reorder nodes to ensure
anchors are defined before they are referenced, or re-create YAML documents
using the updated configtx.yaml sample documents as a starting point.
Refer to https://jira.hyperledger.org/browse/FAB-10151 for more details.

FAB-8557 - Transaction index and query behavior changed

There is a change to how some of the indexes maintained by ledger are updated.
Specifically, this includes indexes that maintain information by txid. In the rare
scenario when two transactions were submitted with the same transaction ids,
in the previous releases, the last transaction would be indexed. Only the first
instance of a transaction can be valid, therefore it was possible for an invalid
transaction to overwrite the status of a valid transaction, and therefore APIs
such as 'GetTransactionByID' and 'GetBlockByTxID' may return the latter invalid
transaction. In these cases the ledger remained correct, however transaction
queries may have returned unexpected results.
In this release, the behavior is changed so that the first transaction (the only
instance that can be valid) will not be overwritten in the index.
In the rare scenario where this problem has occurred on a channel, the peer's
transaction index can be rebuilt after upgrading to version v1.2, by stopping the
peer, deleting the <CORE_PEER_FILESYSTEMPATH>/ledgersData/chains/index directory,
and restarting the peer. The peer will automatically rebuild its indexes
using the new behavior.
Refer to https://jira.hyperledger.org/browse/FAB-8557 for more details.

FAB-8877 - Reserved field validation for CouchDB state database

Prior releases did not validate chaincode data against all state database
content restrictions.  Specifically, version v1.2 adds validation during
chaincode execution to ensure that keys that will be written to CouchDB
state database are UTF8 complaint, do not start with an underscore, and
that there are no top-level JSON fields named '~version' or that start with
underscores, as these fields are reserved for use by CouchDB (and Fabric).
If these conditions are found during chaincode execution, an error will
be returned to the client in the proposal response.
For the same reason, all peers on a channel must utilize the same state
database type, and it is not possible to convert a channel's peers from
using LevelDB state database to CouchDB state database, unless the
chaincode performs the same validations.
Refer to https://jira.hyperledger.org/browse/FAB-8877 for more details.

Known Vulnerabilities
---------------------
FAB-8664 - Peer does not detect his own org ejection
This is a relatively low severity problem, because it requires a significant
conspiracy of network admins, but it will be addressed in an upcoming release.

Resolved Vulnerabilities
------------------------
FAB-10537 - Reject CONFIG/ORDERER_TRANSACTION messages
Ensures that clients cannot submit transactions intended to be generated
from orderer nodes.

Other improvements and fixes
----------------------------
For the full list of improvements and fixes, refer to the release change log:
https://github.com/hyperledger/fabric/blob/master/CHANGELOG.md#v120-rc1

v1.1.0 March 15, 2018

22 Nov 15:35
Compare
Choose a tag to compare
---------------------

Release Notes
-------------
The v1.1 release includes all of the features delivered in v1.1.0-preview
and v1.1.0-alpha.

Additionally, there are feature improvements, bug fixes, documentation and test
coverage improvements, UX improvements based on user feedback and changes to address a
variety of static scan findings (unused code, static security scanning, spelling,
linting and more).

Updated to Go version 1.9.2.
Updated baseimage version to 0.4.6.

Known Vulnerabilities
---------------------
none

Resolved Vulnerabilities
------------------------
https://jira.hyperledger.org/browse/FAB-4824
https://jira.hyperledger.org/browse/FAB-5406

Known Issues & Workarounds
--------------------------
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.

Please refer to https://jira.hyperledger.org/browse/FAB-5177 for more details,
and kindly be aware that given the above, we may end up changing the
fabric-ccenv in the future.

Change Log
----------
https://github.com/hyperledger/fabric/blob/master/CHANGELOG.md#v110

v1.1.0-rc1 March 1, 2018

22 Nov 15:38
Compare
Choose a tag to compare
-------------------------------

Release Notes
-------------
The v1.1 release candidate 1 (rc1) includes all of the features delivered in v1.1.0-preview
and v1.1.0-alpha.

Additionally, there are feature improvements, bug fixes, documentation and test
coverage improvements, UX improvements based on user feedback and changes to address a
variety of static scan findings (unused code, static security scanning, spelling,
linting and more).

Known Vulnerabilities
---------------------
none

Resolved Vulnerabilities
------------------------
none

Known Issues & Workarounds
--------------------------
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.

Please refer to https://jira.hyperledger.org/browse/FAB-5177 for more details,
and kindly be aware that given the above, we may end up changing the
fabric-ccenv in the future.

Change Log
----------
https://github.com/hyperledger/fabric/blob/master/CHANGELOG.md#v110-rc1

v1.1.0-alpha January 25, 2018

22 Nov 15:36
Compare
Choose a tag to compare
-------------------------------

Release Notes
-------------
This is a feature-complete *alpha* release of the up-coming 1.1 release. The 1.1 release
includes the following new major features:

  - https://jira.hyperledger.org/browse/FAB-6911 - Event service for blocks
  - https://jira.hyperledger.org/browse/FAB-5481 - Event service for block transaction events
  - https://jira.hyperledger.org/browse/FAB-5300 - Certificate Revocation List from CA
  - https://jira.hyperledger.org/browse/FAB-3067 - Peer management of CouchDB indexes
  - https://jira.hyperledger.org/browse/FAB-6715 - Mutual TLS between all components
  - https://jira.hyperledger.org/browse/FAB-5556 - Rolling Upgrade via configured capabilities
  - https://jira.hyperledger.org/browse/FAB-2331 - Node.js Chaincode support
  - https://jira.hyperledger.org/browse/FAB-5363 - Node.js SDK Connection Profile
  - https://jira.hyperledger.org/browse/FAB-830 - Encryption library for chaincode
  - https://jira.hyperledger.org/browse/FAB-5346 - Attribute-based Access Control
  - https://jira.hyperledger.org/browse/FAB-6089 - Chaincode APIs for creator identity
  - https://jira.hyperledger.org/browse/FAB-6421 - Performance improvements

Additionally, there are feature improvements, bug fixes, documentation and test
coverage improvements, UX improvements based on user feedback and changes to address a
variety of static scan findings (unused code, static security scanning, spelling,
linting and more).

Known Vulnerabilities
---------------------
none

Resolved Vulnerabilities
------------------------
none

Known Issues & Workarounds
--------------------------
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.

Please refer to https://jira.hyperledger.org/browse/FAB-5177 for more details,
and kindly be aware that given the above, we may end up changing the
fabric-ccenv in the future.

Change Log
----------
https://github.com/hyperledger/fabric/blob/master/CHANGELOG.md#v110-alpha

v1.1.0-preview November 1, 2017

22 Nov 15:37
Compare
Choose a tag to compare
-------------------------------

Release Notes
-------------
This is a *preview* release of the up-coming 1.1 release. We are not feature
complete for 1.1 just yet, but we wanted to get the following functionality
published to gain some early community feedback on the following features:

  - https://jira.hyperledger.org/browse/FAB-2331- Node.js Chaincode
  - https://jira.hyperledger.org/browse/FAB-5363 - Node.js SDK Connection Profile
  - https://jira.hyperledger.org/browse/FAB-830 - Encryption library for chaincode
  - https://jira.hyperledger.org/browse/FAB-5346 - Attribute-based Access Control
  - https://jira.hyperledger.org/browse/FAB-6089 - Chaincode APIs to retrieve
    creator cert info
  - https://jira.hyperledger.org/browse/FAB-6421 - Performance improvements

Additionally, there are the usual bug fixes, documentation and test coverage
improvements, UX improvements based on user feedback and changes to address a
variety of static scan findings (unused code, static security scanning, spelling,
linting and more).

Known Vulnerabilities
---------------------
none

Resolved Vulnerabilities
------------------------
none

Known Issues & Workarounds
--------------------------
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.

Please refer to https://jira.hyperledger.org/browse/FAB-5177 for more details,
and kindly be aware that given the above, we may end up changing the
fabric-ccenv in the future.

Change Log
----------
https://github.com/hyperledger/fabric/blob/master/CHANGELOG.md#v110-preview