Commit Graph

15526 Commits

Author SHA1 Message Date
guillaumemichel
a60eaee7f2 dual reprovider 2025-08-11 21:22:09 -10:00
guillaumemichel
7b11dfccc5 change router type 2025-08-11 21:18:52 -10:00
guillaumemichel
f406fdea42 fix provider type 2025-08-11 21:18:51 -10:00
guillaumemichel
1c9e27b202 go mod tidy 2025-08-11 21:15:31 -10:00
guillaumemichel
302cfa81ae update reprovider dep 2025-08-11 21:11:30 -10:00
guillaumemichel
caa37ccf15 reprovide sweep draft 2025-08-11 21:09:32 -10:00
Andrew Gillis
06abadc231
Fix failing FUSE test (#10904)
Some checks failed
CodeQL / codeql (push) Has been cancelled
Docker Build / docker-build (push) Has been cancelled
Gateway Conformance / gateway-conformance (push) Has been cancelled
Gateway Conformance / gateway-conformance-libp2p-experiment (push) Has been cancelled
Go Build / go-build (push) Has been cancelled
Go Check / go-check (push) Has been cancelled
Go Lint / go-lint (push) Has been cancelled
Go Test / go-test (push) Has been cancelled
Interop / interop-prep (push) Has been cancelled
Sharness / sharness-test (push) Has been cancelled
Spell Check / spellcheck (push) Has been cancelled
Interop / helia-interop (push) Has been cancelled
Interop / ipfs-webui (push) Has been cancelled
Test was failing becuase path passed to `path.NewPath` (from boxo) did not include a required namespace. Prepending the namespace to the path with "/ipfs/" fixes this.
2025-08-08 17:26:52 -07:00
Andrew Gillis
d4ab5129e9
fix(cmd): exit 1 on error (#10903)
* Fix command stream result handling

Do not close the stream prematurely in a deferred function. Also, avoid possible shadowing errors.

Closes #9007

* test(cli): test/cli/cid_test.go

includes regression tests for https://github.com/ipfs/kubo/issues/9007
and better coverage than the old test/sharness/t0290-cid.sh

(identified bug in basemoji)

* fix: base256emoji in cid bases --prefix

changed the character display logic from ASCII range check to
unicode.IsPrint() to properly handle Unicode characters including
emojis.

* docs: changelog

---------

Co-authored-by: Marcin Rataj <lidel@lidel.org>
2025-08-08 17:25:05 -07:00
sukun
b139df1658
feat: go-libp2p v0.43.0 (#10892)
Some checks are pending
CodeQL / codeql (push) Waiting to run
Docker Build / docker-build (push) Waiting to run
Gateway Conformance / gateway-conformance (push) Waiting to run
Gateway Conformance / gateway-conformance-libp2p-experiment (push) Waiting to run
Go Build / go-build (push) Waiting to run
Go Check / go-check (push) Waiting to run
Go Lint / go-lint (push) Waiting to run
Go Test / go-test (push) Waiting to run
Interop / interop-prep (push) Waiting to run
Interop / helia-interop (push) Blocked by required conditions
Interop / ipfs-webui (push) Blocked by required conditions
Sharness / sharness-test (push) Waiting to run
Spell Check / spellcheck (push) Waiting to run
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
Marcin Rataj
1c9fe273d9
fix: ipfs cid without repo (#10897)
* fix: `ipfs cid format` without repo

these commands should work without daemon or repo
but were missing SetDoesNotUseRepo(true)

* test: test/cli/commands_without_repo_test.go
2025-08-08 16:39:34 +02:00
Hector Sanjuan
6e039a4e1e
client/rpc: re-enable tests on windows. (#10895)
Some checks are pending
CodeQL / codeql (push) Waiting to run
Docker Build / docker-build (push) Waiting to run
Gateway Conformance / gateway-conformance (push) Waiting to run
Gateway Conformance / gateway-conformance-libp2p-experiment (push) Waiting to run
Go Build / go-build (push) Waiting to run
Go Check / go-check (push) Waiting to run
Go Lint / go-lint (push) Waiting to run
Go Test / go-test (push) Waiting to run
Interop / interop-prep (push) Waiting to run
Interop / helia-interop (push) Blocked by required conditions
Interop / ipfs-webui (push) Blocked by required conditions
Sharness / sharness-test (push) Waiting to run
Spell Check / spellcheck (push) Waiting to run
Fixes #9905.

Co-authored-by: Andrew Gillis <11790789+gammazero@users.noreply.github.com>
2025-08-08 11:22:51 +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
Marcin Rataj
cfbc64845c
feat: ipfs-webui v4.8.0 (#10902)
https://github.com/ipfs/ipfs-webui/releases/tag/v4.8.0
2025-08-08 03:58:12 +02:00
Andrew Gillis
918aa07c9e
refactor: move ipfs stat provide/reprovide to ipfs provide stat (#10896)
Some checks are pending
CodeQL / codeql (push) Waiting to run
Docker Build / docker-build (push) Waiting to run
Gateway Conformance / gateway-conformance (push) Waiting to run
Gateway Conformance / gateway-conformance-libp2p-experiment (push) Waiting to run
Go Build / go-build (push) Waiting to run
Go Check / go-check (push) Waiting to run
Go Lint / go-lint (push) Waiting to run
Go Test / go-test (push) Waiting to run
Interop / interop-prep (push) Waiting to run
Interop / helia-interop (push) Blocked by required conditions
Interop / ipfs-webui (push) Blocked by required conditions
Sharness / sharness-test (push) Waiting to run
Spell Check / spellcheck (push) Waiting to run
- Move `ipfs stat reprovide` to `ipfs provide stat`
- Mark `ipfs stat provide` as deprecated and replaces by `ipfs provide stat`
- Mark `ipfs stat reprovide` as deprecated and replaces by `ipfs provide stat`
- Remove redundant code from deprecated subcommands

Closes #10869
2025-08-07 17:17:00 -07:00
Hector Sanjuan
58ad11b573
Merge pull request #10889 from ipfs/reuse-connevtmanager
Some checks are pending
CodeQL / codeql (push) Waiting to run
Docker Build / docker-build (push) Waiting to run
Gateway Conformance / gateway-conformance (push) Waiting to run
Gateway Conformance / gateway-conformance-libp2p-experiment (push) Waiting to run
Go Build / go-build (push) Waiting to run
Go Check / go-check (push) Waiting to run
Go Lint / go-lint (push) Waiting to run
Go Test / go-test (push) Waiting to run
Interop / interop-prep (push) Waiting to run
Interop / helia-interop (push) Blocked by required conditions
Interop / ipfs-webui (push) Blocked by required conditions
Sharness / sharness-test (push) Waiting to run
Spell Check / spellcheck (push) Waiting to run
Bitswap: use a single ConnectEventManager.
2025-08-06 22:39:25 +02:00
Kapil Sareen
10abb9073d
feat(add): add support for naming pinned CIDs (#10877)
Some checks are pending
CodeQL / codeql (push) Waiting to run
Docker Build / docker-build (push) Waiting to run
Gateway Conformance / gateway-conformance (push) Waiting to run
Gateway Conformance / gateway-conformance-libp2p-experiment (push) Waiting to run
Go Build / go-build (push) Waiting to run
Go Check / go-check (push) Waiting to run
Go Lint / go-lint (push) Waiting to run
Go Test / go-test (push) Waiting to run
Interop / interop-prep (push) Waiting to run
Interop / helia-interop (push) Blocked by required conditions
Interop / ipfs-webui (push) Blocked by required conditions
Sharness / sharness-test (push) Waiting to run
Spell Check / spellcheck (push) Waiting to run
* feat(add): add support for naming pinned CID

Signed-off-by: kapil <kapilsareen584@gmail.com>

* fix(add): no double pinning and simplify pin-name

- modify PinRoot to accept name parameter, eliminating double pinning
- remove automatic filename fallback logic for cleaner behavior
- only create named pins when explicitly requested via --pin-name=value
- replace NoPinName constant with idiomatic empty string literals
- Update help text and tests to reflect explicit-only behavior

* docs: changelog

* chore: lint

* test: negative case for empty pin-name

* chore: gofmt

---------

Signed-off-by: kapil <kapilsareen584@gmail.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2025-08-06 02:16:16 +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
Marcin Rataj
47b31fe0c3
feat(daemon): accelerated client startup note (#10859)
this ensures user is not expecting improved performance from the start
and also they know when they run accelerated client, which is pretty
expensive
2025-08-05 23:47:23 +02:00
Ankita Sahu
458ad45bbe
docs:added GOLOG_LOG_LEVEL to debug-guide for logging more info (#10894)
Some checks are pending
CodeQL / codeql (push) Waiting to run
Docker Build / docker-build (push) Waiting to run
Gateway Conformance / gateway-conformance (push) Waiting to run
Gateway Conformance / gateway-conformance-libp2p-experiment (push) Waiting to run
Go Build / go-build (push) Waiting to run
Go Check / go-check (push) Waiting to run
Go Lint / go-lint (push) Waiting to run
Go Test / go-test (push) Waiting to run
Interop / interop-prep (push) Waiting to run
Interop / helia-interop (push) Blocked by required conditions
Interop / ipfs-webui (push) Blocked by required conditions
Sharness / sharness-test (push) Waiting to run
Spell Check / spellcheck (push) Waiting to run
2025-08-05 16:28:09 +02:00
Hector Sanjuan
5fdaad55bb
Merge pull request #10890 from ipfs/fx-separate-discovery
core: Add a ContentDiscovery field
2025-08-05 13:59:00 +02:00
Hector Sanjuan
19300f2d3f core: Add a ContentDiscovery field
No behaviour changes.

Currently we are using ProvideManyRouter for Bitswap, which is only meant to
use ContentDiscovery. This makes things more clear in that there is a
designated ContentDiscovery instance.
2025-08-01 12:22:13 +02:00
sukun
8862a5e58e
chore: update go-libp2p and p2p-forge (#10887)
Some checks failed
CodeQL / codeql (push) Has been cancelled
Docker Build / docker-build (push) Has been cancelled
Gateway Conformance / gateway-conformance (push) Has been cancelled
Gateway Conformance / gateway-conformance-libp2p-experiment (push) Has been cancelled
Go Build / go-build (push) Has been cancelled
Go Check / go-check (push) Has been cancelled
Go Lint / go-lint (push) Has been cancelled
Go Test / go-test (push) Has been cancelled
Interop / interop-prep (push) Has been cancelled
Sharness / sharness-test (push) Has been cancelled
Spell Check / spellcheck (push) Has been cancelled
Interop / helia-interop (push) Has been cancelled
Interop / ipfs-webui (push) Has been cancelled
* 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
Hector Sanjuan
017d5003f2 Bitswap: use a single ConnectEventManager.
After boxo v0.33.1, this is a recommended step to fix http retrieval bugs.

Having a single ConnectEventManager prevents misdirected operations in the
network.Router to change the Connectedness state in a way that the counterpart
(httpnet or bsnet) can later correct.
2025-07-31 16:13:47 +02:00
Andrew Gillis
02cf7519d0
Upgrade to Boxo v0.33.1 (#10888)
Some checks are pending
CodeQL / codeql (push) Waiting to run
Docker Build / docker-build (push) Waiting to run
Gateway Conformance / gateway-conformance (push) Waiting to run
Gateway Conformance / gateway-conformance-libp2p-experiment (push) Waiting to run
Go Build / go-build (push) Waiting to run
Go Check / go-check (push) Waiting to run
Go Lint / go-lint (push) Waiting to run
Go Test / go-test (push) Waiting to run
Interop / interop-prep (push) Waiting to run
Interop / helia-interop (push) Blocked by required conditions
Interop / ipfs-webui (push) Blocked by required conditions
Sharness / sharness-test (push) Waiting to run
Spell Check / spellcheck (push) Waiting to run
* Upgrade to Boxo v0.33.1
2025-07-31 04:53:14 -07:00
gammazero
fde0f8d0a1 Revert "Update to latest boxo PR #976"
Some checks failed
CodeQL / codeql (push) Has been cancelled
Docker Build / docker-build (push) Has been cancelled
Gateway Conformance / gateway-conformance (push) Has been cancelled
Gateway Conformance / gateway-conformance-libp2p-experiment (push) Has been cancelled
Go Build / go-build (push) Has been cancelled
Go Check / go-check (push) Has been cancelled
Go Lint / go-lint (push) Has been cancelled
Go Test / go-test (push) Has been cancelled
Interop / interop-prep (push) Has been cancelled
Sharness / sharness-test (push) Has been cancelled
Spell Check / spellcheck (push) Has been cancelled
Interop / helia-interop (push) Has been cancelled
Interop / ipfs-webui (push) Has been cancelled
This reverts commit 2a5b53c0b7.
2025-07-29 13:07:02 -10:00
gammazero
2a5b53c0b7 Update to latest boxo PR #976 2025-07-29 13:02:01 -10:00
Andrew Gillis
bb58ca4737
remove unneeded thirdparty packages (#10871)
Some checks failed
CodeQL / codeql (push) Has been cancelled
Docker Build / docker-build (push) Has been cancelled
Gateway Conformance / gateway-conformance (push) Has been cancelled
Gateway Conformance / gateway-conformance-libp2p-experiment (push) Has been cancelled
Go Build / go-build (push) Has been cancelled
Go Check / go-check (push) Has been cancelled
Go Lint / go-lint (push) Has been cancelled
Go Test / go-test (push) Has been cancelled
Interop / interop-prep (push) Has been cancelled
Sharness / sharness-test (push) Has been cancelled
Spell Check / spellcheck (push) Has been cancelled
Interop / helia-interop (push) Has been cancelled
Interop / ipfs-webui (push) Has been cancelled
* remove unneeded thirdparty packages

Remove unnecessary packages from `thirdparty` in repo.

- Remove `thirdparty/assert` (replaced by `github.com/stretchr/testify/require`)
- Remove `thirdparty/dir` (replacd by `misc/fsutil`)
- Remove `thirdparty/notifier` (unused)
2025-07-16 01:53:42 -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)
Some checks are pending
CodeQL / codeql (push) Waiting to run
Docker Build / docker-build (push) Waiting to run
Gateway Conformance / gateway-conformance (push) Waiting to run
Gateway Conformance / gateway-conformance-libp2p-experiment (push) Waiting to run
Go Build / go-build (push) Waiting to run
Go Check / go-check (push) Waiting to run
Go Lint / go-lint (push) Waiting to run
Go Test / go-test (push) Waiting to run
Interop / interop-prep (push) Waiting to run
Interop / helia-interop (push) Blocked by required conditions
Interop / ipfs-webui (push) Blocked by required conditions
Sharness / sharness-test (push) Waiting to run
Spell Check / spellcheck (push) Waiting to run
* Update dependencies
2025-07-15 08:21:15 -07:00
Marcin Rataj
1131dde620
Merge pull request #10868 from ipfs/merge-release-v0.36.0
Some checks failed
Docker Build / docker-build (push) Waiting to run
Gateway Conformance / gateway-conformance (push) Waiting to run
Gateway Conformance / gateway-conformance-libp2p-experiment (push) Waiting to run
Go Build / go-build (push) Waiting to run
Go Check / go-check (push) Waiting to run
Go Lint / go-lint (push) Waiting to run
Go Test / go-test (push) Waiting to run
Interop / interop-prep (push) Waiting to run
Interop / helia-interop (push) Blocked by required conditions
Interop / ipfs-webui (push) Blocked by required conditions
Sharness / sharness-test (push) Waiting to run
Spell Check / spellcheck (push) Waiting to run
CodeQL / codeql (push) Has been cancelled
chore: merge release v0.36.0
2025-07-14 22:26:16 +02:00
Marcin Rataj
8589296c88
Merge remote-tracking branch 'origin/master' into merge-release-v0.36.0 2025-07-14 20:12:04 +02:00
Marcin Rataj
780b207909
chore: changelog 0.37 2025-07-14 20:05:16 +02:00
Marcin Rataj
37b841103c
Merge pull request #10841 from ipfs/release-v0.36.0
Some checks failed
Spell Check / spellcheck (push) Has been cancelled
Release v0.36.0
2025-07-14 19:28:12 +02:00
Marcin Rataj
0276b3fafb
chore: 0.36.0
Some checks failed
Spell Check / spellcheck (push) Has been cancelled
2025-07-14 19:06:44 +02:00
Marcin Rataj
475e2bad67
docs: release checklist fixes from 0.36 (#10861) 2025-07-14 18:58:05 +02:00
Marcin Rataj
12144dbeed
chore: update links in markdown 2025-07-14 17:56:50 +02:00
Marcin Rataj
b4e6769a56
docs(config): add network exposure considerations (#10856)
Some checks failed
CodeQL / codeql (push) Has been cancelled
Docker Build / docker-build (push) Has been cancelled
Gateway Conformance / gateway-conformance (push) Has been cancelled
Gateway Conformance / gateway-conformance-libp2p-experiment (push) Has been cancelled
Go Build / go-build (push) Has been cancelled
Go Check / go-check (push) Has been cancelled
Go Lint / go-lint (push) Has been cancelled
Go Test / go-test (push) Has been cancelled
Interop / interop-prep (push) Has been cancelled
Sharness / sharness-test (push) Has been cancelled
Spell Check / spellcheck (push) Has been cancelled
Interop / helia-interop (push) Has been cancelled
Interop / ipfs-webui (push) Has been cancelled
this adds Security section in effort to clarify how each port should
be evaluated from the security perspective
2025-07-11 18:33:03 +02:00
Marcin Rataj
ee9a76f04f
chore: 0.36.0-rc2
Some checks failed
Spell Check / spellcheck (push) Has been cancelled
2025-07-08 23:16:14 +02:00
Marcin Rataj
9d19996dbd
feat(httpnet): gather metrics for allowlist
this wires up https://github.com/ipfs/boxo/pull/971
to make sure explicitly allowlisted hosts have
their own metric label

if we ever need more flexibility here, this can be exposed as
a separate config
2025-07-08 21:27:00 +02:00
Marcin Rataj
f17f89eefc
chore: changelog 2025-07-08 19:19:15 +02:00
Marcin Rataj
d3a4558f69 test: TestEditorParsing
Some checks are pending
Spell Check / spellcheck (push) Waiting to run
(cherry picked from commit e44b53a7c9)
2025-07-08 18:43:47 +02:00
Andrew Gillis
95453688e5 fix: handling of EDITOR env var (#10855)
The `ipfs config edit` command did not correctly handle the `EDITOR` environment variable correctly when its value contains flags and arguments, i.e. `EDITOR=emacs -nw`. The command was treating the entire value of `$EDITOR` as the name of the editor command. This has been fixed to parse the value of `$EDITOR` into separate args, respecting shell quoting.

Closes #9375

(cherry picked from commit 4195a1da9f)
2025-07-08 18:43:31 +02:00
Andrew Gillis
ca2b8f69a6 refactor: use slices.Sort where appropriate (#10858)
(cherry picked from commit b95845e539)
2025-07-08 18:43:23 +02:00
Andrew Gillis
120ea0d13b Upgrade to Boxo v0.33.0 (#10857)
* Upgrade to Boxo v0.33.0
* Update test to work with boxo-v0.33.0

(cherry picked from commit 738d5232fb)
2025-07-08 18:43:12 +02:00
Štefan Baebler
647aa2f9b5 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>
(cherry picked from commit 6f0c1de58f)
2025-07-08 18:42:52 +02:00
Hector Sanjuan
1269b0ce7e core:constructor: add a log line about http retrieval
Similar to broadcast control. Useful for debugging/info purposes.

(cherry picked from commit 024225eaf2)
2025-07-08 18:41:20 +02:00
sukun
1fa8dfcc88 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>
(cherry picked from commit 839023c79d)
2025-07-08 18:41:06 +02:00
Andrew Gillis
917466b6bd docs: fix minor typos (#10849)
(cherry picked from commit be24176976)
2025-07-08 18:40:32 +02:00
Andrew Gillis
aabedff818 Replace use of go-car v1 with go-car/v2 (#10845)
* Replace use of go-car v1 with go-car/v2

The `dag export` commend needed to be updated to use go-car/v2. This removes the last dependency on go-car v1.

(cherry picked from commit ace0b0b987)
2025-07-08 18:40:20 +02:00
Andrew Gillis
4195a1da9f
fix: handling of EDITOR env var (#10855)
Some checks failed
CodeQL / codeql (push) Has been cancelled
Docker Build / docker-build (push) Has been cancelled
Gateway Conformance / gateway-conformance (push) Has been cancelled
Gateway Conformance / gateway-conformance-libp2p-experiment (push) Has been cancelled
Go Build / go-build (push) Has been cancelled
Go Check / go-check (push) Has been cancelled
Go Lint / go-lint (push) Has been cancelled
Go Test / go-test (push) Has been cancelled
Interop / interop-prep (push) Has been cancelled
Sharness / sharness-test (push) Has been cancelled
Spell Check / spellcheck (push) Has been cancelled
Interop / helia-interop (push) Has been cancelled
Interop / ipfs-webui (push) Has been cancelled
The `ipfs config edit` command did not correctly handle the `EDITOR` environment variable correctly when its value contains flags and arguments, i.e. `EDITOR=emacs -nw`. The command was treating the entire value of `$EDITOR` as the name of the editor command. This has been fixed to parse the value of `$EDITOR` into separate args, respecting shell quoting.

Closes #9375
2025-07-08 09:00:28 -07:00