All notable changes to this project will be documented in this file.
Note:
- The format is based on Keep a Changelog.
- This project adheres to Semantic Versioning.
The following emojis are used to highlight certain changes:
- 🛠 - BREAKING CHANGE. Action is required if you use this functionality.
- ✨ - Noteworthy change to be aware of.
- Enabled CORS for PUT requests to
/routing/v1/ipns
.
- Fix a bug whereby, cached peers with private multiaddrs were returned in
/routing/v1/providers
responses, as they were not passing throughsanitizeRouter
.
- Peer addresses are cached for 48h to match provider record expiration on Amino DHT.
- In the background, someguy probes cached peers at most once per hour (
PeerProbeThreshold
) by attempting to dial them to keep their multiaddrs up to date. If a peer is not reachable, an exponential backoff is applied to reduce the frequency of probing. If a cached peer is unreachable for more than 48h (MaxBackoffDuration
), it is removed from the cache. - Someguy now augments providers missing addresses in
FindProviders
with cached addresses. If a peer is encountered with no cached addresses,FindPeer
is dispatched in the background and the result is streamed in the reponse. Providers for which no addresses can be found, are omitted from the response.- This can be enabled via
SOMEGUY_CACHED_ADDR_BOOK=true|false
(enabled by default) - Two additional configuration options for the
cachedAddrBook
implementation:SOMEGUY_CACHED_ADDR_BOOK_ACTIVE_PROBING
whether to actively probe cached peers in the background to keep their multiaddrs up to date.SOMEGUY_CACHED_ADDR_BOOK_RECENT_TTL
to adjust the TTL for cached addresses of recently connected peers.
- This can be enabled via
- Add request tracing with sampling or require token for requests with Traceparent header. See tracing.md for more details.
- go-libp2p-kad-dht updated to v0.28.1
- Metrics
someguy_http_request_duration_seconds
andsomeguy_http_response_size_bytes
were replaced withdelegated_routing_server_http_request_duration_seconds
anddelegated_routing_server_http_response_size_bytes
from upstreamboxo/routing/http/server
.
- default config: restore proxying of all results from IPNI at
cid.contact
#83
- Added support for IPIP-484 which allows filtering network transports (addresses) and transfer protocols (bitswap, etc) in
/routing/v1/
responses. #82
- go-libp2p-kad-dht v0.26.1 fixes a bug where
FindPeer
did not return results for peers behind NAT which only have p2p-circuit multiaddrs. #80
SOMEGUY_LIBP2P_LISTEN_ADDRS
config environment variable for customizing the interfaces, ports, and transports of the libp2p host created by someguy. #79
- enabled NAT port map and Hole Punching to increase connectivity in non-public network topologies #79
- libp2p identify agentVersion correctly indicates someguy version
- boxo 0.21
routing/http
fixes (release notes) - go-libp2p 0.35
--version
now includes the release tagstart
command supports a graceful shutdown and improved handling of interrupt signals
- The resource manager's defaults have been improved based on Rainbow's and Kubo's defaults. In addition, you can now customize a few options using flags, or environment variables.
- The
/routing/v1/peers
endpoint correctly filters out private addresses.
- Upgraded Boxo with fix to ensure that
/routing/v1/peers
endpoint accepts all variants of Peer IDs that are seen in the wild.