Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

go-algorand 3.17.0-stable Release PR #5633

Merged
merged 114 commits into from
Aug 4, 2023

Conversation

Algo-devops-service
Copy link
Contributor

@Algo-devops-service Algo-devops-service commented Aug 3, 2023

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 (#5579)
  • Netgoal: fix large db generation (#5445)
  • Tests: fix rawsend.sh nightly test failure (#5519)
  • Tests: reenable TestVotersReloadFromDiskPassRecoveryPeriod (#5496)
  • Tools: block generator inner transactions (#5506)
  • Tools: bugfix block-generator to handle conduit's Init block requests (#5449)
  • Tracer: Default to ledger tracer when starting new evaluator (#5521)

Protocol Upgrade

This release does not contain a protocol upgrade.

Additional Resources

ahangsu and others added 30 commits May 31, 2023 12:14
Also move tools/x-repo-types CI checks into gh actions from CircleCI

Co-authored-by: cce <[email protected]>
winder and others added 17 commits July 20, 2023 10:13
@codecov
Copy link

codecov bot commented Aug 3, 2023

Codecov Report

Merging #5633 (a0e31a7) into rel/stable (cbccc6d) will increase coverage by 0.43%.
The diff coverage is 64.57%.

@@              Coverage Diff               @@
##           rel/stable    #5633      +/-   ##
==============================================
+ Coverage       56.04%   56.48%   +0.43%     
==============================================
  Files             451      450       -1     
  Lines           63307    63541     +234     
==============================================
+ Hits            35481    35889     +408     
+ Misses          25405    25260     -145     
+ Partials         2421     2392      -29     
Files Changed Coverage Δ
agreement/actor.go 47.36% <ø> (ø)
agreement/autopsy.go 0.00% <0.00%> (ø)
agreement/cryptoRequestContext.go 100.00% <ø> (ø)
agreement/demux.go 91.20% <0.00%> (ø)
agreement/events.go 67.55% <ø> (ø)
agreement/proposalManager.go 96.36% <ø> (-1.82%) ⬇️
agreement/proposalStore.go 100.00% <ø> (ø)
agreement/proposalTracker.go 94.44% <ø> (ø)
agreement/router.go 99.02% <ø> (ø)
agreement/sort.go 100.00% <ø> (ø)
... and 136 more

... and 29 files with indirect coverage changes

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@algojohnlee algojohnlee merged commit f239f80 into algorand:rel/stable Aug 4, 2023
8 checks passed
@onetechnical onetechnical deleted the relstable3.17.0 branch August 4, 2023 16:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.