Skip to content

Releases: ipfs/someguy

v0.11.0

20 Nov 17:21
bcedcb2

Choose a tag to compare

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 auto placeholder is replaced with network-recommended values.
    • All endpoint flags (--provider-endpoints, --peer-endpoints, --ipns-endpoints) default to auto
    • See environment-variables.md for configuration details

Changed

Fixed

  • Fixed multiple race conditions and deadlocks in iterator implementations (#119)

Full Changelog: v0.10.0...v0.11.0

v0.10.0

15 Sep 02:14
18c461a

Choose a tag to compare

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_ENDPOINTS are configured but no SOMEGUY_HTTP_BLOCK_PROVIDER_PEERIDS are 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

Changed

  • Modernized Docker build configuration (#118)
  • Updated to Go 1.24/1.25 (#115, #118)

Full Changelog: v0.9.1...v0.10.0

v0.9.1

16 May 17:58
6cb37a4

Choose a tag to compare

Note

This release is brought to you by the Shipyard team.

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.

PRs

  • feat(metrics): add delegated routing client metrics to prometheus by @hsanjuan in #113

New Contributors

Full Changelog: v0.9.0...v0.9.1

v0.9.0

08 May 01:42
1e063a1

Choose a tag to compare

This release is brought to you by the Shipyard team.

Added

  • Added http-block-provider-endpoints and http-block-provider-peerids options 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), FindProviders returns a provider record containing a predefined PeerID and the HTTP gateway as a multiaddr with /tls/http suffix. (see example in #110)

Changed

PRs

Full Changelog: v0.8.1...v0.9.0

v0.8.1

04 Mar 14:09
7e80d9d

Choose a tag to compare

What's Changed

Full Changelog: v0.8.0...v0.8.1

v0.8.0

23 Jan 08:40
9deb78d

Choose a tag to compare

What's Changed

Full Changelog: v0.7.1...v0.8.0

v0.7.1

20 Dec 08:34
77a8147

Choose a tag to compare

What's Changed

This release fixes a bug whereby someguy would not filter out private IPs.

Full Changelog: v0.7.0...v0.7.1

v0.7.0

18 Dec 10:57
0140ce3

Choose a tag to compare

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 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 release is brought to you by the Shipyard team.

Full Changelog: https://github.com/ipfs/someguy/blob/main/CHANGELOG.md

v0.6.0

19 Nov 10:28
bdf542e

Choose a tag to compare

v0.5.3

30 Oct 15:28
4903832

Choose a tag to compare

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.