Ecosystem metrics
- New Repos
- 20
- New
- Commits
- 857
- up 27.7%
- Releases
- 6
- down 14.3%
- Contributors
- 59
- up 13.5%
- Merges
- 15
- down 28.6%
Activity Overview
Commits and releases over time
- Commits
- Releases
- Authors
Repository Explorer
No repositories match that filter.
8907 commits in all time
Jul 23, 2026 22:47 – Oct 21, 2026 22:47 UTC
Merge 9d7f0793b723dc1b8d6247230fdd40f97760d004 into 341b14ba688565b30e7dc7373c2e3ef4ded5a7e2
c959d8bd
pull/232/merge
No file changes
Merge e0c59454d23fe0129748c23fc18c409fa7ff0db4 into 341b14ba688565b30e7dc7373c2e3ef4ded5a7e2
7e8986bc
pull/237/merge
1/2 ++ 2 --
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 --