This release of caliper adds new capabilities and addresses lots of bugs. Note that Hyperledger Fabric 1.4 SUT binding is still available in this release however it now is deprecated.
- [Feature] Official support for Node 14 and Node 16 for users and contributors
- [Feature] Experimental release for a Declaritive Workload Module
- [Feature] Support for the new Peer Gateway API introduced in Hyperledger Fabric 2.4
- [Fix] Fix Caliper round hang with unfinished transactions never completing
- [Fix] Corrections and Improvements to the documentation
- [Breaking] Caliper no longer supports the 1.0 version of the Fabric Network Configuration format
- [Breaking] Caliper no longer supports creating channels or deploying chaincode to Hyperledger Fabric
- [Breaking] Caliper no longer supports Hyperledger Fabric 1.3 or older
- 2fd8925 Fixes caliper hang of unfinished transactions (#1342)
- df1b96c Peer Gateway txs error messsage: added output of the contents of the err details array (#1345)
- 671ca2f explicitly bind grpc-js for fabric 2.4 connector (#1344)
- 4bbb40c changed all bit.ly links with a direct link (#1336)
- 14467a4 upgraded node-sdk binding for fabric-v2-lts from 2.2.11 to 2.2.12 (#1335)
- b554467 upgraded node-sdk binding for fabric-v1-lts from 1.4.19 to 1.4.20 (#1332)
- 1a6639c add peers property support to fabric network config (#1329)
- ca58c47 disable logging debug to file (#1331)
- 35ae4ca Ensure that connector errors finishes caliper transactions (#1328)
- d699171 Fix cli and update dependabot security dependencies (#1324)
- da99385 correct interval usage in fabric-tests (#1323)
- 031267f fixed docker monitor to use dockerode only (#1319)
- af6440f address worker cleanup when an error occurs (#1315)
- 57d8d46 Change monitor intervals from milliseconds to seconds (#1314)
- 7f4d374 fixed colors dependency to 1.4.0 (#1311)
- 6fb76f2 add integration test for peer gateway connector + updated docker compose for fabric 2.4 (#1310)
- 9e736c0 edit defaul.yaml (updated comments and deleted sllep after option for fabric) + updated the fabric Channel operations for the v1 fabric connector (#1306)
- 25f905d added logic to pick new Peer Gateway connector in the connector selector in FabriConnectorFactory.js + added 2.4 fabric SUT version with binding packages in .config.yaml + added last fixes for the Peer Gateway connector implementation (#1298)
- 7c33aca Update the usage examples to more appropriate versions (#1297)
- 66e8386 remove latency values if no successful txns in final report (#1290)
- 5f9aa29 fix RecordRate rate controller (#1292)
- a372f18 added main logic for the new peer-gateaway connector including unit tests (#1270)
- ada19c3 Caliper terminates if prometheus is not available (#1288)
- 6a76834 Remove CountQueryAsLoad Option (#1276)
- 4f03fef rename certain terms in code base (#1280)
- 4356663 improve message to help when file not found (#1262)
- ba1ffcf Improve integration tests (#1259)
- a84cdd9 add changes to ConnectionProfileDefinition for new PeerGateway connector and add peer-gateway to nyc of caliper-fabric (#1253)
- 5ee6aaa Remove the need for gateway-enabled when binding to a fabric 2.2 SUT (#1255)
- 5380af7 add txid to proposal when doing a query (#1247)
- c72dc9f ensure endorsetimeout is set on v2 fabric connector (#1246)
- 71a5a87 Update bindings to latest fabric sdks and remove old ones (#1244)
- 9043fd0 Remove the legacy fabric connectors (#1235)
- 338212d Bump version to 0.5.0-unstable (#1239)
- cbacc35 Correct timeout defaults (#1230)
- a8652a6 Reference Discord instead of Rocket Chat (#1228)
- 986c856 Add support for node 16 (#1223)
- 5922238 add new folder peer-gateway containing new connector Wallet Facade and Wallet Facade Factory (#1227)
- 24fcdf3 Node 14 support (#1221)
- 4a1860e enable support for node 14 - node engine >=14.19.0 (#1219)
- caad464 Docker monitor metrics fixes - cpu and memory usage (#1214)
- 7c2b3f7 address fabric:1.4 sut binding not working in caliper container (#1211)
- f0553d1 Declarative workload module base integration (#1194)
- a8e9ada Add GitHub web forms-based issue templates (#1189)
- 9e296ac Update CONTRIBUTING.md document (#1192)
- 8701938 Fix the unit of the interval of default-observer in the log (#1193)
- 1fb6011 Propose myself as a new caliper Maintainer (#1186)
- aa0b3db Fix CompositeRateController class bug (#1181) (#1184)
- 595942a Fix issue where init flow errors when not using mutual TLS (#1183)
- cc19cd6 Fix generator integration test (#1176)
- 5a538e1 Fix Ethereum integration test (#1175)
- c73f5a7 Fix Besu integration test (#1174)
- 14bbbcb Add ValueProviderFactory, ListElementValueProvider and FormattedStringValueProvider. (#1168)
- 6d5f071 Update branch name in Azure CI pipeline configuration (#1172)
- 4bd51cf Update link for security bug handling wiki page (#1171)
- 4f98fa7 Open in Visual Studio Code badge added
- 0053563 Add base classes for declarative workload module and unit tests for the base classes.
- 550fdb7 comparison to ===
- 61410f3 Resolve issue in which only first round would be docker-monitored
- 5a34ad7 Make Mosquitto authentication and authorization explicit for v2
- b615b17 FIX: caliper bind command now compatible with Windows OS
- 12a3e52 Adding changes related to value parameter for payable function in Ethereum. (#1122)
- 69eec09 use 0.21.1 axios (#1119)
- 369d11e use single publish script (#1118)
- c48f9ad Publish containers (#1117)
- 88a1568 prevent cascade skip (#1116)
- 5b74a2c Change build reason for publish (#1114)
- c3090ea update pipeline condition (#1113)
- 6ced65a update conditionals (#1112)
- 6fa9b12 publish to npm stage (#1110)
- 730a884 Update contributing guide (#1109)
- d6f0027 Enable builds for PRs that target main branch (#1108)
- bc436e8 Azure pipelines build (#1105)
- [Feature] New Fabric connector (completed with PR1095)
- [Feature] New Fabric connector tutorial (PR1091)
-
[Feature] Besu private transactions (PR1030)
-
[Fix] Node engines out of date for project (PR1053)
-
[Fix] Caliper docker image workers can hang (PR1050)
-
[Fix] Negative send rates observable in reports (PR1045)
-
Core changes
-
[Breaking] Burrow connector removed
-
[Breaking] Sawtooth connector removed
-
[Breaking] Iroha connector removed
-
[Breaking] Modification of Prometheus Resource Monitor configuration (PR974)
-
[Breaking] Modification of Prometheus Push gateway configuration (PR966)
-
[Breaking] Alignment of rate controller configuration to be SUT centric (PR959)
-
[Breaking] Caliper API change for workload specification (PR950)
-
[Breaking] Caliper API change: removal of queryState (PR931)
-
[Breaking] Caliper API change: rename CLI subcommand to manager (PR893)
-
[Breaking] Caliper API change: chaincode -> contract (PR891)
-
[Breaking] Caliper API change: adaptor -> connector (PR881)
-
[Breaking] Caliper API change: callbacks converted to Workload module class (PR856)
-
[Feature] Basic auth for Prometheus interaction (PR966, PR960)
-
[Feature] Prometheus txObserver scrape target (PR960)
-
[Feature] Introduction of txObservers (PR943)
-
[Feature] Max rate controller (PR874)
-
-
Hyperledger Fabric adapter changes
-
Core changes
-
Hyperledger Fabric adapter changes
-
Ethereum/Hyperledger Besu adapter changes
- Update HL Besu binding web3 version (PR#863)
-
FISCO-BCOS adapter changes
- Removal of docker requirement for contract compilation (PR#861)
-
Hyperledger generator
- Enable publishing of generator (PR#804)
-
Core changes
- Relax constraints for monitor/observer combinations (PR#761)
- Call the
end
function of workload modules sooner, so they can still access the adapter context (PR#779) - Improved error reporting in the worker processes (PR#782)
- Improve TX handling/waiting approach for worker processes, thus enabling long-term benchmarks (PR#794)
- Improve core package management for the Docker image (PR#795)
- Improve handling of benchmark errors upon monitoring data reporing (PR#797)
-
Hyperledger Fabric adapter changes
- Fix orderer name check for Fabric v2 adapter (PR#762)
- Add support for stable Fabric v2 SDK packages
-
Ethereum/Hyperledger Besu adapter changes
-
Hyperledger Sawtooth adapter changes
- Refactored adapter to be more OO-like, and fixed non-existing variable reference bug (PR#782)
-
Hyperledger Burrow adapter changes
- Switch SDK package to
@hyperledger/burrow
(PR#804)
- Switch SDK package to
-
Core changes
- Fixed the round index bug in some rate controllers (PR#747).
- Added statistic summation option to Prometheus queries (PR#720).
- Fixed monitor bugs resulting in extra empty columns/metrics (PR#718).
- BREAKING: Simplified backlog rate controller configuration (PR#704).
- Added MQTT-based communication between the manager and worker processes for fully distributed operation (PR#682).
- Added Yeoman generator for the benchmark configuration and workload module files (PR#671).
- Added charting capabilities to the report generation (PR#650).
- BREAKING: Configuration structure for Docker and process monitoring changed (PR#650).
- BREAKING: Simplified (flattened) round settings in the benchmark configuration file, i.e., the YAML structure changed (PR#639).
-
CLI changes
-
Hyperledger Fabric adapter changes
- Fixed channel initialization for the connection profiles (PR#751).
- Fixed error handling for TX broadcast errors (PR#750).
- Relaxed the network configuration schema constraints for channel peers and registrars (PR#733).
- Pass explicit Orderer objects when broadcasting a TX so the SDK won't create a new connection for each TX (PR#731).
- Added ability to pass transient data and peer targets to a gateway TXs (PR#713).
- Added experimental Fabric v2 support (PR#703).
-
Ethereum/Hyperledger Besu adapter changes
-
FISCO-BCOS adapter changes
-
Hyperledger Composer adapter changes
- BREAKING: The deprecated adapter has now been removed (PR#655).
- REMOVED: The Zookeeper-based distributed clients feature has been removed, and will be reimplemented in 0.3.0 (PR#588).
- DEPRECATED: The HL Composer adapter has been marked as deprecated and will be removed in 0.3.0.
- BREAKING: Added rigorous and strict validation for Fabric network configuration files. Some attributes became mutually exclusive, which might break your previous configuration files that relied on precedence between attributes (PR#595).
- BREAKING: Improved the logging configuration flexibility. The default log message structure has changed, which might break your dependent (e.g. log mining) applications (PR#598, PR#607).
- BREAKING: Made report file path configurable. The default report path has changed, which might break your dependent applications (PR#601).
- Added support for Ethereum (PR#432)
- Added support for Hyperledger Besu (PR#616)
- Added support for FISCO BCOS (PR#515)
- Added the
querySmartContract
function to theBlockchain
interface (PR#578). The oldqueryState
function will be deprecated and removed in the upcoming releases (once every adapter supports the new function)! - Introduced observers for continuous status updates about the running benchmark (PR#588).
- Added a Prometheus-based observer and monitor (PR#588).
- Fixed bug that prevented using mutual TLS with the Fabric gateway mode (PR#604)
Initial release of Caliper.
Hyperledger Project source code files are made available under the Apache License, Version 2.0 (Apache-2.0), located in the LICENSE file. Hyperledger Project documentation files are made available under the Creative Commons Attribution 4.0 International License (CC-BY-4.0), available at http://creativecommons.org/licenses/by/4.0/.