Skip to content

Releases: algorand/go-algorand

Algorand 3.18.0

11 Sep 18:22
6eb4d69
Compare
Choose a tag to compare

GitHub Logo

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

31 Aug 15:43
c6a320f
Compare
Choose a tag to compare

GitHub Logo

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

09 Aug 14:30
f239f80
Compare
Choose a tag to compare

GitHub Logo

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 (...
Read more

Algorand BetaNet 3.17.0

31 Jul 16:19
a0e31a7
Compare
Choose a tag to compare

GitHub Logo

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 (...
Read more

Algorand 3.16.3

23 Jun 18:26
cbccc6d
Compare
Choose a tag to compare

GitHub Logo

Overview

Fix for generating participation keys with goal.

Changelog

Bugfixes

  • API: Disable body limit middleware for admin endpoints. (#5486)

Additional Resources

Algorand BetaNet 3.16.3

22 Jun 20:45
c046df2
Compare
Choose a tag to compare

GitHub Logo

Overview

Fix for generating participation keys with goal.

Changelog

Bugfixes

  • API: Disable body limit middleware for admin endpoints. (#5486)

Additional Resources

Algorand 3.16.2

15 Jun 18:55
be42c82
Compare
Choose a tag to compare

GitHub Logo

IMPORTANT
This release requires a protocol upgrade.
This release contains a consensus protocol upgrade, which implements the following spec: https://github.com/algorandfoundation/specs/tree/abd3d4823c6f77349fc04c3af7b1e99fe4df699f

Overview

This update includes a drop in round time of ~0.4 seconds, a robustness improvement to State Proofs, and several developer-oriented features in the AVM, simulate, and devmode.

⚠️ In order to avoid opcode ambiguity, access to assets or applications with an ID less than 256 within a contract will fail immediately. For new networks, asset and application IDs will now start at 1000 to avoid any potential issues due to this change. ⚠️

What's New

  • 🚀 Round times are reduced by 400 milliseconds. See here for details.
  • 👥 Group resource sharing for app calls: access to resources (assets, apps, accounts, boxes) during smart contract evaluation is shared across the transaction group. See here for details.
  • 🕦 Devmode timestamp control: when running a network in devmode, the block timestamp can now be manipulated with a new API. See here for details.
  • 🔮 More logging and opcode budget in simulate: when calling the simulate endpoint, there are now options to let the algod evaluate the transaction group with much higher limits on logging and on opcode budget. See here for details.
    • ⚠️ This release contains a breaking change to the simulate endpoint. See #5292 for more information and implementation details
  • 📒 Transaction group updates API: a new algod API that returns the ledger updates caused by individual transaction groups. See here for details.
  • ➕ Readiness Endpoint: algod has a new supplementary /ready endpoint to benefit any K8's deployment as a readiness probe. The endpoint will return a 200 response code once algod has caught up to the latest state.
  • 📦 Algod Docker Container: algod container usage just got easier! The container now supports node profiles to simplify running common configurations in place of mounting a custom config.json file. There are also changes to make mounting a data directory more consistent. See DockerHub for more details.

Changelog

Protocol Upgrade

This release contains a double protocol upgrade (Consensus v37 and v38). No action is needed from node runners but is called out for transparency. Consensus v37 is a technical upgrade released in unison with Consensus v38. v37 is needed to allow nodes to build up a necessary state to support State Proof related options in consensus v38.

New Features

  • AVM: Share resource arrays across transactions (#5035)
  • Algod: Allow timestamp offsets in dev mode (#5296)
  • Algod: Simulation run with extra budget per transaction group (#5354)
  • Algod: Simulation run with increased limits on logs (#5247)
  • API: Txn Group Delta Apis (#5350)
  • Evaltracer: Txn group deltas Tracer (#5297)
  • Algod: New health endpoint (k8s /ready endpoint) (#4844)
  • Docker: add profile support and improved endpoint access. (#5323)
  • Algod: support state proofs recoverability (#4803)

Enhancements

  • API: Don't return a top level array from algod (#5404)
  • API: Limit request body size to 10MB (#5246)
  • AVM: Modify StackType to provide additional information (#5130)
  • AVM: No low resources (#5328)
  • AVM: Show opcode context for logicsigs (not just apps) (#5336)
  • AVM: Simplify conversion and fix a spurious complaint from static analysis (#5421)
  • Algocfg(profile): Add file name to config file conflict message. (#5262)
  • Algocfg(profile): improve invalid profile error message. (#5324)
  • Algod: Add EvalTracer tests for StateDeltas (#5368)
  • Algod: Better Box Reference Error Message (#5325)
  • Algod: Minor refactoring REST client submitForm from go-sdk PR #335 (#5253)
  • Algod: Modify simulate endpoint request type (#5292)
  • Algod: Move delta API tags (#5396)
  • Algod: Remove unused 404 resp in simulate endpoint (#5211)
  • Algod: Use future consensus version to test with no low resources (#5362)
  • Algod: search phonebook in data directory in addition to bindir (#5235)
  • Catchpoints: Small tweaks, mostly to comments (#5195)
  • Chore: Focus CONTRIBUTING.md on code contributions. (#5294)
  • Ci: set reviewdog golangci-lint go version (#5196)
  • Community: Create CODE_OF_CONDUCT.md (#5408)
  • Consensus: Introduce versions v37 and v38 (#5397)
  • Dev Tools: Integrate Logfile Navigator (lnav) (#5000)
  • Devops: Add CODEOWNERS to restrict workflow edits (#5353)
  • Devops: Update CODEOWNERS to only refer to the devops group (#5389)
  • Docker: Updated user and data dir handling. (#5276)
  • Docker: disable rewards in devmode template (#5270)
  • Docker: option to override topology file and peer address. (#5209)
  • Docs: Fix bug label (#5322)
  • Docs: add titles of subsystems, minor md fixes (#5279)
  • Docs: increase heading levels, thus only one h1 is used (#5291)
  • Enhancement: 1. go mod tidy + 2. diffutils when mac OS (#5398)
  • Enhancement: Only look back to FirstValid for pending transactions that were found in the pool (#5295)
  • Eval: Add block hooks to eval tracer (#5303)
  • Fix: Tech Debt (wsNetwork "auto" and OnlineAccountsDelete comment) (#5207)
  • Follow Mode: set sync round after fast catchup. (#5349)
  • Follower: add round information for missing deltas request (#5277)
  • Goal: Introduce new command for simulate (#5213)
  • Goal: Make goal state schema optional (#5356)
  • Goal: rename --allow-extra-opcode-budget to --allow-more-opcode-budget (#5407)
  • Goal: user defined scheme to connect to remote host (#4922)
  • Ledger: Check MaxAcctLookback in tracker. (#5300)
  • Ledger: Exclude stake at R-320 that is expired by R (#5403)
  • Ledger: convert FC unmarshalled nil value to empty byte slice on DB write KVs (#5225)
  • Ledger: rename "internal" to "eval" (#5236)
  • Lint: enable nilerr linter and fix errors (#5361)
  • Netdeploy: Copy ledger directory for kv tracker database (#5392)
  • Network: enforce maximum header size on outgoing ws conns (#5268)
  • REST: add the round number to algod box endpoint response (#5340)
  • Scripts: enhance upload_config.sh (#5260)
  • Simulate: Add opcode costs and budgets into response (#5221)
  • Simulate: Make optional signa...
Read more

Algorand BetaNet 3.16.2

14 Jun 20:03
75d63d1
Compare
Choose a tag to compare

GitHub Logo

Overview

Bug fix for AVM proper cross product check for app put and del.

Changelog

Bugfixes

  • AVM: proper cross product check for app put and del (#5467)

Additional Resources

Algorand BetaNet 3.16.1

08 Jun 18:31
7f246db
Compare
Choose a tag to compare

GitHub Logo

Overview

Miscellaneous bug fixes/enhancements.

What's New

Address bug where updater always thought there was an update.

Changelog

Bugfixes

  • api: Fix errFailedRetrievingStateDelta response. (#5452)
  • algod: adjust numeric version encoding (#5457)

Additional Resources

Algorand BetaNet 3.16.0

01 Jun 15:14
7d732ab
Compare
Choose a tag to compare

GitHub Logo

IMPORTANT
This release requires a protocol upgrade.
This release contains a consensus protocol upgrade, which implements the following spec: https://github.com/algorandfoundation/specs/tree/abd3d4823c6f77349fc04c3af7b1e99fe4df699f

Overview

This update includes a drop in round time of ~0.4 seconds, a robustness improvement to State Proofs, and several developer-oriented features in the AVM, simulate, and devmode.

⚠️ In order to avoid opcode ambiguity, access to assets or applications with an ID less than 256 within a contract will fail immediately. For new networks, asset and application IDs will now start at 1000 to avoid any potential issues due to this change. ⚠️

What's New

  • 🚀 Round times are reduced by 400 milliseconds. See here for details.
  • 👥 Group resource sharing for app calls: access to resources (assets, apps, accounts, boxes) during smart contract evaluation is shared across the transaction group. See here for details.
  • 🕦 Devmode timestamp control: when running a network in devmode, the block timestamp can now be manipulated with a new API. See here for details.
  • 🔮 More logging and opcode budget in simulate: when calling the simulate endpoint, there are now options to let the algod evaluate the transaction group with much higher limits on logging and on opcode budget. See here for details.
    • ⚠️ This release contains a breaking change to the simulate endpoint. See #5292 for more information and implementation details
  • 📒 Transaction group updates API: a new algod API that returns the ledger updates caused by individual transaction groups. See here for details.
  • ➕ Readiness Endpoint: algod has a new supplementary /ready endpoint to benefit any K8's deployment as a readiness probe. The endpoint will return a 200 response code once algod has caught up to the latest state.
  • 📦 Algod Docker Container: algod container usage just got easier! The container now supports node profiles to simplify running common configurations in place of mounting a custom config.json file. There are also changes to make mounting a data directory more consistent. See DockerHub for more details.

Changelog

Protocol Upgrade

This release contains a double protocol upgrade (Consensus v37 and v38). No action is needed from node runners but is called out for transparency. Consensus v37 is a technical upgrade released in unison with Consensus v38. v37 is needed to allow nodes to build up a necessary state to support State Proof related options in consensus v38.

New Features

  • AVM: Share resource arrays across transactions (#5035)
  • Algod: Allow timestamp offsets in dev mode (#5296)
  • Algod: Simulation run with extra budget per transaction group (#5354)
  • Algod: Simulation run with increased limits on logs (#5247)
  • API: Txn Group Delta Apis (#5350)
  • Evaltracer: Txn group deltas Tracer (#5297)
  • Algod: New health endpoint (k8s /ready endpoint) (#4844)
  • Docker: add profile support and improved endpoint access. (#5323)
  • Algod: support state proofs recoverability (#4803)

Enhancements

  • API: Don't return a top level array from algod (#5404)
  • API: Limit request body size to 10MB (#5246)
  • AVM: Modify StackType to provide additional information (#5130)
  • AVM: No low resources (#5328)
  • AVM: Show opcode context for logicsigs (not just apps) (#5336)
  • AVM: Simplify conversion and fix a spurious complaint from static analysis (#5421)
  • Algocfg(profile): Add file name to config file conflict message. (#5262)
  • Algocfg(profile): improve invalid profile error message. (#5324)
  • Algod: Add EvalTracer tests for StateDeltas (#5368)
  • Algod: Better Box Reference Error Message (#5325)
  • Algod: Minor refactoring REST client submitForm from go-sdk PR #335 (#5253)
  • Algod: Modify simulate endpoint request type (#5292)
  • Algod: Move delta API tags (#5396)
  • Algod: Remove unused 404 resp in simulate endpoint (#5211)
  • Algod: Use future consensus version to test with no low resources (#5362)
  • Algod: search phonebook in data directory in addition to bindir (#5235)
  • Catchpoints: Small tweaks, mostly to comments (#5195)
  • Chore: Focus CONTRIBUTING.md on code contributions. (#5294)
  • Ci: set reviewdog golangci-lint go version (#5196)
  • Community: Create CODE_OF_CONDUCT.md (#5408)
  • Consensus: Introduce versions v37 and v38 (#5397)
  • Dev Tools: Integrate Logfile Navigator (lnav) (#5000)
  • Devops: Add CODEOWNERS to restrict workflow edits (#5353)
  • Devops: Update CODEOWNERS to only refer to the devops group (#5389)
  • Docker: Updated user and data dir handling. (#5276)
  • Docker: disable rewards in devmode template (#5270)
  • Docker: option to override topology file and peer address. (#5209)
  • Docs: Fix bug label (#5322)
  • Docs: add titles of subsystems, minor md fixes (#5279)
  • Docs: increase heading levels, thus only one h1 is used (#5291)
  • Enhancement: 1. go mod tidy + 2. diffutils when mac OS (#5398)
  • Enhancement: Only look back to FirstValid for pending transactions that were found in the pool (#5295)
  • Eval: Add block hooks to eval tracer (#5303)
  • Fix: Tech Debt (wsNetwork "auto" and OnlineAccountsDelete comment) (#5207)
  • Follow Mode: set sync round after fast catchup. (#5349)
  • Follower: add round information for missing deltas request (#5277)
  • Goal: Introduce new command for simulate (#5213)
  • Goal: Make goal state schema optional (#5356)
  • Goal: rename --allow-extra-opcode-budget to --allow-more-opcode-budget (#5407)
  • Goal: user defined scheme to connect to remote host (#4922)
  • Ledger: Check MaxAcctLookback in tracker. (#5300)
  • Ledger: Exclude stake at R-320 that is expired by R (#5403)
  • Ledger: convert FC unmarshalled nil value to empty byte slice on DB write KVs (#5225)
  • Ledger: rename "internal" to "eval" (#5236)
  • Lint: enable nilerr linter and fix errors (#5361)
  • Netdeploy: Copy ledger directory for kv tracker database (#5392)
  • Network: enforce maximum header size on outgoing ws conns (#5268)
  • REST: add the round number to algod box endpoint response (#5340)
  • Scripts: enhance upload_config.sh (#5260)
  • Simulate: Add opcode costs and budgets into response (#5221)
  • Simulate: Make optional signa...
Read more