1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-12-19 01:30:17 +08:00
Commit Graph

316 Commits

Author SHA1 Message Date
Sergey Gorbunov
d81f524cce feat(ipns): support passing custom sequence number during publishing (#10851)
* feat(ipns): Add a parameter in name.publish to change the sequence number
* test: monotonic name publish --sequence
* docs: `name publish --sequence`
* chore: boxo main with PR 962

---------

Co-authored-by: Marcin Rataj <lidel@lidel.org>
2025-08-13 04:15:45 +02:00
Guillaume Michel
7250eb8786 bump go-libp2p-kad-dht (#10911) 2025-08-12 17:09:56 -07:00
Russell Dempsey
d3cc4ff587 feat: add query functionality to log level command (#10885)
* feat: update log level command to show log levels
* test: add log level tests
* update TestCommands test
* docs: relation to GOLOG_LOG_LEVEL
* chore: update to latest go-log
* fix: do not output single subsystem name in CLI
* test: explicit subsystem request dont output subsystem
* LevelFromString renamed to Parse
* Modify `ipfs log level` 
* Denote default level with sdubsystem name '(defult)'.
* make "*" an dalias for "all".  Test to make sure both work the same.
2025-08-11 12:43:48 -07:00
sukun
b139df1658 feat: go-libp2p v0.43.0 (#10892)
https://github.com/libp2p/go-libp2p/releases/tag/v0.43.0

---------

Co-authored-by: Marcin Rataj <lidel@lidel.org>
2025-08-08 17:53:08 +02:00
Hector Sanjuan
a673c2ec95 fix: Provide according to Reprovider.Strategy (#10886)
* Provide according to strategy

Updates boxo to a version with the changes from https://github.com/ipfs/boxo/pull/976, which decentralize the providing responsibilities (from a central providing.Exchange to blockstore, pinner, mfs).

The changes consist in initializing the Pinner, MFS and the blockstore with the provider.System, which is created first.

Since the provider.System is created first, the reproviding KeyChanFunc is set
later when we can create it once we have the Pinner, MFS and the blockstore.

Some additional work applies to the Add() workflow. Normally, blocks would get provided at the Blockstore or the Pinner, but when adding blocks AND a "pinned" strategy is used, the blockstore does not provide, and the
pinner does not traverse the DAG (and thus doesn't provide either), so we need to provide directly from the Adder. This is resolved by wrapping the DAGService in a "providingDAGService" which provides every added block, when using the "pinned" strategy.

`ipfs --offline add` when the ONLINE daemon is running will now announce blocks per the chosen strategy, where before it did not announce them. This is documented in the changelog. A couple of releases ago, adding with `ipfs --offline add` was faster, but this is no longer the case so we are not incurring in any penalties by sticking to the fact that the daemon is online and has a providing strategy that we follow.

Co-authored-by: gammazero <11790789+gammazero@users.noreply.github.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2025-08-08 10:56:44 +02:00
Andrew Gillis
90b73d2ad2 refactor: remove goprocess (#10872)
* refactor: remove goprocess

The `goprocess` package is no longer needed. It can be replaces by modern `context` and `context.AfterFunc`.

* mod tidy

* log unmount errors on shutdown

* Do not log non-mounted errors on shutdown

* Use WaitGroup associated with IPFS node to wait for services to whutdown

* Prefer explicit Close to context.ArterFunc

* Do not use node-level WaitGroup

* Unmount for non-supported platforms

* fix return values

* test: daemon shuts down gracefully

make sure ongoing operations dont block shutdown

* test(cli): add TestFUSE

* test: smarter RequiresFUSE

opportunistically run FUSE tests if env has fusermount
and TEST_FUSE was not explicitly set

* docs: changelog

---------

Co-authored-by: gammazero <gammazero@users.noreply.github.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2025-08-06 00:33:45 +02:00
sukun
8862a5e58e chore: update go-libp2p and p2p-forge (#10887)
* chore: update go-libp2p and p2p-forge

* docs: changelog

---------

Co-authored-by: Marcin Rataj <lidel@lidel.org>
2025-07-31 16:30:13 +02:00
Andrew Gillis
02cf7519d0 Upgrade to Boxo v0.33.1 (#10888)
* Upgrade to Boxo v0.33.1
2025-07-31 04:53:14 -07:00
Andrew Gillis
a22efea6f3 provider: clear provide queue when reprovide strategy changes (#10863)
* provider: clear reprovide queue when reprovide strategy changes

When the currently configured reprovide strategy does not match the previous strategy read from the datastore, then clear the reprovide queue and update the reprovide strategy that is stored in the datastore.

Depends on https://github.com/ipfs/boxo/pull/978

Closes #10829

* Update docs/changelogs/v0.36.md

Co-authored-by: Guillaume Michel <guillaumemichel@users.noreply.github.com>

* update log message
* update boxo
* Move change log to v0.37.md
* Add `provide clear` command to clear provide queue

The `provide clear` command clears all items from the provide queue and prints out the number of items removed from the queue. The `quiet` option tells the command not to print output.

* refactor(cmds): ipfs provide clear

moving to new namespace to avoid conflicts, and also document other
commands

* docs: clarify Reprovider.Strategy
* chore: remove undesired md link
2025-07-16 01:28:27 -07:00
Andrew Gillis
d80e85fa72 Update dependencies (#10860)
* Update dependencies
2025-07-15 08:21:15 -07:00
Andrew Gillis
738d5232fb Upgrade to Boxo v0.33.0 (#10857)
* Upgrade to Boxo v0.33.0
* Update test to work with boxo-v0.33.0
2025-07-08 02:45:43 -07:00
Štefan Baebler
6f0c1de58f chore: Upgrade github.com/cockroachdb/pebble/v2 to v2.0.6 for Go 1.25 support (#10850)
* Upgrade github.com/cockroachdb/swiss for Go 1.25 support

Go 1.25 incompatibility detected in
* https://github.com/Homebrew/homebrew-core/pull/226636

then:
* reported upstream in https://github.com/cockroachdb/swiss/issues/48
* fixed upstream https://github.com/cockroachdb/swiss/pull/49

This PR brings this fix upstream to kubo.

The fix was brought to github.com/cockroachdb/pebble/v2 in
* https://github.com/cockroachdb/pebble/pull/4954

And released in https://github.com/cockroachdb/pebble/releases/tag/v2.0.6
Which is now used.

Full changelog: https://github.com/cockroachdb/pebble/compare/v2.0.3...v2.0.6

* Upgrade to go-ds-pebble v0.5.1 for pebbel v2.0.6 support

---------

Co-authored-by: gammazero <11790789+gammazero@users.noreply.github.com>
2025-07-01 19:32:33 -07:00
sukun
839023c79d chore: p2p-forge v0.6.0 + go-libp2p 0.42.0 (#10840)
* update go-libp2p to v0.42

* chore: p2p-forge v0.6.0 + final go-libp2p 0.42.0

* docs: changelog

---------

Co-authored-by: Marcin Rataj <lidel@lidel.org>
2025-06-26 02:18:44 +02:00
Andrew Gillis
20566bc815 Upgrade to Boxo v0.32.0 (#10839)
Upgrade to Boxo v0.32.0

* fix codecs sharness test
* fix sharness for new metrics
2025-06-17 03:20:54 -07:00
sukun
d70f6421d4 feat: AutoTLS with AutoNATv2 client (#10835)
* update autotls; libp2p to use autonatv2
* chore: p2p-forge@main with autonat fix

https://github.com/ipshipyard/p2p-forge/pull/70

---------

Co-authored-by: Marcin Rataj <lidel@lidel.org>
2025-06-17 00:29:50 +02:00
Marcin Rataj
cf096c2a85 fix(gateway): gateway-conformance v0.8 (#10818)
* fix: boxo master with boxo#922

* test: gateway-conformance v0.8

https://github.com/ipfs/gateway-conformance/releases/tag/v0.8.0
2025-05-28 21:45:15 +02:00
Andrew Gillis
4144fa1b96 Upgrade to Boxo v0.31.0 (#10819)
* Upgrade to Boxo v0.31.0
2025-05-27 18:48:34 -07:00
Marcin Rataj
46b2e60c9f fix: go-libp2p-kad-dht v0.33.1 (#10814)
https://github.com/libp2p/go-libp2p-kad-dht/releases/tag/v0.33.1
2025-05-21 17:26:25 +02:00
Marcin Rataj
3290afcef8 fix: p2p-forge v0.5.1 ignoring /p2p-circuit (#10813)
https://github.com/ipshipyard/p2p-forge/pull/68
2025-05-21 00:29:57 +02:00
Andrew Gillis
1c11ad6996 Upgrade go-libp2p-kad-dht to v0.33.0 (#10811) 2025-05-20 05:25:49 -07:00
Andrew Gillis
20d9660a64 chore: use go-log/v2 (#10801)
* chore: update to go-log/v2

go-log v2 has been out for quite a while now and it is time to deprecate v1.

Replace all use of go-log with go-log/v2
Makes /api/v0/log/tail useful over HTTP
Updates dependencies that have moved to go-lov/v2
Removes support for ContextWithLoggable as this is not needed for tracing-like functionality
- Replaces: PR #8765
- Closes issue #8753
- Closes issue #9245
- Closes issue #10809

Other fixes:
* update go-ipfs-cmds
* update http logs test
* fix test
* Read/send one line of log data at a time
* Update -log-level docs
2025-05-19 13:04:05 -07:00
Andrew Gillis
f7e0568a50 feat: IPFS_WAIT_REPO_LOCK (#10797)
* repo: optionally wait to acquire repo lock

Retry acquiring repo lock for a specified amount of time. Retry once per second until time is expired ro lock is acquired.

Lock wait timeout is specified using the environment variable `IPFS_WAIT_REPO_LOCK` and assigning it a value that is parsable as a golang `time.Duration`. For example:

```
IPFS_WAIT_REPO_LOCK="5s"
```

Closes #10482

* document IPFS_WAIT_REPO_LOCK

---------

Co-authored-by: Marcin Rataj <lidel@lidel.org>
2025-05-07 14:28:43 +00:00
Andrew Gillis
4e32677538 logging: upgrade to go-log/v2 v2.6.0 (#10798) 2025-05-07 05:37:22 -07:00
Andrew Gillis
7059620181 Update go-libp2p-pubsub to v0.13.1 (#10795) 2025-04-30 13:40:34 -07:00
Andrew Gillis
472674fd62 feat(pebble): support pinning FormatMajorVersion (#10789)
* Upgrade to pebble v2.0.3

- Configure latest pebble database format at init
- Do not automatically ratchet database format if set in config
- Daemon messge about new available pebble format
- Document pebble config with formatMajorVersion
- Add warning to users running badger, nudging them to switch to flatfs or pebble
- docs: explain Pebble's `FormatMajorVersion`
- Use pebbleds instead of badgerds in t0060-daemon.sh
- Print badgerds warning message to stderr
2025-04-30 12:13:56 -07:00
Andrew Gillis
05565083df Upgrade to Boxo v0.30.0 (#10794)
* Upgrade to Boxo v0.30.0
2025-04-30 06:07:09 -07:00
Hector Sanjuan
6b55e64918 feat(config): ipfs add and Import options for controling UnixFS DAG Width (#10774)
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2025-04-15 22:56:38 +02:00
Hector Sanjuan
996bcf30a6 feat: partial DAG provides with Reprovider.Strategy=mfs|pinned+mfs (#10754)
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2025-04-09 18:28:29 +02:00
Marcin Rataj
d28dae2b9f fix: go-libp2p v0.41.1
https://github.com/libp2p/go-libp2p/releases/tag/v0.41.1
2025-03-25 13:52:14 +01:00
Marcin Rataj
ca2090e760 fix: quic-go v0.50.1
https://github.com/quic-go/quic-go/releases/tag/v0.50.1
2025-03-24 01:41:42 +01:00
Andrew Gillis
441c0f590f Upgrade to Boxo v0.29.1 (#10755)
* Upgrade to Boxo v0.29.1

(cherry picked from commit 183dc7d40a)
2025-03-14 18:21:16 +01:00
Hector Sanjuan
4b8ed7f6a8 deps: update boxo to main-branch commit
(cherry picked from commit 6f2196f655)
2025-03-14 18:19:50 +01:00
Andrew Gillis
86aee74167 Upgrade to Boxo v0.29.0 (#10742)
* Upgrade to Boxo v0.29.0
* update changelog
2025-03-04 22:15:53 -08:00
Andrew Gillis
8077dbea61 use go-datastore without go-process (#10736)
* use go-datastore without go-process
* update go-ds-xxx dependencies
* update go-libp2p-kad-dht
* bitswap api changes
* Do not use multiple multi-error packages, pick one
* update boxo
* update expected metrics
2025-03-04 18:52:26 -08:00
Guillaume Michel
4c29169aa5 fix: deps (#10741) 2025-03-04 10:56:52 +01:00
Marco Munizaga
baa94fcb2f chore: update go-libp2p to v0.41.0 (#10733)
https://github.com/libp2p/go-libp2p/releases/tag/v0.41.0

Co-authored-by: Marcin Rataj <lidel@lidel.org>
2025-02-25 23:50:45 +01:00
Marcin Rataj
d6a5bc0b68 feat(AutoTLS): enabled by default with 1h RegistrationDelay (#10724)
Enables AutoTLS by default, but delays registration by 1h
if user did not explicitly set `AutoTLS.Enabled` to `true`
2025-02-25 22:25:58 +01:00
Guillaume Michel
65a9b59729 update kad-dht (#10732) 2025-02-25 10:28:51 +01:00
Andrew Gillis
26bb4ca276 Upgrade to Boxo v0.28.0 (#10725)
* Upgrade to Boxo v0.28.0
2025-02-24 16:54:14 -08:00
Andrew Gillis
8f07460ab3 Upgrade to go1.24 (#10726)
* Upgrade to go1.24
* fix test to look for new version info string
2025-02-24 14:46:20 -08:00
Andrew Gillis
2ca5637c4d Replace go-random with random-data from go-test package (#10731)
* Replace go-random with random-data from go-test package
2025-02-24 13:42:39 -08:00
Andrew Gillis
96215c5cfa Update to new go-test (#10729) 2025-02-21 17:11:58 -08:00
Andrew Gillis
56a053223e Update go-test and use new random-files generator (#10728)
* Update go-test and use new random-files generator

Update sharness test for new random files.

* Update random file generation
2025-02-21 14:27:27 -08:00
Andrew Gillis
9a4fffa356 Upgrade to go-libp2p v0.40.0 (#10727) 2025-02-21 11:47:18 -08:00
Andrew Gillis
eb53bbfa6c Update go-ds-badger to v0.3.1 (#10722)
* Update go-ds-badger to v0.3.1

* update changelog

* update changelog
2025-02-18 16:50:35 +01:00
Marcin Rataj
d53eb2450c fix: go-libp2p v0.39.1 (#10711)
https://github.com/libp2p/go-libp2p/releases/tag/v0.39.1
2025-02-13 23:47:36 +01:00
Marcin Rataj
b387530d07 chore: go-libp2p v0.39.0 (#10703)
https://github.com/libp2p/go-libp2p/releases/tag/v0.39.0
2025-02-06 22:31:59 +01:00
Andrew Gillis
e727f097ca fix: boxo v0.27.4 (#10692)
https://github.com/ipfs/boxo/releases/tag/v0.27.4

Co-authored-by: Marcin Rataj <lidel@lidel.org>
2025-02-04 18:47:43 +01:00
Sergey Gorbunov
b35555978d feat: Better self-service commands for DHT providing (#10677)
* Add lastRun, NextRun, move reprovide cmd to routing.
* acceleratedDHT logic
* changelog
* depend on latest boxo

---------

Co-authored-by: guillaumemichel <guillaume@michel.id>
Co-authored-by: Guillaume Michel <guillaumemichel@users.noreply.github.com>
2025-01-31 16:33:11 +01:00
Marcin Rataj
82945a9392 fix: quic-go v0.49.0 (#10673)
https://github.com/quic-go/quic-go/releases/tag/v0.49.0
2025-01-23 19:07:11 +01:00