Releases: ipfs/someguy
v0.11.0
Note
This release is brought to you by the Shipyard team.
Added
- Added support for IPIP-476:
/routing/v1/dht/closest/peers/{key}endpoint for finding DHT-closest peers (#124, #127)- Returns DHT-closest peers to a given CID or PeerID
- Accepts both CID and legacy PeerID formats (e.g.,
12D3KooW...) - Uses WAN DHT only for more reliable results
- Includes cached addresses in results when available
- Properly returns HTTP 500 when DHT is disabled
- AutoConf support: automatic configuration of bootstrap peers and delegated routing endpoints (#123). When enabled (default), the
autoplaceholder is replaced with network-recommended values.- All endpoint flags (
--provider-endpoints,--peer-endpoints,--ipns-endpoints) default toauto - See environment-variables.md for configuration details
- All endpoint flags (
Changed
Fixed
- Fixed multiple race conditions and deadlocks in iterator implementations (#119)
Full Changelog: v0.10.0...v0.11.0
v0.10.0
Note
This release is brought to you by the Shipyard team.
Added
- Automatic generation of peer IDs for HTTP block providers when not explicitly configured (#117)
- When
SOMEGUY_HTTP_BLOCK_PROVIDER_ENDPOINTSare configured but noSOMEGUY_HTTP_BLOCK_PROVIDER_PEERIDSare configured, synthetic PeerIDs will now be autogenerated. These are deterministic placeholders derived from endpoint URLs, used only for routing system compatibility with HTTP-based trustless gateways - no libp2p cryptographic operations are performed with these IDs
- When
Changed
Full Changelog: v0.9.1...v0.10.0
v0.9.1
Added
- Added exporting of routing http client metrics: the endpoint will now include
someguy_routing_http_client_*metrics when delegated routing clients are used:- Histogram: the latency of operations by the routing HTTP client
someguy_routing_http_client_latency_bucket{code,error,host,operation,le}someguy_routing_http_client_latency_sum{code,error,host,operation}someguy_routing_http_client_latency_count{code,error,host,operation}
- Histogram: the number of elements in a response collection
someguy_routing_http_client_length_bucket{host,operation,le}someguy_routing_http_client_length_sum{host,operation}someguy_routing_http_client_length_count{host,operation}
- See docs/metrics.md for more details.
- Histogram: the latency of operations by the routing HTTP client
PRs
New Contributors
Full Changelog: v0.9.0...v0.9.1
v0.9.0
This release is brought to you by the Shipyard team.
Added
- Added
http-block-provider-endpointsandhttp-block-provider-peeridsoptions to enable using a trustless HTTP gateway as a source for synthetic content routing records.- When the configured gateway responds with HTTP 200 to an HTTP HEAD request for a block (
HEAD /ipfs/{cid}?format=raw),FindProvidersreturns a provider record containing a predefined PeerID and the HTTP gateway as a multiaddr with/tls/httpsuffix. (see example in #110)
- When the configured gateway responds with HTTP 200 to an HTTP HEAD request for a block (
Changed
accelerated-dhtoption was removed and replaced with adhtoption which enables toggling between the standard client, accelerated client and being disabled- boxo v0.30.0
- go-libp2p v0.41.1
- go-libp2p-kad-dht v0.32.0
PRs
- ci: uci/copy-templates by @web3-bot in #107
- feat: enable using an HTTP block provider as a routing backend by @aschmahmann in #110
- chore: update dependencies by @lidel in #111
Full Changelog: v0.8.1...v0.9.0
v0.8.1
v0.8.0
v0.7.1
v0.7.0
Added
Active Peer Probing and Caching
Active probing and caching improves the quality and reliability of Content Routing responses from the DHT. Someguy always returns addresses for providers and omits unroutable providers for which no addresses can be found.
- Peer addresses are cached in a local in-memory address book 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
FindProviderswith cached addresses. If a peer is encountered with no cached addresses,FindPeeris 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
cachedAddrBookimplementation:SOMEGUY_CACHED_ADDR_BOOK_ACTIVE_PROBINGwhether to actively probe cached peers in the background to keep their multiaddrs up to date.SOMEGUY_CACHED_ADDR_BOOK_RECENT_TTLto adjust the TTL for cached addresses of recently connected peers.
- This can be enabled via
This release is brought to you by the Shipyard team.
Full Changelog: https://github.com/ipfs/someguy/blob/main/CHANGELOG.md
v0.6.0
What's Changed
- Add tracing
- Make Prometheus metrics per route and move instrumentation to Boxo
- Upgrade to go-libp2p-kad-dht 0.28.1
- Add timeouts to DHT request
Full Changelog: v0.5.3...v0.6.0
This release is brought to you by the Shipyard team.
v0.5.3
Fixed
- default config: restore proxying of all results from IPNI at
cid.contact#83
Full Changelog: v0.5.2...v0.5.3
This release was brought to you by the Shipyard team.
