Releases: algorand/go-algorand
Algorand v2.4.1
Summary
Highlights
Primarily enhancements and fixes to Fast Catchup and DNSSEC, but other logging improvements, miscellaneous optimizations, and other fixes as well. This release also fixes an issue with telemetry configuration being set incorrectly, in a bug that was introduced in 2.3.0.
Changelog
- General
- Bug Fix - fix return code testing & fix data directory cloning
- Catchup
- New Feature - add the ability to disable catchup in config file
- Bug Fixes
- Clear roundDigest when fast catchup is switching off
- Fix catchup concurrently from a single host
- Incorrect block download retry accounting during fast catchup
- Config
- Bug Fixes
- Fix DNSBootstrapArray returning empty strings
- Read from global logging config if data dir not provided
- Fix regression to loadTelemetryConfig introduced in 2.3.0
- Goal
- Enhancements
- Generate error on
goal clerk group
on signed transaction - Pass transaction groups correctly to logicsig evaluator
- Generate error on
- Enhancements
- KMD
- Enhancement - better kmd permission error message
- Ledger
- Enhancement - parallelize proposal transactions signature verification
- Bug Fix - fix in memory database bug revealed by TestFullCatchpointWriter
- Create a unified transaction verification cache
- Small transaction pool rebuild & assembly optimizations
- Compact accounts deltas before persisting to disk
- Convert the catchpointWriting from a channel to an atomic variable
- Refactor account updates consistency checking
- Logging
- Enhancements
- Improve agreement cadaver & crash database error handling
- Improve error logging of elastic search telemetry module
- Improve node error code checking
- Enhancements
- Network
- Enhancements
- Add explicit error for stale network message writes
- Use OS and fallback DNS servers in DNSSEC resolver
- Get system DNS on Windows
- Bug Fix - add f.Close() return code testing in SystemConfig()
- Bug Fix - fix network peers list memory leak
- Code style fixes DNSSEC client
- Enhancements
- Tools
- Enhancements
- Create configuration file using config.Local data structure
- Show all errors, not just the first, when compiling TEAL
- Allow catchpointdump to download a single catchpoint from a specified relay
- Update catchpointdump utility to have progress bars
- Enhancements
- Tests & Benchmarks
- Benchmarks
- Add payset benchmarks
- Benchmark account db random reads and BlockEvaluator
- Enhancements
- Add travis_retry to build and test commands in case of random failures
- Disable cadaver for mainnet model
- Disable cadaver for mainnet model, include config overrides this time
- Improve catchpoint catchup expect test by not compiling on the fly
- Remove code quality checking on integration tests builds
- Set CadaverSizeTarget to 0 for Scenario testing
- Bug Fixes
- Fix a race in arm test in algoh startup and algod.* files creation
- Fix arm64 failures running TestAlgohWithExpect
- Fix miscellaneous bugs in goalAsset expect test
- Fix random limit order test
- Fix various bugs in expect tests
- Wait for EOF on StartNetwork/StopNetwork and test status correctly
- Benchmarks
- Other
- Enhancements
- Add transaction evaluation distribution metrics
- Check minimal go version 1.14 prior the build
- Pipeline - clean up environmental variable usage to simplify building
- Run gofmt against source code
- Update go files to have license range of 2021
- Use go tooling to get version from go.mod instead of parsing
- Bug Fixes
- Pipeline - fix download location when signing build assets
- Pipeline - fix releases-page task
- Pipeline - minimal bug fixes for latest package deployment
- Pipeline - move check_golang_version check to fix travis builds
- Enhancements
Protocol Upgrade
This release does not contain a consensus protocol upgrade.
Additional Resources
Algorand BetaNet v2.4.1
Highlights
This release is primarily to fix an issue with telemetry configuration being set incorrectly, in a bug that was introduced in 2.3.0.
Changes
- Config
- Bug Fixes
- Read from global logging config if data dir not provided
- Fix regression to loadTelemetryConfig introduced in 2.3.0
- Bug Fixes
- Other
- Bug Fix - move check_golang_version check to fix travis builds
Protocol Upgrade
This release does not contain a consensus protocol upgrade.
Additional Resources
Algorand BetaNet v2.4.0
Highlights
Primarily enhancements and fixes to Fast Catchup and DNSSEC, but other logging improvements, miscellaneous optimizations, and other fixes as well.
Changelog
- General
- Bug Fix - fix return code testing & fix data directory cloning
- Catchup
- New Feature - add the ability to disable catchup in config file
- Bug Fixes
- Clear roundDigest when fast catchup is switching off
- Fix catchup concurrently from a single host
- Incorrect block download retry accounting during fast catchup
- Config
- Bug Fix - fix DNSBootstrapArray returning empty strings
- Goal
- Enhancements
- Generate error on
goal clerk group
on signed transaction - Pass transaction groups correctly to logicsig evaluator
- Generate error on
- Enhancements
- KMD
- Enhancement - better kmd permission error message
- Ledger
- Enhancement - parallelize proposal transactions signature verification
- Bug Fix - fix in memory database bug revealed by TestFullCatchpointWriter
- Create a unified transaction verification cache
- Small transaction pool rebuild & assembly optimizations
- Compact accounts deltas before persisting to disk
- Convert the catchpointWriting from a channel to an atomic variable
- Refactor account updates consistency checking
- Logging
- Enhancements
- Improve agreement cadaver & crash database error handling
- Improve error logging of elastic search telemetry module
- Improve node error code checking
- Enhancements
- Network
- Enhancements
- Add explicit error for stale network message writes
- Use OS and fallback DNS servers in DNSSEC resolver
- Get system DNS on Windows
- Bug Fix - add f.Close() return code testing in SystemConfig()
- Bug Fix - fix network peers list memory leak
- Code style fixes DNSSEC client
- Enhancements
- Tools
- Enhancements
- Create configuration file using config.Local data structure
- Show all errors, not just the first, when compiling TEAL
- Allow catchpointdump to download a single catchpoint from a specified relay
- Update catchpointdump utility to have progress bars
- Enhancements
- Tests & Benchmarks
- Benchmarks
- Add payset benchmarks
- Benchmark account db random reads and BlockEvaluator
- Enhancements
- Add travis_retry to build and test commands in case of random failures
- Disable cadaver for mainnet model
- Disable cadaver for mainnet model, include config overrides this time
- Improve catchpoint catchup expect test by not compiling on the fly
- Remove code quality checking on integration tests builds
- Set CadaverSizeTarget to 0 for Scenario testing
- Bug Fixes
- Fix a race in arm test in algoh startup and algod.* files creation
- Fix arm64 failures running TestAlgohWithExpect
- Fix miscellaneous bugs in goalAsset expect test
- Fix random limit order test
- Fix various bugs in expect tests
- Wait for EOF on StartNetwork/StopNetwork and test status correctly
- Benchmarks
- Other
- Enhancements
- Add transaction evaluation distribution metrics
- Check minimal go version 1.14 prior the build
- Pipeline - clean up environmental variable usage to simplify building
- Run gofmt against source code
- Update go files to have license range of 2021
- Use go tooling to get version from go.mod instead of parsing
- Bug Fixes
- Pipeline - fix download location when signing build assets
- Pipeline - fix releases-page task
- Pipeline - minimal bug fixes for latest package deployment
- Enhancements
Protocol Upgrade
This release does not contain a consensus protocol upgrade.
Additional Resources
Algorand v2.3.0
Highlights
- TEAL return type check: this release addresses an inconsistency in the specification where operands pushing order is different from return values order. There are no changes in TEAL evaluation so that no protocol upgrade is required. Corresponding changes to the specification can be found here: algorandfoundation/specs@21adc34
- Optimizations and improvements to fast catchup
Changes
- TEAL
- Enhancement - consistently report line numbers in TEAL error messages.
- Bug Fix - fix return type check in assembler
- Catchup
- Enhancements
- Extend catchpoint file download time and make configurable
- Dynamically adjust catchpoint file serving timeouts based on file size
- Ordered account insertion into merkle trie
- Write the catchpoint file in parallel of reading from the database
- Optimize fast catchup
- Enhancements
- Ledger
- Bug Fix - separate the error message for duplicate txn id and lease
- Network
- New Feature - add network propagation tracing to algod. To enable, compile with
make GOTAGSCUSTOM=msgtrace
, and set NetworkMessageTraceServer in config.json, e.g.algocfg set -p NetworkMessageTraceServer -v server.addr:6225
- New Feature - add network propagation tracing to algod. To enable, compile with
- REST API
- Enhancement - clarify which algod endpoints require developer API
- Bug Fix - implement opt-in in dryrun
- Goal
- Enhancements
- Update goal error message for unauthorized access
- Improve 'goal asset' help documentation
- Remove extra newline from goal version output
- Bug Fix - avoid printing control characters for displaying assets
- Enhancements
- Tests
- Enhancements
- Update mainnet-model for scale and distribution
- Add e2e test for LedgerForLogic
- Add app state read-write into pingpong
- Add applications to min balance requirements calculation
- Bug Fixes
- Address intermittent failure of algohTimeoutTest.exp on ARM64
- Fix opt-ins and timeouts in pingpong assets testing
- Enhancements
- Other
- Enhancements
- Add package test to verify gpg signature
- Improved pipeline task that updates deb repository
- Static linking in Windows executables
- Derive the swagger version from the go.mod file
- Bug Fixes
- Mount .docker dir to allow container to push to docker hub in pipeline
- Env variables while make execution list is created
- Specify swagger version v0.25.0 to fix build
- Fix rpm upload in pipeline not working for rel/stable
- Enhancements
Protocol Upgrade
This release does not contain a consensus protocol upgrade.
Additional Resources
Algorand BetaNet v2.3.0
Highlights
- TEAL return type check: this release addresses an inconsistency in the specification where operands pushing order is different from return values order. There are no changes in TEAL evaluation so that no protocol upgrade is required. Corresponding changes to the specification can be found here: algorandfoundation/specs@21adc34
- Optimizations and improvements to fast catchup
Changes
- TEAL
- Enhancement - consistently report line numbers in TEAL error messages.
- Bug Fix - fix return type check in assembler
- Catchup
- Enhancements
- Extend catchpoint file download time and make configurable
- Dynamically adjust catchpoint file serving timeouts based on file size
- Ordered account insertion into merkle trie
- Write the catchpoint file in parallel of reading from the database
- Optimize fast catchup
- Enhancements
- Ledger
- Bug Fix - separate the error message for duplicate txn id and lease
- Network
- New Feature - add network propagation tracing to algod. To enable, compile with
make GOTAGSCUSTOM=msgtrace
, and set NetworkMessageTraceServer in config.json, e.g.algocfg set -p NetworkMessageTraceServer -v server.addr:6225
- New Feature - add network propagation tracing to algod. To enable, compile with
- REST API
- Enhancement - clarify which algod endpoints require developer API
- Bug Fix - implement opt-in in dryrun
- Goal
- Enhancements
- Update goal error message for unauthorized access
- Improve 'goal asset' help documentation
- Remove extra newline from goal version output
- Bug Fix - avoid printing control characters for displaying assets
- Enhancements
- Tests
- Enhancements
- Update mainnet-model for scale and distribution
- Add e2e test for LedgerForLogic
- Add app state read-write into pingpong
- Add applications to min balance requirements calculation
- Bug Fixes
- Address intermittent failure of algohTimeoutTest.exp on ARM64
- Fix opt-ins and timeouts in pingpong assets testing
- Enhancements
- Other
- Enhancements
- Add package test to verify gpg signature
- Improved pipeline task that updates deb repository
- Static linking in Windows executables
- Derive the swagger version from the go.mod file
- Bug Fixes
- Mount .docker dir to allow container to push to docker hub in pipeline
- Env variables while make execution list is created
- Specify swagger version v0.25.0 to fix build
- Fix rpm upload in pipeline not working for rel/stable
- Enhancements
Protocol Upgrade
This release does not contain a consensus protocol upgrade.
Additional Resources
Algorand v2.2.0
Highlights
- Miscellaneous bug fixes
- Some slight performance optimizations
- Additional tests and fixes to existing tests
- Work to implement new packaging pipeline
- Initial backend support for compact certificate development
Changes
- Agreement
- Enhancements
- Add consensus-driven agreement filter timeout
- Vote validation error refactor
- Deprecate algolambdamsec environment variable
- Enhancements
- Algod
- Bug Fix - exit algod with a non-zero in case of a startup error
- Catchup
- Enhancements
- Minor catchpoint REST handler error code cleanup
- Improve RestoringFromCatchpointFile benchmark precision
- Bug Fix - ensure syncStartNS is managed correctly across catchpoint file writing
- Add detailed error logging in case of failed blocks download
- Enhancements
- Crypto
- Enhancement - add more inputs into hashCoin() for better hygiene
- General
- New Features
- Core crypto primitives for compact certificates
- Added a transaction type to store compact certificates
- Bug Fix - modify the error messages for parseIntcblock to distinguish from parseBytecblock
- New Features
- Goal
- Enhancements
- Fix inconsistencies in goal asset command
- Add goal account info command
- Output error when 'goal node stop' is run on invalid/non-existing directory
- Bug Fix - Avoid printing control characters from goal
- Enhancements
- Ledger
- New Feature - commit to Merkle tree of online participants in block header
- Enhancements
- Implement tracking of top-N online accounts in the ledger
- Add metrics for the various ledger components
- Cache the most recent Seed/Circulation calls to reduce pressure on ledger
- Remove the Lookup from the ledgerForEvaluator interface
- Decouple database round and acctupdate round
- Fix typos in ledger package
- Optimize listCreatables implementation
- Repack merkle trie pages before flush
- Extend account lookup to include validity range
- Bug Fixes
- Calculate normalized balance using genesis proto
- Add syncMu to AlgorandFullNode OnNewBlock
- Transaction Pool
- Bug Fixes
- Refactor AssembleBlock error
- Limit txpool size by transaction count rather then transaction groups count
- Correct the accounting of transactions in checkPendingQueueSize
- Correctly account for bloom filter binary marshaling size
- Bug Fixes
- Network
- Enhancements
- Remove expected ReadError events
- Add ASCII filtering for remote requests logged data
- Enhancements
- REST API
- New Feature - new endpoint /genesis.json
- Enhancements
- Don't return an error when requesting the same catchpoint multiple times
- Add new line characters allowing proper Markdown formatting when docs are generated from this source file
- REST docs update: /v1/account/{addr}/transactions
- Bug Fixes
- Add versions endpoint to spec, fix versions model objects
- Allow max and assetIndex to be optional
- Return 404 if v1/transaction/{txid} doesn't find the txn.
- Set content type header for health endpoint
- Telemetry
- Bug Fixes
- Correct Telemetry uploading message reported in node.log
- Change telemetryConfig from global variable to a member of the logger
- Bug Fixes
- Tools
- Enhancements
- Added a new recipe for performing network disruption tests.
- Simplifed dryrunning and debugging group transactions
- Add support for algorelay deleting unused SRV and DNS entries
- Add txn.Accounts and txn.ApplicationArgs support to tealdbg
- Improve goal node start error reporting in case of algod errored
- Tealdbg: listen for upcoming spinoff connections
- Netgoal general templates
- Bug Fixes
- Improve network template validation
- Enhancements
- Tests
- New Feature - performance testing with realilistic network performance
- Enhancements
- Add concurrent read and write test from database table
- Add a unit test to confirm BinaryMarshalLength correctness
- Added more deb and rpm package tests
- Coverage tests for ledger/acctupdates
- Cleanup buggy dead code
- Implement e2e test for tealdbg
- Increase code coverage of tealdbg unit tests
- Tweak the mainnet-model recipe
- Added auth middleware tests
- Added debugger coverage test
- Add a benchmark to test restoring from catchpoint performance
- Add unit tests for equal functions in teal.go
- Add a benchmark for writeCatchpointStagingBalances
- Improve db insertion benchmark - add ordered insertions
- Add additional ledger tests
- Updates to support testing TEAL application size
- Bug Fixes
- Extend expect timeout when checking account balance
- Fix random failure in goalNodeTest.exp
- Fix random failure in goalAppAccountAddressTest.exp
- Fix unreliable network unit test TestSlowPeerDisconnection
- Fix data race in TestPing unit test
- Remove close from eof pattern match to remove error message
- Test for process return in expect tests
- Other
- New Feature - add support for building native Windows binaries
- Enhancements
- Update new issue template
- Update rpm packaging to allow for more scenarios
- Update deploy scripts to reflect current deploy strategy
- Formatting updates with make sanity
- Added S3_SOURCE env var to specify source of packages for signing
- Implement mule packaging pipeline
- Remove devtools binaries from algorand package (rpm)
- Remove hardcoded dependency package names from package scirpts
- Fix pathing issue to installer directory in packaging scripts
- Simplify mule signing task
- Update mule docs for new pipeline
- Add support for Windows compilation on travis
- Remove unused dockerfiles
- Added package-upload mule task
- Create mule tasks for aptly, releases page and docker hub images
- Bug Fixes
- Remove commas from mule yaml files
- Revert change to grep recommended by shellcheck
- Remove Travis token, which is not needed for open source repos
- Many fixes for implementing new packaging pipeline
Protocol Upgrade
This release does not contain a consensus protocol upgrade.
Additional Resources
Algorand BetaNet v2.2.0
Highlights
- Miscellaneous bug fixes
- Some slight performance optimizations
- Additional tests and fixes to existing tests
- Work to implement new packaging pipeline
- Initial backend support for compact certificate development
Changes
- Agreement
- Enhancements
- Add consensus-driven agreement filter timeout
- Vote validation error refactor
- Deprecate algolambdamsec environment variable
- Enhancements
- Algod
- Bug Fix - exit algod with a non-zero in case of a startup error
- Catchup
- Enhancements
- Minor catchpoint REST handler error code cleanup
- Improve RestoringFromCatchpointFile benchmark precision
- Bug Fix - ensure syncStartNS is managed correctly across catchpoint file writing
- Add detailed error logging in case of failed blocks download
- Enhancements
- Crypto
- Enhancement - add more inputs into hashCoin() for better hygiene
- General
- New Features
- Core crypto primitives for compact certificates
- Added a transaction type to store compact certificates
- Bug Fix - modify the error messages for parseIntcblock to distinguish from parseBytecblock
- New Features
- Goal
- Enhancements
- Fix inconsistencies in goal asset command
- Add goal account info command
- Output error when 'goal node stop' is run on invalid/non-existing directory
- Bug Fix - Avoid printing control characters from goal
- Enhancements
- Ledger
- New Feature - commit to Merkle tree of online participants in block header
- Enhancements
- Implement tracking of top-N online accounts in the ledger
- Add metrics for the various ledger components
- Cache the most recent Seed/Circulation calls to reduce pressure on ledger
- Remove the Lookup from the ledgerForEvaluator interface
- Decouple database round and acctupdate round
- Fix typos in ledger package
- Optimize listCreatables implementation
- Repack merkle trie pages before flush
- Extend account lookup to include validity range
- Bug Fixes
- Calculate normalized balance using genesis proto
- Add syncMu to AlgorandFullNode OnNewBlock
- Transaction Pool
- Bug Fixes
- Refactor AssembleBlock error
- Limit txpool size by transaction count rather then transaction groups count
- Correct the accounting of transactions in checkPendingQueueSize
- Correctly account for bloom filter binary marshaling size
- Bug Fixes
- Network
- Enhancements
- Remove expected ReadError events
- Add ASCII filtering for remote requests logged data
- Enhancements
- REST API
- New Feature - new endpoint /genesis.json
- Enhancements
- Don't return an error when requesting the same catchpoint multiple times
- Add new line characters allowing proper Markdown formatting when docs are generated from this source file
- REST docs update: /v1/account/{addr}/transactions
- Bug Fixes
- Add versions endpoint to spec, fix versions model objects
- Allow max and assetIndex to be optional
- Return 404 if v1/transaction/{txid} doesn't find the txn.
- Set content type header for health endpoint
- Telemetry
- Bug Fixes
- Correct Telemetry uploading message reported in node.log
- Change telemetryConfig from global variable to a member of the logger
- Bug Fixes
- Tools
- Enhancements
- Added a new recipe for performing network disruption tests.
- Simplifed dryrunning and debugging group transactions
- Add support for algorelay deleting unused SRV and DNS entries
- Add txn.Accounts and txn.ApplicationArgs support to tealdbg
- Improve goal node start error reporting in case of algod errored
- Tealdbg: listen for upcoming spinoff connections
- Netgoal general templates
- Bug Fixes
- Improve network template validation
- Enhancements
- Tests
- New Feature - performance testing with realilistic network performance
- Enhancements
- Add concurrent read and write test from database table
- Add a unit test to confirm BinaryMarshalLength correctness
- Added more deb and rpm package tests
- Coverage tests for ledger/acctupdates
- Cleanup buggy dead code
- Implement e2e test for tealdbg
- Increase code coverage of tealdbg unit tests
- Tweak the mainnet-model recipe
- Added auth middleware tests
- Added debugger coverage test
- Add a benchmark to test restoring from catchpoint performance
- Add unit tests for equal functions in teal.go
- Add a benchmark for writeCatchpointStagingBalances
- Improve db insertion benchmark - add ordered insertions
- Add additional ledger tests
- Updates to support testing TEAL application size
- Bug Fixes
- Extend expect timeout when checking account balance
- Fix random failure in goalNodeTest.exp
- Fix random failure in goalAppAccountAddressTest.exp
- Fix unreliable network unit test TestSlowPeerDisconnection
- Fix data race in TestPing unit test
- Remove close from eof pattern match to remove error message
- Test for process return in expect tests
- Other
- New Feature - add support for building native Windows binaries
- Enhancements
- Update new issue template
- Update rpm packaging to allow for more scenarios
- Update deploy scripts to reflect current deploy strategy
- Formatting updates with make sanity
- Added S3_SOURCE env var to specify source of packages for signing
- Implement mule packaging pipeline
- Remove devtools binaries from algorand package (rpm)
- Remove hardcoded dependency package names from package scirpts
- Fix pathing issue to installer directory in packaging scripts
- Simplify mule signing task
- Update mule docs for new pipeline
- Add support for Windows compilation on travis
- Remove unused dockerfiles
- Added package-upload mule task
- Create mule tasks for aptly, releases page and docker hub images
- Bug Fixes
- Remove commas from mule yaml files
- Revert change to grep recommended by shellcheck
- Remove Travis token, which is not needed for open source repos
- Many fixes for implementing new packaging pipeline
Protocol Upgrade
This release does not contain a consensus protocol upgrade.
Additional Resources
Algorand v2.1.6
Highlights
Release 2.1.5-stable introduced a bug in our Debian packaging scripts that packaged a TestNet genesis.json file by default instead of the MainNet genesis.json.
This bug only affected Debian package users who installed version 2.1.5-stable, which was available between Monday September 21, 2020 2:30pm EDT and Wednesday September 23, 2020 12:00pm EDT.
If you were affected, release 2.1.6 will resolve the issue. However, all users who installed 2.1.5 are encouraged to
confirm that the right network is being used after the 2.1.6 upgrade.
You can check the Genesis ID using with the following command:
goal node status -d /var/lib/algorand
You can also check the contents of the /var/lib/algorand/genesis.json
file to ensure it matches the correct network's genesis file.
Changes
- Other
- Bug Fixes
- Use DEFAULT_RELEASE_NETWORK genesis file in debian package
- Resolve bad genesis file from 2.1.5 debian install
- Bug Fixes
Protocol Upgrade
This release does not contain a consensus protocol upgrade.
Additional Resources
Algorand BetaNet v2.1.6
Highlights
A bug in the algorand debian package would result in the genesis.json for TestNet being applied instead of MainNet. Debian users who upgraded to 2.1.5 should verify that /var/lib/algorand/genesis.json
is pointing to the correct network after upgrading to this version.
Changes
- Other
- Bug Fixes
- Use DEFAULT_RELEASE_NETWORK genesis file in debian package
- Attempt to fix bad genesis file on 2.1.5 debian install
- Bug Fixes
Protocol Upgrade
This release does not contain a consensus protocol upgrade.
Additional Resources
Algorand v2.1.5
Highlights
- Optimizations to fast catchup - reduce memory usage and improve speed
- Utilities to aid in stateful smart contract development - tealdbg and tealcut
- Split dev utilities into new algorand-devtools package
Changes
- General
- Bug Fix - fix error propagation at two sites
- Enhancements
- Document that app_{local,global}_del have no effect on missing keys
- Improve the memory consumption used by a single node in the Merkle trie implementation
- Agreement
- Enhancement - convert LedgerReader.BalanceRecord into LedgerReader.Lookup
- Catchup
- Enhancement - reduce the database synchronization for the duration of the fast catchup
- Tests
- Bug Fix - reorder permission check for setting contract administrator
- Tools
- New Feature - add tealcut, a tool for splitting a TEAL program around a constant
- Other
- Enhancements
- Allow mule packaging to be done without having to first explicitly call
ci-build
- Create new
algorand-devtools
package - Fix pathing issue to installer directory
- Allow mule packaging to be done without having to first explicitly call
- Enhancements
Protocol Upgrade
This release does not contain a consensus protocol upgrade.