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-beta Release PR #5601

Merged
merged 21 commits into from
Jul 25, 2023

Conversation

Algo-devops-service
Copy link
Contributor

@Algo-devops-service Algo-devops-service commented Jul 24, 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

algorandskiy and others added 21 commits July 11, 2023 11:25
@codecov
Copy link

codecov bot commented Jul 24, 2023

Codecov Report

Merging #5601 (fbdcd05) into rel/beta (18a33c9) will decrease coverage by 0.75%.
The diff coverage is 77.25%.

@@             Coverage Diff              @@
##           rel/beta    #5601      +/-   ##
============================================
- Coverage     56.51%   55.76%   -0.75%     
============================================
  Files           450      446       -4     
  Lines         63324    63490     +166     
============================================
- Hits          35787    35407     -380     
- Misses        25149    25704     +555     
+ Partials       2388     2379       -9     
Impacted Files Coverage Δ
catchup/catchpointService.go 8.03% <0.00%> (ø)
catchup/service.go 71.45% <0.00%> (-2.47%) ⬇️
daemon/algod/api/server/v2/utils.go 8.69% <0.00%> (-0.91%) ⬇️
data/basics/teal.go 21.59% <ø> (ø)
data/transactions/logic/pairing.go 0.00% <0.00%> (ø)
ledger/store/trackerdb/sqlitedriver/catchpoint.go 21.23% <0.00%> (-0.13%) ⬇️
...edger/store/trackerdb/sqlitedriver/sqlitedriver.go 0.00% <0.00%> (ø)
protocol/codec_tester.go 9.92% <0.00%> (-0.08%) ⬇️
shared/pingpong/pingpong.go 0.00% <0.00%> (ø)
data/transactions/logic/opcodes.go 68.30% <12.65%> (-19.48%) ⬇️
... and 12 more

... and 33 files with indirect coverage changes

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

@onetechnical onetechnical requested review from a team, winder, gmalouf and algorandskiy and removed request for a team July 24, 2023 20:08
@algojohnlee algojohnlee merged commit a0e31a7 into algorand:rel/beta Jul 25, 2023
@onetechnical onetechnical deleted the relbeta3.17.0 branch July 25, 2023 01:21
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.