Skip to content

v0.36.0

Choose a tag to compare

@github-actions github-actions released this 26 Nov 18:36
f46f48a

Note

This release was brought to you by the Shipyard team.

Overview

This release brings major improvements to the Sweep provider system: detailed runtime statistics, persistence of reprovide state across restarts, and better connection handling. These features ship to Kubo users in v0.39.

Highlights

Sweep provider statistics API

The SweepingProvider now exposes detailed runtime statistics through a new Stats() method, enabling monitoring tools to track provider health and throughput.

Available metrics include:

  • Queue sizes and worker utilization
  • Reprovide schedule and progress
  • Network statistics (connected peers, regions)
  • Operation rates and success counts

This powers the ipfs provide stat command in Kubo v0.39+. See #1144.

Reprovide cycle persistence and resume

The Sweep provider now persists its state to the datastore and automatically resumes after restarts:

  • Persistent progress: The provider saves its position in the reprovide cycle. On restart, it continues from where it stopped instead of starting over.
  • Catch-up reproviding: If the node was offline, all CIDs overdue for reprovide are immediately queued.
  • Persistent provide queue: Pending provide operations survive restarts.

This fixes the long-standing issue where restarts would reset the reprovide cycle. See #1167, #1170, #1176,
#1193.

Connectivity callbacks

Users can now register callbacks to be notified when the provider's connectivity status changes. This enables applications to track and react to connectivity state transitions. See #1194.

Connection protection during provides

New option to protect libp2p connections and keep addresses in the peerstore during provide operations. This prevents the connection manager from pruning connections that are actively being used for provides. See #1172.

Metric rename: provider_provides_total

The Sweep provider metric has been renamed from total_provide_count_total to provider_provides_total to follow OpenTelemetry naming conventions and match other kad-dht metrics.

Migration: Update any Prometheus queries or dashboards using the old metric name. See #1195.

What's Changed

Full Changelog: v0.35.1...v0.36.0