Commit Graph

426 Commits

Author SHA1 Message Date
Andrew Gillis
b3973fa016
refactor: make datastore metrics opt-in (#10788)
* datastore: metrics optional and off by default

When ipfs is initialized, the datastore metrics wrapper is not configured by default as it previously was. To enable datastore metrics during initialization, specifying the appropriate `--profile` option.

To enable datastore metrics tracking wrapper, initialize with datastore profile name + "-measure" suffix. For example:
```
ipfs init --profile flatfs-measure
```

Closes #10767

* fix sharness tests for new datastore dafaults

* Add sharness test to check metrics added by flatfs-measure profile

* Document updated metrics in changelog

* update config doc with new profiles

* docs(changelog): separate section

* initialize non-measure pebbleds with FormatMajorVersion config

* docs: fix typos, add docs link

---------

Co-authored-by: gammazero <gammazero@users.noreply.github.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2025-04-30 22:01:24 +02: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
Guillaume Michel
a5997375db
feat: Provider.WorkerCount and stats reprovide (#10779)
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
* adjust ipfs stats provide
* update boxo dep
* bump boxo
* fixing tests
* docs/chore: mark stat reprovide as experimental
* docs: Provider.Strategy

explicitly document it is not used - without this legacy users will have
it in their config and be very confused

---------

Co-authored-by: Marcin Rataj <lidel@lidel.org>
2025-04-30 15:32:03 +02: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)
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
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2025-04-15 22:56:38 +02:00
Marcin Rataj
fe3106f9a6
feat(config): expose ProviderSearchMaxResults (#10773)
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
Replacing hardcoded integer with named default and expose
config option for adjusting it, like we do in Rainbow
https://github.com/ipfs/kubo/pull/10765/files#r2025455848
2025-04-09 21:17:19 +02:00
Marcin Rataj
ee7fef251c
feat: ipfs-webui v4.7.0 (#10780)
https://github.com/ipfs/ipfs-webui/releases/tag/v4.7.0
2025-04-09 20:58:32 +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
Michael Vorburger
ef7cc60a5b
docs: Fix typo in v0.34 changelog (#10771) 2025-04-01 07:26:38 -07:00
Hector Sanjuan
8b54407df1
Merge pull request #10765 from ipfs/ignore-providers
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
Support WithIgnoreProviders() in provider query manager
2025-04-01 10:03:08 +02:00
Hector Sanjuan
112eb61f66 changelog: add mention to IgnoreProviders 2025-04-01 09:53:28 +02:00
Marcin Rataj
2d720d4c55
Merge branch 'master' into merge-release-v0.34.1 2025-03-25 19:41:36 +01:00
Marcin Rataj
d28dae2b9f
fix: go-libp2p v0.41.1
Some checks failed
Spell Check / spellcheck (push) Has been cancelled
https://github.com/libp2p/go-libp2p/releases/tag/v0.41.1
2025-03-25 13:52:14 +01:00
Marcin Rataj
8bf2aac931
chore: 0.34.1 2025-03-24 01:45:08 +01:00
Marcin Rataj
a9eb546cc4
chore: start changelog for v0.35 2025-03-20 23:05:57 +01:00
Marcin Rataj
38f255e3c4
chore: v0.34.0
Some checks failed
Spell Check / spellcheck (push) Has been cancelled
2025-03-20 21:12:02 +01:00
Marcin Rataj
0fcc990482 docs: mention Reprovider.Strategy config 2025-03-14 20:34:14 +01:00
Marcin Rataj
180f6224e3
docs: ipns ttl change 2025-03-14 20:06:20 +01:00
Marcin Rataj
ca4b6121ef feat: ipfs-webui v4.6 (#10756)
Some checks failed
Spell Check / spellcheck (push) Has been cancelled
https://github.com/ipfs/ipfs-webui/releases/tag/v4.6.0
(cherry picked from commit b2efaa992f)
2025-03-14 18:21:50 +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
Guillaume Michel
8af7f131e7 Update docs/changelogs/v0.34.md
(cherry picked from commit 9de938479c)
2025-03-14 18:20:14 +01:00
Hector Sanjuan
c953abb431 provider: buffer pin providers.
Fixes #10596.

The reproviding process can take long. Currently, each CID to be provided is
obtained by making a query to the pinner and reading one by one as the CIDs
get provided.

While this query is ongoing, the pinner holds a Read mutex on the pinset.

If a pin-add-request arrives, a goroutine will start waiting for a Write mutex
on the pinset. From that point, no new Read mutexes can be taken until the writer
can proceed and finishes.

However, no one can proceed because the read mutex is still held while the
reproviding is ongoing.

The fix is mostly in Boxo, where we add a "buffered" provider which reads the
cids onto memory so that they can be provided at its own pace without making
everyone wait.

The consequence is we will need more RAM memory. Rule of thumb is 1GiB extra per 20M cids to be reprovided.

(cherry picked from commit ba22102a64)
2025-03-14 18:20:00 +01:00
Abhinav Prakash
e221e941c7
fix(mfs): basic UnixFS sanity checks in files cp (#10701)
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
Signed-off-by: Abhinav Prakash <abhinav.prakash319@gmail.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>
Co-authored-by: Andrew Gillis <11790789+gammazero@users.noreply.github.com>
2025-03-05 20:40:33 +01:00
Andrew Gillis
86aee74167
Upgrade to Boxo v0.29.0 (#10742)
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.29.0
* update changelog
2025-03-04 22:15:53 -08:00
Marco Munizaga
baa94fcb2f
chore: update go-libp2p to v0.41.0 (#10733)
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
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
652d94b2b1
feat: ipfs-webui v4.5.0 (#10735)
https://github.com/ipfs/ipfs-webui/releases/tag/v4.5.0
2025-02-25 23:31:10 +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
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
Andrew Gillis
e41dc120f7
Update pebble db to latest format by default (#10720)
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 pebble db to latest format by default

If the pebble database format is not explicitly set in the config, then set it to the latest format version by default. This will ensure that the database format is sufficiently up-to-date to be compatible with a major version upgrade of pebble.
2025-02-17 15:32:53 -08:00
Russell Dempsey
40a7a388a4
fix: switch away from IPFS_LOG_LEVEL (#10694)
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
2025-02-14 18:25:31 +00:00
Marcin Rataj
b61dd6bf80
Merge remote-tracking branch 'origin/master' into merge-release-v0.33.2 2025-02-14 01:30:03 +01:00
Marcin Rataj
ba31701b5d
docs: v0.33.2 2025-02-13 23:42:47 +01:00
Marcin Rataj
8942a17b92
fix: v0.33.2 with go-libp2p v0.38.3
https://github.com/libp2p/go-libp2p/releases/tag/v0.38.3
2025-02-13 21:58:59 +01:00
Marcin Rataj
e77a484aa8
fix(rpc): restore and reprecate bitswap reprovide (#10699)
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
https://github.com/ipfs/kubo/pull/10677 removed command without properly
deprecating it first, this restores it and marks as deprecated

we can remove it after at least 1 release with deprecation being
announced
2025-02-10 16:12:53 +01:00
Marcin Rataj
aa72a12199
Merge branch 'master' into merge-release-v0.33.1 2025-02-04 22:55:57 +01:00
Marcin Rataj
30d5f8e9b9
docs(changelog): v0.33.1 2025-02-04 20:29:28 +01:00
Andrew Gillis
bddd4c60da fix: boxo v0.27.4 (#10692)
https://github.com/ipfs/boxo/releases/tag/v0.27.4

Co-authored-by: Marcin Rataj <lidel@lidel.org>
(cherry picked from commit e727f097ca)
2025-02-04 18:51:21 +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
Daniel Norman
70a8de4d1b docs: add webrtc-direct fixes to 0.33 release changelog (#10688)
(cherry picked from commit e08c7cb31d)
2025-02-04 18:08:56 +01:00
Sergey Gorbunov
032ceaf5d1
fix: Issue #9364 JSON config validation (#10679)
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
* Fix JSON config validation
* updated ReflectToMap

---------

Co-authored-by: galargh <piotr.galar@gmail.com>
Co-authored-by: Guillaume Michel <guillaumemichel@users.noreply.github.com>
Co-authored-by: guillaumemichel <guillaume@michel.id>
2025-02-04 17:26:36 +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
Daniel Norman
e08c7cb31d
docs: add webrtc-direct fixes to 0.33 release changelog (#10688) 2025-01-31 16:20:50 +01:00
youyyytrok
9adab295e0
feat: Add CI for Spell Checking (#10637)
* Create spellcheck.yml
* Create .codespell-ignore
---------

Co-authored-by: Marcin Rataj <lidel@lidel.org>
Co-authored-by: Guillaume Michel <guillaumemichel@users.noreply.github.com>
2025-01-30 17:50:51 +01:00
Marcin Rataj
8d199128a1
chore: changelog for 0.34 2025-01-29 23:38:02 +01:00
Marcin Rataj
b4b5d78f26
docs: 0.33.0 2025-01-29 21:42:45 +01:00
Marcin Rataj
033de22e3b fix: quic-go v0.49.0 (#10673)
https://github.com/quic-go/quic-go/releases/tag/v0.49.0
(cherry picked from commit 82945a9392)
2025-01-23 19:11:59 +01:00
Andrew Gillis
62ff2e6d37 Upgrade to Boxo v0.27.2 (#10672)
* Upgrade to Boxo v0.27.2

(cherry picked from commit a26aee1a11)
2025-01-23 16:49:36 +01:00
Marcin Rataj
6426e191bc
chore: 0.33.0-rc2 2025-01-22 22:43:44 +01:00
Andrew Gillis
5fdd87c850 Upgrade to Boxo v0.27.1 (#10671)
* Upgrade to Boxo v0.27.1
* update changelog
* use tagged release of boxo

(cherry picked from commit fcfdbfb32e)
2025-01-22 22:32:22 +01:00
Marcin Rataj
00cb38865f fix(autotls): renewal and AutoTLS.ShortAddrs (#10669)
* fix(autotls): renewal and AutoTLS.ShortAddrs

updates to p2p-forge/client with fix from
https://github.com/ipshipyard/p2p-forge/pull/42

we also add AutoTLS.ShortAddrs flag and enable it by default
to benefit from shorter addrs discusses in
https://github.com/ipshipyard/p2p-forge/pull/40

* test: fix flaky NewRandPort

reducing chance of bind: address already in use

(cherry picked from commit 256a739e3b)
2025-01-22 17:41:03 +01:00
Andrew Gillis
c51d7cd684 update changelog for boxo and go-libp2p (#10668)
(cherry picked from commit d0bc598e05)
2025-01-22 17:40:45 +01:00
Marcin Rataj
6aa7d99fe4 fix(dns): update default DNSLink resolvers (#10655)
* fix(dns): update default DNSLink resolvers

Depends on
- https://github.com/ipfs/boxo/pull/781
- https://github.com/ipfs/boxo/pull/782

* chore: latest boxo main and go-doh-resolver v0.5.0

makes error message better, informing which URL failled

* chore: p2p-forge v0.2.1+

this removes acmez/v2 and fixes go vet

* chore: latest boxo with DoH fixes

commit from main branch that includes:
https://github.com/ipfs/boxo/pull/645
https://github.com/ipfs/boxo/pull/782
https://github.com/ipfs/boxo/pull/781

(cherry picked from commit b021a00bf6)
2025-01-14 22:24:04 +01:00
Marcin Rataj
89c6e7eb89 chore: p2p-forge v0.2.2 + go-libp2p-kad-dht v0.28.2 (#10663)
* chore: p2p-forge v0.2.2

https://github.com/ipshipyard/p2p-forge/releases/tag/v0.2.2

* chore: go-libp2p-kad-dht v0.28.2

https://github.com/libp2p/go-libp2p-kad-dht/releases/tag/v0.28.2
(cherry picked from commit 5f8dd91c3c)
2025-01-14 01:57:03 +01:00
Marcin Rataj
9386fdcdfb fix(cli): support HTTPS in ipfs --api (#10659)
* fix(cli): support HTTPS in ipfs --api

Closes #10539

* chore: go-ipfs-cmds v0.14.1

https://github.com/ipfs/go-ipfs-cmds/releases/tag/v0.14.1

* docs: ipfs --api example

* test(cli): https rpc support

makes sure we dont have regression where HTTPS endpoint
starts getting cleartext requests

(cherry picked from commit 3b098b969a)
2025-01-13 18:58:03 +01:00
Andrew Gillis
5e1bacc2a8 fix/gateway: escape directory redirect url (#10649)
* fix/gateway: escape directory redirect URLs

When a director gets redirected to a URL with a treailing slash, special chars in the directory name must be escaped in the redirect URL. This upgrades to a version of box that has that fix.

Closes #10536

* Fix sharness test for new redirect URLs
* Update to latest boxo
* Use latest gateway-conformance

(cherry picked from commit b7cc47aef5)
2025-01-13 18:56:20 +01:00
Andrew Gillis
53792003bd collection of typo fixes (#10647)
(cherry picked from commit 9425421114)
2025-01-13 18:55:10 +01:00
Marcin Rataj
9282f08188
fix: ipfs-webui v4.4.2 (#10635)
https://github.com/ipfs/ipfs-webui/releases/tag/v4.4.2
2024-12-20 19:24:21 +01:00
Adin Schmahmann
397c346ae0
feat(libp2p): shared TCP listeners and AutoTLS.AutoWSS (#10565)
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
* feat(libp2p): enable shared TCP listeners

* docs: switch mentions of /ws to /tcp/4001

* feat: AutoTLS.AutoWSS

This adds AutoTLS.AutoWSS flag that is set to true by default.

It will check if Addresses.Swarm contain explicit /ws listener,
and if not found, it will append one per every /tcp listener

This way existing TCP ports are reused without any extra configuration,
but we don't break user's who have custom / explicit /ws listener
already.

I also moved logger around, to include Addresses.Swarm inspection
results in `autotls` logger.

* chore: go-libp2p v0.38.1

https://github.com/libp2p/go-libp2p/releases/tag/v0.38.0
https://github.com/libp2p/go-libp2p/releases/tag/v0.38.1

* docs: AutoTLS.AutoWSS and go-libp2p v0.38.x

* chore: p2p-forge/client v0.2.0

https://github.com/ipshipyard/p2p-forge/releases/tag/v0.2.0

* fix: disable libp2p.ShareTCPListener() in PNET

* chore(ci): timeout sharness after 15m

average successful run is  <9 minutes, no need to wait for 20
https://github.com/ipfs/kubo/actions/workflows/sharness.yml?query=is%3Asuccess

---------

Co-authored-by: Andrew Gillis <11790789+gammazero@users.noreply.github.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2024-12-20 18:41:25 +01:00
Marcin Rataj
f2c190535c
feat(flatfs): default to sync=false (#10632)
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
2024-12-19 16:14:45 -08:00
Hector Sanjuan
519ae27dce
feat: expose BlockKeyCacheSize and enable WriteThrough datastore options (#10614)
* feat: expose BlockKeyCacheSize and enable WriteThrough when bloom filter disabled
* import/config: add BatchMaxSize and BatchMaxNodes
* config: make BlockKeyCacheSize an OptionalInteger
* config: add and wire datastore.WriteThrough option
* config: omitempty on BlockKeyCacheSize
* changelog: rewrite entry about new options for the datastore
* config: add docs for BatchMaxNodes and BatchMaxSize
* config: make WriteThrough an optional Flag
* changelog: improve description of new datastore/import options
* refactor: DefaultWriteThrough as bool
* chore: boxo v0.26.0
* docs: config and changelog fixes
2024-12-19 23:12:05 +00:00
Hector Sanjuan
ecb25581c6
cmd/files: flush parent folders (#10630)
* cmd/files: flush parent folders

This is a mitigation to increased MFS memory usage in the course of many writes operations.

The underlying issue is the unbounded growth of the mfs directory cache in
boxo. In the latest boxo version, this cache can be cleared by calling Flush()
on the folder. In order to trigger that, we call Flush() on the parent folder
of the file/folder where the write-operations are happening.

To flushing the parent folder allows it to grow unbounded. Then, any read
operation to that folder or parents (i.e. stat), will trigger a sync-operation to match
the cache to the underlying unixfs structure (and obtain the correct node-cid).

This sync operation must visit every item in the cache. When the cache has grown too much,
and the underlying unixfs-folder has switched into a HAMT, the operation can take minutes.

Thus, we should clear the cache often and the Flush flag is a good indicator
that we can let it go. Users can always run with --flush=false and flush at
regular intervals during their MFS writes if they want to extract some performance.

Fixes #8694, #10588.

* cmd/files: docs and changelog for --flush changes
2024-12-19 14:07:17 -08:00
Andrew Gillis
7c49860061
Upgrade to Boxo v0.26.0 (#10631)
* Upgrade to Boxo v0.26.0
* Update docs/changelogs/v0.33.md
2024-12-19 13:54:02 -08:00
Andrew Gillis
19dc712498
chore: boxo v0.25.0 (#10619)
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
https://github.com/ipfs/boxo/releases/tag/v0.25.0
2024-12-09 23:25:44 +01:00
Hector Sanjuan
433444b609
fix(cmds/add): disallow --wrap with --to-files (#10612)
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
Interop / helia-interop (push) Has been cancelled
Interop / ipfs-webui (push) Has been cancelled
Close #10611
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2024-12-03 21:49:18 +01:00
Marcin Rataj
53e793afdd
fix: ipfs-webui v4.4.1 (#10608)
https://github.com/ipfs/ipfs-webui/releases/tag/v4.4.1
2024-12-03 20:11:34 +01:00
Marten Seemann
778a418952
refactor(rcmgr): use default libp2p rcmgr metrics (#9947)
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
Interop / helia-interop (push) Has been cancelled
Interop / ipfs-webui (push) Has been cancelled
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2024-11-27 20:50:43 +01:00
Hector Sanjuan
9433105a85
docs(changelog/v0.33): bitswap reprovide changes (#10604) 2024-11-27 19:40:16 +01:00
Marcin Rataj
3b2c2698e7
chore: p2p-forge/client v0.1.0 (#10605) 2024-11-27 19:28:11 +01:00
Marcin Rataj
23ef1d70e7
fix: go-libp2p v0.37.2 (#10603)
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
* chore: go-libp2p v0.37.1

https://github.com/libp2p/go-libp2p/releases/tag/v0.37.1

* chore: go-libp2p v0.37.2

https://github.com/libp2p/go-libp2p/releases/tag/v0.37.2
2024-11-26 19:49:02 +01:00
Hector Sanjuan
37c5060742
Update to boxo with refactored providerQueryManager. (#10595)
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
2024-11-26 03:34:06 -08:00
Marcin Rataj
83b06f14d2
fix: go-libp2p-kad-dht v0.28.1 (#10581)
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
https://github.com/libp2p/go-libp2p-kad-dht/releases/tag/v0.28.1
2024-11-15 17:50:18 +01:00
Marcin Rataj
7ca106353e
chore: changelog for 0.33 2024-11-14 03:17:31 +01:00
Marcin Rataj
970fcb58df
chore: 0.32.0 2024-11-14 00:57:03 +01:00
Marcin Rataj
136ed3ca6d fix: go-libp2p-kad-dht v0.28.0 (#10578)
https://github.com/libp2p/go-libp2p-kad-dht/releases/tag/v0.28.0
(cherry picked from commit e80e821cf8)
2024-11-13 23:58:22 +01:00
Marcin Rataj
4f06b6a005
chore: 0.32.0-rc2 2024-11-08 00:15:49 +01:00
Marcin Rataj
b87d512b31 feat: ipfs-webui v4.4.0 (#10574)
https://github.com/ipfs/ipfs-webui/releases/tag/v4.4.0
(cherry picked from commit 5d2f5369c7)
2024-11-07 22:13:29 +01:00
Marcin Rataj
5d88447d27 chore: boxo v0.24.3 and p2p-forge v0.0.2 (#10572)
https://github.com/ipfs/boxo/releases/tag/v0.24.3
https://github.com/ipshipyard/p2p-forge/releases/tag/v0.0.2
(cherry picked from commit 1512ec5fa5)
2024-11-07 03:34:57 +01:00
Andrew Gillis
c53f3c552d chore: stop using go-homedir (#10568)
* chore: stop using go-homedir

The `github.com/mitchellh/go-homedir` repo is archived, no longer needed, and no longer maintained.

- `homedir.Dir` is replaced by the stdlib `os.UserHomeDir`
- `homedir.Expand` is replaced by fsutil.ExpandHome` in the `github.com/ipfs/kubo/misc/fsutil` package.

Additional functionality, such as `DirWritable` and `FileExists` was moved into or included in the `github.com/ipfs/kubo/misc/fsutil` package.

(cherry picked from commit 4009ad3e5a)
2024-11-05 17:02:55 +01:00
Daniel Norman
caa88440cd
docs(autotls): add note about separate port use (#10562)
Co-authored-by: Daniel N <2color@users.noreply.github.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2024-10-30 17:36:43 +01:00
Adin Schmahmann
3134fd246e
feat(AutoTLS): opt-in WSS certs from p2p-forge at libp2p.direct (#10521)
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
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2024-10-29 22:37:33 +01:00
Andrew Gillis
ecb81c9222
chore: upgrade to boxo v0.24.2 (#10559)
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
Interop / helia-interop (push) Has been cancelled
Interop / ipfs-webui (push) Has been cancelled
* use boxo v0.24.2
* update changelog
2024-10-25 20:59:26 +02:00
Marco Munizaga
56c68a1657
refactor: update to go-libp2p v0.37.0 (#10554)
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
Interop / helia-interop (push) Has been cancelled
Interop / ipfs-webui (push) Has been cancelled
https://github.com/libp2p/go-libp2p/releases/tag/v0.37.0

Co-authored-by: Marcin Rataj <lidel@lidel.org>
2024-10-23 01:31:40 +02:00
Andrew Gillis
1fd5ab4c45
chore: update dependencies (#10548)
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
update dependencies
2024-10-22 11:26:02 -07:00
gammazero
5cc979f15f Create Changelog: v0.32
This PR creates changelog: v0.32
2024-10-16 22:03:21 -10:00
gammazero
4aebe7f27b Add full changelog to release changelog
(cherry picked from commit 36f385cfdb)
2024-10-16 05:54:15 -10:00
Marcin Rataj
598545171c fix: go 1.23(.2) (#10540)
go1.23.2 includes potential fix for issue described in
https://github.com/ipfs/kubo/issues/10501

(cherry picked from commit 091bc083c3)
2024-10-08 17:17:58 +02:00
Marcin Rataj
6b3cd0d14f
chore: typo 2024-10-07 21:52:08 +02:00
Andrew Gillis
52b00624cd
feat: pebbleds profile and plugin (#10530)
* include pebble as built-in plugin

Pebble provides a high-performance alternative to leveldb as the datastore, and will serve as a replacement for badger1.

There are a number of tuning parameters available for tuning pebble's performance to your specific needs. Default values are used for any that are not configured or are set to the parameter's zero-value.

Requires https://github.com/ipfs/go-ds-pebble/pull/39

Closes #10347

* docs: remove mention of ipfs-ds-convert. Rationale: https://github.com/ipfs/ipfs-ds-convert/issues/50
* docs: pebbleds profile
* test: meaningful t0025-datastores.sh
* Update config/init.go
* Update docs/config.md
* Do not hard-code zero values into pebble config
2024-10-03 13:58:14 -07:00
Marcin Rataj
1bc773fd8b
chore: dependency updates for 0.31 (#10511)
* chore: client_golang v1.20.4
* chore: go-libp2p-kbucket v0.6.4
* chore: go-libp2p v0.36.4
* chore: go-car/v2 v2.14
* chore: go-ipld-cbor v0.2.0
2024-10-03 22:03:58 +02:00
Marcin Rataj
a8ecf014a9
feat: explicit announce-on/off profiles (#10524)
moving reprovide on/off to separate profile to avoid footgun
where node no longer announces to DHT + ipfs daemon check
that prints warning on start if reprovide system is disabled
2024-10-03 21:39:52 +02:00
Marcin Rataj
3799c32971
chore: create next changelog (#10510) 2024-09-11 19:01:22 +02:00
Marcin Rataj
2b86fa819c
Merge branch 'master' into merge-release-v0.30.0 2024-09-11 18:54:27 +02:00
Marcin Rataj
aa355da338
docs: changelog cleanup 2024-09-11 16:14:50 +02:00
Marcin Rataj
b0812d82dd
docs: changelog and contributors 2024-09-11 16:04:53 +02:00
Marcin Rataj
c228935ba5 chore: boxo v0.23.0 and go-libp2p v0.36.3 (#10507)
https://github.com/libp2p/go-libp2p/releases/tag/v0.36.3
https://github.com/ipfs/boxo/releases/tag/v0.23.0
(cherry picked from commit 6454bdb4ea)
2024-09-05 23:59:01 +02:00
Marcin Rataj
6454bdb4ea
chore: boxo v0.23.0 and go-libp2p v0.36.3 (#10507)
https://github.com/libp2p/go-libp2p/releases/tag/v0.36.3
https://github.com/ipfs/boxo/releases/tag/v0.23.0
2024-09-05 23:52:19 +02:00
Andrew Gillis
467fc69e91 chore: update go-unixfsnode, cmds, and boxo (#10494)
* Update go-unixfsnode dependency
* Update go-ipfs-cmds
* chore: boxo@main with boxo#659

---------

Co-authored-by: Marcin Rataj <lidel@lidel.org>
(cherry picked from commit add45cf34c)
2024-08-28 19:11:18 +02:00
Andrew Gillis
3bb09f89a1 fix(cli): preserve hostname specified with --api in http request headers (#10497)
Preserve hostname specified with --api in http request headers

- Replaces PR #10233
- Add test to check for hostname in HTTP header
- Update docs/changelogs/v0.30.md

(cherry picked from commit 5fe960474c)
2024-08-28 19:06:44 +02:00
Andrew Gillis
5fe960474c
fix(cli): preserve hostname specified with --api in http request headers (#10497)
Preserve hostname specified with --api in http request headers

- Replaces PR #10233
- Add test to check for hostname in HTTP header
- Update docs/changelogs/v0.30.md
2024-08-28 10:03:26 -07:00
Andrew Gillis
add45cf34c
chore: update go-unixfsnode, cmds, and boxo (#10494)
* Update go-unixfsnode dependency
* Update go-ipfs-cmds
* chore: boxo@main with boxo#659

---------

Co-authored-by: Marcin Rataj <lidel@lidel.org>
2024-08-28 02:41:45 +02:00
Andrew Gillis
263edb251e
feat: Support storing UnixFS 1.5 Mode and ModTime (#10478)
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2024-08-21 02:02:46 +02:00
Marcin Rataj
85ab35d60f
docs: improve style
Co-authored-by: djdv <ddvpublic@Gmail.com>
2024-08-20 17:39:24 +02:00
Marcin Rataj
fdfd2bc4a1
docs: document rpc over unix socket 2024-08-20 17:04:20 +02:00
Marcin Rataj
0d428310b2
feat(daemon): improve stdout on startup (#10472) 2024-08-14 16:42:24 +02:00
Marcin Rataj
ffab7b271a
feat: run AutoNAT V2 service in addition to V1 (#10468)
* feat: libp2p.EnableAutoNATv2

Part of https://github.com/ipfs/kubo/issues/10091
We include a flag that allows shutting down V2 in case there are issues
with it.

* docs: EnableAutoNATv2
2024-08-06 21:51:45 +02:00
Marcin Rataj
feef0851bd
feat: go-libp2p 0.36 and /webrtc-direct listener (#10463)
Co-authored-by: Marco Munizaga <git@marcopolo.io>
2024-08-06 21:25:27 +02:00
Patryk
225dbe6c03
feat: periodic version check and json config (#10438)
Co-authored-by: Lucas Molas <schomatis@gmail.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2024-07-24 23:42:19 +02:00
Marcin Rataj
c9bab01a50
chore: create next changelog (#10443) 2024-06-10 22:56:11 +02:00
Marcin Rataj
b35cd62430
docs(changelog): v0.29.0 2024-06-10 15:10:57 +02:00
Marcin Rataj
5a7029e8cc fix(cli): unify --name param in ls and add (#10439)
This is a cosmetic fix for bug found during testing 0.29.0-rc2.
pin add --name had shorthand -n
pin ls --name had no shorthand, and --names had -n

This unifies -n making it a shorthand for the same parameter in both
`pin ls` and `pin add`.

(cherry picked from commit a07852a3f0)
2024-06-06 22:21:54 +02:00
Henrique Dias
8022e13a6b
config: introduce Import section (#10421)
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2024-05-14 14:17:04 +00:00
IGP
ae05085644
feat: enables searching pins by name (#10412)
Co-authored-by: Henrique Dias <mail@hacdias.com>
2024-05-14 11:05:35 +00:00
Henrique Dias
f0cc65bf1a
chore: create next changelog 2024-04-15 11:15:51 +02:00
Henrique Dias
7374880fbe chore: update changelog for v0.28 2024-04-15 07:15:38 +00:00
Henrique Dias
6f2a61e1df
core/node: prioritize announcing pin roots, and flat strategy (#10376)
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2024-04-09 06:37:23 +00:00
Henrique Dias
11183bb2f5
chore: upgrade go-libp2p-kad-dht (#10378)
* chore: upgrade go-libp2p-kad-dht
* config: make LoopbackAddressesOnLanDHT a Flag
* config: add DefaultLoopbackAddressesOnLanDHT
* docs(config): Routing.LoopbackAddressesOnLanDHT

---------

Co-authored-by: Marcin Rataj <lidel@lidel.org>
2024-04-04 12:56:19 +00:00
Henrique Dias
9047fed8d5
core/commands!: remove deprecated object APIs (#10375) 2024-03-22 09:32:30 +01:00
shuangcui
0bdfe94272
docs: remove repetitive words (#10370)
Signed-off-by: shuangcui <fliter@qq.com>
2024-03-19 12:10:34 +01:00
Henrique Dias
e22f47ae4b
core/corehttp!: remove /api/v0 from gateway port 2024-03-05 08:21:13 +00:00
Henrique Dias
d77a9e69f7 client/rpc!: remove deprecated DHT commands 2024-03-05 09:01:00 +01:00
Henrique Dias
ef406669ef chore: create next changelog 2024-03-04 13:01:34 +01:00
Henrique Dias
10e6a20f73 chore: update changelog for v0.27 2024-03-04 10:10:56 +00:00
Henrique Dias
595e1ba268
repo/fsrepo/migrations: verified HTTP migrations (#10324) 2024-02-19 14:20:58 +01:00
Henrique Dias
1ef8f83a41
core/commands: remove 'ipfs dht' commands, except 'query' (#10328) 2024-02-07 09:56:30 +00:00
Henrique Dias
80973d87cc core: deprecate CoreAPI.Dht, introduce CoreAPI.Routing 2024-02-07 10:47:30 +01:00
Henrique Dias
0ea879b4a1
feat: add Ipns.MaxCacheTTL 2024-01-26 11:20:34 +01:00
Henrique Dias
e166af9756
core/corehttp: wrap gateway with headers, deprecate gateway /api/v0 2024-01-24 09:33:23 +00:00
Henrique Dias
b4eff755a6 chore: create next changelog 2024-01-22 16:42:06 +01:00
Henrique Dias
7e80522786
chore: update changelog 2024-01-22 14:35:53 +01:00
Jorropo
b215d73e45 chore: update otlp
Tracks ipfs/boxo#532
2024-01-04 18:16:59 +01:00
Henrique Dias
a8a6bbe929
feat: support optional pin names (#10261) 2024-01-04 14:25:06 +01:00
Adin Schmahmann
287444bc6e chore: update changelog 2023-12-19 19:52:50 -05:00
Jorropo
133feb6efb
Merge branch 'master' into merge-release-v0.25.0 2023-12-14 18:49:34 +01:00
Jorropo
87069b5355 chore: update changelog for v0.25 2023-12-14 14:11:25 +00:00
Henrique Dias
5c31db3a3d
commands: remove several deprecated commands
Removes the following commands: ipfs tar, ipfs urlstore, ipfs repo fsck, ipfs file ls, ipfs dns.
2023-12-12 18:21:52 +01:00
Henrique Dias
8ab2de5ff0
feat: ipfs key sign|verify (#10235) 2023-12-04 09:51:26 +01:00
Russell Dempsey
d882642168
feat: webui v4.2.0 (#10241)
https://github.com/ipfs/ipfs-webui/releases/tag/v4.2.0

Co-authored-by: Marcin Rataj <lidel@lidel.org>
2023-12-03 22:48:28 +01:00
Jorropo
6a51849c29 libp2p: remove mplex
Fixes: #10069
2023-11-22 08:06:39 +03:00
Jorropo
2b347a914d graphsync: remove support for the server
Updates: #9396
Closes: #6831
Closes: #6208

Currently the Graphsync server is not widely used due to lack of compatible software.
There have been many years yet we are unable to find any production software making use of the graphsync server in Kubo.

There exists some in the filecoin ecosystem but we are not aware of uses with Kubo.
Even in filecoin graphsync is not the only datatransfer solution available like it could have been in the past.

`go-graphsync` is also developped on many concurrent branches.
The specification for graphsync are less clear than the trustless gateway one and lack a complete conformance test suite any implementation can run.
It is not easily extansible either because selectors are too limited for interesting queries without sideloading ADLs, which for now are hardcoded solutions.
Finaly Kubo is consistently one of the fastest software to update to a new go-libp2p release.
This means the burden to track go-libp2p changes in go-graphsync falls on us, else Kubo cannot compile even if almost all users do not use this feature.
We are then removing the graphsync server experiment.

For people who want alternatives we would like you to try the Trustless-Gateway-over-Libp2p experiment instead, the protocol is simpler (request-response-based) and let us reuse both clients and servers with minimal injection in the network layer.
If you think this is a mistake and we should put it back you should try to answer theses points:
- Find a piece of opensource code which uses a graphsync client to download data from Kubo.
- Why is Trustless-Gateway-over-Libp2p not suitable instead ?
- Why is bitswap not suitable instead ?

Implementation details such as go-graphsync performance vs boxo/gateway is not very interesting to us in this discussion unless they are really huge (in the range of 10x~100x+ more) because the gateway code is under high development and we would be interested in fixing theses.
2023-11-22 06:57:45 +03:00
Henrique Dias
01cc5eab57
feat(rpc): Opt-in HTTP RPC API Authorization (#10218)
Context: https://github.com/ipfs/kubo/issues/10187
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2023-11-17 01:29:29 +01:00
Marcin Rataj
7834a26d03 docs(changelog): clarify webrtc in v0.24
This sets the expectations (not production ready) and
gives users hint how to enable it by adding `/udp/4001/webrtc-direct`
listener.
2023-11-09 09:23:22 +01:00
Henrique Dias
9655d92908 chore: create next changelog 2023-11-08 14:03:18 +01:00
Henrique Dias
2d4a20e9cc
chore: update changelog for v0.24 2023-11-08 10:29:26 +01:00
Henrique Dias
a87e305793 docs: make it clear Web RTC Direct is experimental 2023-11-03 14:57:17 +01:00
Henrique Dias
10eb459f84 feat: add WebRTC Direct support 2023-11-03 14:57:17 +01:00
Hector Sanjuan
a0f34b16dd
feat: built-in content blocking based on IPIP-383 (#10161)
Fixes #8492

This introduces "nopfs" as a preloaded plugin into Kubo
with support for denylists from https://github.com/ipfs/specs/pull/383

It automatically makes Kubo watch *.deny files found in:

- /etc/ipfs/denylists
- $XDG_CONFIG_HOME/ipfs/denylists
- $IPFS_PATH/denylists

* test: Gateway.NoFetch and GatewayOverLibp2p

adds missing tests for "no fetch" gateways one can expose,
in both cases the offline mode is done by passing custom
blockservice/exchange into path resolver, which means
global path resolver that has nopfs intercept is not used,
and the content blocking does not happen on these gateways.

* fix: use offline path resolvers where appropriate

this fixes the problem described in
https://github.com/ipfs/kubo/pull/10161#issuecomment-1782175955
by adding explicit offline path resolvers that are backed
by offline exchange, and using them in NoFetch gateways
instead of the default online ones

---------

Co-authored-by: Henrique Dias <hacdias@gmail.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2023-10-28 05:34:14 +02:00
Henrique Dias
4695fd9fed
refactor: namesys cleanup, gateway /ipns/ ttl (#10115) 2023-10-18 10:23:50 +02:00
Jorropo
12303012c0
Merge pull request #10166 from ipfs/merge-release-v0.23.0
Merge Release: v0.23.0
2023-10-05 20:47:31 +02:00
Jorropo
c9d1c3bfea chore: update changelog for v0.23 2023-10-05 15:40:42 +00:00
Henrique Dias
bd36a9d06b docs: capitalize headers for consistency
(cherry picked from commit c80a5a867b)
2023-10-05 17:20:17 +02:00
Henrique Dias
c80a5a867b docs: capitalize headers for consistency 2023-10-04 11:55:33 +02:00
Henrique Dias
97527472fe
feat(gateway): update gateway api, no multi-range support 2023-10-02 16:43:52 +02:00
Jorropo
7cca58ea27 changelog: generalize fuse 9044's entry 2023-09-26 11:23:51 +02:00
Jorropo
0f1ec5949e changelog: update fuse 9044's entry 2023-09-25 15:39:55 +02:00
Bernhard M. Wiedemann
7173178799 Update go-unixfsnode to 1.8.0 to fix FUSE
Fixes #9044 regression in 0.13.0 FUSE access to some files
2023-09-25 15:39:55 +02:00
Jorropo
c079a099c0 changelog: mention probelab RFM17.1 dht improvement 2023-09-21 20:14:21 +02:00
Henrique Dias
0bac56c3aa
feat: add Gateway.DisableHTMLErrors option (#10137) 2023-09-21 15:03:17 +00:00
Henrique Dias
4e3008fdf3
docs: add changelog info for QUIC Draft 29 (#10132)
Co-authored-by: Adin Schmahmann <adin.schmahmann@gmail.com>
2023-09-20 13:27:52 +02:00
Jorropo
3f33e61d3a chore: update to go1.21 for gateway over libp2p 2023-09-20 10:47:03 +02:00
Marcin Rataj
dbf6a05f42 docs(changelog): link to relevant IPIP 2023-09-16 22:24:30 +02:00
Marcin Rataj
8d28507814
docs: gateway-http-over-libp2p 2023-09-06 02:57:14 +02:00
Adin Schmahmann
d86192a9bf changelog(gateway-over-libp2p): add gateway-over-libp2p changelog 2023-09-01 16:52:12 -04:00
Henrique Dias
4606586207
feat(gateway): expose /routing/v1 server (opt-in) (#9877) 2023-08-25 17:30:04 +02:00
Henrique Dias
1e5ce93659 fix: use %-encoded headers in most compatible way 2023-08-22 15:43:01 +02:00
Marcin Rataj
733b01a37b
fix(gw): useful IPIP-402 CARs on not found errors (#10084)
Co-authored-by: Henrique Dias <hacdias@gmail.com>
2023-08-18 06:54:08 +00:00
Jorropo
f805b9fcda feat: allow users to optin again into mplex
This is a partial revert of 7220409394.

Closes #9958
2023-08-15 14:53:44 +02:00
Jorropo
7220409394 feat: remove Mplex
Mplex does not implement backpressure, our implementation will randomly reset streams if buffers overflow instead of risking deadlocks.

In the past we had a bug where kubo nodes would prefer mplex over yamux. Turning off mplex make our connections to thoses nodes negociate yamux.

Closes #9958
2023-08-15 11:35:45 +02:00
Jorropo
fe94dade32 docs: add v0.23.md 2023-08-14 15:04:36 +02:00
Jorropo
ea4bf382af docs: get ready for v0.23 2023-08-14 15:01:41 +02:00
Marcin Rataj
54ac8124c3
chore: fix link in v0.22 changelog 2023-08-09 20:58:54 +02:00
Jorropo
efa179fce4 changelog: add mkreleaselog for v0.22 2023-08-08 16:42:12 +02:00
Jorropo
f1ec5298a9 Merge branch 'release-v0.21' back into master 2023-08-08 14:18:32 +02:00
Jorropo
61e0779f66 changelog: make v0.21.1 2023-08-08 14:01:19 +02:00
Jorropo
89b0432387 chore: merge release back into master
Needs to include 9db33d3191
2023-07-31 17:13:48 +02:00
Marcin Rataj
afa891b0ed
docs: changelog v0.21 fixes (#10037)
Co-authored-by: Jorropo <jorropo.pgm@gmail.com>
2023-07-27 20:14:30 +02:00
Jorropo
149190c5a6 chore: update changelog for v0.22 2023-07-27 11:55:23 +00:00
Jorropo
6be6630e4e libp2p: stop reporting ProtocolVersion 2023-07-26 14:48:19 +02:00
Jorropo
9c02eecad7
fix: mark all routers DoNotWaitForSearchValue (#10020)
* fix: mark ipns pubsub router DoNotWaitForSearchValue

That means if the DHT has finished searching and no one responded over pubsub *yet*, we will not spend 1 minute searching for no reason.

This also include other error handling bug fixes inside `go-libp2p-routing-helpers`.

Fixes: #9927

* routing: bring back the old IPNS behaviour

Stop making this configurable let everything race like it used to do.
2023-07-25 19:39:21 +02:00
Henrique Dias
a8c63537f2
feat(gateway): support for ipip-412 parameters 2023-07-24 11:09:09 +02:00
Henrique Dias
0c890de400
Merge branch 'master' into merge-release-v0.21.0 2023-07-03 13:24:34 +02:00
Henrique Dias
4d5f2b89e9 chore: update changelog for v0.21 2023-06-29 15:13:51 +00:00
Henrique Dias
5156f21162
feat(ipns): records with V2-only signatures (#9932) 2023-06-20 14:24:31 +02:00
Jorropo
02fb0a4ad4
cmds/dag/import: pin roots by default (#9966)
This is a partial revert of b685355ca8.
Closes #9765 with compromise agreed in https://github.com/ipfs/kubo/issues/9765#issuecomment-1593117410
2023-06-20 08:20:26 +02:00
Henrique Dias
91835546c7
docs: fix 0.21 changelog 2023-06-20 08:20:25 +02:00
Rod Vagg
308274f886
feat!: dag import - don't pin roots by default (#9926)
* feat!: dag import - don't pin roots by default

Fixes: https://github.com/ipfs/kubo/issues/9765

* test(ipip-402): dag import

this adds basic regression test that guards behavior
around partial cars with or without pinning

* docs(ipip-402): ipip and dag import changelog

---------

Co-authored-by: Marcin Rataj <lidel@lidel.org>
2023-06-20 08:20:24 +02:00
Jorropo
82fd9ec329
cmds/dag/import: pin roots by default (#9966)
This is a partial revert of b685355ca8.
Closes #9765 with compromise agreed in https://github.com/ipfs/kubo/issues/9765#issuecomment-1593117410
2023-06-15 16:41:59 +02:00
Henrique Dias
2cbee81b9b docs: fix 0.21 changelog 2023-06-15 14:58:02 +02:00
Marcin Rataj
df5c0620ec
chore(docs): typo http→https 2023-06-15 13:20:19 +02:00
Rod Vagg
b685355ca8
feat!: dag import - don't pin roots by default (#9926)
* feat!: dag import - don't pin roots by default

Fixes: https://github.com/ipfs/kubo/issues/9765

* test(ipip-402): dag import

this adds basic regression test that guards behavior
around partial cars with or without pinning

* docs(ipip-402): ipip and dag import changelog

---------

Co-authored-by: Marcin Rataj <lidel@lidel.org>
2023-06-14 20:45:34 +00:00
Marcin Rataj
f0397719ad
chore(docs): typo http→https 2023-06-14 00:37:03 +02:00
Henrique Dias
2716cd987f
feat(gateway): support for IPIP-402 CAR params (#9914) 2023-06-08 17:32:18 +02:00
Jorropo
e7294cbdff feat: warn users who are falling behind reprovides
Fixes: #9704
Fixes: #9702
Fixes: #9703
Fixes: #9419
2023-06-08 10:05:30 +02:00
Jorropo
50daf64be4 changelog/v0.21: add dag stat additions 2023-06-06 16:22:08 +02:00
Henrique Dias
eb265f7cd8
fix(gateway)!: no duplicate payload during subdomain redirects (#9913)
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2023-06-02 08:14:19 +02:00
Henrique Dias
dfd244816a
feat(gateway): human error pages, dag-cbor/dag-json preview (#9904)
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2023-05-31 23:43:11 +00:00
Jorropo
12f343d837 client/rpc: rename package name to match rpc and edit migration story 2023-05-31 15:40:00 +02:00
Jorropo
86d8e75b7f client/rpc: migrate go-ipfs-http-client 2023-05-30 21:28:07 +02:00
Henrique Dias
c10b804449
feat: Gateway.DeserializedResponses config flag (#9789)
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2023-05-30 00:59:34 +02:00
Lucas Molas
63561f3baf
feat(bootstrap): save connected peers as backup bootstrap peers (#8856)
* feat(bootstrap): save connected peers as backup temporary bootstrap ones
* fix: do not add duplicated oldSavedPeers, not using tags, reuse
randomizeList
* test: add regression test
* chore: add changelog

---------

Co-authored-by: Henrique Dias <hacdias@gmail.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2023-05-25 14:39:49 +02:00
Henrique Dias
851248aedc chore: create next changelog 2023-05-09 13:05:13 +00:00