Releases: hyperledger/fabric-sdk-node
v1.4.16
fabric-sdk-node 1.4.16 is a maintenance release containing bug fixes. All users of the v1.4 Node SDK are advised to upgrade to this version.
v2.2.4
This v2.2.4 release is the long-term support (LTS) release of the fabric-node-sdk packages that support Fabric 2.x, and supersedes previous v2.2.x releases. Please see the Fabric LTS release strategy document for more information on LTS releases:
https://github.com/hyperledger/fabric-rfcs/blob/master/text/0005-lts-release-strategy.md
If migrating a client application from an earlier version of the API, consult the migration tutorial for details of potentially breaking changes and recommended actions:
https://hyperledger.github.io/fabric-sdk-node/master/tutorial-migration.html
new features of 2.2.4
- The fabric-network HSM wallet provider will now save HSM private key
handles to provide access to HSM identities across sessions. The PKCS11 key
implementation has been updated to return the string representation of the
HSM private key handle when requesting the private key.
To save an HSM identity:
// enroll as usual
const enrollmentResults = await hsmCAClient.enroll(options);
// from the enrollment results get the info to save
const identity: HsmX509Identity = {
credentials: {
certificate: enrollmentResults.certificate,
privateKey: enrollmentResults.key.toBytes()
},
mspId: 'org1',
type: 'HSM-X.509'
};
await wallet.put('bob', identity);
- The fabric-network query handlers will now include the chaincode result (payload)
in the error object when a chaincode query fails (transaction.evaluate()
) and
the non "200" success status of the chaincode response includes a payload.
To see the payload and status:
try {
const results = transaction.evaluate(arg1);
} catch(error) {
console.log('Chaincode results:' + error.payload.toString());
console.log('Chaincode error status:' + error.status);
}
- Fabric legacy system chaincodes may now be used when the gateway is connected using
the discovery service. The performance enhancement to seed endorsements and
queries only to peers that the discovery service has indicated are running the
requested chaincode will not apply to system chaincodes 'cscc', 'lscc', and 'qscc'.
The discovery service does not show these legacy system chaincodes because they
do not have endorsement policies.
Major changes from v1.4:
- The fabric-client package has been removed. Client applications should use the Fabric Programming Model APIs from the fabric-network package.
- The underlying APIs that interface with the gRPC layer have been reimplemented in the fabric-common package and should not be used directly by client applications.
- Simplified wallet management, which is portable across SDK languages and with pluggable persistent storage. More information can be found here: https://hyperledger.github.io/fabric-sdk-node/master/tutorial-wallet.html
- New eventing implementation in fabric-network. Client application code can listen for block events using Network.addBlockListener(), and listen for contract events using Contract.addContractListener(). The Network object also provides capability to listen for transaction commit events, specifically to support the implementation of custom event handlers. More information can be found here: https://hyperledger.github.io/fabric-sdk-node/master/tutorial-transaction-commit-events.html
v1.4.15
fabric-sdk-node 1.4.15 is a maintenance release containing bug fixes and documentation improvements.
The default query timeout may be changed along with the query strategy.
The timeout value is in seconds.
To specify:
const { Gateway, DefaultQueryHandlerStrategies } = require('fabric-network');
const connectOptions = {queryHandlerOptions: {timeout: 60, strategy: DefaultQueryHandlerStrategies.MSPID_SCOPE_SINGLE}};
const gateway = new Gateway();
await gateway.connect(connectionProfile, connectOptions);
v1.4.14
v2.2.3
This v2.2.3 release is the long-term support (LTS) release of the fabric-node-sdk packages that support Fabric 2.x, and supersedes previous v2.x releases. Please see the Fabric LTS release strategy document for more information on LTS releases:
https://github.com/hyperledger/fabric-rfcs/blob/master/text/0005-lts-release-strategy.md
If migrating a client application from an earlier version of the API, consult the migration tutorial for details of potentially breaking changes and recommended actions:
https://hyperledger.github.io/fabric-sdk-node/master/tutorial-migration.html
new features of 2.2.3
- New query handlers have been added to select from other organizations when the user's organization does not contain peers. The
PREFER_MSPID_SCOPE_SINGLE
is the new gateway default query handling strategy. More information can be found here: https://hyperledger.github.io/fabric-sdk-node/release-2.2/tutorial-query-peers.html - New event handlers have been added to select from other organizations when the user's organization does not contain peers. The
PREFER_MSPID_SCOPE_ALLFORTX
is the new gateway default event handling strategy when committing transactions. More information can be found here: https://hyperledger.github.io/fabric-sdk-node/release-2.2/tutorial-transaction-commit-events.html - Peers may be limited to selected organizations when discovery is handling the peer endorsements of a transaction. Use the API on
fabric-network/transaction.setEndorsingOrganizations(...orgs)
to control the peers by specifying the required organizations. More information can be found here: https://hyperledger.github.io/fabric-sdk-node/release-2.2/module-fabric-network.Transaction.html#setEndorsingOrganizations__anchor - During the commit handling of submitting a transaction, the orderers will be randomly selected and the connection will be attempted to be reset if not functioning, providing better load balancing and fail over support.
Major changes from v1.4:
- The fabric-client package has been removed. Client applications should use the Fabric Programming Model APIs from the fabric-network package.
- The underlying APIs that interface with the gRPC layer have been reimplemented in the fabric-common package and should not be used directly by client applications.
- Simplified wallet management, which is portable across SDK languages and with pluggable persistent storage. More information can be found here: https://hyperledger.github.io/fabric-sdk-node/master/tutorial-wallet.html
- New eventing implementation in fabric-network. Client application code can listen for block events using Network.addBlockListener(), and listen for contract events using Contract.addContractListener(). The Network object also provides capability to listen for transaction commit events, specifically to support the implementation of custom event handlers. More information can be found here: https://hyperledger.github.io/fabric-sdk-node/master/tutorial-transaction-commit-events.html
v1.4.13
v1.4.12
This is a maintenance release containing a critical fix to dependency versioning between Node SDK packages. Prior v1.4 versions may be broken by the release of the v2.2 Node SDK, tagged in the NPM registry as "latest". All users of the v1.4 Node SDK are advised to upgrade to this version.
v2.2.2
This v2.2.1 release is the long-term support (LTS) release of the fabric-node-sdk packages that support Fabric 2.x, and supersedes previous v2.x releases. Please see the Fabric LTS release strategy document for more information on LTS releases:
https://github.com/hyperledger/fabric-rfcs/blob/master/text/0005-lts-release-strategy.md
If migrating a client application from an earlier version of the API, consult the migration tutorial for details of potentially breaking changes and recommended actions:
https://hyperledger.github.io/fabric-sdk-node/master/tutorial-migration.html
Major changes from v1.4:
- The fabric-client package has been removed. Client applications should use the Fabric Programming Model APIs from the fabric-network package.
- The underlying APIs that interface with the gRPC layer have been reimplemented in the fabric-common package and should not be used directly by client applications.
- Simplified wallet management, which is portable across SDK languages and with pluggable persistent storage. More information can be found here: https://hyperledger.github.io/fabric-sdk-node/master/tutorial-wallet.html
- New eventing implementation in fabric-network. Client application code can listen for block events using Network.addBlockListener(), and listen for contract events using Contract.addContractListener(). The Network object also provides capability to listen for transaction commit events, specifically to support the implementation of custom event handlers. More information can be found here: https://hyperledger.github.io/fabric-sdk-node/master/tutorial-transaction-commit-events.html
v2.2.1
This v2.2.1 release is the long-term support (LTS) release of the fabric-node-sdk packages that support Fabric 2.x, and supersedes previous v2.x releases. Please see the Fabric LTS release strategy document for more information on LTS releases:
https://github.com/hyperledger/fabric-rfcs/blob/master/text/0005-lts-release-strategy.md
If migrating a client application from an earlier version of the API, consult the migration tutorial for details of potentially breaking changes and recommended actions:
https://hyperledger.github.io/fabric-sdk-node/master/tutorial-migration.html
Major changes from v1.4:
The fabric-client package has been removed. Client applications should use the Fabric Programming Model APIs from the fabric-network package.
The underlying APIs that interface with the gRPC layer have been reimplemented in the fabric-common package and should not be used directly by client applications.
Simplified wallet management, which is portable across SDK languages and with pluggable persistent storage. More information can be found here: https://hyperledger.github.io/fabric-sdk-node/master/tutorial-wallet.html
New eventing implementation in fabric-network. Client application code can listen for block events using Network.addBlockListener(), and listen for contract events using Contract.addContractListener(). The Network object also provides capability to listen for transaction commit events, specifically to support the implementation of custom event handlers. More information can be found here: https://hyperledger.github.io/fabric-sdk-node/master/tutorial-transaction-commit-events.html
v1.4.11
This is a maintenance release containing a critical fix to dependency versioning between Node SDK packages. Prior v1.4 versions may be broken by the release of the v2.2 Node SDK, tagged in the NPM registry as "latest". All users of the v1.4 Node SDK are advised to upgrade to this version.