github algorand/go-algorand v3.18.0-beta
Algorand BetaNet 3.18.0

12 months ago

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

Don't miss a new go-algorand release

NewReleases is sending notifications on new releases.