Releases: algorand/go-algorand
Algorand 3.20.1
Overview
An endpoint to generate participation keys, network optimization, and other enhancements around catchpoints and catchup are included in this release.
Both the crash and state proof databases now default to the 'hot' data directory.
What's New
- Participation key generation endpoint: a requested feature to allow the ability to generate API keys from the REST endpoint, provided you have the admin token.
Changelog
New Features
- API: Add participation key generation endpoint to algod API (#5781)
- Txhandler: applications rate limiter (#5734)
Enhancements
- API: minor style improvements in keygen code. (#5786)
- AVM: preserve line/column for assembler warnings (#5796)
- AVM: Reorganize the crypto opcodes a bit to simplify incentive work (#5787)
- Algocfg: Add print option to algocfg. (#5824)
- Build: bump github.com/consensys/gnark-crypto from 0.12.0 to 0.12.1 (#5822)
- Catchpoint: store certs with blocks during catchpoint restore (#5798)
- Catchup: increase followLatestBackoff to 100ms (#5838)
- Catchup: use specialized backoff behavior for follower mode (#5836)
- Catchup: Dynamic parallel catchup (#5802)
- Catchup: fetchAndWrite/fetchRound quit early on errNoBlockForRound (#5809)
- Catchup: Provide more information to client when requested block not available (#5819)
- Cgo: Properly manage memory passing from cgo to go on Batch Verifiers (#5700)
- Chore: Cut out some useless allocations when computing payset commitments (#5840)
- Chore: Remove one allocate per hash by using generics. (#5829)
- Cleanup: Use Go 1.19 atomic types (#5792)
- Config: add EnableGossipService option (#5832)
- Config: move crash and stateproof DB defaults to hot dir (#5817)
- Config: Update description for IncomingConnectionsLimit (#5789)
- Docs: Add comment to initConsensusProtocols. (#5791)
- Follower: update follower node error messages. (#5797)
- Ledger: support WaitWithCancel for unsuccessful WaitForBlock API calls (#5814)
- State Proofs: add block hash to LightBlockHeader (#5663)
Bugfixes
- Catchup: Fix empty cert if ledger already has a block (#5846)
- Catchup: pause catchup if ledger lagging behind (#5794)
- Cicd: Fix RPM repository updating (#5790)
- Ledger: make catchpoint generation backward compatible (#5598)
- Tests: Fix flaky TestAccountSelected test (#5788)
Protocol Upgrade
This release does not contain a protocol upgrade.
NOTE
vFuture changes are not yet available in MainNet or TestNet but can be used in private networks.
- State Proofs: add block hash to LightBlockHeader (#5663)
Additional Resources
Algorand BetaNet 3.20.1
Overview
Optimizations and a bug fix for catchup.
Changelog
Enhancements
- Cgo: Properly manage memory passing from cgo to go on Batch Verifiers (#5700)
- Chore: Cut out some useless allocations when computing payset commitments (#5840)
- Chore: Remove one allocate per hash by using generics. (#5829)
- Config: add EnableGossipService option (#5832)
Bug Fix
- Catchup: Fix empty cert if ledger already has a block (#5846)
Protocol Upgrade
This release does not contain a protocol upgrade.
Additional Resources
NOTE
vFuture changes are not yet available in MainNet or TestNet but can be used in private networks.
- State Proofs: add block hash to LightBlockHeader (#5663)
Algorand BetaNet 3.20.0
Overview
An endpoint to generate participation keys, network optimization, and other enhancements around catchpoints and catchup are included in this release.
Both the crash and state proof databases now default to the 'hot' data directory.
What's New
- Participation key generation endpoint: a requested feature to allow the ability to generate API keys from the REST endpoint, provided you have the admin token.
Changelog
New Features
Enhancements
- Txhandler: applications rate limiter (#5734)
Enhancements
- Algocfg: Add print option to algocfg. (#5824)
- API: minor style improvements in keygen code. (#5786)
- AVM: preserve line/column for assembler warnings (#5796)
- AVM: Reorganize the crypto opcodes a bit to simplify incentive work (#5787)
- Build: bump github.com/consensys/gnark-crypto from 0.12.0 to 0.12.1 (#5822)
- Catchpoint: store certs with blocks during catchpoint restore (#5798)
- Catchup: Dynamic parallel catchup (#5802)
- Catchup: fetchAndWrite/fetchRound quit early on errNoBlockForRound (#5809)
- Catchup: Increase followLatestBackoff to 100ms (#5838)
- Catchup: Provide more information to client when requested block not available (#5819)
- Catchup: use specialized backoff behavior for follower mode (#5836)
- Cleanup: Use Go 1.19 atomic types (#5792)
- Config: move crash and stateproof DB defaults to hot dir (#5817)
- Config: Update description for IncomingConnectionsLimit (#5789)
- Docs: Add comment to initConsensusProtocols. (#5791)
- Feature: Catchup Eval Stake Exception Round Handling (#5795)
- Follower: update follower node error messages. (#5797)
- Ledger: support WaitWithCancel for unsuccessful WaitForBlock API calls (#5814)
- Tools: improve heapwatch chart drawing scripts (#5801)
Bugfixes
- Catchup: pause catchup if ledger lagging behind (#5794)
- Cicd: Fix RPM repository updating (#5790)
- Ledger: make catchpoint generation backward compatible (#5598)
- Ledger: rollback vetting historical stateproof blocks (#5830)
- Tests: Fix flaky TestAccountSelected test (#5788)
Protocol Upgrade
This release does not contain a protocol upgrade.
Additional Resources
Algorand 3.19.0
Overview
In this release we add support for hot and cold data directories for algod, enhance the simulate endpoint by returning app initial states, and speed up starting up private networks by allowing pre-generation of keys. Backend support for future features are also included - stay tuned!
What's New
- Hot/Cold data directories: Support for specifying different destinations for data instead of just a single data directory
- Pre-generated private network keys: Speed launching new private networks for development by re-using pre-generated keys
- Simulate: Return application initial states accessed during simulation
- Config: Add MaxBlockHistoryLookback option
Changelog
New Features
- Algod: Hot/Cold Data Directories and Resource Paths (#5614)
- Docker: Support pregenerated keys in docker private networks (#5735)
- Network: add P2PNetwork implementation (#5640)
- Simulate: Return application initial states accessed during simulation (#5686)
Enhancements
- API: StartFastCatchup initialize parameter (#5752)
- AVM: Generate langspec for each version (#5629)
- Build: bump golang.org/x/net from 0.12.0 to 0.17.0 (#5779)
- Build: bump github.com/consensys/gnark-crypto from 0.11.2 to 0.12.0 (#5774)
- Chore: Refactor catchpoint tracking logic into config (#5725)
- Chore: Put the three doc strings about each op together (#5708)
- Config: Add MaxBlockHistoryLookback option (#5749)
- Devops: update releases page GPG key mentions (#5742)
- Docs: Update node config comments so that they can be used for doc generation. (#5729)
- Dynamic-lambda: continue tracking the best proposal even after freezing (#5701)
- Encoding: eliminate unnecessary allocations (#5655)
- Feature: Disable EnableBlockServiceFallbackToArchiver by default. (#5706)
- Goal: Add initialize option to 'goal node catchup'. (#5754)
- Goal: Add export and import options for genesis files during network creation (#5672)
- P2p: Make p2p listen address configurable via config.NetAddress (#5721)
- P2p: Return non-loopback multiaddr from Address() if available (#5716)
- P2p: peerstore backed phonebook (#5710)
- Perf: upgrade go-deadlock (#5760)
- Performance: dynamic lambda (#5654)
- Simulate: Enable on follower node & allow specifying starting round (#5685)
- Teal: Report columns in TEAL source maps (#5776)
- Tests: Fix flaky tealdbg unit test (#5768)
- Tests: Remove flaky persistent peers test from wsNetwork (#5772)
- Tests: Address flakiness with TestMergePrimarySecondaryRelayAddressListsPartialOverlap (#5758)
- Tests: update TestCatchupOverGossip to be less parallel and use sub-tests (#5731)
- Tools: Block Generator - allow exporting to files (#5714)
Bugfixes
- AVM: Cleanly handle broken switch/match programs (#5782)
- Catchpoints: check EnableCatchupFromArchiveServers for ledgerFetcher (#5783)
- Ci: fix scripts/create_and_deploy_recipe.sh build (#5764)
- CICD: Fix RPM repository updating (#5790)
- Devops: fix releases page links (#5746)
- Docker: Do not disable telemetry if logging.config is present. (#5769)
- Docker: Do not catchup if already initialized. (#5756)
- Docker: Update docker config with node_exporter path. (#5762)
- Revert "ledger: Close the ledger at node shutdown" (#5705)
- Scripts(configure_dev): conditional tap homebrew (#5573)
- Specs: Change spec generation for Foundation to handle _v*.md (#5751)
- Tests: Fix simulate start round flaky test (#5748)
- Tools: better heap data rendering (#5761)
- Windows: Fix GC (#5745)
Protocol Upgrade
This release does not contain a protocol upgrade.
NOTE
vFuture changes are not yet available in MainNet or TestNet but can be used in private networks.
- AVM: EC math (#4924)
Additional Resources
Algorand BetaNet 3.19.0
Overview
In this release we add support for hot and cold data directories for algod, enhance the simulate endpoint by returning app initial states, and speed up starting up private networks by allowing pre-generation of keys. Backend support for future features are also included - stay tuned!
What's New
- Hot/Cold data directories: Support for specifying different destinations for data instead of just a single data directory
- Pre-generated private network keys: Speed launching new private networks for development by re-using pre-generated keys
- Simulate: Return application initial states accessed during simulation
Changelog
New Features
- Algod: Hot/Cold Data Directories and Resource Paths (#5614)
- Docker: Support pregenerated keys in docker private networks (#5735)
- Network: add P2PNetwork implementation (#5640)
- Simulate: Return application initial states accessed during simulation (#5686)
Enhancements
- API: StartFastCatchup initialize parameter (#5752)
- AVM: Generate langspec for each version (#5629)
- Build: bump golang.org/x/net from 0.12.0 to 0.17.0 (#5779)
- Build: bump github.com/consensys/gnark-crypto from 0.11.2 to 0.12.0 (#5774)
- Chore: Refactor catchpoint tracking logic into config (#5725)
- Chore: Put the three doc strings about each op together (#5708)
- Config: Add MaxBlockHistoryLookback option (#5749)
- Devops: update releases page GPG key mentions (#5742)
- Docs: Update node config comments so that they can be used for doc generation. (#5729)
- Dynamic-lambda: continue tracking the best proposal even after freezing (#5701)
- Encoding: eliminate unnecessary allocations (#5655)
- Feature: Disable EnableBlockServiceFallbackToArchiver by default. (#5706)
- Goal: Add initialize option to 'goal node catchup'. (#5754)
- Goal: Add export and import options for genesis files during network creation (#5672)
- P2p: Make p2p listen address configurable via config.NetAddress (#5721)
- P2p: Return non-loopback multiaddr from Address() if available (#5716)
- P2p: peerstore backed phonebook (#5710)
- Perf: upgrade go-deadlock (#5760)
- Performance: dynamic lambda (#5654)
- Simulate: Enable on follower node & allow specifying starting round (#5685)
- Teal: Report columns in TEAL source maps (#5776)
- Tests: Fix flaky tealdbg unit test (#5768)
- Tests: Remove flaky persistent peers test from wsNetwork (#5772)
- Tests: Address flakiness with TestMergePrimarySecondaryRelayAddressListsPartialOverlap (#5758)
- Tests: update TestCatchupOverGossip to be less parallel and use sub-tests (#5731)
- Tools: Block Generator - allow exporting to files (#5714)
Bugfixes
- AVM: Cleanly handle broken switch/match programs (#5782)
- Catchpoints: check EnableCatchupFromArchiveServers for ledgerFetcher (#5783)
- Ci: fix scripts/create_and_deploy_recipe.sh build (#5764)
- Devops: fix releases page links (#5746)
- Docker: Do not disable telemetry if logging.config is present. (#5769)
- Docker: Do not catchup if already initialized. (#5756)
- Docker: Update docker config with node_exporter path. (#5762)
- Revert "ledger: Close the ledger at node shutdown" (#5705)
- Scripts(configure_dev): conditional tap homebrew (#5573)
- Specs: Change spec generation for Foundation to handle _v*.md (#5751)
- Tests: Fix simulate start round flaky test (#5748)
- Tools: better heap data rendering (#5761)
- Windows: Fix GC (#5745)
Protocol Upgrade
This release does not contain a protocol upgrade.
NOTE
vFuture changes are not yet available in MainNet or TestNet but can be used in private networks.
- AVM: EC math (#4924)
Additional Resources
Algorand BetaNet 3.18.1
Overview
Deserialization refactor. Backport of v3.18.1-stable.
Changelog
Bugfixes
- Msgp: update and rebuild messagepack files
Protocol Upgrade
This release does not contain a protocol upgrade.
Additional Resources
Algorand 3.18.1
Overview
Deserialization refactor.
Changelog
Bugfixes
- Msgp: update and rebuild messagepack files
Protocol Upgrade
This release does not contain a protocol upgrade.
Additional Resources
Algorand 3.18.0
Overview
Go-Algorand 3.18.0 is a minor release introducing the ability for unnamed resources to be referenced from simulated transaction groups. The release also contains minor enhancements and bug fixes.
What's New
- 🔮 Simulate: Transactions can now be evaluated by simulate without specifying foreign references (without populating apps/accounts/assets/box arrays). (#5366)
- 🧱 Blocks Endpoint: Introducing Algod's
/v2/blocks/{round}/txids
endpoint. With this, you can now retrieve top level Transaction ID's in a given block. (#5611) - 🪪 API Authentication: Use the
DisableAPIAuth
configuration option to make Algod's public API endpoints accessible without providing an Authentication token. (#5625)
Important Note
To combat data corruption risk, a node will terminate if an I/O error is encountered during ledger db commit. Future go-algorand versions will introduce software internal mechanisms as well.
Known Issue
Raspberry Pi ARM32 support is not available in this release due to compile issues. Please continue to use older versions in the mean time.
Changelog
New Features
- Ledger: generic kv trackers backend implementation (#5488)
- Simulate: Add State Change to Exec Trace (#5659)
- Simulate: Allow unnamed foreign resource access (#5366)
- Simulate: Hash of Program Bytecodes in Simulation (#5658)
- Txhandler: Enable ERL by default in configuration. (#5683)
Enhancements
- API: Disable API authentication (#5625)
- AVM: Enable pooling of logicsig execution across a group (#5528)
- AVM: Expose
global
fields to TEAL that return MBR for asset create/optin (#5680) - Algod: Add API Endpoint to fetch TxIDs from block (#5611)
- Build: upgrade to go1.20.6 (#5577)
- Build(deps): bump github.com/libp2p/go-libp2p from 0.29.0 to 0.29.1 (#5647)
- Chore: Remove faulty assertion (#5675)
- Clocks: tagged deadlines (#5649)
- Goal:
--full-trace
keeps track of everything in exec trace (#5609) - Ledger: Remove redundant block header cache (#5540)
- Ledger: increase locks granularity in lookupWithoutRewards (#5527)
- Metrics: add counters for ledger locks trackerMu and accountsMu (#5635)
- Metrics: add counters to broadcastSignedTxGroup (#5588)
- Netdeploy: allow simple local net topologies (#5612)
- Network: make GossipNode more independent from wsNetwork implementation (#5634)
- P2p: Add delete/create to algons dnsaddr command (#5631)
- P2p: in-memory peerstore (#5664)
- P2p: multiaddr dns bootstrapping utils (#5575)
- P2p: Add peerID and feature flag (#5591)
- P2p: adding peerstore (#5576)
- Phonebook: Persist initial phonebook peers; remove unused ExtendPeerList (#5615)
- REST API: Allow fast track transaction broadcasting via txHandler (#5535)
- Tools: add block-generator initial round to report. (#5689)
- Tools: metrics files visualizer (#5661)
- Tools: block-generator locked table retry and additional metrics (#5653)
- Tools: block-generator option to delay before running scenario. (#5694)
- Tools: precompile block-generator teal code (#5642)
- Tools: use CommandContext to cancel conduit process. (#5636)
- Tools: write block generator ledger output to a file (#5630)
- Tools: additional generator lifecycle logging. (#5627)
- Tools: option to run block generator test multiple times (#5617)
Bugfixes
- API: Describe WaitForBlock timeout behavior. (#5587)
- Build: Remove n-algorand from wsnetwork partial overlap test. (#5660)
- Catchup: make unsupported block handling more deterministic (#5673)
- Cicd: Macos dependencies (#5618)
- Ledger: fix error condition leaked from KV-related refactoring (#5678)
- Ledger: Close the ledger at node shutdown (#5668)
- Ledger: Clear Merkle Trie on Commit Error (#5568)
- Libgoal: set FirstValid to LastRound to prevent early tnxs (#5622)
- Revert "ledger: increase locks granularity in lookupWithoutRewards" (#5620)
- Tests: fix close - commit data race in tracker tests (#5619)
- Tools: test on CI regardless of modded file (#5621)
Protocol Upgrade
This release does not contain a protocol upgrade.
NOTE
vFuture changes are not yet available in MainNet or TestNet but can be used in private networks.
- AVM: Expose
global
fields to TEAL that return MBR for asset create/optin (#5680)
Additional Resources
Algorand BetaNet 3.18.0
Overview
Go-Algorand 3.18.0 is a minor release introducing the ability for unnamed resources to be referenced from simulated transaction groups. The release also contains minor enhancements and bug fixes.
What's New
- 🔮 Simulate: Transactions can now be evaluated by simulate without specifying foreign references (without populating apps/accounts/assets/box arrays). (#5366)
- 🧱 Blocks Endpoint: Introducing Algod's
/v2/blocks/{round}/txids
endpoint. With this, you can now retrieve top level Transaction ID's in a given block. (#5611) - 🪪 API Authentication: Use the
DisableAPIAuth
configuration option to make Algod's public API endpoints accessible without providing an Authentication token. (#5625)
Compatibility Note
Raspberry Pi ARM32 support is not available in this release due to compile issues.
Changelog
New Features
- Ledger: generic kv trackers backend implementation (#5488)
- Simulate: Add State Change to Exec Trace (#5659)
- Simulate: Allow unnamed foreign resource access (#5366)
- Simulate: Hash of Program Bytecodes in Simulation (#5658)
- Txhandler: Enable ERL by default in configuration. (#5683)
Enhancements
- API: Disable API authentication (#5625)
- AVM: Enable pooling of logicsig execution across a group (#5528)
- AVM: Expose
global
fields to TEAL that return MBR for asset create/optin (#5680) - Algod: Add API Endpoint to fetch TxIDs from block (#5611)
- Build: upgrade to go1.20.6 (#5577)
- Build(deps): bump github.com/libp2p/go-libp2p from 0.29.0 to 0.29.1 (#5647)
- Chore: Remove faulty assertion (#5675)
- Clocks: tagged deadlines (#5649)
- Goal:
--full-trace
keeps track of everything in exec trace (#5609) - Ledger: Remove redundant block header cache (#5540)
- Ledger: increase locks granularity in lookupWithoutRewards (#5527)
- Metrics: add counters for ledger locks trackerMu and accountsMu (#5635)
- Metrics: add counters to broadcastSignedTxGroup (#5588)
- Netdeploy: allow simple local net topologies (#5612)
- Network: make GossipNode more independent from wsNetwork implementation (#5634)
- P2p: Add delete/create to algons dnsaddr command (#5631)
- P2p: in-memory peerstore (#5664)
- P2p: multiaddr dns bootstrapping utils (#5575)
- P2p: Add peerID and feature flag (#5591)
- P2p: adding peerstore (#5576)
- Phonebook: Persist initial phonebook peers; remove unused ExtendPeerList (#5615)
- REST API: Allow fast track transaction broadcasting via txHandler (#5535)
- Tools: add block-generator initial round to report. (#5689)
- Tools: metrics files visualizer (#5661)
- Tools: block-generator locked table retry and additional metrics (#5653)
- Tools: block-generator option to delay before running scenario. (#5694)
- Tools: precompile block-generator teal code (#5642)
- Tools: use CommandContext to cancel conduit process. (#5636)
- Tools: write block generator ledger output to a file (#5630)
- Tools: additional generator lifecycle logging. (#5627)
- Tools: option to run block generator test multiple times (#5617)
Bugfixes
- API: Describe WaitForBlock timeout behavior. (#5587)
- Build: Remove n-algorand from wsnetwork partial overlap test. (#5660)
- Catchup: make unsupported block handling more deterministic (#5673)
- Cicd: Macos dependencies (#5618)
- Ledger: fix error condition leaked from KV-related refactoring (#5678)
- Ledger: Close the ledger at node shutdown (#5668)
- Ledger: Clear Merkle Trie on Commit Error (#5568)
- Libgoal: set FirstValid to LastRound to prevent early tnxs (#5622)
- Revert "ledger: increase locks granularity in lookupWithoutRewards" (#5620)
- Tests: fix close - commit data race in tracker tests (#5619)
- Tools: test on CI regardless of modded file (#5621)
Protocol Upgrade
This release does not contain a protocol upgrade.
NOTE
vFuture changes are not yet available in MainNet or TestNet but can be used in private networks.
- AVM: Expose
global
fields to TEAL that return MBR for asset create/optin (#5680)
Additional Resources
Algorand 3.17.0
Overview
Go-algorand 3.17.0 is a maintenance release that fixes some minor issues, cleans up stale code, upgrades the Algod client to Go version 1.20
, and introduces enhancements such as backup DNS bootstrap support and initial PC trace support.
What's New
- 🌐 Network Resiliency: Algod now supports multiple DNS providers for bootstrapping onto the network increasing network resiliency against DNS failures.
- 💻 Go-lang upgrades: go-algorand now requires Go version
1.20
, a change that improves the security and performance of internal Algod functionality. - 🤝 Agreement: We have externalized our go-algorand's implementation of its cryptographic sortition to better manage its dependencies and make it usable as a separate library (see here for implementation details).
- 📦 Container: Multi-algod container setup is now supported. This is great for those who want to set up a private network with networking enabled as well as adding peers to a non-standard relay node.
- 👁️ Improved error handling: Algod will now return an error if it is unable to begin fast catchup providing a better user experience when trying to start a node.
- 🐛 Smart Contract Debugging: simulate PC-based execution trace has been introduced including both stack and scratch slot changes. This is one of the final building blocks towards the full debugger experience.
Changelog
New Features
- Algod: Leverage 2 SRV record providers for resolving relay addresses w/ de-duplication. (#5087)
- Algod: Simulate endpoint scratch-change exposure (#5563)
- Algod: Simulate endpoint stack-change exposure (#5440)
- Algod: Simulation PC exposure for App approval/clear-state transaction (#5360)
Enhancements
- API: Allow DELETE calls (#5515)
- AVM: Increase coverage by deleting a dead function and adding limit tests (#5422)
- AVM: Some error cleanup, and added coverage (#5441)
- Algocfg: Add EnableTxnEvalTracer to algocfg development profile. (#5481)
- Algocfg: Remove block validation override from participation profile. (#5502)
- Algod: Add README file to state proof package (#5386)
- Block-generator: conduit performance benchmark scenarios. (#5532)
- Blockserver: Memory counter for http block requests (#5428)
- Build: Disable goexperiments in our builds due to issue present in Go 1.20.5 (#5484)
- Build: Golang 1.20 upgrade. (#5462)
- Build: Split nightly job into its own workflow. Remove ARM64 platform builds from our triggered/on commit builds. (#5485)
- Build: remove boost dependency and internal sortition package (#5459)
- Build: remove sqlite from release configurations (#5562)
- Build: update falcon to v0.1.0 for new CFLAGS (#5460)
- Catchpoint: use read connection for data retrieval for spver hash calculation (#5592)
- Catchup: Add HEAD request to catchpoint service start (#5393)
- Catchup: Catchup variable reuse (#5551)
- Chore: Small cleanups for clarity (#5526)
- Chore: Use exp/slices and exp/maps to simplify some code (#5479)
- Chore: Use strings.Cut for clarity (#5474)
- Chore: remove a redundant argument to maintain single source of truth (#5530)
- Chore: use string builder instead of string concatenation in catchup service (#5572)
- Ci: Don't run tests during benchmark (#5491)
- Cicd: Update docker containers to newer versions (#5529)
- Cicd: Update ubuntu circleci image and orbs (#5564)
- Circleci: Update macos xcode versions (#5590)
- Cleanup: Remove indexer v1 from codebase (#5477)
- Cli: clarify program source flag description (#5571)
- Config: make Tx dedupe cache maxSize configurable (#5419)
- Config: update MaxCatchpointDownloadDuration to 12h (#5503)
- Docker: Additional private network options and container tweaks. (#5525)
- Encoding: Update go-codec version. (#5471)
- Genesis: add GenesisAccountData type for use in GenesisAllocation (#5463)
- Goal: support simulate scratch in exec trace (#5589)
- Lint: enable govet shadow linter and resolve linter warnings (#5261)
- Lint: enable staticcheck for test code and fix issues (#5401)
- Metrics: Add LedgerDBRound gauge (#5456)
- Network: Limit message length based on Tag (#5388)
- Network: discard unrequested or stale block messages (#5431)
- Network: improve MsgOfInterest message handling (#5476)
- Network: peer selector expansion and PeersPhonebookArchivalNodes (#5385)
- Network: ws block byte limiter (#5472)
- Perf Tests: use metrics for memory usage charts (#5565)
- Runtime: Add delete-if-exists check for the no longer used indexer.sqlite file… (#5531)
- Sortition: use external sortition package (#5429)
- Tests: Fix catchpoint catchup tests to use relay for catchup (#5507)
- Tests: Get rapid into the codebase (#5437)
- Tests: Replace timer with counter loop in TestNodeTxHandlerRestart (#5533)
- Tools: Block Generator Apps. Part 2: boxes (#5478)
- Tools: Block-generator Applications. Part 1: create (#5450)
- Tools: EvalDelta and ConsensusParams x-repo type checks (#5381)
- Tools: Reorganize block generator scripts. (#5582)
- Tools: let catchpointdump to calculate and print data hashes (#5584)
- Tools: prepare block-generator for configuring apps (#5443)
- Tools: replace upload_metrics (#5470)
- Tools: txn replayer (#5420)
Bugfixes
- Bugfix: ensure blockservice callbacks are not nil (#5518)
- Ci: don't use deprecated set-output in github actions (#5453)
- Docker: Start kmd in the background. (#5514)
- Docker: fix slow docker container start up (#5513)
- Docs: Fix broken markdown in follower documentation. (#5585)
- Fix: goal clerk rawsend print pending round rather than ptr to round (#5499)
- Flake: TestLedgerContinuesOnVotersCallbackFailure (#5454)
- Follower: Use Buffered syncNow channel to correctly trigger sync in private networks (#5516)
- Goal: account info with deleted asset suppress error and better output (#5504)
- Ledger: fix catchpoint pending hashes locking (#5534)
- Ledger: move MakeCatchpointReader back to the Reader interface (#5583)
- Ledger: use single SP verification hash/data query for catchpoint tracking & generation (...