Skip to content

Releases: algorand/go-algorand

Algorand BetaNet v2.1.0

05 Aug 14:15
c845f99
Compare
Choose a tag to compare

GitHub Logo

Highlights

  • Stateful Smart Contracts: Algorand Smart Contracts (ASC1) offer the foundational attributes of security, scale, and decentralization found in Algorand’s Layer-1 protocol, allowing developers to take advantage of the network’s speed, cost-effectiveness, and simplicity. Enabling complex governed transactions with simplified tools that can build a wide range of applications, and removing the technical barriers that undermine blockchain adoption. Algorand’s Smart Contracts are highly flexible, reliable in that they are executed on a tamper-proof (trustless) network providing the transparency needed, with error-free, immutable, and accurate applications.
  • Rekeying Support: Algorand's Rekeying offers a seamless, easier experience for users and custody providers by allowing flexible changes of Private Spending Keys anytime without changing Public Addresses, giving Public address more continuity, and reducing operational overhead with the changes of Private Spending Keys.
  • Fast Catchup: Fast Catchup is a new feature and will rapidly update a node using catchpoint snapshots. A new command on goal node is now available for catchup. The entire process should sync a node in minutes rather than hours or days.

Changes

  1. General
    • New Feature - Stateful Smart Contracts
    • Enhancements
      • add txn.ForeignAssets field
      • update stateful TEAL docs
      • allow substring ops to return an empty string in TEAL
      • disallow old TEAL versions for ApplicationCall transactions, disallow groups containing {Apps, RekeyTo} and v0/v1 TEAL
  2. Agreement
    • Enhancement - remove deprecated proposal LowestOutput
  3. Catchup
    • New Features
      • Fast Catchup support
      • add CatchpointDump utility
    • Enhancements
      • move timeout to config and make more restrictive
      • expect test for fast catchup
    • Bug Fixes
      • avoid ledger calls during catchpoint catchup
      • handle stopping and aborting in catchpoint catchup service
  4. Config
    • Enhancements
      • restructure config package to use reflection
      • add EnableDeveloperAPI configuration flag (#1109)
    • Bug Fix - automatic DNSBootstrapID for BetaNet
  5. Goal
    • New Features
      • add goal app info for inspecting app properties
      • add rekey multisig support for goal
    • Enhancements
      • make account changeonlinestatus online flag optional
      • unify txFilename and outFilename vars usage
      • update goal documentation for multi-arg optional commands
      • reformat some of the short commands descriptions
      • add created/opted in apps to goal account list
    • Bug Fixes
      • blank reserve address defaults to creator
      • Fix typo in goal clerk option disassesmble
      • typos in goal help (#1133)
      • goal inspect failed to process a rekeyed transaction (#1300)
  6. Ledger
    • Enhancements
      • refactor account update locking
      • drop legacy ledger storage
      • add reencoding database accounts support
      • add blocks header to the header cache
      • add comments around the accounts database upgrade procedures
      • remove unused GetRoundTxIds from ledgerForEvaluator interface
      • optimize accountsUpdateBalances implementation
      • optimize accounts totals updates
      • improve trie failures warning message formatting
      • implement database versioning support
      • avoid warning messages on expected long transactions
    • Bug Fix - fix rare synchronization issue in accountUpdates
  7. Network
    • Enhancement - improve network connectionPerformanceMonitor performance
  8. REST API
    • Enhancements
      • mark the in-body parameter as binary
      • merge ApplicationLocalStates and ApplicationLocalState (#1254)
      • change constant values of DeltaAction
      • add additional type information to teal programs in spec (#1276)
      • added 'pretty' parameter to all API endpoints to pretty print the JSON response
    • Bug Fixes
      • add AuthAddr to accountInformation
      • fix StateDelta conversion in Dryrun
      • don't include key-value in response if it is null (#1268)
      • add missing enum option to tx-type parameter in spec
      • base64 encode binary keys/values in json TealKeyValue, EvalDeltaKeyValue model
      • add eval delta to PendingTransactionByID (#1294)
      • do not save loop variable addresses in conversion routines
  9. Telemetry & Logging
    • Enhancement - algod telemetry config location logging
    • Bug Fix - don't override Channel if already set
  10. Tests
    • Enhancements
      • unit tests for v2 handler functions (#1111)
      • update msgp auto-generated code to add headers
      • move unused allBalances function to testing
      • FastCatchup - add unit testing for ledgerFetcher
      • add e2e teal/compile test
      • improve TestConnMonitorStageTiming benchmark performance
      • stateful teal expect test
      • improve dryrun and tealdbg compatibility
      • tealdbg: use round number and latestTimestamp from dryrun-req if available
      • add test for when the user does not provide a correct application json
      • expect test for goal account dump
      • stateful teal test app info
      • add a unit test for catchpointWriter
      • disable the deadlock detection on TestArchivalCreatables
      • add e2e upgrade test for application over REST & Gossip (#1037)
      • add documentation for test env vars for running the expect tests
      • refactor expect runners by creating a unified expect fixture
      • manual testing script for Gossip and TxSync
    • Bug Fixes
      • improve asset support in ping pong utility
      • fix sporadic TestCatchupOverGossip e2e test failure(s)
      • fixed error verifying recovered wallet in create wallet expect test
      • fixed bug in key registration teal test
      • fix random catchpoint catchup expect test case
      • fix random fails in TestCatchupOverGossip
      • fix TestTealCompile
      • fix e2e unit test data race
      • disable TestArchival unit test on linux-amd64
      • remove redundant ledger.close in TestArchivalCreatables
      • relax TestLedgerBlockHdrCaching rounds count
      • fix exit code race in dryrun expect test
      • disable deadlock detection on TestArchivalRestart and TestArchivalCreatables unit tests
      • merge issue with TestApplicationsUpgradeOver e2e test
      • teal version was incorrect in applications test
      • extend timeout for stateful teal test
  11. Tools
    • New Features
      • add rekey multisig support for algokey (#1238)
      • add generate-docs command to diagcfg (#1259)
    • Enhancements
      • parameter support for dispenser
      • allow updater to request any package with 'gettools' subcommand
    • Bug Fixes
      • better algoh parameter tunneling
      • fix tealdbg CDT url
  12. Other
    • New Features
      • new Jenkins pipeline implementation
      • ability to build docker image for BetaNet
    • Enhancements
      • run make fmt
      • add byteslice checking to the msgp decoder
      • update code to take advantage of byteslice allocbounding
      • fix contents of hashes file from packaging
      • reduce parallel testing in travis
      • add support for specifying go version in single place
      • remove code for generating releases page
      • test build packages on multiple architectures
      • add orphan entries to the algorelay check command
      • move transaction apply methods into their own package
      • update go-deadlock to use go modules
      • update upgrade path to v24
      • remove ignored sudo from Travis file
      • Update minor version number
      • TEAL: allow empty string literals
    • Bug Fixes
      • remove unused var in compute_branch_channel.sh
      • build packages script typo
      • fix incorrect asset error message when trying to overspend an asset
      • add license headers to dbgen generated files to fix make generate
      • fix path to gpg-fake script
      • fix package name
      • increase travis builtin vm.max_map_count (#1175)
      • only add the latest version to the rpm repository
      • fix deploy location for latest rpm package
      • add algod client health check to prevent node shutdown due to timeout in healthy node
      • update configure dev script to work with ubuntu 20.04 (#1201)
      • fix golang version specification to support 1.14
      • rename AppStateChage to AppStateChange
      • add duplicate check on ephemeral security group and key pair creation for buildhost
      • Fix TxnRoot for block 0
      • ensure ApplyData.EvalDelta is clear if applyEvalDelta fails
      • fix negative "tx surpassed expected deadline" messages
      • fix linux arm64 nightly build deploy due to golang install scoping
      • TEAL - fix txn and txna assemble and disassemble routines
      • TEAL: assembler error on branching behind last instruction

Protocol Upgrade

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

Other Notes

A database migration is included this release, which will add a one-time startup delay of 2-10 seconds. This is for re-encoding of the accounts database, if needed. Note: the database schema will remain compatible with the previous release.

Additional Resources

Read more

Algorand v2.0.8

26 Jun 14:31
890f535
Compare
Choose a tag to compare

GitHub Logo

Highlights

A bug in 2.0.7 caused API requests to view pending transactions by account address endpoint to fail.

Changes

  1. Rest API
    • Bug fix - fix route path to use echo parameter notation

Protocol Upgrade

This release does not contain a consensus protocol upgrade.

Additional Resources

Algorand BetaNet v2.0.15

25 Jun 12:49
ea9f684
Compare
Choose a tag to compare

GitHub Logo

Highlights

A bug in 2.0.14 caused API requests to view pending transactions by account address endpoint to fail.

Changes

  1. Rest API
    • Bug fix - fix route path to use echo parameter notation

Protocol Upgrade

This release does not contain a consensus protocol upgrade.

Additional Resources

Algorand v2.0.7

12 Jun 15:30
7b6d4d4
Compare
Choose a tag to compare

GitHub Logo

Highlights

  • APIv2: New API functionality for a wider feature set and laying the groundwork for future releases.
  • IndexerV2: A new indexer built as a separate binary, that leverages a postgres backend of your choice for faster lookups. This deprecates IndexerV1 support.
  • Fast Catchup backend support: We are working on providing functionality for getting a new node up to date in a much faster manner. This release lays the groundwork for this functionality - stay tuned!

Changes

  1. Agreement

    • Enhancements
      • Reduce cadaver failures error levels
      • Improve MatchAddress
    • Bugfixes
      • rare data race condition in processingMonitor
  2. Fast Catchup

    • Add backend support for fast catchup
  3. Rekeying

    • Add backend support for rekeying (pre-release, disabled)
  4. REST API

    • New Features
      • REST APIv2
      • TEAL compile endpoint
      • Add private endpoints to the algod REST interface
    • Enhancement - Refactor Auth to use Middleware
    • Bugfixes
      • REST API logger middleware formatting has wrong verb
      • Limit txn group size when broadcasting raw transactions
  5. Goal

    • New Features
      • rekeying basic frontend support
      • support goal clerk compile without filesystem
      • add goal protocols to dump all known protocols as JSON (#909)
      • algod compile endpoint (pre-release, disabled)
    • Enhancements
      • Deprecation of IndexerV1
      • Implement protocol.EncodeJSONStrict
    • Bugfixes
      • require one of keyFilename or signerAcct in goal clerk tealsign
      • parameter validation on -p arguments on goal & algod
  6. KMD

    • Enhancement - add optional pk argument to KMD's SignTransaction
  7. Ledger

    • New Feature - Initial backend support for rekeying
    • Enhancements
      • Rename balrecord.SpendingKey to AuthAddr
      • Optimization - only compute TxID once during validated eval
      • Optimization - hint payset size in block evaluator
    • Bugfix - data race conditions
    • Optimization - remove unnecessary call to getChangedAssetIndices in acctupdates.go
  8. Logging & Telemetry

    • Bugfix - Missing algod_telemetry_drops_total event
  9. Tests

    • New Feature - add e2e bash+goal test for rekeying
    • Enhancements
      • improve e2e script runner
      • Integration of integration tests into build pipeline
      • Make license check failure more obvious
      • Add support for Raw msgp interfaces on unit tests
      • Unfiltered some tests filtered on darwin
    • Bugfixes
      • timing bug in TestAgreementTime
      • Fix e2e test missing runtime package
  10. Updater

    • New Feature - option to fetch tools
    • Enhancement - disable binary backup when running make install
  11. Transaction Pool

    • Swap EnableAssembleStats with EnableProcessBlockStats
    • Encode SignedTxnInBlock to measure length, not SignedTxn
    • Fix up some documentation for TransactionPool
    • Simplify block assembly
  12. Other

    • New Features
      • implement groundwork for new flexible build pipeline
      • GOPROXY integration
      • Add config option to enable block service over gossip
    • Enhancements
      • make algorelay handle domain names type conversions
      • many improvements to build pipeline
      • Updates to pull request template and contributing doc
      • Avoid regenerating msgp decoders/encoders dynamically on arm
      • Update AMI for ARM buildhost
      • Use IsZero instead of comparing an empty struct in transaction.go
    • Bugfix
      • BetaNet releases pointing to DevNet instead of BetaNet

Protocol Upgrade

This release does not contain a consensus protocol upgrade.

Additional Resources

Algorand BetaNet v2.0.14

02 Jun 15:06
a6fdbad
Compare
Choose a tag to compare

GitHub Logo

Highlights

  • APIv2: New API functionality for a wider feature set and laying the groundwork for future releases.
  • IndexerV2: A new indexer built as a separate binary, that leverages a postgres backend of your choice for faster lookups. This deprecates IndexerV1 support.
  • Fast Catchup backend support: We are working on providing functionality for getting a new node up to date in a much faster manner. This release lays the groundwork for this functionality - stay tuned!

Changes

  1. Agreement

    • New Features
      • Fast Catchup backend support
      • Add backend support for rekeying
    • Enhancements
      • Reduce cadaver failures error levels
      • Improve MatchAddress
      • Use IsZero instead of comparing an empty struct in transaction.go
      • Simplify block assembly
      • Optimization - remove unnecessary call to getChangedAssetIndices in acctupdates.go
    • Bugfixes
      • rare data race condition in processingMonitor
      • Swap EnableAssembleStats with EnableProcessBlockStats
      • Encode SignedTxnInBlock to measure length, not SignedTxn
      • Fix up some documentation for TransactionPool
  2. REST API

    • New Features
      • REST APIv2
      • TEAL compile endpoint
      • Add private endpoints to the algod REST interface
    • Enhancement - Refactor Auth to use Middleware
    • Bugfixes
      • REST API logger middleware formatting has wrong verb
      • Limit txn group size when broadcasting raw transactions
  3. Goal

    • New Features
      • rekeying basic frontend support
      • support goal clerk compile without filesystem
      • add goal protocols to dump all known protocols as JSON (#909)
      • algod compile endpoint (pre-release, disabled)
    • Enhancements
      • Deprecation of IndexerV1
      • Implement protocol.EncodeJSONStrict
    • Bugfixes
      • require one of keyFilename or signerAcct in goal clerk tealsign
      • parameter validation on -p arguments on goal & algod
  4. KMD

    • Enhancement - add optional pk argument to KMD's SignTransaction
  5. Ledger

    • New Feature - Initial backend support for rekeying
    • Enhancements
      • Rename balrecord.SpendingKey to AuthAddr
      • Optimization - only compute TxID once during validated eval
      • Optimization - hint payset size in block evaluator
    • Bugfix - data race conditions
  6. Logging

    • Bugfix - Missing algod_telemetry_drops_total event
  7. Tests

    • New Feature - add e2e bash+goal test for rekeying
    • Enhancements
      • improve e2e script runner
      • Integration of integration tests into build pipeline
      • Make license check failure more obvious
      • Add support for Raw msgp interfaces on unit tests
      • Unfiltered some tests filtered on darwin
    • Bugfixes
      • timing bug in TestAgreementTime
      • Fix e2e test missing runtime package
  8. Updater

    • New Feature - option to fetch tools
    • Enhancement - disable binary backup when running make install
  9. Other

    • New Features
      • implement groundwork for new flexible build pipeline
      • GOPROXY integration
    • Enhancements
      • make algorelay handle domain names type conversions
      • many improvements to build pipeline
      • Updates to pull request template and contributing doc
      • Avoid regenerating msgp decoders/encoders dynamically on arm
      • Update AMI for ARM buildhost
    • Bugfix - BetaNet releases pointing to DevNet instead of BetaNet

Protocol Upgrade

This release does not contain a consensus protocol upgrade.

Additional Resources

Algorand v2.0.6

06 May 14:59
Compare
Choose a tag to compare

GitHub Logo

Changes

  1. Network
    • Phonebook refactoring
    • Support DNSSEC for SRV records lookup
    • Add Message Of Interest support for network library
    • Active node disconnection
    • Add rate limited transport for all the outgoing connections
    • Add support for multiple network protocols
  2. Agreement
    • Change Ensure digest to run asynchronously
    • Security fix
  3. Catchup
    • Move fetcher client into the catchup
  4. Goal
    • Support older kernels for locking files
    • tealsign allows you to easily sign data to be verified by the ed25519verify TEAL opcode
  5. Ledger
    • Actively scan for ledger devices
    • Normalize name across platforms
    • Improved error handling
  6. Other
    • Add configurable consensus protocol support
    • Tunable upgrade window
    • Bug fix - t.Parallel was getting called multiple times in the same test
    • Add e2e test for upgrading from v21 to v22
    • Fix TestStoppedCatchupOnUnsupported test bug
    • Misc other bug fixes

Protocol Upgrade

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

Additional Resources

Algorand BetaNet v2.0.13

13 Apr 14:43
5df2b13
Compare
Choose a tag to compare

GitHub Logo

Changes

  1. Other

    • Add e2e test for upgrading from v21 to v22
    • Fix TestStoppedCatchupOnUnsupported test bug
    • Misc other bug fixes

Protocol Upgrade

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

Additional Resources

Additional Resources

Algorand BetaNet v2.0.12

31 Mar 14:41
da0f0c8
Compare
Choose a tag to compare

GitHub Logo

Changes

  1. Network
    • Phonebook refactoring
    • Support DNSSEC for SRV records lookup
    • Add Message Of Interest support for network library
    • Active node disconnection
    • Add rate limited transport for all the outgoing connections
    • Add support for multiple network protocols
  2. Agreement
    • Change Ensure digest to run asynchronously
    • Security fix
  3. Catchup
    • Move fetcher client into the catchup
  4. Goal
    • Support older kernels for locking files
    • tealsign allows you to easily sign data to be verified by the ed25519verify TEAL opcode
  5. Ledger
    • Actively scan for ledger devices
    • Normalize name across platforms
    • Improved error handling
  6. Other
    • Add configurable consensus protocol support
    • Tunable upgrade window
    • Bug fix - t.Parallel was getting called multiple times in the same test

Protocol Upgrade

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

Additional Resources

Algorand v2.0.5

11 Mar 14:45
8b0be45
Compare
Choose a tag to compare

GitHub Logo

Changes

  1. Performance

    • Provide explicit msgpack encoder/decoders to improve overall performance
  2. Misc

    • Improve existing build automation and tooling

Protocol Upgrade

This release does not contain a consensus protocol upgrade.

Additional Resources

Algorand BetaNet v2.0.11

25 Feb 15:44
38ad53d
Compare
Choose a tag to compare

GitHub Logo

Changes

  1. Performance

    • Provide explicit msgpack encoder/decoders to improve overall performance
  2. Misc

    • Improve existing build automation and tooling

Protocol Upgrade

This release does not contain a consensus protocol upgrade.

Additional Resources