Skip to content

Releases: algorand/go-algorand

Algorand 2.8.0

28 Jul 14:22
1ad773e
Compare
Choose a tag to compare

GitHub Logo

Highlights

This is a maintenance release focused around many test improvements and other optimizations. Additionally there are some added improvements, such as:

  • Local private network devMode for rapid transaction testing
  • Improved support for non-utf-8 data in asset parameter name, unit name, and url fields, through the addition of base64 fields
  • Support for CentOS 8 Stream in RPM
  • Changes to support future AVM 1.0

Changes

  1. REST API
    • New Feature - add handling for non-utf 8 asset names
    • Enhancements
      • Use byte format for asset b64 fields
      • Use dashes in v2 API.
    • Bug Fix - initialize past side effects with correct length during dryrun requests
  2. TEAL
    • New Features
      • Selector pseudo-op in support of ABI
      • vFuture: creator access and app_params_get
    • Enhancements
      • Infrastructure to check AVM stack manipulation opcodes better
      • Specs and unit test to avoid forgetting in the future
    • Bug Fixes
      • Addressing panic in assembler
      • Minor change to rename helper function in Extract ops
  3. Catchup
    • Enhancement - avoid requesting unsupported blocks by the ensure digest catchup path
    • Bug Fixes
      • Fixes to peer selector and TestBasicCatchpointCatchup
      • Fix potential nil dereferencing
  4. Ledger
    • Enhancements
      • Lruaccts write speedup
      • optimize txtail memory consumption
  5. Network
    • Enhancement - reduce unneeded contention around checking the peers connectivity
  6. Node
    • New Feature - add initial devMode support
    • Bug Fixes
      • Allow to parse ipv6 localhost "[::]:4601"
      • Fix regex for matching charset of valid DNS hosts, add test
  7. Logging
    • Enhancement - re-use host ID if present
  8. Tests
    • Enhancements
      • Add enums to player permutation tests
      • Add ledger coverage for onlineacct roundlru txtail
      • Implement hello circleci yaml
      • Improve TestMetricSegment test reliability
      • Restore TestPeriodicSync and TestBasicCatchpointCatchup tests.
      • Added benchmark to lruAccounts write function
      • Enable TestPartkeyOnlyRewards on macos
      • Add unit tests for ledger BlockQueue
      • Enable previously disabled TestConfigMigrate unit test
      • Enable unit tests on travis mac build
      • Improve lruaccts benchmark
      • Improve msgp codec testing
      • Improve testing of alloc bounded slices
      • Make TestPeersDownloadFailed and TestHistoricData predictable
      • Move extra page test to e2e_subs
      • Move travis_retry to skip rebuilding
      • Remove deprecated transaction pool e2e tests
      • Use periodicSyncLogger for cleaner test runs
    • Bug Fixes
      • Avoid division by zero during TestBasicCatchpointWriter
      • Fix 10 minute timeout in travis
      • Fix and enable TestNewAccountCanGoOnlineAndParticipate
      • Build: fix travis nightly build failure
      • Fix random failure in TestWebsocketNetworkPrioLimit
      • Fix random failures in TestPeriodicSync
      • Avoid running TestAgreementSynchronous10 on nightly build
      • Ensure deploy_linux_version generates a linux/amd64 binaries for algonet usage
      • Fix gotestsum install
      • Fix telemetry unit tests
      • Lookup in no-GOPATH locations for packages in gocodec testing
  9. Other
    • New Features
      • Add Fedora support into install_linux_deps.sh
      • Test conditional slack alert for build status
      • Use golangci-lint
    • Enhancements
      • Update Github engineering template
      • Replace yum-cron with dnf-automatic to support centos 8
      • Run misspell linter with -w flag
      • Specify truncated division is used in TEAL in documentation
      • Typos, grammar, inconsistencies
    • Bug Fixes
      • Add missing txna allowed args to doc and langspec
      • Fix darwin-arm64 builds
      • Fix docker repo update

Protocol Upgrade

This release does not contain a protocol upgrade.

Additional Resources

Algorand BetaNet 2.8.0

21 Jul 14:23
7e09c41
Compare
Choose a tag to compare

GitHub Logo

Highlights

This is a maintenance release focused around many test improvements and other optimizations. Additionally there are some added improvements, such as:

  • Local private network devMode for rapid transaction testing
  • Improved support for non-utf-8 data in asset parameter name, unit name, and url fields, through the addition of base64 fields
  • Support for CentOS 8 Stream in RPM
  • Changes to support future AVM 1.0

Changes

  1. REST API
    • New Feature - add handling for non-utf 8 asset names
    • Enhancements
      • Use byte format for asset b64 fields
      • Use dashes in v2 API.
    • Bug Fix - initialize past side effects with correct length during dryrun requests
  2. TEAL
    • Enhancements
      • Infrastructure to check AVM stack manipulation opcodes better
    • Bug Fixes
      • Addressing panic in assembler
      • Minor change to rename helper function in Extract ops
  3. Catchup
    • Enhancement - avoid requesting unsupported blocks by the ensure digest catchup path
    • Bug Fixes
      • Fixes to peer selector and TestBasicCatchpointCatchup
      • Fix potential nil dereferencing
  4. Ledger
    • Enhancements
      • Lruaccts write speedup
      • optimize txtail memory consumption
  5. Network
    • Enhancement - reduce unneeded contention around checking the peers connectivity
  6. Node
    • New Feature - add initial devMode support
    • Bug Fixes
      • Allow to parse ipv6 localhost "[::]:4601"
      • Fix regex for matching charset of valid DNS hosts, add test
  7. Logging
    • Enhancement - re-use host ID if present
  8. Tests
    • Enhancements
      • Add enums to player permutation tests
      • Add ledger coverage for onlineacct roundlru txtail
      • Implement hello circleci yaml
      • Improve TestMetricSegment test reliability
      • Restore TestPeriodicSync and TestBasicCatchpointCatchup tests.
      • Added benchmark to lruAccounts write function
      • Enable TestPartkeyOnlyRewards on macos
      • Add unit tests for ledger BlockQueue
      • Enable previously disabled TestConfigMigrate unit test
      • Enable unit tests on travis mac build
      • Improve lruaccts benchmark
      • Improve msgp codec testing
      • Improve testing of alloc bounded slices
      • Make TestPeersDownloadFailed and TestHistoricData predictable
      • Move extra page test to e2e_subs
      • Move travis_retry to skip rebuilding
      • Remove deprecated transaction pool e2e tests
      • Use periodicSyncLogger for cleaner test runs
    • Bug Fixes
      • Avoid division by zero during TestBasicCatchpointWriter
      • Fix 10 minute timeout in travis
      • Fix and enable TestNewAccountCanGoOnlineAndParticipate
      • Build: fix travis nightly build failure
      • Fix random failure in TestWebsocketNetworkPrioLimit
      • Fix random failures in TestPeriodicSync
      • Avoid running TestAgreementSynchronous10 on nightly build
      • Ensure deploy_linux_version generates a linux/amd64 binaries for algonet usage
      • Fix gotestsum install
      • Fix telemetry unit tests
      • Lookup in no-GOPATH locations for packages in gocodec testing
  9. Other
    • New Features
      • Add Fedora support into install_linux_deps.sh
      • Test conditional slack alert for build status
      • Use golangci-lint
    • Enhancements
      • Update Github engineering template
      • Replace yum-cron with dnf-automatic to support centos 8
      • Run misspell linter with -w flag
      • Specify truncated division is used in TEAL in documentation
      • Typos, grammar, inconsistencies
    • Bug Fixes
      • Add missing txna allowed args to doc and langspec
      • Fix darwin-arm64 builds
      • Fix docker repo update

Protocol Upgrade

This release does not contain a protocol upgrade.

Additional Resources

Algorand 2.7.1

29 Jun 19:53
5e00bcd
Compare
Choose a tag to compare

GitHub Logo

Protocol Upgrade

This release will require a protocol upgrade.
This release contains a consensus protocol upgrade, which implements the following spec:
https://github.com/algorandfoundation/specs/tree/65b4ab3266c52c56a0fa7d591754887d68faad0a

Spec PR: #2286

Highlights

This release represents a major milestone in smart contract functionality, as well as serves as a vote for the future of governance on chain.

In this release:

  • Governance vote - see https://algorand.foundation/news/algorand-governance-referendum
  • Algorand Virtual Machine (AVM) v0.9
    • Control Flow
      • New OpCodes: callsub, retsub
      • Allow backward jumps or indirect jumps
      • Dynamic cost accounting
    • Opcodes: Math related
      • New OpCodes: shl, shr, divmodw, exp, expw, sqrt, log2
      • Byteslice arithmetic
    • Contract-to-contract composability - allow contracts to share scratch space in a transaction group
    • Createable IDs in gtxns (they are not really deterministic, but rather new app/asset idx are available for subsequent apps within a transaction group)
    • Increased Program Limits
      • Ability to pay for extra pages
      • Pool fees - as long as fees in a covered in a gtxn, allow 0 fee txns
      • Increase ASA URL size from 32 bytes to 96 bytes (better IPFS support for NFTs)
      • Combine clear and approval limits
      • Combine schema key/value sizes
    • Optimize int/byte constant in assembly
  • Participation key registration improvements (e.g. check valid ranges)
  • Miscellaneous optimizations and test improvements

Changes

  1. AVM
    • New Features
      • Control flow (callsub, retsub; backward/indirect jumps; dynamic cost accounting)
      • New math opcodes (shl, shr, divmodw, exp, expw, sqrt, log2) and byteslice-oriented math
      • Add ability to pay for more program space
      • Allow future app call transactions to read the scratch space of previous transactions in the same transaction group for contract to contract composability
      • Combine Clear and Approval Program size limits
      • Combine app state key/value size limits
      • Expose creatable IDs to AVM code within the same group
      • Pool fees in a transaction group and allow one user to pay all fees
    • Enhancements
      • Allow AVM code to access a max number of foreign refs
      • Increase ASA URL size from 32 bytes to 96 bytes to support NFTs with longer IPFS URLs
      • Optimize constant assembly
      • Regularize access to "foreign" references
    • Bug Fix - check setbyte length properly
  2. REST API
    • New Feature - add the AppsTotalExtraPages account field to the response returned by the /v2/accounts/{addr} endpoint
    • Enhancement - make account endpoint produce deterministic JSON
    • Bug Fix - make extra-program-pages and apps-total-extra-pages optional in order to do not exposing them before the protocol switch
  3. Agreement
    • Bug Fix - bug fix for proposal for a future round failing to be relayed
  4. Catchup
    • Enhancement - catchup: speedup initial node DNS bootstrap time
  5. Goal
    • Bug Fix - clean up goal wallet new output
  6. Network
    • Enhancement - start network only after handlers registration is complete
    • Bug Fix - fix go vet error for string(int) conversion in TestWebsocketNetworkCancel
  7. Node
    • Enhancement - improve fresh node startup time
    • Bug Fix - ensure stopping a node always stops KMD
  8. Tools
    • Enhancements - deprecate auction code
    • Improve carpenter by adding timestamp
  9. Tests
    • New Feature - integrate with codecov.io to attach coverage reports to PRs
    • Enhancements
      • Add PeerSelector and Catchup service tests
      • Add missing test for universalFetcher.go
      • Bandwidth stats for cluster tests
      • Disable compact certs and auction tests
      • Disable goal expect tests
      • Improve AVM tests
      • Improve TestRewardUnitThreshold predicate
      • Increase catchupaccessor code coverage
      • Temporarily disable TestBasicCatchpointCatchup test and reset timeouts
      • Temporarily disable TestPeriodicSync test
      • Use gotestsum instead of logfilter for test formatting
      • e2e sub assets-app speedup
      • sectok e2e faster
    • Bug Fixes
      • Fix asynchronous startup case for rekey upgrade test
      • Fix bug in TestApplicationsUpgradeOverREST
      • Fix data race accessing messagesOfInterest during network shutdown
      • Fix random TestAccountInformationV2 test failures by refreshing wallet handle
      • Fix random failure in TestConsensusVersion
      • Fixing a bug in eval and TestOnSwitchToUnSupportedProtocol
      • Protocol upgrade tests - AgreementFilterTimeout was not set correctly
      • Fix TestRekeyUpgrade when round=0
  10. Other
    • New Feature - initial support for building CentOS Stream 8 RPM (still need publishing work)
    • Enhancements
      • Add mention of install_buildtools.sh to README
      • Fix docker builds after refactor: skip make deps
      • Modify build_release to match build_pr and remove ARM Deploy
      • Re-enable gofmt check during travis build
      • Refactor code generation verification
      • Remove ci-deps and update GOPROXY in Dockerfiles
      • Use minimal travis container since we install go ourselves
    • Bug Fixes
      • Fix incorrect gaid and gaids docs
      • Fix nightly test genesis file issue
      • If the branch is rel/nightly set channel to nightly
      • Fix crash that should be a clean error report for using substring wrong

Known Issues

  1. Programs up to 2kb can be updated, while programs between 2kb and 8kb can not.
  2. The dryrun REST API endpoint fails for requests containing multiple transactions.

Additional Resources

Algorand BetaNet 2.7.1

22 Jun 12:34
dc829f6
Compare
Choose a tag to compare

GitHub Logo

Highlights

This is a minor fix to ensure consistency in algod and indexer outputs before the protocol switch.

Summary

  1. REST API
    • Bug Fix - make extra-program-pages and apps-total-extra-pages optional in order to do not exposing them before the protocol switch.

Protocol Upgrade

This release does not contain a protocol upgrade.

Additional Resources

Algorand BetaNet 2.7.0

17 Jun 13:39
d57586a
Compare
Choose a tag to compare

GitHub Logo

Protocol Upgrade

This release will require a protocol upgrade.
This release contains a consensus protocol upgrade, which implements the following spec:
https://github.com/algorandfoundation/specs/tree/65b4ab3266c52c56a0fa7d591754887d68faad0a

Spec PR: #2286

Highlights

This release represents a major milestone in smart contract functionality, as well as serves as a vote for the future of governance on chain.

In this release:

  • Governance vote - see https://algorand.foundation/news/algorand-governance-referendum
  • Algorand Virtual Machine (AVM) v0.9
    • Control Flow
      • New OpCodes: callsub, retsub
      • Allow backward jumps or indirect jumps
      • Dynamic cost accounting
    • Opcodes: Math related
      • New OpCodes: shl, shr, divmodw, exp, expw, sqrt, log2
      • Byteslice arithmetic
    • Contract-to-contract composability - allow contracts to share scratch space in a transaction group
    • Createable IDs in gtxns (they are not really deterministic, but rather new app/asset idx are available for subsequent apps within a transaction group)
    • Increased Program Limits
      • Ability to pay for extra pages
      • Pool fees - as long as fees in a covered in a gtxn, allow 0 fee txns
      • Increase ASA URL size from 32 bytes to 96 bytes (better IPFS support for NFTs)
      • Combine clear and approval limits
      • Combine schema key/value sizes
    • Optimize int/byte constant in assembly
  • Participation key registration improvements (e.g. check valid ranges)
  • Miscellaneous optimizations and test improvements

Changes

  1. AVM
    • New Features
      • Control flow (callsub, retsub; backward/indirect jumps; dynamic cost accounting)
      • New math opcodes (shl, shr, divmodw, exp, expw, sqrt, log2) and byteslice-oriented math
      • Add ability to pay for more program space
      • Allow future app call transactions to read the scratch space of previous transactions in the same transaction group for contract to contract composability
      • Combine Clear and Approval Program size limits
      • Combine app state key/value size limits
      • Expose creatable IDs to AVM code within the same group
      • Pool fees in a transaction group and allow one user to pay all fees
    • Enhancements
      • Allow AVM code to access a max number of foreign refs
      • Increase ASA URL size from 32 bytes to 96 bytes to support NFTs with longer IPFS URLs
      • Optimize constant assembly
      • Regularize access to "foreign" references
    • Bug Fix - check setbyte length properly
  2. REST API
    • New Feature - add the AppsTotalExtraPages account field to the response returned by the /v2/accounts/{addr} endpoint
    • Enhancement - make account endpoint produce deterministic JSON
  3. Agreement
    • Bug Fix - bug fix for proposal for a future round failing to be relayed
  4. Catchup
    • Enhancement - catchup: speedup initial node DNS bootstrap time
  5. Goal
    • Bug Fix - clean up goal wallet new output
  6. Network
    • Enhancement - start network only after handlers registration is complete
    • Bug Fix - fix go vet error for string(int) conversion in TestWebsocketNetworkCancel
  7. Node
    • Enhancement - improve fresh node startup time
    • Bug Fix - ensure stopping a node always stops KMD
  8. Tools
    • Enhancements - deprecate auction code
    • Improve carpenter by adding timestamp
  9. Tests
    • New Feature - integrate with codecov.io to attach coverage reports to PRs
    • Enhancements
      • Add PeerSelector and Catchup service tests
      • Add missing test for universalFetcher.go
      • Bandwidth stats for cluster tests
      • Disable compact certs and auction tests
      • Disable goal expect tests
      • Improve AVM tests
      • Improve TestRewardUnitThreshold predicate
      • Increase catchupaccessor code coverage
      • Temporarily disable TestBasicCatchpointCatchup test and reset timeouts
      • Temporarily disable TestPeriodicSync test
      • Use gotestsum instead of logfilter for test formatting
      • e2e sub assets-app speedup
      • sectok e2e faster
    • Bug Fixes
      • Fix asynchronous startup case for rekey upgrade test
      • Fix bug in TestApplicationsUpgradeOverREST
      • Fix data race accessing messagesOfInterest during network shutdown
      • Fix random TestAccountInformationV2 test failures by refreshing wallet handle
      • Fix random failure in TestConsensusVersion
      • Fixing a bug in eval and TestOnSwitchToUnSupportedProtocol
      • Protocol upgrade tests - AgreementFilterTimeout was not set correctly
      • Fix TestRekeyUpgrade when round=0
  10. Other
    • New Feature - initial support for building CentOS Stream 8 RPM (still need publishing work)
    • Enhancements
      • Add mention of install_buildtools.sh to README
      • Fix docker builds after refactor: skip make deps
      • Modify build_release to match build_pr and remove ARM Deploy
      • Re-enable gofmt check during travis build
      • Refactor code generation verification
      • Remove ci-deps and update GOPROXY in Dockerfiles
      • Use minimal travis container since we install go ourselves
    • Bug Fixes
      • Fix incorrect gaid and gaids docs
      • Fix nightly test genesis file issue
      • If the branch is rel/nightly set channel to nightly
      • Fix crash that should be a clean error report for using substring wrong

Additional Resources

Algorand 2.6.0

26 May 14:30
8fe22d4
Compare
Choose a tag to compare

GitHub Logo

Highlights

  • Increased Test Coverage: including adding NFT support for pingpong
  • Logging: reduced verbosity
  • TEAL: TEAL 3 Refactoring and new features in tealdbg
  • Catchup and Catchpoint enhancements
  • BugFixes: Update.sh script, GOPROXY, REST API, Nil Check, KMD for Windows, netgoal

Changelog

  1. General/Other
    • New Feature
      • Add support for Arch Linux
    • Enhancement
      • Expand /metrics to show per-message-tag stats on number of messages and amount of bytes moved.
      • Cache docker images in Travis and re-load them
      • Copy database files generation in create_and_deploy_recipe.sh to nodes
      • Improve handling of ledger falling behind agreement
      • Report algod panic in algoh
      • BlockService will redirect when it does not have the round
      • Efficiency Improvement: Avoid compact cert validation on non-validate/non-generate path
    • BugFix
      • Fix bug with updater not restarting services with systemctl
      • Update GOPROXY: Deal with deprecated gocenter.io GOPROXY
      • Pipeline - don't reset CHANNEL if defined
      • skip printing the logs when program is in terminated state.
      • nil check fix
      • Push docker tag to betanet
      • Fix requestNonce alignment on arm32
      • rollback config v17 into v16
      • Fixes for KMD on Windows
  2. Teal
    • Enhancement
      • Cleanup and re-factor of TEAL 3 code
      • adding extra docs for pushbytes and pushint
    • Tealdbg:
      • Check compile and dryrun programs against consensus limits
      • Better support for TEAL 3 in tealdbg
      • Allow tealdbg to listen on specified address
      • Removes program version assumption
  3. REST API
    • Bug Fix
      • Add swagger response annotations so a valid swagger doc gets generated
      • Fix parameter check in abort procedure
      • Fixes for pending transaction endpoint
      • Return an empty string instead of null when making a proof for transaction with no siblings.
  4. Tests
    • Enhancement
      • algofix - Allow struct field to be sync.Mutex if tagged algofix:"allow sync.Mutex"
      • Add DisableLocalhostConnectionRateLimit configuration option
      • Fix/improve kmd speed in test
      • Add pingpong mode to create NFTs for testing
      • script to watch algod heap
      • Improve TestCompactCerts error testing
      • Bandwidth watch
      • Unit test demonstrating high memory consumption
      • Catchup: Add deep block validation support
      • Add performance metrics for account updates
      • Add tests for ledger/compactcert.go
      • test coverage for ledger/eval.go funcs
      • Filter out verbosed output from automated testing
    • Bug Fix
      • Fix parameter check in abort procedure
      • Fix testing bug : avoid datarace on a node crash during e2e test
      • logfilter: exit with non-zero when test fails
      • Node Controller: delete pid file on killing process
      • Fix node shutdown on the wrong node directory
  5. Catchup and Catchpoint
    • Enhancement
      • Support for catching up from http or ws fetchers
      • Reduce memory utilization during accounts update init by reconstructing balances db from blocks
      • Extend catchpointdump utility to verify merkle trie
      • Fine tune catchup peer selection logic
      • Add cross-verify for genesis.json hash
    • Bug Fix
      • catchpoint: truncate output file
  6. Ledger
    • Enhancement
      • Preload account data in parallel on the evaluator
      • Improve ConsensusVersion error messages
      • Disable minimum balance check when not validating or generating
      • Split committed round range by consensus protocol version
    • Bug Fix
      • Fix consensus version to flush correctly
  7. Network
    • Enhancement
      • Improve ConsensusVersion error messages
      • Add peer functions to network interface to associate data with a peer to be garbage collected when peer goes away
      • Add networking infrastructure for cancelling sends
  8. Goal
    • Enhancement
      • Add comments to disassembly of constant load lines to show constant
      • add support for a single node private network
      • Improve waitForCommit logic
      • Refactor waitForCommit
    • Bug Fix
      • Fix goal node restart message when node already started
  9. Transactions
    • Enhancement
      • Transaction Sync: Optimize bloom filter memory allocations
    • Bug Fix
      • txpool: Fix incorrect datatype checking in recomputeBlockEvaluator
  10. Logger
    • Enhancement
      • Make deadlockLogger thread-safe
      • Reduce verbosity of logged messages
      • Print out intermediate decoding errors
      • logfilter: provide proper handling for panicking unit tests
    • Bug Fix
      • logfilter bug when running test without -v
  11. netgoal
    • Enhancement
      • Add pre-generated network support
    • Bug Fix
      • Fix insufficient account with preloaded db files
      • Resolve netgoal errors when bootstrap files are missing
      • Fixup small amounts of float64 roundoff
  12. Participation Keys
    • Enhancement
      • Refactor participation keys management
      • Add support for overlapping participation keys
      • Ensure the participation key database is being correctly closed after being installed
      • Add ParticipationKeysRefreshInterval to the node config

Protocol Upgrade

This release does not contain a protocol upgrade.

Additional Resources

Algorand BetaNet 2.6.0

21 May 15:36
34f7106
Compare
Choose a tag to compare

GitHub Logo

Highlights

  • Increased Test Coverage: including adding NFT support for pingpong
  • Logging: reduced verbosity
  • TEAL: TEAL 3 Refactoring and new features in tealdbg
  • Catchup and Catchpoint enhancements
  • BugFixes: Update.sh script, GOPROXY, REST API, Nil Check, KMD for Windows, netgoal

Changelog

  1. General/Other
    • New Feature
      • Add support for Arch Linux
    • Enhancement
      • Expand /metrics to show per-message-tag stats on number of messages and amount of bytes moved.
      • Cache docker images in Travis and re-load them
      • Copy database files generation in create_and_deploy_recipe.sh to nodes
      • Improve handling of ledger falling behind agreement
      • Report algod panic in algoh
      • BlockService will redirect when it does not have the round
      • Efficiency Improvement: Avoid compact cert validation on non-validate/non-generate path
    • BugFix
      • Fix bug with updater not restarting services with systemctl
      • Update GOPROXY: Deal with deprecated gocenter.io GOPROXY
      • Pipeline - don't reset CHANNEL if defined
      • skip printing the logs when program is in terminated state.
      • nil check fix
      • Push docker tag to betanet
      • Fix requestNonce alignment on arm32
      • rollback config v17 into v16
      • Fixes for KMD on Windows
  2. Teal
    • Enhancement
      • Cleanup and re-factor of TEAL 3 code
      • adding extra docs for pushbytes and pushint
    • Tealdbg:
      • Check compile and dryrun programs against consensus limits
      • Better support for TEAL 3 in tealdbg
      • Allow tealdbg to listen on specified address
      • Removes program version assumption
  3. REST API
    • Bug Fix
      • Add swagger response annotations so a valid swagger doc gets generated
      • Fix parameter check in abort procedure
      • Fixes for pending transaction endpoint
      • Return an empty string instead of null when making a proof for transaction with no siblings.
  4. Tests
    • Enhancement
      • algofix - Allow struct field to be sync.Mutex if tagged algofix:"allow sync.Mutex"
      • Add DisableLocalhostConnectionRateLimit configuration option
      • Fix/improve kmd speed in test
      • Add pingpong mode to create NFTs for testing
      • script to watch algod heap
      • Improve TestCompactCerts error testing
      • Bandwidth watch
      • Unit test demonstrating high memory consumption
      • Catchup: Add deep block validation support
      • Add performance metrics for account updates
      • Add tests for ledger/compactcert.go
      • test coverage for ledger/eval.go funcs
      • Filter out verbosed output from automated testing
    • Bug Fix
      • Fix parameter check in abort procedure
      • Fix testing bug : avoid datarace on a node crash during e2e test
      • logfilter: exit with non-zero when test fails
      • Node Controller: delete pid file on killing process
      • Fix node shutdown on the wrong node directory
  5. Catchup and Catchpoint
    • Enhancement
      • Support for catching up from http or ws fetchers
      • Reduce memory utilization during accounts update init by reconstructing balances db from blocks
      • Extend catchpointdump utility to verify merkle trie
      • Fine tune catchup peer selection logic
      • Add cross-verify for genesis.json hash
    • Bug Fix
      • catchpoint: truncate output file
  6. Ledger
    • Enhancement
      • Preload account data in parallel on the evaluator
      • Improve ConsensusVersion error messages
      • Disable minimum balance check when not validating or generating
      • Split committed round range by consensus protocol version
    • Bug Fix
      • Fix consensus version to flush correctly
  7. Network
    • Enhancement
      • Improve ConsensusVersion error messages
      • Add peer functions to network interface to associate data with a peer to be garbage collected when peer goes away
      • Add networking infrastructure for cancelling sends
  8. Goal
    • Enhancement
      • Add comments to disassembly of constant load lines to show constant
      • add support for a single node private network
      • Improve waitForCommit logic
      • Refactor waitForCommit
    • Bug Fix
      • Fix goal node restart message when node already started
  9. Transactions
    • Enhancement
      • Transaction Sync: Optimize bloom filter memory allocations
    • Bug Fix
      • txpool: Fix incorrect datatype checking in recomputeBlockEvaluator
  10. Logger
    • Enhancement
      • Make deadlockLogger thread-safe
      • Reduce verbosity of logged messages
      • Print out intermediate decoding errors
      • logfilter: provide proper handling for panicking unit tests
    • Bug Fix
      • logfilter bug when running test without -v
  11. netgoal
    • Enhancement
      • Add pre-generated network support
    • Bug Fix
      • Fix insufficient account with preloaded db files
      • Resolve netgoal errors when bootstrap files are missing
      • Fixup small amounts of float64 roundoff
  12. Participation Keys
    • Enhancement
      • Refactor participation keys management
      • Add support for overlapping participation keys
      • Ensure the participation key database is being correctly closed after being installed
      • Add ParticipationKeysRefreshInterval to the node config

Protocol Upgrade

This release does not contain a protocol upgrade.

Additional Resources

Algorand 2.5.6

28 Apr 17:35
219b78d
Compare
Choose a tag to compare

GitHub Logo

This release will require a protocol upgrade.
This release contains a consensus protocol upgrade, which implements the following spec:
https://github.com/algorandfoundation/specs/tree/d050b3cade6d5c664df8bd729bf219f179812595

Please note that the consensus upgrade window for this release is 60,000 rounds, instead of 140,000. This means that once approved, the upgrade will take effect in a shorter time frame than a week.

Changes

  1. General
    • Bug Fix - Fix accessing int64 atomic variables on arm32 which was causing a panic on startup on ARM32
  2. Ledger
    • Bug Fixes
      • Ensure local delta does not have entries with empty key-value stores
      • Prevent storing empty accounts in DB after opting out from an app
      • DB data migration for empty accounts
      • compatibility mode for account index calculation in eval delta

Additional Resources

Algorand BetaNet 2.5.6

27 Apr 05:22
1fa7e2e
Compare
Choose a tag to compare

GitHub Logo

This release will require a protocol upgrade.
This release contains a consensus protocol upgrade, which implements the following spec:
https://github.com/algorandfoundation/specs/tree/d050b3cade6d5c664df8bd729bf219f179812595

Changes

  1. General
    • Bug Fix - Fix accessing int64 atomic variables on arm32 which was causing a panic on startup on ARM32
  2. Ledger
    • Bug Fixes
      • Ensure local delta does not have entries with empty key-value stores
      • Prevent storing empty accounts in DB after opting out from an app
      • DB data migration for empty accounts
      • compatibility mode for account index calculation in eval delta

Additional Resources

Algorand 2.5.5

20 Apr 14:44
304815d
Compare
Choose a tag to compare

GitHub Logo

This release will NOT require a protocol upgrade.

Changes

  1. Bug Fix - proposal propagation logic to reduce occasional block latency increase.

Protocol Upgrade

This release does not contain a protocol upgrade.

Additional Resources