Skip to content
New issue

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

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

Already on GitHub? # to your account

go-algorand 3.26.0-beta Release PR #6133

Merged
merged 84 commits into from
Sep 17, 2024

Conversation

Algo-devops-service
Copy link
Contributor

@Algo-devops-service Algo-devops-service commented Sep 17, 2024

GitHub Logo

Overview

This release adds experimental support for libp2p networking, a major advance for Algorand decentralization. We would like to emphasize that this support is in preview mode only, and not recommended for production use cases yet.

What's New

  • libp2p networking support (experimental preview)
  • AVM enhancements
  • Mac OS X universal binary

Changelog

New Features

  • Network: p2p traffic exchange for algorand node (#5939)

Enhancements

  • AVM: Derive looser, but more principled, checks of txn max size (#6114)
  • AVM: Provide access to some more block header values (#6107)
  • AVM: Expose relevant incentive constants (#6025)
  • Algons: expose error for dnsaddr command (#6121)
  • Build: add universal Mac make target (#6023)
  • Ci: update nightly builds to use universal mac update (#6071)
  • Cicd: remove mac AMD64 support from circleci (#6036)
  • Cmd: Add goal node subcommand to generate peer private key (#6078)
  • Config: use P2PHybridIncomingConnectionsLimit only for hybrid mode (#6103)
  • Config: Expose merged configuration for easier debugging (#6049)
  • Config: Add warning if EndpointAddress and NetAddress ports are equal (#6006)
  • Config: Add GoMemLimit config option and use with 10-node test (#5975)
  • Docs: p2p package overview (#6096)
  • Installer: add support for algoh to systemd installs (#6102)
  • Logging: change transaction pool re-evaluation message from warn to info (#6047)
  • Metrics: collect total netdev sent/received bytes (#6108)
  • Metrics: Add algod version to metrics (#6003)
  • Netgoal: allow unknown template tokens (#6091)
  • Network: remove ws net proto 2.1 (#6081)
  • Network: use http.ResponseController instead of GetHTTPRequestConnection (#6044)
  • Network: Allow short-lived connections to query /status endpoint when at full capacity (#6009)
  • P2p: store private keys as PKCS#8 ASN.1 DER PEM (#6119)
  • P2p: Add algod_network_p2p_* traffic metrics (#6105)
  • P2p: get rid of interface{} from PeerStore methods (#6101)
  • P2p: handle txns in pubsub validator (#6070)
  • P2p: do not advertise private and non-routable addresses (#6092)
  • P2p: support EnableGossipService in p2p streams (#6073)
  • P2p: hybrid node net identity for connection deduplication (#6035)
  • P2p: Introduce profiles for hybridRelay, hybridArchival, and hybridClient. (#6062)
  • P2p: Disable circuit relaying via libp2p.NoListenAddrs (#6064)
  • REST API: make RawTransactionAsync developer API (#6069)
  • Scripts: allow metrics filtering by labels in metrics_viz.py (#6125)
  • Tests: set pprof labels for goroutines that use the same code for different cases (#4350)
  • Tests: preserve logs on LibGoalFixture failure (#6030)

Bugfixes

  • Algod: fix telemetry lookup if phonebook is used (#6061)
  • Catchup: skip logging err for catchup cancellation (#6053)
  • Catchup: do not loop forever if there is no peers (#6037)
  • Ci: fix mac universal rebuild for nightlies (#6084)
  • Ci: update to CentOS Stream 9 and start integrating universal target (#6080)
  • Ci: increase artifact upload timeout (#6050)
  • Cicd: fix broken ci-build target (#6087)
  • Config: ensure both ws and p2p net running the same mode in hybrid (#6130)
  • Ledger: restore block listeners on reloadLedger (#6041)
  • Legacy Docker: pin ubuntu version (#6028)
  • Network: fix outgoing HTTP rate limiting (#6118)
  • Network: fix publicKeyIdentTracker data race in hybrid mode (#6110)
  • Node: clear new p2p net handlers on fast catchup (#6127)
  • Node: close ledger and part keys on node shutdown (#6039)
  • P2p: reuse existing libp2p.Host for http clients (#6129)
  • P2p: make sure p2p http server runs on all interfaces (#6123)
  • P2p: do not register closing peer (#6086)
  • P2p: fix connection deduplication in hybrid mode (#6082)
  • REST API: Fix LedgerStateDelta JSON encoding (#6106)
  • REST API: Fix to Disable API authentication (#6067)
  • Simulate: fix signers (#5942)
  • Tests: fix expect tests and add EOF linter (#6122)
  • Tests: fix a race in TestP2PwsStreamHandlerDedup (#6116)
  • Tests: fix e2e subs goal-partkey-commands (#6095)
  • Tests: fix flushing in TestVotersReloadFromDiskAfterOneStateProofCommitted (#6090)
  • Tests: fix concurrent accout commits in TestLedgerVerifiesOldStateProofs (#6060)
  • Tests: fix TestVotersReloadFromDiskAfterOneStateProofCommitted (#6024)
  • Txhandler: fix TestTxHandlerAppRateLimiter (#6075)

Protocol Upgrade

This release does not contain a protocol upgrade.

Additional Resources

algojohnlee and others added 30 commits May 15, 2024 13:27
… at full capacity (algorand#6009)

Co-authored-by: ohill <145173879+ohill@users.noreply.github.com>
…algorand#6006)

Co-authored-by: Pavel Zbitskiy <65323360+algorandskiy@users.noreply.github.com>
Co-authored-by: Jason Paulos <jasonpaulos@users.noreply.github.com>
* Add context cancellation check to fetchRound peers retrieval loop
* This prevented some e2e tests to finish when a other nodes
  quit but the last node fell into catchup mode
Co-authored-by: cce <51567+cce@users.noreply.github.com>
Functional p2p support for gossip network:
* DHT advertisement and peers capabilities
* Hybrid networking when a node handles both legacy websocket and libp2p networks
* HTTP over p2p support for catching up from p2p nodes
* P2P network cluster test scenarios
* libp2p and DHT metrics and logging handling

Co-authored-by: Eric Warehime <eric.warehime@gmail.com>
Co-authored-by: cce <51567+cce@users.noreply.github.com>
algorandskiy and others added 19 commits August 26, 2024 16:06
Co-authored-by: Ashy5000 <ashydashy5000@gmail.com>
Co-authored-by: cce <51567+cce@users.noreply.github.com>
…rand#6114)

Co-authored-by: Jason Paulos <jasonpaulos@users.noreply.github.com>
Copy link

codecov bot commented Sep 17, 2024

Codecov Report

Attention: Patch coverage is 61.89727% with 727 lines in your changes missing coverage. Please review.

Project coverage is 56.25%. Comparing base (26362ad) to head (cac2c09).
Report is 85 commits behind head on rel/beta.

Files with missing lines Patch % Lines
network/p2pNetwork.go 74.60% 76 Missing and 20 partials ⚠️
network/hybridNetwork.go 39.65% 65 Missing and 5 partials ⚠️
network/p2p/p2p.go 51.79% 62 Missing and 5 partials ⚠️
network/p2p/logger.go 0.00% 55 Missing ⚠️
network/p2p/http.go 0.00% 50 Missing ⚠️
daemon/algod/server.go 0.00% 48 Missing ⚠️
network/p2p/peerID.go 35.71% 19 Missing and 8 partials ⚠️
network/p2p/streams.go 0.00% 27 Missing ⚠️
data/txHandler.go 76.78% 17 Missing and 9 partials ⚠️
network/p2p/capabilities.go 61.19% 22 Missing and 4 partials ⚠️
... and 37 more
Additional details and impacted files
@@             Coverage Diff              @@
##           rel/beta    #6133      +/-   ##
============================================
- Coverage     56.31%   56.25%   -0.07%     
============================================
  Files           486      494       +8     
  Lines         68487    69954    +1467     
============================================
+ Hits          38568    39350     +782     
- Misses        27315    27937     +622     
- Partials       2604     2667      +63     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@algojohnlee algojohnlee merged commit 863cc55 into algorand:rel/beta Sep 17, 2024
17 checks passed
@onetechnical onetechnical deleted the relbeta3.26.0 branch September 17, 2024 16:48
PhearZero pushed a commit to PhearNet/crypto that referenced this pull request Jan 17, 2025
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.