Releases: hyperledger-caliper/caliper
v0.6.0
Notable
Security Fixes
💥Address issue in Prometheus monitor that allowed an abitrary binary to be downloaded and executed on a system running a Caliper worker
New features
✨ Official support for Node 18 and Node 20 for users and contributors
Breaking
💥Caliper no longer supports Fisco-BCOS
Complete list
What's Changed
- Fix #536 Update error messages for 'caliper-cli' package by @0xt3j4s in #1348
- Port the unit test workflow to GitHub Actions by @CaptainIRS in #1364
- Port the integration test workflow to GitHub Actions by @CaptainIRS in #1376
- Disable unit and integration tests in Azure Pipelines by @CaptainIRS in #1382
- Fix #536 Update error messages for 'caliper-ethereum' package by @0xt3j4s in #1363
- Port the publish workflow to GitHub Actions by @CaptainIRS in #1384
- Pass secrets to CI workflow for publish by @CaptainIRS in #1390
- Fix#1377 Change the generator binding from 2.2 to 1.4 by @0xt3j4s in #1391
- Fix #536: Minor changes in the error messages of 'caliper-fisco-bcos' package by @0xt3j4s in #1383
- Add DCI linting to CI of PRs by @aklenik in #1393
- Updated fabric bindings by @fraVlaca in #1402
- Migrate Fabric integration tests to test network by @CaptainIRS in #1410
- Remove channel and chaincode operations from Fabric v1 connector by @CaptainIRS in #1411
- update fabric bindings by @davidkel in #1412
- Migrate to npm workspaces by @CaptainIRS in #1394
- Migrate generator tests to test network by @CaptainIRS in #1414
- Cache node modules across CI workflows by @CaptainIRS in #1406
- Execute integration tests based on changes by @CaptainIRS in #1421
- Add workflow for gh-pages branch by @CaptainIRS in #1423
- Revert "Add workflow for gh-pages branch" by @CaptainIRS in #1425
- Distinguish different workers in Prometheus PushGateway by @CaptainIRS in #1427
- Add coverage report workflow by @CaptainIRS in #1428
- Upload coverage reports on merge by @CaptainIRS in #1433
- Vscode extension by @eravatee in #1404
- Add Node 18 to CI by @CaptainIRS in #1455
- Fix calculation and doc comment in prometheus observer by @CaptainIRS in #1456
- Revert "Add Node 18 to CI (#1455)" by @CaptainIRS in #1460
- Fix integration test CI trigger by @CaptainIRS in #1458
- Add TxObserver for Prometheus manager by @CaptainIRS in #1448
- Bump moment-timezone from 0.5.34 to 0.5.38 by @dependabot in #1461
- Move inactive maintainers to emeritus status by @ryjones in #1462
- Add CODEOWNERS file by @ryjones in #1463
- Fix npmignore for report html by @CaptainIRS in #1466
- Update cache action by @CaptainIRS in #1469
- Add skeleton for development and proposal docs by @aklenik in #1400
- Use go chaincode in integration tests by @CaptainIRS in #1484
- Update go chaincode dependencies in integration tests by @CaptainIRS in #1485
- docker monitor remote monitoring bugfix in #1499
- Terminate workers if caliper manager is terminated prematurely by @davidkel in #1514
- Remove fisco-bcos by @davidkel in #1515
- test node 18/20, minimum version 18.19.0 by @davidkel in #1517
- Temporarily revert publish to using node 16.x to fix broken publish by @davidkel in #1520
- downgrade npm on publish as temp fix by @davidkel in #1523
- Update the versions of fabric sdks by @davidkel in #1519
- Update PSWG whitepaper link in README #1518 by @vinayakjaas in #1524
- Remove Caliper-gui-server packages and Caliper-gui-dashboard packages #1538 by @vinayakjaas in #1540
- Remove collection of node gc stats in prometheus by @davidkel in #1545
- Removed unused dependencies by @psankhe28 in #1544
Special Thanks
- @CaptainIRS For the excellent contributions in in particular to the move to npm workspaces and the Caliper build environment
New Contributors
- @0xt3j4s made their first contribution in #1348
- @eravatee made their first contribution in #1404
- @dependabot made their first contribution in #1461
- @psankhe28 made their first contribution in #1544
Full Changelog: v0.5.0...v0.6.0
Hyperledger Caliper v0.5.0
Hyperledger Caliper v0.5.0
Notable
New features
✨ Official support for Node 14 and Node 16 for users and contributors
✨Experimental release for a Declaritive Workload Module
✨Support for the new Peer Gateway API introduced in Hyperledger Fabric 2.4
Bug fixes
🐸 Fix Caliper round hang with unfinished transactions never completing
🐸 Corrections and Improvements to the documentation
Breaking
💥Caliper no longer supports the 1.0 version of the Fabric Network Configuration format
💥Caliper no longer supports creating channels or deploying chaincode to Hyperledger Fabric
💥Caliper no longer supports Hyperledger Fabric 1.3 or older
Complete list
What's Changed
- bump to 0.4.3-unstable by @nklincoln in #1100
- Azure pipelines build by @nklincoln in #1105
- Enable builds for PRs that target master branch by @nklincoln in #1108
- Update contributing guide by @nklincoln in #1109
- publish to npm stage by @nklincoln in #1110
- update conditionals by @nklincoln in #1112
- update pipeline condition by @nklincoln in #1113
- Change build reason for publish by @nklincoln in #1114
- prevent cascade skip by @nklincoln in #1116
- Publish containers by @nklincoln in #1117
- use single publish script by @nklincoln in #1118
- use 0.21.1 axios by @nklincoln in #1119
- Adding changes related to value parameter for payable function in Ethereum. by @nachikettapas in #1122
- Make Mosquitto authentication and authorization explicit for v2 by @aklenik in #1128
- FIX: caliper bind command now compatible with Windows OS by @fransotodev in #1127
- Resolve issue in which only first round would be docker-monitored by @Viserius in #1135
- Added basic value providers in workload module by @bistaastha in #1164
- Added open in Visual Studio Code badge by @Justinjdaniel in #1170
- Update link for security bug handling wiki page by @aklenik in #1171
- Update branch name in Azure CI pipeline configuration by @aklenik in #1172
- Add factory class, formatted string and list element value providers. by @bistaastha in #1168
- Fix Besu integration test by @aklenik in #1174
- Fix Ethereum integration test by @aklenik in #1175
- Fix generator integration test by @aklenik in #1176
- Fix issue where init flow errors when not using mutual TLS by @davidkel in #1183
- Fix CompositeRateController class bug (#1181) by @aklenik in #1184
- Propose myself as a new caliper Maintainer by @davidkel in #1186
- Fix the unit of the interval of default-observer in the log by @justin-themedium in #1193
- Update CONTRIBUTING.md document by @aklenik in #1192
- Add GitHub web forms-based issue templates by @aklenik in #1189
- Value provider integration by @bistaastha in #1194
- address fabric:1.4 sut binding not working in caliper container by @davidkel in #1211
- Docker monitor metrics fixes - cpu and memory usage by @fraVlaca in #1214
- enable support for node 14 by @fraVlaca in #1219
- Node 14 support by @fraVlaca in #1221
- Add new connector Wallet facade and Wallet facade Fatory on the peer-gateway folder by @fraVlaca in #1227
- Add support for node 16 by @davidkel in #1223
- Reference Discord instead of Rocket Chat by @davidkel in #1228
- Correct timeout defaults by @davidkel in #1230
- Bump version to 0.5.0-unstable by @davidkel in #1239
- Remove the legacy fabric connectors by @davidkel in #1235
- Update bindings to latest fabric sdks and remove old ones by @davidkel in #1244
- ensure endorsetimeout is set on v2 fabric connector by @davidkel in #1246
- add txid to proposal when doing a query by @davidkel in #1247
- Remove the need for gateway-enabled when binding to a fabric 2.2 SUT by @davidkel in #1255
- PeerGateway connector: Added new methods in the ConnectionProfileDefinition by @fraVlaca in #1253
- Improve integration tests by @davidkel in #1259
- improve message to help when file not found by @davidkel in #1262
- rename certain terms in code base by @davidkel in #1280
- Remove CountQueryAsLoad Option by @davidkel in #1276
- Caliper terminates if prometheus is not available by @davidkel in #1288
- Fabric Gateway connector implementation: PeerGateway.js implementation + unit tests by @fraVlaca in #1270
- fix RecordRate rate controller by @davidkel in #1292
- remove latency values if no successful txns in final report by @davidkel in #1290
- Update the usage examples to more appropriate versions by @davidkel in #1297
- Peer Gateway: Added Connector Selector implementation modifications to support the new Peer Gateway Connector by @fraVlaca in #1298
- Fixes for default.yaml in packages/caliper-core/lib/common/config/ and updates for the fabric Channel operations for the v1 fabric connector by @fraVlaca in #1306
- Peer Gateway: Integration tests for the new Peer Gateway connnector ( + update docker compose to use by @fraVlaca in #1310
- Fixed colors dependency to 1.4.0 by @fraVlaca in #1311
- Change monitor intervals from milliseconds to seconds by @davidkel in #1314
- address worker cleanup when an error occurs by @davidkel in #1315
- Fixed docker monitor to use Dockerode only by @fraVlaca in #1319
- correct interval usage in fabric-tests by @davidkel in #1323
- Fix cli and update dependabot security dependencies by @davidkel in #1324
- Ensure that connector errors finishes caliper transactions by @davidkel in #1328
- disable logging debug to file by @davidkel in #1331
- add peers property support to fabric network config by @davidkel in #1329
- Upgraded node-sdk binding for fabric-v1-lts from 1.4.19 to 1.4.20 by @fraVlaca in #1332
- upgraded node-sdk binding for fabric-v2-lts from 2.2.11 to 2.2.12 by @fraVlaca in #1335
- Changed all 'bit.ly' links with a direct link by @fraVlaca in #1336
- Explicitly bind grpc-js for fabric 2.4 connector by @fraVlaca in #1344
- Peer Gateway Connector Txs Error messsage: added output of err.details array by @fraVlaca in #1345
- Fixes caliper hang of unfinished transactions by @davidkel in #1342
- [Release 0.5.0] Update Changelog by @davidkel in #1350
- [Release 0.5.0] Publish official release by @davidkel in #1349
New Contributors
- @fransotodev made their first contribution in #1127
- @Viserius made their first contribution in #1135
- @Justinjdaniel made their first contribution in #1170
- @justin-themedium made their first contribution in #1193
Full Changelog: v0.4.2...v0.5.0
Hyperledger Caliper v0.4.2
Hyperledger Caliper v0.4.2
This v0.4.2 patch release contains non-breaking updates.
New features
✨ There is now a new Fabric connector to be used, which consumes a modified Caliper connection file. The original connector is still in place, and may be used, but it is recommended that you move to the latest connector as the original connector is now deprecated. Please check the latest tutorial, and the associated documentation pages.
Hyperledger Caliper v0.4.1
Hyperledger Caliper v0.4.1
The v0.4.1 patch release contains non-breaking bug fixes and updates.
New features
✨ Support for HL Besu private transactions (PR#1030)
Bug fixes
🐸 Node engines out of date for project (PR#1053)
🐸 Caliper docker image workers can hang (PR#1050)
🐸 Negative send rates observable in reports (PR#1045)
Hyperledger Caliper v0.4.0
Hyperledger Caliper v0.4.0
Welcome to the v0.4.0 release of Hyperleger Caliper. 🎉
Features
✨ Basic auth for Prometheus interaction (PR966, PR960)
✨ Prometheus txObserver scrape target (PR960)
✨ Introduction of txObservers (PR943)
✨ Max rate controller (PR874)
✨ Addition of target Organizations to fabric connector (PR937)
✨ Addition of target channel to fabric connector (PR925)
Breaking Changes
💥 Burrow connector removed
💥 Sawtooth connector removed
💥 Iroha connector removed
💥 Modification of Prometheus Resource Monitor configuration (PR974)
💥 Modification of Prometheus Push gateway configuration (PR966)
💥 Alignment of rate controller configuration to be SUT centric (PR959)
💥 Caliper API change for workload specification (PR950)
💥 Caliper API change: removal of queryState (PR931)
💥 Caliper API change: master -> manager (PR893)
💥 Caliper API change: chaincode -> contract (PR891)
💥 Caliper API change: adaptor -> connector (PR881)
💥 Caliper API change: callbacks converted to Workload module class (PR856)
Packaged Code
The source code is packaged and published in the following locations:
- Under the
hyperledger
organization on NPM - Under the
hyperledger
organization on Docker Hub
Release v0.3.2
Hyperledger Caliper v0.3.2
Welcome to the v0.3.2 release of Hyperleger Caliper. 🎉
Features
✨ Generator promoted to release cycle #843 (with a shout out to @lynn14m for the contribution)
✨ Removal of docker dependancy for build FISCO BCOS contract compilation #861 (with a shout of to @Gnnng for the contribution), meaning you can compile contracts on remote environments
✨ Unbind command for the Caliper CLI #864
✨ 1.4.8 binding for the Fabric adaptor (SDK) #866
Breaking Changes
💥 A breaking change under the guise of a bug fix here - we now honour the documented method of passing private data when submitting transactions using the fabric adaptor
Bug Fixes
🐸 Change of web3 binding for Besu adaptor #863
🐸 Fixed process hang due to mqtt hangup #863
🐸 Fixed discovery bug in the Fabric v2 adaptor #863
🐸 Aligned passage of private data in fabric transaction with the documented specification #863
Packaged Code
The source code is packaged and published in the following locations:
- Under the
hyperledger
organization on NPM - Under the
hyperledger
organization on Docker Hub
Release v0.3.1
Hyperledger Caliper v0.3.1
Welcome to the v0.3.1 release of Hyperleger Caliper. 🎉
This release contains breaking changes, bug fixes and (most importantly) new features, so please be careful when upgrading.
Breaking Changes
💥 Improve core package management for the Docker image (PR#795)
New Features
✨ 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 connection/TX management to SUT (PR#780)
✨ Update HL Besu versions (PR#786)
✨ Make contractDeployerAddress
available in the adapter context (PR#808)
✨ Added Fabric v2 support.
✨ Switch SDK package to @hyperledger/burrow
(PR#804)
Bug Fixes
🐸 Improve handling of benchmark errors upon monitoring data reporing (PR#797)
🐸 Fix orderer name check for Fabric v2 adapter (PR#762)
🐸 Refactored adapter to be more OO-like, and fixed non-existing variable reference bug (PR#782)
Packaged Code
The source code is packaged and published in the following locations:
- Under the
hyperledger
organization on NPM - Under the
hyperledger
organization on Docker Hub
Release v0.3.0
Hyperledger Caliper v0.3.0
Welcome to the v0.3.0 release of Hyperleger Caliper. 🎉
This release contains breaking changes, bug fixes and (most importantly) new features, so please be careful when upgrading.
Breaking Changes
💥 The previously deprecated Hyperledger Composer adapter has now been removed.
💥 The CLI commands have been enhanced, both in structure and in behavior. Docs
💥 The YAML schema of the round definitions in the benchmark configuration file has been simplified. Docs
💥 The YAML schema of the Docker and Process monitor definitions have been changed. Docs
💥 The backlog rate controller YAML configuration schema has been enhanced. Docs
New Features
✨ Added MQTT-based communication for the Caliper processes for fully distributed operation. Docs
✨ Added charting capabilities to the report generation. Docs
✨ Added statistic summation option to Prometheus queries during report generation. Docs
✨ Added a Yeoman generator for the benchmark configuration and workload module files. Docs
✨ Added new SDK bindings for Fabric v1.
✨ Added ability to pass transient data and peer targets to Fabric gateway TXs.
✨ Added experimental Fabric v2 support.
✨ Added support for HD keys in the Ethereum/HL Besu adapter. Docs
✨ Enhanced gas estimation and nonce management in the Ethereum/HL Besu adapter.
Bug Fixes
🐸 Fixed round index reference bug in some rate controllers.
🐸 Fixed monitor bugs resulting in extra empty columns/metrics
🐸 Fixed channel initialization for the connection profiles in the Fabric adapter.
🐸 Fixed error handling for TX broadcast errors in the Fabric adapter.
🐸 Pass explicit Orderer objects when broadcasting a TX so the Fabric SDK won't create a new connection for each TX.
🐸 Fixed FISCO-BCOS adapter bug for resolving certificate file paths.
🐸 Fixed FISCO-BCOS adapter bug related to stale response handling
Packaged Code
The source code is packaged and published in the following locations:
- Under the
hyperledger
organization on NPM - Under the
hyperledger
organization on Docker Hub
Release v0.2.0
Hyperledger Caliper v0.2.0
Welcome to the v0.2.0 release of Hyperleger Caliper. 🎉
This release contains deprecations, breaking changes and (most importantly) new features, so please be careful when upgrading.
Deprecations
Breaking Changes
💥 Removal of zookeeper distributed clients. We will be moving to a new distributed model, and removal of the zookeeper model was chosen to be a pre-cursor step to this.
💥 Strict validation of Fabric network configuration files. Whilst this is not strictly a breaking change, the validation stage may reject network files that were previously being used. You have been warned!
💥 Logging has been enhanced. The logging structure has changed, which might break your dependant logging applications
💥 The default report path has changed, which might break your dependent applications
New Features
✨ Ethereum adaptor. It is now possible to benchmark Ethereum blockchain networks. Get started with this adaptor by checking the details in the Ethereum adaptor documentation
✨ FISCO BCOS adaptor. It is now possible to benchmark FISCO BCOS blockchain networks. Get started with this adaptor by checking the details in the FISCO BCOS adaptor documentation
✨ Hyperledger Besu adaptor. It is now possible to benchmark Hypereldger Besu blockchain networks using the Ethereum adaptor. Get started with this adaptor by checking the details in the Ethereum adaptor documentation
✨ Prometheus integration. It is now possible to hook into Prometheus based metrics for transaction and resource statistics, which also means that you can view the information in real time through Grafana. Information on how to integrate with Prometheus is in the monitors/observers documentation
Packaged Code
Source code is packaged and published in the following locations:
- Under the
hyperledger
organisation on npm - Under the
hyperledger
organisation on docker hub
Conga Comics
Whilst we don't have a conga comic available, we do have Flash Conga special created by artist EdMoffat (find him on twitter and github). Feel free to use the image when presenting reports created with Caliper 👌
Release v0.1.0
Hyperledger Caliper v0.1.0
This is the initial release of Hyperleger Caliper.
All current capabilities and function are described in the Caliper docs
Future releases will include enhancements to Caliper features and documentation - stay tuned for updates.
Packaged Code
Source code is packaged and published in the following locations:
- Under the
hyperledger
organisation on npm - Under the
hyperledger
organisation on docker hub
Conga Comic Tribute
To celebrate the first release, what could be better than a Conga Comic special?