-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Open
Labels
kind/featureA new featureA new featureneed/triageNeeds initial labeling and prioritizationNeeds initial labeling and prioritization
Description
Note
Part of ongoing maintenance of key libraries and services ipshipyard/roadmaps#1 and ipshipyard/roadmaps#6
Meta
- Release owner: @lidel
- Release reviewer/backup: @gammazero
- Expected RC1 date: 2025-11-17
- 🚢 Expected final release date: TBD (~Nov 26th or 27th if no issues)
- Release PR: Release v0.39.0 #11064
- Accompanying PR for improving the release process: TBD
- Internal Staging tests by Shipyard: notion (private)
- Changelog: https://github.com/ipfs/kubo/blob/master/docs/changelogs/v0.39.md
Items In Scope
Required
-
Integrate Modernized Provider System from go-libp2p-kad-dht #10881
-
Provide.DHT.SweepEnabled=trueby default - resume interrupted reprovide (depends on provider: resume reprovide operations libp2p/go-libp2p-kad-dht#1159 & feat(provider): resume reprovides libp2p/go-libp2p-kad-dht#1170)
- feat(provide): detailed
ipfs provide stat#11019 - config: increase default Provide.DHT.MaxProvideConnsPerWorker #11016
- sweep: slow reprovide alerts #11021
- refactor(keystore): track size libp2p/go-libp2p-kad-dht#1181
- Decrease Time for Root CID Availability 10x on
ipfs add#11015- feat(cli/rpc/add): fast provide of root CID #11046 (
ipfs add --fast-provide-root) - feat: fast provide support in
dag import#11058 (ipfs dag import --fast-provide-root)
- feat(cli/rpc/add): fast provide of root CID #11046 (
- docs: clarify provide stats metric types and calculations #11041
- panic in provide system near deque.(*Deque[...]).PushBack #11047
- Add telemetry data for provide system #11055
- telemetry: collect high level provide DHT sweep settings #11056
-
-
feat: add docker stub for deprecated ipfs/go-ipfs name #10998
-
go-libp2p with NAT fix https://github.com/libp2p/go-libp2p/releases/tag/v0.44.0
- document fix: self-healing NAT mappings with request deduplication libp2p/go-libp2p#3367 in changelog
- merge fix: go-libp2p v0.44 with self-healing UPnP port mappings #11032
- document RISC-V support while at it
-
new commands have good UX
- updated go kubo-rpc-client
- updated js kubo-rpc-client
-
fix traces related to bitswap
- bitswap/session: context-aware lifecycle boxo#1052
- bitswap: link traces boxo#1053
- feat: trace delegated routing http client #11017
- fix(tracing): use context to pass trace and retrieval state to session boxo#1059
- understand if this is a bug or feature: https://github.com/ipfs/boxo/pull/1059/files#r2466543123
-
new webui chore: update webui to v4.10.0 #11048
-
fix(gateway): deduplicate peer IDs in retrieval diagnostics boxo#1058
-
fix for go-libp2p v0.44 logs not present in
ipfs log tail#11035- go-libp2p release Release v0.45.0 libp2p/go-libp2p#3424
- with fix from fix(websocket): use debug level for operational noise errors libp2p/go-libp2p#3413
- with BREAKING CHANGE note for 0.44 and 0.45 release notes listing one-liner from Release v0.45.0 libp2p/go-libp2p#3424 (review)
- go-libp2p release Release v0.45.0 libp2p/go-libp2p#3424
-
go-libp2p with fix(webrtc): use debug level for pion errors libp2p/go-libp2p#3426
Cherry-Pick for FINAL
- fix: inlude symlinks in scanning for init scripts #11077 (Docker)
- Update deprecation message for Reprovider fields [skip changelog] #11072 (typo)
- feat: support GetClosesPeers (IPIP-476) and ExposeRoutingAPI by default #10954 (TBD: if we dont do boxo release, then need to move this to 0.40)
Nice To Have (Optional)
- Rewrite batch mode to use temp directory go-ds-flatfs#136
- Move
ipfs routing provideandreprovideintoipfs providenamespace #10865 (keep old cmds as deprecated) - panic: pebble: batch already committing #11014
- bug: failed to establish port mapping: goupnp: error performing SOAP HTTP request after LAN (upnp) router restart #9759
- needs go-libp2p release with fix: self-healing NAT mappings with request deduplication libp2p/go-libp2p#3367 (without this, many Kubo-based providers fail as providers due to losing public addr)
- boxo with fix for denylist:
?format=cardoes not skip directly blocked CIDs #10361 - feat(config): optional Gateway.MaxRangeRequestFileSize #10997
- Add CLI timeout for retrieval/resolution #10953
-
ipfs routing getshould allow querying when node is offline by enabling a flag #10958 - quic-go with fix: return stream frames to pool on error paths quic-go/quic-go#5327
-
ipfs repo copy: a way to move everything to different repo (config, pins, mfs, all blocks) #10938 -
ipfs update: add built-in command, sunsetipfs-update#10937 - chore: golangci/v2 with go 1.25 support #10924
- deprecate go-ipfs docker image #10941
- feat(cmds): files: add new-root command to change the MFS root #8648
- feat(cmds): files: add new-root command to change the MFS root #8648 as fix for Ipfs daemon hangs when MFS root is not available locally #7183 (comment)
- Denylist support fixes and improvements
- ipfs blockservice is incompatible with sessions ipfs-shipyard/nopfs#34 (NOfs content filtering is not applied to bitswap)
- Support consuming https://badbits.dwebops.pub/badbits.deny rainbow#126 (same applies to Kubo)
- Update pubsub and add default validator #9684
- refactor: support percent-encoded /unix paths #10833
- Windows: redirect to
*.ipfs.localhostfails in non-browser contexts #11024 (boxo with fix for gateway: UX improvement: browser-only subdomain redirects boxo#1054) - provider: duplicated CIDs sent to provide queue boxo#901 TBD
Metadata
Metadata
Assignees
Labels
kind/featureA new featureA new featureneed/triageNeeds initial labeling and prioritizationNeeds initial labeling and prioritization