ift-ts:p2p:ift:2026q2-nimlibp2p-maintenance

Maintain nim-libp2p through improvements, bug fixes, and user support

Description

Continue supporting and maintaining the nim-libp2p repository through ongoing improvements, refactoring, and bug fixes. This includes a range of ad-hoc tasks critical to sustaining code quality, overall stability, correct functionality, and performance of the project. Additionally, it provides a platform for addressing small developer requests, ensuring that nim-libp2p remains functional and usable for its primary users, Nimbus and Waku, as their needs evolve.

Task List

Maintenance

  • fully qualified name: ift-ts:p2p:ift:2026q2-nimlibp2p-maintenance:maintenance
  • owner: rramos
  • status: not started
  • start-date: 2026/04/01
  • end-date: 2026/06/30

Description

Maintain the nim-libp2p repository via improvements, refactors, and bug fixes.

Deliverables

List of maintenance-related PRs

Peerstore Address TTL

  • fully qualified name: ift-ts:p2p:ift:2026q2-nimlibp2p-maintenance:peerstore-address-ttl
  • owner: gabe
  • status: not started
  • start-date: 2026/05/01
  • end-date: 2026/05/05

Description

Add TTL support for addresses stored in the peerstore. Addresses should no longer be stored indefinitely by default. Instead, use different TTLs depending on how trustworthy the address is:

  • use shorter TTLs for unverified addresses, like those coming from discovery mechanism or from identify (unless it’s the address used in the active connection),
  • longer TTLs for addresses that have been confirmed as valid or successfully connected to,
  • infinite TTL when explicitly requested.

Deliverables

  • Peerstore support for address TTLs
  • Different TTL policies for unverified, validated, connected, and permanent addresses
  • Expiration logic to remove stale addresses automatically

IdentifyPush

  • fully qualified name: ift-ts:p2p:ift:2026q2-nimlibp2p-maintenance:identify-push
  • owner: not assigned yet
  • status: not started
  • start-date: 2026/04/01
  • end-date: 2026/06/30

Description

Enable the IdentifyPush protocol so connected peers receive protocol and address updates when local capabilities change. Maintain a set of connected peers that advertise the IdentifyPush protocol. After running Identify on a peer, if its protocol list includes the IdentifyPush codec, store its peer ID in that set. If the peer disconnects or later re-identifies without that protocol, remove it. Whenever our multiaddresses change or new protocols are mounted, send IdentifyPush updates to every peer in the set.

Deliverables

IdentifyPush protocol is mounted and used

Quic Multiaddress Support

  • fully qualified name: ift-ts:p2p:ift:2026q2-nimlibp2p-maintenance:quic-maddrs
  • owner: vlado
  • status: done
  • start-date: 2026/04/01
  • end-date: 2026/04/02

Description

Add support for multiple QUIC v1 multiaddresses in the QUIC transport.

Deliverables

Kademlia Interop tests

  • fully qualified name: ift-ts:p2p:ift:2026q2-nimlibp2p-maintenance:kademlia-interop-tests
  • owner: not assigned yet
  • status: not started
  • start-date: 2026/04/01
  • end-date: 2026/06/30

Description

Integrate libp2p test plans’ Kad-DHT interop tests as part of the CI tests executed on each PR. If these tests are available during Q2, integrate them into CI. Otherwise, prepare the CI integration work and defer execution until the tests are available. This task was originally planned for 2026q1, but the Kademlia interop tests were not available.

Deliverables

  • New github workflow: Interoperability Tests / Run Kad-dht interoperability tests

ORC in CI

  • fully qualified name: ift-ts:p2p:ift:2026q2-nimlibp2p-maintenance:orc-ci
  • owner: not assigned yet
  • status: not started
  • start-date: 2026/04/01
  • end-date: 2026/06/30

Description

Nimbus is evaluating ORC. Some previous work has already been done in this regard in

Deliverables

nim-libp2p CI jobs work with both --mm:refc and --mm:orc

Exception trace cleanup

  • fully qualified name: ift-ts:p2p:ift:2026q2-nimlibp2p-maintenance:exception-review
  • owner: not assigned yet
  • status: not started
  • start-date: 2026/04/01
  • end-date: 2026/06/30

Description

Review runtime exception traces emitted by nim-libp2p and related libraries in connection, transport, and protocol paths when those surface through nim-libp2p logs. Focus on the highest-noise or least-actionable exceptions, decide whether each one of them should stay as is, be downgraded, be deduplicated, or be handled without logging them, and implement the agreed changes.

Deliverables

  • Reviewed list of targeted exception, affected code paths, and the chosen action for each
  • PRs or filed issues for the changes in nim-libp2p and any library that needs an update
  • Reduced noisy or redundant exception logs in the targeted high-frequency paths

WSS handler socket leak

  • fully qualified name: ift-ts:p2p:ift:2026q2-nimlibp2p-maintenance:wss-socket-leak
  • owner: not assigned yet
  • status: not started
  • start-date: 2026/04/01
  • end-date: 2026/06/30

Description

Review how to complete logos-delivery#3634, validate the proposed solutions already documented in the related PRs and discussions, and decide whether nim-libp2p should take ownership of part of the fix. This should also assess whether Chronos accept concurrency work is required as part of the solution. Some related work available is:

Deliverables

  • Agreed technical direction for logos-delivery#3634
  • Ownership decision between nim-libp2p and the relevant dependent components
  • Follow-up issue or PR breakdown, including Chronos work if needed