Ecosystem metrics
- New Repos
- 15
- New
- Commits
- 840
- up 24.6%
- Releases
- 4
- down 42.9%
- Contributors
- 60
- up 17.6%
- Merges
- 15
- down 28.6%
Activity Overview
Commits and releases over time
- Commits
- Releases
- Authors
Repository Explorer
No repositories match that filter.
8864 commits in all time
Jul 23, 2026 17:39 – Oct 21, 2026 17:39 UTC
Merge 4c4fb3324b38038aa992284b95258bfa62114548 into 64691cee943c169fa883a9286687df541cc75eb0
93688747
pull/753/merge
2/125 ++ 0 --
Merge pull request #5 from algorandfoundation/ci/faster-release-polling
ci: poll for go-algorand releases every 10 minutes
e4dbe797
main
1/58 ++ 15 --
Merge 35ca41b09cdb8e64e1654da1c0467b08d5690cf2 into c72ae3ca2a4e47054057760916a7f2e4585b5256
f75a7b19
pull/6750/merge
8/366 ++ 91 --
network: give back identities and throttle slots of swept peers
innerStop and DisconnectPeers drop peers from the peer list directly. Each peer's own removePeer then finds it gone and releases nothing, so its identity and throttle slot leaked. Both networks now release a peer through unregisterPeerLocked, from removePeer and from the sweeps. unregisterPeerLocked also marks the peer closing. identityVerificationHandler checks that mark under the peer lock, so a verification message queued before the peer left cannot claim the identity again. P2PNetwork.innerStop sweeps wsPeersToIDs rather than wsPeers. A wsPeer replaced by a newer stream from the same peer is only in wsPeersToIDs, so the old sweep left it open with its slot.
59ed5bea
pull/6750/head
6/95 ++ 24 --
network: reject peer registration after innerStop
Stop sweeps the peer list before it shuts down the ws listener or the p2p host. A handshake that completes in between registers a peer that nothing closes, so the peer outlives Stop. innerStop now sets a flag under the peer lock, and addPeer rejects peers once it is set. The caller closes a rejected peer and skips the connected logs and telemetry. Found while reviewing #6744.
f642d266
pull/6750/head
5/122 ++ 33 --
network: tidy peer sweeps and close-time error reports
The read and write loops report errors only while didSignalClose is unset. A swept p2p peer's streams reset before closeWaiter reaches Close, which used to log a read error and count a dropped connection on every shutdown. The ws sweeps also clear the peer slice, so it keeps no swept peers reachable, and update the connection gauges.
35ca41b0
pull/6750/head
2/11 ++ 4 --
network: admit peers and start their loops in addPeer
A peer's read and write loops started in init, before addPeer registered it. tryConnect and the p2p stream handler also claimed the identity in a separate critical section from the insert. A peer could therefore receive messages, or close itself, before it was registered, and a rejected peer needed cleanup in several places. addPeer now calls init itself. It first skips a peer whose identity another peer already holds, so a duplicate allocates no send queues. Then, under the peer lock, it claims the identity and the throttle slot, registers the peer and starts its loops. It reports whether it admitted the peer, and the caller closes the connection of a peer rejected as a duplicate. P2PNetwork gets the same addPeer. Nothing can close a peer before addPeer now, so the closing check in addPeer and algod_network_peer_already_closed go. So does the duplicate pointer check, which could never match. Tests that registered bare peers now build them with makeTestPeer, or no longer register peers they only use as message senders. TestPeeringWithIdentityChallenge expects one fewer setIdentity call, because the duplicate no longer reaches it.
a3bdafcb
pull/6750/head
7/143 ++ 69 --
Merge 67b9baf7c52dcc0d9ffc6b9e5581e1e38f0a9eba into 28fac664be6d0e45eb83762d2ee83316eb6a192e
4014f488
pull/46/merge
1/1 ++ 1 --
chore(deps): Update Node.js to v22.23.4
67b9baf7
renovate/node-22.x
1/1 ++ 1 --
network: release peersLock before DisconnectPeers waits
DisconnectPeers held peersLock while it waited for the swept peers to close. A peer whose read loop had already failed blocks in removePeer on that lock, and closing the peer waits for its read loop, so DisconnectPeers could deadlock.
22ecac40
pull/6750/head
2/36 ++ 2 --
Merge 04127b5b19c92f5375c1c6edbe70a814a7416bea into 65ef1422751d2dea3feb5f2b9b7deb56f29ffb95
70019249
pull/938/merge
1/1 ++ 1 --
Merge f7de967bfc4db658d307d97bc1de12b5e33f1c86 into 65ef1422751d2dea3feb5f2b9b7deb56f29ffb95
2b047442
pull/939/merge
1/1 ++ 1 --
ci: use pushed tag for goreleaser and add manual dispatch (#205)
* ci: ensure goreleaser runs with the pushed tagged This prevents unexpected behavior when two tags are on the same commit * ci: add manual dispatch to goreleaser This will allow us to run goreleaser for an old tag
3340c0a6
master
1/8 ++ 0 --
feat: add tool search component, constants, SEO routes, and utility functions
e10f58d2
main
6/224 ++ 16 --
Merge d2e54f9effa576532f7987bf74dc79bf5b989557 into c72ae3ca2a4e47054057760916a7f2e4585b5256
806e7e2e
pull/6788/merge
10/1,083 ++ 249 --
Merge e192e8d85dd305799b01adcca599fd85166aa127 into dd335fd23f74c27d87d7f7c9274335e1b2fb987c
6674090d
pull/5/merge
1/58 ++ 15 --