Releases: Consensys/quorum
v21.7.1
This release's main highlight is the addition of a new format for private transactions basing on a pre-compiled smart contract. This new approach allows extending obfuscated fields of a private transaction
This feature addition is not a breaking change and won’t impact normal (standard & enhanced) private transaction processing
Enhancements
- 🎉 [Privacy Precompile]: enables private transactions with extended obfuscated fields #1234
- Amend IntrinsicGas calculation for Privacy Marker Transaction to use actual payload hash, instead of hardcoded value #1236
Fixes
- fix: null pointer when error occurs #1239
Other
- Extend acceptance tests executed, and also on the master branch #1230
Filename | SHA256 Hash |
---|---|
geth_v21.7.1_linux_amd64.tar.gz | 1ca57de453c711bea6f4bb9f9fc3e6ae22ff82fb8dcefc0232e1c3ba76c17670 |
geth_v21.7.1_darwin_amd64.tar.gz | 26c81ac631b611dd156e9cae2283903d8d59b6e02b7f6c9c960165a9667aa3a4 |
v21.7.0
This release main highlight is the new consensus engine for the QBFT algorithm. It
- is interoperable with Hyperleger Besu, enabling hybrid GoQuorum <> Besu networks running on a Byzantian Fault-Tolerant consensus
- improves the stability of BFT networks (in particular it addresses a liveness issue of the IBFT implementation)
QBFT is available for
- new networks
- existing IBFT networks through a hard fork migration (as an
ALPHA
feature)
Enhancements
- 🎉 [QBFT] Add QBFT consensus #1209
- Add raftlogdir commandline option #1110
- Add revert reason to transaction receipt #1215
- [Geth-Upgrade] Go-Ethereum release from v1.9.21 to v1.9.24 #1211, #1214, #1217, #1219
- Add cache on private state trie #1225
- Update receipts encoding to faciliate usage of multiple receipts format #1227
Fixes
- [MPS] fix merge/rebase issues #1197
- Add logging to catch scenario when processing of transactions is aborted due to New Head event #1220
- [QBFT] Check if sb.core is nil before processing NewBlockMsg #1229
- [QBFT] Asynchronously call startNewRound() when transitioning from IBFT to QBFT #1232
Other
- [Docker] Update docker tagging to the following convention:
latest
is the latest stable release (ie. v21.4.1 on this case) anddevelop
is the latest snapshot release from the current development version (ie. created frommaster
branch) #1171 - [CI/CD] Add acceptance tests on PR and master #1230
- [CI/CD] Add a scheduled job in order to check geth upgrades everyday #1205
Binaries
Filename | SHA256 Hash |
---|---|
geth_v21.7.0_darwin_amd64.tar.gz | 620983218ec8f4df894d4e93d2134a7cf39edf728c7f26d4a6f8b7a0a12a5c4f |
geth_v21.7.0_linux_amd64.tar.gz | 4ff6ac9dd778e1bd79275258413cc174d8dcdeba0f2820698939287a49789aa8 |
v21.4.2
This release mainly brings Phase 2 of Multi-Tenancy which allows the support for multiple private states.
With this new version of Multi-Tenancy each tenant gets access to a dedicated private state, enabling each tenant to get their own version of a private contract at a given address.
This implementation overrides the previous Alpha Release of Multi-Tenancy in GoQuorum v21.1.0
Enhancements
- 🎉 [Multi-Tenancy] Final release that allows to serve multiple tenants from a single node #1163
Fixes
- Use right block number when checking the current block number on gas estimation #1195
- Do not log error if header data is missing in ancient or level db #1194
Other
Filename | SHA256 Hash |
---|---|
geth_v21.4.2_linux_amd64.tar.gz | 89978f358c8d033a02fb8e97ced281016017a9d0de8ab28b6a02f86e66aad446 |
geth_v21.4.2_darwin_amd64.tar.gz | 460798a3f02c26d325f2cd073830d8e547b8c046729611c5d82fceac89922b69 |
v21.4.1
This release is a maintenance release.
Important Note: Our official Quorum plugins package manager is now Cloudsmith.
-
For version 21.4.1 or later GoQuorum will lookup for the plugin on Cloudsmith by default. If you are using a custom
baseURL
, please check the new fieldspluginDistPathTemplate
andpluginSigPathTemplate
to verify if a different template is needed. -
For version 21.4.0 or earlier, you have to provide the new plugin download base URL at runtime (see Configure Plugin Central).
{ "central": { "baseURL": "https://provisional-plugins-repo.quorum.consensys.net", "publicKeyURI": ".pgp/Central.pgp.pk" } }
Enhancements
- [Plugins] Update default plugin manager to Cloudsmith and allows to template the download URL through runtime configuration #1174
Fixes
- Fix reading block headers from Ancient DB. #1182
- [go.mod] Fix crypto/secp256k1 package replacement #1178
Documentation
- Update readme with standardised logo #1167
- Update GoQuorum documentation links on Readme #1162
- Fix link to plugin documentation on readme #1173
Other
- [Docker] Update docker tagging to the following convention:
latest
is the latest stable release (ie. v21.4.1 on this case) anddevelop
is the latest snapshot release from the current development version (ie. created frommaster
branch) #1171 - [CI/CD] Fix dependency typo #1160
- [CI/CD] Fix generation of Cloudsmith URLs #1159
- [CI/CD] Attempt to fix release build of MacOS Binary. However, there are still issues and we are investigating. #1172
- [CI/CD] Fix release build and upload to Cloudsmith #1187 #1186 #1185
Binaries
Filename | SHA256 Hash |
---|---|
geth_v21.4.1_darwin_amd64.tar.gz | 2a1afd5fc453e97b16ba2ea2f3b7b0f1346df62f331fcbb454ab576fb447e75c |
geth_v21.4.1_linux_amd64.tar.gz | 981a813486eada9d1b31c8b13ed84a0c5d062f444cd3fc9581c94bff49f3263b |
v21.4.0
This release mainly focuses on merging upgrades from go-ethereum (from version v1.9.7 up to v1.9.20). For a full rundown of the go-ethereum changes please consult this link.
Important Note: We changed the package manager for official GoQuorum binaries. We so far used Bintray which is sunsetting in May 2021. From now on you will be able to download GoQuorum official binaries from Cloudsmith (see section Breaking Changes below).
Enhancements
- 🎉 [Geth Upgrade] Merge go-ethereum changes from v1.9.8 to v1.9.20. Some important changes are:
- Node Discovery via DNS is enabled. #1121
- Implementation of eth/65 - #1121
- Persist the trie read cache on shutdown to speed up warm-up time after a reboot. #1146
- Blockchain rewinding and chain repair, i.e. using the SetHead operation, now behave
correctly in all cases. An extensive test suite for chain repair has been added. This closes issue #1117. - New
--txlookuplimit
flag which specifies the number of recent blocks you want to maintain the search index for (by default it's 0 = since genesis) - #1130/ - The default value for
--rpc.gascap
is now 25M gas. It previously defaulted to unlimited gas. This applies to eth_call and will reject calls which request more gas than the cap - #1132 - Renamed
rpc
flags tohttp
.rpc
flags are marked as Deprecated (for example,--rpc.port
is now--http.port
).
#1130 - Using Go Modules instead of Vendor folder - #1112
- Enable to connect GoQuorum to the Privacy Transaction Manager (for example, Tessera)over http/https connection instead of the Unix socket. #1109
- Enable support for multiple Ethereum sub-protocols. In particular, we added
istanbul/100
sub-protocol for QBFT consensus messages. #1129
Others
- [Debugging] Add new RPC API called
debug_privateStateRoot
. #1148 - [CI/CD] Migration to Cloudsmith. #1151
Breaking Changes
-
[Database schema] Please note that reverting to GoQuorum v21.1.0 or prior version after upgrading to v21.4.0 is not possible without a resync because the blockchain database layout has changed. Contract code is now stored separately from state tree data in LevelDB.
In case you have upgraded to v21.4.0 and you want to revert back to a previous version, you should use the following commands with the previous version:
geth removedb --datadir <data dir> geth init ./genesis.json --datadir <data dir> <start geth again>
-
[GraphQL flags] If you were using GraphQL previously, now it has moved to the HTTP RPC endpoint. The old
--graphql.host
and--graphql.port
flags will not work any more. You might need to adjust your TOML config files accordingly too. #1146 -
[Cloudsmith Migration] All official GoQuorum binaries download URLs have been upgraded. For example, GoQuorum v21.1.0 for Linux AMD64 moved to https://artifacts.consensys.net/public/go-quorum/raw/versions/v21.1.0/geth_v21.1.0_linux_amd64.tar.gz (Cloudsmith).
Old Bintray download URLs will remain available until May 1st 2021 later to this date you will have to download binaries from Cloudsmith
-
One small breaking change in the release is that
eth_call
will not default to your first account any more if you don't explicitly specify a sender. #1122
Binaries
Filename | SHA256 Hash |
---|---|
geth_v21.4.0_darwin_amd64.tar.gz | 063bb7325154a20cf00e0f2ea9d9b521b24d807afc6fad350302888a84d25f5f |
geth_v21.4.0_linux_amd64.tar.gz | 3592bfa58a348f46fdc7af0bf5bdb58cb464c931ee434a5223651480f494416e |
v21.1.0
Release format
Enhancements
- 🎉 [Multi-Tenancy] Allow to serve multiple tenants from a single node #1105
ALPHA RELEASE
- 🎉 [Permissioning] Add support for permissioning v2 compatible with EEA specs #1095
- Add configurable ipc timeout #1100
- Add new status and validator RPC APIs for IBFT and Clique #1113
- change to golang version 1.15.5 #1114
- params: update CHTs for v21.1.0 release #1119
Others
- [CI/CD] Fix Github Actions workflows deprecation warnings #1097
Documentation
- Update Web3 Labs GitHub URL (#1093)
Filename | SHA256 Hash |
---|---|
geth_v21.1.0_linux_amd64.tar.gz | b5aead4958a10cbd6cb69308930720a67cf6789d5f2c500b626fcb410871844f |
geth_v21.1.0_darwin_amd64.tar.gz | 2278a9fce0a5095f56ab8ef430a157e8aef3c48697e33256989ecfc758f499a2 |
v20.10.0
Release format
Quorum is moving its versioning convention scheme to Calendar Versioning (or CalVer) starting with 20.10.0
(f.k.a. 2.8.0
) release.
Version scheme convention is YY.MM.Patch
where
YY.MM
stands for the year and month of the quarter when the release happens (starting with20.10
for October 2020)Patch
stands for the number of the release within the quarter
Example
- Next Quorum releases will be
20.10.1
,20.10.2
, etc. (indifferently if they happen in October, November...) - When moving to the next quarter likely in February 2021, the version will increment to
21.02.0
Get to know more about ConsenSys Quorum CalVer!
Enhancements
-
🎉 [Privacy] Add support for privacy enhancements (#1073)
Introduce a new
privacyFlag
parameter tosendTransaction
APIs enabling to define the mode for execution of a private transaction.- 0 - StandardPrivate (default): same retro-compatible mode for private transactions as available in prior versions of Quorum
- 1 - PartyProtection: new mode allowing receiving parties in
privateFor
to validate that the sending party has access to all the affected private smart contracts affected by the transaction - 3 - StateValidation: new mode allowing all parties in a private transaction to ensure that their local private smart contract states have not diverged
-
[Privacy] Encapsulate private transaction arguments (#1044)
-
[Privacy] Formalize the usage of
common.EncryptedPayloadHash
(#1046) -
[Plugin] Allow security plugin to opt out service implementation (#1052)
-
Add
debug_dumpAddress
API to fetch state of an account including balance, nonce, storage, etc. (#1072) -
Update
crypto/secp256k1
submodule path (#1077) -
[Plugin] Expose the
plugin@account
API over clef's HTTP server (#1078) -
Add a new Geth flag
--vm.calltimeout
to optionnaly override the 5 seconds default timeout oneth_call
(#1085)
Bug fixes
- [Istanbul] Fix
VerifyHeaders()
to error out all header verification request when the first one fails (#1042) - Fix tracing on public transaction (#1072)
- Fix for "VM in read-only mode" error seen in logs in stress test of clique networks (#1076)
- [Raft] Fix double addPeer, should also check self (#1080)
Tests
- Add unit tests for
common.EncryptedPayloadHash
(#1045)
Others
- [CI/CD] Publish Docker image to Docker Hub via GithubActions (#1079)
- [CI/CD] Updates (#1082) (#1086)
Documentation
- Add documentation for Tessera bootstrapNode config (#1016)
- Add documentation for Hashicorp Vault account plugin (#1040)
- Updated Readme.md (#1043)
- Tessera config update for next release (#1047)
- Update Quorum Profiling documentation (#1053)
- Make plugin docs consistent (#1054)
- Smart contracts security editorial updates (#1057)
- Add documentation to clarify the use of bindingAddress in tessera config (#1060)
- Removed docs files now included in doc.goquorum and doc.tessera repos (#1062)
- Change links, emails and more (#1067)
Filename | SHA256 Hash |
---|---|
geth_v20.10.0_linux_amd64.tar.gz | 17bc1f46c7ae5be46989c9ac8750dfd95aa89dc1f41a75b416a3e0423235b25e |
geth_v20.10.0_darwin_amd64.tar.gz | bfe4d1155ed7829d7b028ee07827d2887d3c492dcd2658614702fd1d42065822 |
v2.7.0
Enhancements
- 🎉 Support HashiCorp Vault for account management with account plugins (#1033)
BETA RELEASE
- 🎉 Support adding new members to private smart contracts, private contract state extension (#1030)
BETA RELEASE
- 🎉 Protect JSON RPC APIs via a plugin interface (#1019)
BETA RELEASE
- Create separate sub-module for crypto/secp256k1 package (#1036)
- Apply upstream go-ethereum updates to Clef documentation (#1032)
- Improve cache implementation for permissions (#961)
- gha: automate release (#994)
- gha: add Github Actions workflows (#984)
- Created special PTM for public-only mode. (#968)
- Adding checkpoint to log the time taken to process a transaction. (#988)
Fixes
- cmd/geth: exit gradually when there's a failure in PluginManager (#1026)
- Issue #1004 - prevent "Mining too far in future" message when using
allowedfutureblocktime
parameter (#1023) - change protocol name for clique consensus (#1031)
- Apply upstream changes to prevent crash when keystore-specific methods are called but external signer used (#1028)
- Apply upstream clef bug fixes and add clef documentation (#1009)
- Remove java dependency from go tests (#1018)
- raft: return error when block processing is aborted (#992)
- eth_estimateGas failing when value is not passed as a part of arguments (#989)
- Corrections to logged error messages (#997)
- fix linting issues (#995)
- Update genesis.md (#1027)
- Static mkdocs version to prevent future dependency incompatibilities (#1025)
- Documentation updates (#1022) (#1006) (#996) (#998)
- Quorum Tessera HA Setup (#1015)
Filename | SHA256 Hash |
---|---|
geth_v2.7.0_linux_amd64.tar.gz | 06575a273b5541c770e29a9a0704fe70842863951dd23eee295f0e61b2cb3b5a |
geth_v2.7.0_darwin_amd64.tar.gz | 8e0321a379ed4dba3dc5040802c604e3af8f1b6629e973b60f920b98851373e3 |
v2.6.0
Important: Due to DB schema changes, once a node is migrated to this version, the node cannot be rolled back to prior version. Hence we recommend appropriate back ups and testing prior to migration.
This release upgrades Quorum's geth
version to 1.9.7. geth
v1.9.7 brings in the following key features:
- Performance optimization: Optimization of account and storage trie access patterns across blocks, EVM opcode optimization, optimization of sync process
- Transaction pool optimization for better throughput
- Introduction of freezer db which allows moving historical blocks beyond certain threshold value out of LevelDB into a custom freezer db
- Native GraphQL query capabilities for flexible querying
- Clef: Standalone signer which segregates account management from
geth
- Monitoring: Can be integrated with Grafana with enhanced data dump
Please refer to Geth v1.9.0 for the complete list of features added in geth
version 1.9.0
Please note the following while migrating to this version:
- If you are using
keystore
based accounts, use--allow-insecure-unlock
to bring up geth. Otherwisegeth
will crash while starting - Upon
geth
restart, any blocks which are below the default immutability threshold(3162240), will be moved to freezer db. If you do not want the blocks to move to freezer db, set the value of--immutabilitythreshold
appropriately fo the network.
Please refer to this page for further details on migrating to this version.
Enhancements
- Geth upgrade to 1.9.7 (#960)
- Enable networks to change maxCodeSize multiple times (#975)
- Add configurable threshold for 'future block' check for Istanbul & Clique (#800)
- plugin: delegate JSON RPC calls to plugin (#956)
- plugin: change signature file name and add test case for Bintray signer (#957)
Fixes
- Fix issue with suborg id when node is added to sub orgs(#950)
- Fix params number for debug.dumpBlock in web3ext (#944)
Documentation
- Update genesis samples to reflect latest code updates (#952)
- Update Compatibility table & adding Quorum 2 geth map (#959)
- Add Kubernetes to quorum README.md / docs. (#970)
- Add documentation for quorum wizard (#973)
- Update Tessera encryption & Privacy Manager docs (#972)
- Tessera API documentation update for 10.0.5 version (#977)
Others
Filename | SHA256 Hash |
---|---|
geth_v2.6.0_linux_amd64.tar.gz | b65605bb6c105c25a08092f451eefdac82f58fc22f7fb08b473d0657b96b33d6 |
geth_v2.6.0_darwin_amd64.tar.gz | 07d18e1622aa3aa279fa919033cad8e55f68328ea3bac5310fcef22a90e7705d |
v2.5.0
Enhancements
- Framework to allow adding additional Quorum features as plugins (#923)
- Support Quorum import/export chain (#946)
Fixes
- Bloom filter fixes (#945)
- Added a maxCodeSizeChangeBlock to track the block height when maxCodeSize changes from default value of 24K to the given value in genesis.json (#947)
- Fix broken raft consensus link (#940)
- IBFT private state commit issue in a single validator node network (#938)
- Fix DNS issue in 2.4.0 (#937)
- Raft raft.cluster api returns error if no leader is there in the network in version 2.4.0 (#934)
- Remove duplicated flag group: ETHASH (#924)
- Add Quorum eth namespace RPC methods to console (#922)
- Raft: correct the setup sequence for applied index related test (#900)
- Rename the transaction manager package to make it more neutral (#895)
Filename | SHA256 Hash |
---|---|
geth_v2.5.0_linux_amd64.tar.gz | 3c1c1db97b761510d32f020cedcaf7d54ee0ebfcf412b5e14dc8fcea5d831d36 |
geth_v2.5.0_darwin_amd64.tar.gz | 02aaef045f2d359e39da69d749c0b4e352ed9e77bdf9d2170547278115f11588 |