github.com/Tri-stone/burrow@v0.25.0/CHANGELOG.md (about) 1 # [Hyperledger Burrow](https://github.com/hyperledger/burrow) Changelog 2 ## [Unreleased] 3 ### Added 4 - [CLI] Introduced burrow configure --pool for generation of multiple validator configs suitable for running on a single (or many) machines 5 6 7 ## [0.25.0] - 2019-04-05 8 ### Changed 9 - [Tendermint] Upgraded to 0.31.2 10 - [IAVL] upgraded to 0.12.2 11 - [Config] Tendermint.TimeoutFactor moved to Execution.TimeoutFactor (and reused for NoConsensus mode) 12 - [Kernel] Refactored and various exported methods changed 13 14 ### Added 15 - [CLI] Burrow deploy can now run multiple burrow deploy files (aka playbooks) and run them in parallel 16 - [Consensus] Now possible to run Burrow without Tendermint in 'NoConsensus' mode by setting Tendermint.Enabled = false for faster local testing. Execution.TimeoutFactor can be used to control how regularly Burrow commits (and is used 17 18 ### Fixed 19 - [Execution] Fixed uint64 underflow (when subtracting fee from balance) not protected against in CallContext 20 - [Tests] Various concurrency issues fixed in tests and execution tests parallelised 21 22 23 24 ## [0.24.6] - 2019-03-19 25 ### Changed 26 - [RPC] 'blocks' on info RPC now lists blocks in ascending rather than descending height order 27 28 ### Added 29 - [CLI] Introduced burrow configure --pool for generation of multiple validator configs suitable for running on a single (or many) machines 30 31 ### Fixed 32 - [Metrics] Fix histogram statistics by making counts cumulative 33 34 35 ## [0.24.5] - 2019-03-14 36 ### Changed 37 - [Consensus] Tendermint timeouts configurable by a float factor from defaults and default change to 0.33 of Tendermint's default for smaller networks' 38 - [Transactor] Hard-coded timeout removed from transactor and added to TxEnvelopeParam for client specified server-side timeout (in case of longer confirmation times such as when some validators are unavailable 39 - [Logging] ExcludeTrace config inverted to Trace and now defaults to false (i.e. no trace/debug logging). Default log output now excludes Tendermint logging (and is therefore much less talkative) 40 41 ### Added 42 - [Logging] Add height to all logging messages 43 - [RPC] Add LastBlockCommitDuration to SyncInfo 44 45 ### Fixed 46 - [Metrics] Replace use of Summary metrics when Histogram was intended 47 48 49 ## [0.24.4] - 2019-03-08 50 ### Changed 51 - [EVM] Accept []byte nonce rather than enforcing the use of txs.Tx.TxHash() 52 - [Crypto] Expose SequenceNonce helper to allow library users to use sequence-number based addresses for newly created contracts 53 54 55 ## [0.24.3] - 2019-03-06 56 ### Fixed 57 - [State] Avoid stack traces which may be code-path-dependent or non-deterministic from being pushed to TxExecutions and so to merkle state where they can lead to breaking consensus 58 - [State] KVCache iterator fixed to use low, high interface as per DB, fixing CacheDB for use in Replay 59 60 ### Added 61 - [Logging] Included height in various execution log messages 62 - [Transactor] Now provides SyncInfo in error message when there is a BroadcastTxSync timeout 63 64 65 ## [0.24.2] - 2019-02-28 66 ### Changed 67 - [Genesis] Use HexBytes for Genesis AppHash 68 69 ### Fixed 70 - [Vent] Stop Vent from swallowing errors (e.g. GRPC streaming errors) 71 - [Consensus] Updated to patched version of Tendermint that does not pull in go-ethereum dependency 72 - [CLI] Removed duplicate -t flag from burrow configure 73 74 75 ### Added 76 - [Kernel] Added announce message for startup and shutdown including version, key address, and other useful metadata 77 - [EVM] Attempt to provide REVERT reason where possible 78 - [Vent] --abi and --spec can be provided multiple times to provide multiple paths to search 79 80 81 ## [0.24.1] - 2019-02-28 82 ### Changed 83 - [ABI] abi.EncodeFunctionCall and AbiSpec.Pack now take a variadic ...interface{} type for function arguments rather than []string 84 85 ### Fixed 86 - [Deploy] Binary files are now written atomically to prevent issue with dependency libraries being momentarily truncated when deploying in parallel 87 88 ### Added 89 - [ABI] DecodeFunctionReturn re-exposed (formerly Packer then packer in 0.24.0) to make deploy API symmetrical 90 91 92 ## [0.24.0] - 2019-02-26 93 ### Changed 94 - [EVM] Use TxHash to allow predictable sequence numbers for account creation (allows proposal mechanism to aggregate transactions and execute in a BatchTx) - [pull request](https://github.com/hyperledger/burrow/pull/969) 95 - [State] Introduced MutableForest and change state layout to a streaming model that amongst other things should not blow the GRPC message size for large transactions 96 - [Consensus] Upgraded Tendermint to v0.30.1 97 - [State] Upgraded IAVL to v0.12.1 98 - [EVM] Integration tests upgraded to Solidity 0.5.4 99 - [State] All state now stored in merkle tree via MutableForest 100 - [State] Full validator state history stored in forest 101 - [Vent] Updated EventSpec table specification configuration format 102 - [Vent] Added support for managing Postgres triggers 103 104 ### Fixed 105 - [Transactor] Reduce TxExecution subscription overhead 106 - [Transactor] Remove excessive debug subscription timeout 107 - [State] Fixed issue with check-pointing that could cause divergent AppHash across node restarts- [pull request](https://github.com/hyperledger/burrow/pull/985) 108 - [EVM] Implemented BLOCKHASH opcode 109 - [EVM] Used correct callee STATICCALL to fix cross-contract queries 110 - [Consensus] Guarded against total validator power overflow (as limited by Tendermint) 111 112 ### Added 113 - [EVM] Implemented [CREATE2 opcode](https://eips.ethereum.org/EIPS/eip-1014) 114 - [EVM] Implemented [EXTCODEHASH opcode](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1052.md) 115 - [Accounts] Add account GetStats to query endpoint 116 - [Config] Expose AddrBookStrict from Tendermint 117 - [Deploy] burrow deploy now prints events generated during transactions 118 - [Deploy] burrow deploy can use key names where addresses are used 119 - [Governance] Added threshold-based governance via Proposal mechanism which allows entities with Root permission to propose and vote on batches of transactions to be executed on a running network with no single entity being able to do so. 120 - [Governance] Added command line and query introspection of proposals as well as burrow deploy support 121 - [Vent] Merged Vent our SQL projection and mapping layer into the Burrow repository and binary via 'burrow vent'. See [Vent Readme](./vent/README.md) 122 - [State] Improved read-write separation with RWTree and ImmutableForest data structures 123 - [State] Implemented dump/restore to port state between different version of Burrow or to compress the execution of a chain (with a proof) onto a fresh chain 124 125 126 127 ## [0.23.3] - 2018-12-19 128 ### Fixed 129 - [State] Since State hash is not unique (i.e if we make no writes) by storing the CommitID by AppHash we can overwrite an older CommitID with a newer one leading us to load the wrong tree version to overwrite in case of loading from a checkpoint. 130 131 132 ## [0.23.2] - 2018-12-18 133 Hotfix release for 0.23.1 134 ### Fixed 135 - [State] Fixed issue with checkpointing whereby RWTree would load its readTree from one version lower than it should. 136 137 138 139 ## [0.23.1] - 2018-11-14 140 ### Fixed 141 - [EVM] state/Cache no longer allows SetStorage on accounts that do not exist 142 - [GRPC] GetAccount on unknown account no longer causes a panic 143 144 ### Added 145 - [Docker] Added solc 0.4.25 binary to docker container so that burrow deploy has what it needs to function 146 - [Execution] panics from executors are captured and pushed to error sink of TxExecution 147 148 149 ## [0.23.0] - 2018-11-09 150 ### Changed 151 - [ABI] provides fast event lookup of EventID 152 - [Events] BlockExecution now included full Tendermint block header as protobuf object rather than JSON string 153 - [EVM] Nested call errors are now transmitted to EventSink (e.g. TxExecution) as events for better tracing and tests 154 - [SNative] Permissions contract returns permission flag set not resultant permissions from setBase unsetBase and setGlobal 155 - [EVM] Errors transmitted through errors.Pusher interface for more reliable capture from memory, stack, and elsewhere 156 - [Governance] Breaking change to state structure due to governance storage in tree (state root hashes will not match) 157 158 159 ### Fixed 160 - [EVM] Issue where value was not transferred because VM call state was not synced 161 - [EVM] Various issue where errors were swallowed (in particular - where calling an empty account and when a TX was invalid on delivery) 162 - [EVM] When calling a non-existent account CreateAccount permission is checked on the caller not the caller's caller 163 - [CLI] Version now contains date and commit 164 - [Test] Burrow integration test runner shuts down Burrow correctly 165 - [Serialisation] updated tmthrgd/go-hex to fallback on default encoding when lacking SSE 4.1 CPU instructions 166 167 168 ### Added 169 - [Deploy] Burrow deploy meta jobs reuses GRPC connection 170 - [Governance] Added proposal mechanism (via ProposalTx) that allows bulk atomic update of smart contracts and changing network parameters via a threshold voting mechanism. This allows some level of network evolution without any single trusted party or hard forks. This should be considered alpha level functionality. 171 - [EVM] Added EVM State interface removing unnecessary cache layer (fixing various issues) 172 - [EVM] Implemented STATICCALL opcode 173 - [P2P] Added AuthorizedPeers config option to sync only with whitelisted peers exposed over ABCI query under key /p2p/filter/ 174 - [EVM] stack depth now dynamically allocated and exponentially grown in the same way as memory 175 - [EVM] Solidity proxy call forwarding test 176 177 ### Removed 178 - MutableAccount and ConcreteAccount 179 180 181 ## [0.22.0] - 2018-09-21 182 ### Changed 183 - Upgraded to Tendermint 0.24.0 184 - Upgraded to IAVL 0.11.0 185 186 ### Fixed 187 - Fixed non-determinism in Governance Tx 188 - Fixed various abi issues 189 190 ### Added 191 - burrow deploy displays revert reason when available 192 - burrow deploy compiles contracts concurrently 193 194 ## [0.21.0] - 2018-08-21 195 ### Changed 196 - Upgraded to Tendermint 0.23.0 197 - Validator Set Power now takes Address 198 - RPC/TM config renamed to RPC/Info 199 200 ### Added 201 - Burrow deploy creates devdoc 202 - Docker image has org.label-schema labels 203 204 ### Fixed 205 - Upgrade to IAVL 0.10.0 and load previous versions immutably on boot - for chains with a long history > 20 minute load times could be observed because every previous root was being loaded from DB rather than lightweight version references as was intended 206 - Metrics server does not panic on empty block metas and recovers from other panics 207 208 209 ## [0.20.1] - 2018-08-17 210 ### Changed 211 - The snatives functions have new signatures; string arguments are now string, not byte32. 212 - The Solidity interface contracts can be generated using the "burrow snatives" command, and the make snatives target is gone. 213 214 ### Fixed 215 - TxExecutions that were exceptions (for example those that were REVERTed) will no longer have their events emitted from ExecutionEventsServer.GetEvents. They remain stored in state for the time being. 216 - CallTxSim and CallCodeSim now take same code path as real transactions (via CallContext) 217 - Release our mempool signing lock once transactions have been CheckTx'd' to massively increase throughput. 218 219 ### Added 220 - Upgraded to Tendermint [0.22.8](https://github.com/tendermint/tendermint/compare/v0.22.4...v0.22.8) (from 0.22.4). 221 - Support mempool signing for BroadcastTxAsync. 222 - Reload log file (e.g. for logrotate) on SIGHUP and dump capture logs on SIGUSR1 and on shutdown (e.g. for debug). 223 - File logger accepts {{.Timestamp}} in file names to generate a log file per run. 224 - Ability to set --external-address on burrow configure and burrow start 225 - Ability to set various command line options on burrow configure and burrow start and by BURROW_ prefixed environment variables 226 - Exposed Tendermint SeedMode option 227 228 229 ## [0.20.0] - 2018-07-24 230 This is a major (pre-1.0.0) release that introduces the ability to change the validator set through GovTx, transaction execution history, and fuller GRPC endpoint. 231 232 #### Breaking changes 233 - Address format has been changed (by Tendermint and we have followed suite) - conversion is possible but simpler to regenerated keys 234 - JSON-RPC interface has been removed 235 - burrow-client has been removed 236 - rpc/TM methods for events and broadcast have been removed 237 238 #### Features 239 - Tendermint 0.24.4 240 - GovTx GRPC service. The validator set can be now be changed. 241 - Enhanced GRPC services: NameReg, Transaction index, blocks service 242 - Events GRPC service 243 - Transaction Service can set value transferred 244 245 #### Improvements 246 - The output of "burrow keys export" can be templated 247 248 #### Bug fixes 249 - Fixed panic on nil bounds for blocks service 250 251 252 253 ## [0.19.0] - 2018-06-26 254 This is a major (pre-1.0.0) release that brings upgrades, safety improvements, cloud configuration, and GRPC endpoints to Burrow. 255 256 #### Breaking changes 257 In addition to breaking changes associated with Tendermint (see their changelog): 258 - State checkpointing logic has changed which has we load based on blockchain 259 - Event format has changed over rpc/V0 see execution/events/ package 260 - On-disk keys format has change from monax-keys to be more standard burrow keys 261 - Address format has been changed (by Tendermint and we have followed suite) - conversion is possible but simpler to regenerated keys 262 263 #### Features 264 - Tendermint 0.21.0 265 - Implemented EVM opcodes: REVERT, INVALID, SHL, SAR, SHR, RETURNDATACOPY, RETURNDATASIZE 266 - Add config templating with burrow configure --config-template-in --config-out 267 - Add config templates for kubernetes 268 - Integrate monax-keys as internal (default) or standalone keys service, key gen exposed over CLI 269 - Use GRPC for keys 270 - Add GRPC service for Transactor and Events 271 - Store ExecutionEvent by height and index in merkle tree state 272 - Add historical query for all time with GetEvents 273 - Add streaming GRPC service for ExecutionEvents with query language over tags 274 - Add metadata to ExecutionEvents 275 - Add BlockExplorer CLI for forensics 276 - Expose reason for REVERT 277 - Add last_block_info healthcheck endpoint to rpc/TM 278 - 279 #### Improvements 280 - Implement checkpointing when saving application and blockchain state in commit - interrupted commit rolls burrow back to last block whereon it can catch up using Tendermint 281 - Maintain separate read-only tree in state so that long-running RPC request cannot block writes 282 - Improve state safety 283 - Improved input account server-side-signing 284 - Increase subscription reap time on rpc/V0 to 20 seconds 285 - Reorganise CLI 286 - Improve internal serialisation 287 - Refactor and modularise execution logic 288 289 #### Bug fixes 290 - Fix address generation from bytes mismatch 291 292 293 294 ## [0.18.1] 295 This is a minor release including: 296 - Introduce InputAccount param for RPC/v0 for integration in JS libs 297 - Resolve some issues with RPC/tm tests swallowing timeouts and not dealing with reordered events 298 299 ## [0.18.0] - 2018-05-09 300 This is an extremely large release in terms of lines of code changed addressing several years of technical debt. Despite this efforts were made to maintain external interfaces as much as possible and an extended period of stabilisation has taken place on develop. 301 302 A major strand of work has been in condensing previous Monax tooling spread across multiple repos into just two. The Hyperledger Burrow repo and [Bosmarmot](http://github.com/monax/bosmarmot). Burrow is now able to generate chains (replacing 'monax chains make') with 'burrow spec' and 'burrow configure'. Our 'EPM' contract deployment and testing tool, our javascript libraries, compilers, and monax-keys are avaiable in Bosmarmot (the former in the 'bos' tool). Work is underway to pull monax-keys into the Burrow project, and we will continue to make Burrow as self-contained as possible. 303 304 #### Features 305 - Substantial support for latest EVM and solidity 0.4.21+ (missing some opcodes that will be added shortly - see known issues) 306 - Tendermint 0.18.0 307 - All signing through monax-keys KeyClient connection (preparation for HSM and GPG based signing daemon) 308 - Address-based signing (Burrow acts as delegate when you send transact, transactAndHold, send, sendAndHold, and transactNameReg a parameter including input_account (hex address) instead of priv_key. 309 - Provide sequential signing when using transact family methods (above) - allowing 100s Tx per second with the same input account 310 - Genesis making, config making, and key generation through 'burrow spec' and 'burrow configure' 311 - Logging configuration language and text/template for output 312 - Improved CLI UX and framework (mow.cli) 313 - Improved configuration 314 315 316 #### Internal Improvements 317 - Refactored execution and provide interfaces for executor 318 - Segregate EVM and blockchain state to act as better library 319 - Panic recovery on TX execution 320 - Stricter interface boundaries and immutability of core objects by default 321 - Replace broken BlockCache with universal StateCache that doesn't write directly to DB 322 - All dependencies upgraded, notably: tendermint/IAVL 0.7.0 323 - Use Go dep instead of glide 324 - PubSub event hub with query language 325 - Heavily optimised logging 326 - PPROF profiling server option 327 - Additional tests in multiple packages including v0 RPC and concurrency-focussed test 328 - Use Tendermint verifier for PrivValidator 329 - Use monax/relic for project history 330 - Run bosmarmot integration tests in CI 331 - Update documentation 332 - Numerous maintainability, naming, and aesthetic code improvements 333 334 #### Bug fixes 335 - Fix memory leak in BlockCache 336 - Fix CPU usage in BlockCache 337 - Fix SIGNEXTEND for negative numbers 338 - Fix multiple execution level panics 339 - Make Transactor work during tendermint recheck 340 341 #### Known issues 342 - Documentation rot - some effort has been made to update documentation to represent the current state but in some places it has slipped help can be found (and would be welcomed) on: [Hyperledger Burrow Chat](https://chat.hyperledger.org/channel/burrow) 343 - Missing support for: RETURNDATACOPY and RETURNDATASIZE https://github.com/hyperledger/burrow/issues/705 (coming very soon) 344 - Missing support for: INVALID https://github.com/hyperledger/burrow/issues/705 (coming very soon) 345 - Missing support for: REVERT https://github.com/hyperledger/burrow/issues/600 (coming very soon) 346 347 348 ## [0.17.1] 349 Minor tweaks to docker build file 350 351 ## [0.17.0] - 2017-09-04 352 This is a service release with some significant ethereum/solidity compatibility improvements and new logging features. It includes: 353 354 - [Upgrade to use Tendermint v0.9.2](https://github.com/hyperledger/burrow/pull/595) 355 - [Implemented dynamic memory](https://github.com/hyperledger/burrow/pull/607) assumed by the EVM bytecode produce by solidity, fixing various issues. 356 - Logging sinks and configuration - providing a flexible mechanism for configuring log flows and outputs see [logging section in readme](https://github.com/hyperledger/burrow#logging). Various other logging enhancements. 357 - Fix event unsubscription 358 - Remove module-specific versioning 359 - Rename suicide to selfdestruct 360 - SNative tweaks 361 362 Known issues: 363 364 - SELFDESTRUCT opcode causes a panic when an account is removed. A [fix](https://github.com/hyperledger/burrow/pull/605) was produced but was [reverted](https://github.com/hyperledger/burrow/pull/636) pending investigation of a possible regression. 365 366 ## [0.16.3] - 2017-04-25 367 This release adds an stop-gap fix to the Transact method so that it never 368 transfers value with the CallTx is generates. 369 370 We hard-code amount = fee so that no value is transferred 371 regardless of fee sent. This fixes an invalid jump destination error arising 372 from transferring value to non-payable functions with newer versions of solidity. 373 By doing this we can resolve some issues with users of the v0 RPC without making 374 a breaking API change. 375 376 ## [0.16.2] - 2017-04-20 377 This release finalises our accession to the Hyperledger project and updates our root package namespace to github.com/hyperledger/burrow. 378 379 It also includes a bug fix for rpc/V0 so that BroadcastTx can accept any transaction type and various pieces of internal clean-up. 380 381 ## [0.16.1] - 2017-04-04 382 This release was an internal rename to 'Burrow' with some minor other attendant clean up. 383 384 ## [0.16.0] - 2017-03-01 385 This is a consolidation release that fixes various bugs and improves elements 386 of the architecture across the Monax Platform to support a quicker release 387 cadence. 388 389 #### Features and improvements (among others) 390 - [pull-510](https://github.com/hyperledger/burrow/pull/510) upgrade consensus engine to Tendermint v0.8.0 391 - [pull-507](https://github.com/hyperledger/burrow/pull/507) use sha3 for snative addresses for future-proofing 392 - [pull-506](https://github.com/hyperledger/burrow/pull/506) alignment and consolidation for genesis and config between tooling and chains 393 - [pull-504](https://github.com/hyperledger/burrow/pull/504) relicense eris-db to Apache 2.0 394 - [pull-500](https://github.com/hyperledger/burrow/pull/500) introduce more strongly types secure native contracts 395 - [pull-499](https://github.com/hyperledger/burrow/pull/499) introduce word256 and remove dependency on tendermint/go-common 396 - [pull-493](https://github.com/hyperledger/burrow/pull/493) re-introduce GenesisTime in GenesisDoc 397 398 - Logging system overhauled based on the central logging interface of go-kit log. Configuration lacking in this release but should be in 0.16.1. Allows powerful routing, filtering, and output options for better operations and increasing the observability of an eris blockchain. More to follow. 399 - Genesis making is improved and moved into eris-db. 400 - Config templating is moved into eris-db for better synchronisation of server config between the consumer of it (eris-db) and the producers of it (eris cli and other tools). 401 - Some documentation updates in code and in specs. 402 - [pull-462](https://github.com/hyperledger/burrow/pull/499) Makefile added to capture conventions around building and testing and replicate them across different environments such as continuous integration systems. 403 404 #### Bugfixes (among others) 405 - [pull-516](https://github.com/hyperledger/burrow/pull/516) Organize and add unit tests for rpc/v0 406 - [pull-453](https://github.com/hyperledger/burrow/pull/453) Fix deserialisation for BroadcastTx on rpc/v0 407 - [pull-476](https://github.com/hyperledger/burrow/pull/476) patch EXTCODESIZE for native contracts as solc ^v0.4 performs a safety check for non-zero contract code 408 - [pull-468](https://github.com/hyperledger/burrow/pull/468) correct specifications for params on unsubscribe on rpc/tendermint 409 - [pull-465](https://github.com/hyperledger/burrow/pull/465) fix divergence from JSON-RPC spec for Response object 410 - [pull-366](https://github.com/hyperledger/burrow/pull/366) correction to circle ci script 411 - [pull-379](https://github.com/hyperledger/burrow/pull/379) more descriptive error message for eris-client 412 413 414 ## [0.15.0] 415 This release was elided to synchronise release versions with tooling 416 417 ## [0.14.0] 418 This release was elided to synchronise release versions with tooling 419 420 ## [0.13.0] 421 This release was elided to synchronise release versions with tooling 422 423 ## [0.12.0] 424 This release marks the start of Eris-DB as the full permissioned blockchain node 425 of the Eris platform with the Tendermint permissioned consensus engine. 426 This involved significant refactoring of almost all parts of the code, 427 but provides a solid foundation to build the next generation of advanced 428 permissioned smart contract blockchains. 429 430 Many changes are under the hood but here are the main externally 431 visible changes: 432 433 - Features and improvements 434 - Upgrade to Tendermint 0.6.0 in-process consensus 435 - Support DELEGATECALL opcode in Ethereum Virtual Machine (important for solidity library calls) 436 - ARM support 437 - Docker image size reduced 438 - Introduction of eris-client companion library for interacting with 439 eris:db 440 - Improved single configuration file for all components written by eris-cm 441 - Allow multiple event subscriptions from same host under rpc/tendermint 442 443 444 - Tool changes 445 - Use glide instead of godeps for dependencies 446 447 448 - Testing 449 - integration tests over simulated RPC calls 450 - significantly improved unit tests 451 - the ethereum virtual machine and the consensus engine are now top-level 452 components and are exposed to continuous integration tests 453 454 455 - Bugfixes (incomplete list) 456 - [EVM] Fix calculation of child CALL gaslimit (allowing solidity library calls to work properly) 457 - [RPC/v0] Fix blocking event subscription in transactAndHold (preventing return in Javascript libraries) 458 - [Blockchain] Fix getBlocks to respect block height cap. 459 460 461 [Unreleased]: https://github.com/hyperledger/burrow/compare/v0.25.0...HEAD 462 [0.25.0]: https://github.com/hyperledger/burrow/compare/v0.24.6...v0.25.0 463 [0.24.6]: https://github.com/hyperledger/burrow/compare/v0.24.5...v0.24.6 464 [0.24.5]: https://github.com/hyperledger/burrow/compare/v0.24.4...v0.24.5 465 [0.24.4]: https://github.com/hyperledger/burrow/compare/v0.24.3...v0.24.4 466 [0.24.3]: https://github.com/hyperledger/burrow/compare/v0.24.2...v0.24.3 467 [0.24.2]: https://github.com/hyperledger/burrow/compare/v0.24.1...v0.24.2 468 [0.24.1]: https://github.com/hyperledger/burrow/compare/v0.24.0...v0.24.1 469 [0.24.0]: https://github.com/hyperledger/burrow/compare/v0.23.3...v0.24.0 470 [0.23.3]: https://github.com/hyperledger/burrow/compare/v0.23.2...v0.23.3 471 [0.23.2]: https://github.com/hyperledger/burrow/compare/v0.23.1...v0.23.2 472 [0.23.1]: https://github.com/hyperledger/burrow/compare/v0.23.0...v0.23.1 473 [0.23.0]: https://github.com/hyperledger/burrow/compare/v0.22.0...v0.23.0 474 [0.22.0]: https://github.com/hyperledger/burrow/compare/v0.21.0...v0.22.0 475 [0.21.0]: https://github.com/hyperledger/burrow/compare/v0.20.1...v0.21.0 476 [0.20.1]: https://github.com/hyperledger/burrow/compare/v0.20.0...v0.20.1 477 [0.20.0]: https://github.com/hyperledger/burrow/compare/v0.19.0...v0.20.0 478 [0.19.0]: https://github.com/hyperledger/burrow/compare/v0.18.1...v0.19.0 479 [0.18.1]: https://github.com/hyperledger/burrow/compare/v0.18.0...v0.18.1 480 [0.18.0]: https://github.com/hyperledger/burrow/compare/v0.17.1...v0.18.0 481 [0.17.1]: https://github.com/hyperledger/burrow/compare/v0.17.0...v0.17.1 482 [0.17.0]: https://github.com/hyperledger/burrow/compare/v0.16.3...v0.17.0 483 [0.16.3]: https://github.com/hyperledger/burrow/compare/v0.16.2...v0.16.3 484 [0.16.2]: https://github.com/hyperledger/burrow/compare/v0.16.1...v0.16.2 485 [0.16.1]: https://github.com/hyperledger/burrow/compare/v0.16.0...v0.16.1 486 [0.16.0]: https://github.com/hyperledger/burrow/compare/v0.15.0...v0.16.0 487 [0.15.0]: https://github.com/hyperledger/burrow/compare/v0.14.0...v0.15.0 488 [0.14.0]: https://github.com/hyperledger/burrow/compare/v0.13.0...v0.14.0 489 [0.13.0]: https://github.com/hyperledger/burrow/compare/v0.12.0...v0.13.0 490 [0.12.0]: https://github.com/hyperledger/burrow/commits/v0.12.0