New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release v0.13.0 #9023
Release v0.13.0 #9023
Commits on May 20, 2020
-
go-ipfs-config: feat: remove strict signing pubsub option.
It's still possible to disable signing. However, it's no longer possible to enable signing _and_ disable strict signature verification.
-
go-ipfs-config: Merge pull request #90 from ipfs/feat/remove-strict-s…
…igning-option feat: remove strict signing pubsub option.
Commits on May 21, 2020
-
go-ipfs-config: default config: add QUIC listening ports + quic to ma…
…rs.i.ipfs.io fixes 1) of #7343
-
go-ipfs-config: Merge pull request #91 from RubenKelevra/feat/default…
…_quic_listening default config: add QUIC listening ports + quic to mars.i.ipfs.io
Commits on May 22, 2020
-
-
-
go-ipfs-config: Merge pull request #94 from RubenKelevra/fix/bootstra…
…p_peers fix boostrap peers
-
go-ipfs-config: Merge pull request #93 from RubenKelevra/feat/quic_re…
…move_config_option QUIC: remove experimental config option
-
-
go-ipfs-config: Merge pull request #95 from ipfs/fix/key-init-message
fix: include key size in key init method
Commits on May 25, 2020
Commits on May 26, 2020
-
go-ipfs-config: doc: improve wording for peering config
Co-authored-by: Will <will.scott@protocol.ai>
-
go-ipfs-config: Merge pull request #96 from ipfs/feat/peering-service
feat: add peering service config section
-
go-ipfs-config: feat: add an option for security transport experiments
We should have a more permanent way to configure security transports, but experimental flags are a quick and unstable way to do this without making any promises.
-
go-ipfs-config: Merge pull request #97 from ipfs/feat/sec-transport-e…
…xperiments feat: add an option for security transport experiments
Commits on Jun 3, 2020
-
go-ipfs-config: fix: remove group permissions
There's no reason to give the group access to these files by default.
-
go-ipfs-config: Merge pull request #98 from ipfs/fix/default-perms
fix: remove group permissions
Commits on Jun 15, 2020
-
go-ipfs-config: feat: add flag and priority types
These let us zero-encode "default" to "null" (and omit it with "omitempty") so we don't have to hard code the default in the config.
-
go-ipfs-config: feat: add a transports section for enabling/disabling…
…/prioritizing transports
-
go-ipfs-config: feat: remove OverrideSecurityTransports
This was never included in a release, and has been replaced by a flexible transport prioritization system.
Commits on Jun 16, 2020
-
go-ipfs-config: feat: add WithDefault for flag/priority
This makes it easier to resolve these fields.
-
go-ipfs-config: doc(swarm): fix autorelay description
Co-authored-by: Adin Schmahmann <adin.schmahmann@gmail.com>
-
-
-
Co-authored-by: Adin Schmahmann <adin.schmahmann@gmail.com>
-
-
go-ipfs-config: fix: remove undefined support from unmarshal
It's not a part of the JSON spec.
-
-
go-ipfs-config: Merge pull request #102 from ipfs/feat/transports
feat: add a transports section for enabling/disabling transports
Commits on Jul 14, 2020
Commits on Oct 9, 2020
Commits on Nov 24, 2020
-
go-ipfs-config: Remove badger2 profile
This is needed for the upcoming release since there is not yet an official badger2 release with the items needed for use by IPFS.
-
go-ipfs-config: Merge pull request #115 from ipfs/chore/rm-badger2
Remove badger2 profile
Commits on Dec 5, 2020
Commits on Dec 8, 2020
-
go-ipfs-config: Merge pull request #113 from ipfs/petar/remotepin
add remote pinning services config
Commits on Jan 28, 2021
-
go-ipfs-config: add support for pinning mfs (#116)
* add support for pinning mfs * add pin conceal selector * add RemoteServicesPath Co-authored-by: Petar Maymounkov <petarm@gmail.com>
Commits on Mar 24, 2021
Commits on Apr 12, 2021
Commits on Apr 13, 2021
-
-
go-ipfs-config: update comments
Co-authored-by: Marcin Rataj <lidel@lidel.org>
Commits on Apr 14, 2021
-
go-ipfs-config: add default empty config for DNS, rename struct from …
…DNSConfig to DNS
Commits on Apr 15, 2021
-
go-ipfs-config: Merge pull request #126 from ipfs/feat/custom-resolver
add custom DNS Resolver configuration
Commits on Apr 17, 2021
Commits on Apr 18, 2021
Commits on Apr 19, 2021
-
go-ipfs-config: Merge pull request #121 from RubenKelevra/patch-1
remove duplicate entries in defaultServerFilters
Commits on Apr 20, 2021
Commits on May 3, 2021
-
-
go-ipfs-config: Merge pull request #128 from ipfs/feat/migration-config
Add config for downloading repo migrations
Commits on May 12, 2021
Commits on May 14, 2021
-
go-ipfs-config: Merge pull request #125 from ipfs/feat/experimental-d…
…ht-client Added Experiments.AcceleratedDHTClient option
-
go-ipfs-config: [LINT] error strings should not end with punctuation …
…or a newline (ST1005)
-
go-ipfs-config: Merge pull request #131 from ipfs/fix-staticcheck
remove period, fix staticcheck
Commits on May 17, 2021
-
-
go-ipfs-config: Merge pull request #132 from ipfs/web3-bot/sync
sync: update CI config files
Commits on Jul 22, 2021
-
go-ipfs-config: Merge pull request #138 from ipfs/fix/deprecation
fix: remove deprecated calls
Commits on Aug 18, 2021
Commits on Oct 27, 2021
-
go-ipfs-config: feat: add an OptionalDuration type (#148)
* feat: make it possible to define optional durations * test: empty/default optional durations does not crash if user restores default value and sets it to empty string "" * refactor: use null in JSON * refactor(duration): use JSON null as the default Rationale: ipfs/go-ipfs-config#148 (comment) * refactor: Duration → OptionalDuration This makes it possible to use OptionalDuration with `json:",omitempty"` so the null is not serialized to JSON, and get working WithDefault as well. Co-authored-by: Marcin Rataj <lidel@lidel.org>
-
go-ipfs-config: feat: pubsub and ipns pubsub flags (#145)
* enable pubsub and namesys pubsub to be enable via config * rename Ipns key, switch type to Flag * omit the fields if empty
Commits on Oct 28, 2021
-
go-ipfs-config: feat: OptionalString type and UnixFSShardingSizeThres…
…hold (#149) * feat: add OptionalString type * test: fix OptionalInteger test * add Internal.UnixFSShardingSizeThreshold as optional string * test: OptionalString null unmarshal with default * fix: omitempty UnixFSShardingSizeThreshold Co-authored-by: Marcin Rataj <lidel@lidel.org>
Commits on Oct 29, 2021
-
go-ipfs-config: fix: String method on the OptionalString (#153)
* fix: String method on the OptionalString * test(OptionalString): empty string is preserved Co-authored-by: Marcin Rataj <lidel@lidel.org>
Commits on Nov 13, 2021
-
go-ipfs-config: feat: Swarm.RelayService (circuit v2) (#146)
* remove the EnableRelayHop option in the SwarmConfig * add an option to disable the limited relay * make the relay service resources configurable * refactor: use custom types This enables us to swap defaults in go-ipfs without touching the config file generated during `ipfs init` ipfs/go-ipfs-config#146 (comment) ipfs/go-ipfs-config#146 (comment) * use OptionalDuration in RelayService configuration * fix: *OptionalInteger with omitempty This removes null values from the config * fix: Flag does not need to be a pointer * refactor: flatten RelayService limits this simplifies consumer code and removes nil footgun * docs: clarify different relay types * feat: flag for ForceReachability mode in libp2p (#150) adds Internal.Libp2pForceReachability needed for sharness tests in #8522 Co-authored-by: Marcin Rataj <lidel@lidel.org> Co-authored-by: Marcin Rataj <lidel@lidel.org>
Commits on Nov 14, 2021
Commits on Nov 15, 2021
-
go-ipfs-config: set Swarm.EnableAutoRelay to omitempty
Co-authored-by: Marcin Rataj <lidel@lidel.org>
-
-
go-ipfs-config: Merge pull request #154 from ipfs/static-relays
improve AutoRelay configuration, add config option for static relays
Commits on Nov 16, 2021
-
go-ipfs-config: feat: add a flag to enable the hole punching service (#…
…155) * add a flag to enable the hole punching service * chore: omitempty EnableHolePunching Co-authored-by: Marcin Rataj <lidel@lidel.org>
Commits on Nov 18, 2021
Commits on Nov 23, 2021
-
go-ipfs-config: chore: omitempty Experimental.ShardingEnabled (#158)
We switch to autosharding setup in #8527
-
go-ipfs-config: feat: omitempty Swarm.EnableRelayHop for circuit v1 m…
…igration (#157) * re-add the Swarm.EnableRelayHop option * make Swarm.EnableRelayHop omitempty Co-authored-by: Marcin Rataj <lidel@lidel.org>
-
Commits on Dec 13, 2021
Commits on Dec 15, 2021
Commits on Dec 27, 2021
Commits on Jan 6, 2022
Commits on Jan 12, 2022
-
test: restore ipfs-interop (#8613)
* chore: ipfs@0.61.0 https://github.com/ipfs/js-ipfs/blob/master/packages/ipfs/CHANGELOG.md#0610-2021-12-15 * chore: ipfs-interop@8.0.0
Commits on Jan 14, 2022
-
-
Adding PowerShell to Minimal Go Installation
Separated CMD and PowerShell to add additional support.
-
Commits on Jan 17, 2022
-
fix(ci): interop test parallelism (#8674)
* fix(ci): interop test parallelism It broke when require got replaced with modern import statement, and CI run all tests four times.. every time. * fix(ci): run interop with 2 vCPUs We often have 3 processes (tests and 2 or more IPFS nodes) * fix(ci): cache npm during interop * fix(ci): run interop on 2xlarge It is similar load as sharness, so let's use same beefy box * fix(ci): enable ipfs-webui it was skipping due to missing chromium binary * fix(ci): force fresh npm cache during interop Needed to pull-in @chainsafe/libp2p-noise@5.0.2
Commits on Jan 19, 2022
-
this should make it take way less time without the need for rewriting make cmd/ipfs-try-build
Commits on Jan 20, 2022
Commits on Jan 28, 2022
-
docs: update badger section in config.md (#8662)
This should fix the issue of users thinking badger is "no-brainer faster choice" and then running into problems. Co-authored-by: Johnny <9611008+johnnymatthews@users.noreply.github.com>
-
go-ipfs-config: docs: updated flatfs/badger profile helptext (#167)
This is copy-paste from #8662 to ensure consistency.
Commits on Feb 3, 2022
-
-
Merge pull request #8713 from shushen/8700-example-updates
fix(docs/examples): update go.mod and CI tests
Commits on Feb 10, 2022
-
feat(cmds): add cleartext PEM/PKCS8 for key import/export (#8616)
* feat(cmds): add PEM/PKCS8 for key import/export Co-authored-by: Marcin Rataj <lidel@lidel.org> Co-authored-by: Gus Eggert <gus@gus.dev>
-
chore(deps): bump go.uber.org/zap from 1.19.1 to 1.21.0 (#8721)
Bumps [go.uber.org/zap](https://github.com/uber-go/zap) from 1.19.1 to 1.21.0. - [Release notes](https://github.com/uber-go/zap/releases) - [Changelog](https://github.com/uber-go/zap/blob/master/CHANGELOG.md) - [Commits](uber-go/zap@v1.19.1...v1.21.0) --- updated-dependencies: - dependency-name: go.uber.org/zap dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
feat(cmds): ipfs id: support --offline option (#8626)
* feat(cmds): ipfs id: add offline option * docs: clarify why 'ipfs id <peer>' in offline mode Co-authored-by: Marcin Rataj <lidel@lidel.org>
-
feat: DNS.MaxCacheTTL for DNS-over-HTTPS resolvers (#8615)
* feat: Add MaxCacheTTL option for DNS-over-HTTPS resolvers * Update libp2p/go-doh-resolver dependencies to support Options * feat: Add `DNS.MaxCacheTTL` config documentation * docs: DNS.MaxCacheTTL * chore: go-ipfs-config@v0.19.0 Co-authored-by: Gus Eggert <gus@gus.dev> Co-authored-by: Marcin Rataj <lidel@lidel.org>
-
Commits on Feb 11, 2022
-
-
This is to make it easier to understand why the multifetcher is falling back to a different fetcher.
-
feat: refactor Fetcher interface used for downloading migrations (#8728)
* feat: refactor Fetcher interface used for downloading migrations * feat: add RetryFetcher for migration downloads * feat: 3 retries for each HTTP migration download
Commits on Feb 12, 2022
-
Merge pull request #8684 from ipfs/fix/faster-ci-gobuild
fix(ci): faster gobuild job
Commits on Feb 15, 2022
-
chore(gateway): debug logging for the http requests (#8518)
* chore(gateway): better logging for the http requests * chore(gateway): removed defer and add more data to the final log * chore(gateway): debug logging refactor * chore(gateway): use debug w/o context when only msg * doc: add cmd for log level * chore: add more logs and address fedback * chore(gateway): log subdomains and from=requestURI, refactor * chore(gateway): fix debug redirect
Manuel Alonso committedFeb 15, 2022 -
feat: warn user when 'pin remote add' while offline (#8621)
* feat: add warning message when the local node is offline for remote pinning * feat: check is node is online * feat: add test in t0700-remotepin.sh * feat: use grep and fix the test * fix: print to stdout only when --enc=text This ensures we don't break JSON produced by --enc=json Co-authored-by: Marcin Rataj <lidel@lidel.org>
-
fix(build): Recognize Go Beta versions in makefile (#8677)
* 🩹 Fix building with beta Go versions * ✏️ Use `[:space:]` to be more canonical
-
Commits on Feb 16, 2022
-
fix: installation without sudo (#8715)
* fix: installation without sudo I think it's good practice that users don't need to run `sudo` to install something just to try it out. With this change, the local bin directory is tried first, which usually is also in the `PATH`. This way the installation script can be run without `sudo` and should still work. * fix: try local path last and support spaces in $HOME Try the `$HOME/.local/bin` path last, so that the script is backwards compatible. Also make sure that it works even if there are spaces in the directory set by `$HOME`.
-
chore(deps): bump go.uber.org/fx from 1.15.0 to 1.16.0 (#8681)
Bumps [go.uber.org/fx](https://github.com/uber-go/fx) from 1.15.0 to 1.16.0. - [Release notes](https://github.com/uber-go/fx/releases) - [Changelog](https://github.com/uber-go/fx/blob/master/CHANGELOG.md) - [Commits](uber-go/fx@v1.15.0...v1.16.0) --- updated-dependencies: - dependency-name: go.uber.org/fx dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Commits on Feb 18, 2022
-
fix(ci): testground workflow hanging indefinitely (#8741)
* ci: set timeout on testground job * ci: use testground action which exits early on scheduling failures Note: this will be continued in #8731
-
-
docs(changelog): update v0.12.0 release notes
Add line to the breaking changes section indicating that there's a new version of ipfs-update needed to install go-ipfs v0.12.0
-
feat(cmd): add silent option for repo gc (#7147)
* feat(cmd): add silent option repo gc command closes #7129 * test(cmd): add test case for silent option for command repo gc * fix: no emit on server with --silent This removes unnecessary send to the client that does not care Co-authored-by: Marcin Rataj <lidel@lidel.org>
-
docs: add Internal.UnixFSShardingSizeThreshold (#8723)
Co-authored-by: Marcin Rataj <lidel@lidel.org>
Commits on Feb 25, 2022
Commits on Feb 28, 2022
-
-
Merge pull request #8750 from ipfs/fix-muxer-prios
fix prioritization of stream muxers
Commits on Mar 1, 2022
Commits on Mar 2, 2022
Commits on Mar 3, 2022
Commits on Mar 4, 2022
Commits on Mar 8, 2022
Commits on Mar 9, 2022
Commits on Mar 10, 2022
Commits on Mar 11, 2022
-
fix(cmds): option for progress bar in cat/get (#8686)
* fix(cmds): option for progress bar in cat/get * defer bar.Finish()
-
-
feat(cmds): extend block size check for dag|block put (#8751)
* feat(cmds): extend block size check for dag|block put * feat(cmds): block size check for dag import * style: dag-pb → UnixFS, 1MB → 1MiB Co-authored-by: Marcin Rataj <lidel@lidel.org>
Commits on Mar 15, 2022
Commits on Mar 16, 2022
-
-
-
-
-
Merge pull request #8638 from ipfs/schomatis/fix/core/node/unwrap-fx-…
…error fix(core/node): unwrap fx error in node construction
-
fix: allow ipfs-companion browser extension to access RPC API (#8690)
* fix: add companion ids to allow origins - fixes #8689 - Adds the chrome-extension ids for ipfs-companion and ipfs-companion-beta to the allowed origins list, this allows us to accesss ipfs api from a manifest v3 extension. - added tests in t0401-api-browser-security.sh * fix: companion when custom CORS *-Origin is set Companion extension should be able to access RPC API even when custom Access-Control-Allow-Origin is set Co-authored-by: Marcin Rataj <lidel@lidel.org>
Commits on Mar 17, 2022
-
feat(gateway): Block and CAR response formats (#8758)
* feat: serveRawBlock implements ?format=block * feat: serveCar implements ?format=car * feat(gw): ?format= or Accept HTTP header - extracted file-like content type responses to separate .go files - Accept HTTP header with support for application/vnd.ipld.* types * fix: use .bin for raw block content-disposition .raw may be handled by something, depending on OS, and .bin seems to be universally "binary file" across all systems: https://en.wikipedia.org/wiki/List_of_filename_extensions_(A%E2%80%93E) * refactor: gateway_handler_unixfs.go - Moved UnixFS response handling to gateway_handler_unixfs*.go files. - Removed support for X-Ipfs-Gateway-Prefix (Closes #7702) * refactor: prefix cleanup and readable paths - removed dead code after X-Ipfs-Gateway-Prefix is gone (#7702) - escaped special characters in content paths returned with http.Error making them both safer and easier to reason about (e.g. when invisible whitespace Unicode is used)
-
The commits has been moved from the PR to master to avoid the deps breaking when github is gonna GC the PR commits.
-
Merge pull request #8757 from ipfs/feat/err-not-found
Bubble ErrNotFound improvements. The is a really nice UX improvement because it know tell you which ipld block is missing instead of a generic "not found".
Commits on Mar 18, 2022
-
ErrNotFound changes: bubble tagged libraries.
Additionally fixes tests for new error message which went from `ipld: <cid> not found` to `<cid> not found`
Commits on Mar 19, 2022
-
Merge pull request #8803 from ipfs/bubble-err-not-found
ErrNotFound changes: bubble tagged libraries.
Commits on Mar 21, 2022
-
feat: add gateway histogram metrics (#8443)
* feat(gw): response type histogram metrics - response-type agnostic firstContentBlockGetMetric which counts the latency til the first content block. - car/block/file/gen-dir-index duration histogram metrics that show how long each response type takes * docs: improve metrics descriptions * feat: more gw histogram buckets 0.05, 0.1, 0.25, 0.5, 1, 2, 5, 10, 30, 60 secs as suggested in reviews at #8443 Co-authored-by: Marcin Rataj <lidel@lidel.org> Co-authored-by: Gus Eggert <gus@gus.dev>
-
Commits on Mar 22, 2022
-
Merge pull request #8793 from ipfs/kylehuntsman/fix/repo/omitempty-error
fix(fsrepo): deep merge when setting config
-
feat(cmds): document deprecated RPC API commands (#8802)
* feat(cmds): add deprecated and experimental status Added programmatic state annotation introduced in ipfs/go-ipfs-cmds#225 for already deprecated / experimental commands. * chore: go-ipfs-cmds v0.7.0 Co-authored-by: Lucas Molas <schomatis@gmail.com>
Commits on Mar 24, 2022
-
CI: force running go-ipfs-http-client and go-ipfs-api tests
This test is actually testing is the ipfs binary (from the path). Using the go-ipfs-http-client code. But most PR only update the binary. HOWEVER Golang does not check PATH for caching. So as far as golang knows: go-ipfs-http-client is old, it havn't changed, and it doesn't run it. That leads us to this test not running on most important PR.
Commits on Mar 25, 2022
Commits on Mar 27, 2022
Commits on Mar 28, 2022
Commits on Mar 30, 2022
-
feat: re-enable docker sharness tests (#8808)
The Docker sharness tests were disabled years ago when go-ipfs moved from Travis to CircleCI. This makes the tweaks necessary to re-enable them. The Docker image has since moved to be based on BusyBox which doesn't have the requisite wget version for the existing tests to work, so this adds some functionality to the pollEndpoint program to support polling HTTP endpoints as well.
Commits on Apr 1, 2022
-
fix(gw): validate requested CAR version (#8835)
* fix(gw): validate requested CAR version This adds validation of 'application/vnd.ipld.car;version=n' passed in the Accept header by HTTP clients to align Gateway behavior with the spec submitted to IANA. * test: fix comment in test/sharness/t0118-gateway-car.sh Co-authored-by: Gus Eggert <gus@gus.dev> Co-authored-by: Gus Eggert <gus@gus.dev>
Commits on Apr 2, 2022
Commits on Apr 4, 2022
-
feat: add basic gateway tracing (#8595)
* add deprecation warning when tracer plugins are loaded * add response format attribute to span in gateway handler * add note about tracing's experimental status in godoc * add nil check for TTL when adding name span attrs * add basic sharness test for integration with otel collector * add nil check in UnixFSAPI.processLink * test: sharness check all json objs for swarm span * add env var docs to docs/environment-variables.md * chore: pin the otel collector version * add tracing spans per response type (#8841) * docs: tracing with jaeger-ui Co-authored-by: Marcin Rataj <lidel@lidel.org>
Commits on Apr 5, 2022
-
Merge pull request #8838 from Jorropo/fix/ErrNotFound-hopefully-final
chore: bump go-ipld-format v0.4.0 and fix related sharness tests
Commits on Apr 6, 2022
-
fix: unknown fetcher type error (#8830)
match RetryFetcher as HttpFetcher
-
docs(logging): environment variables (#8833)
- Document IPFS_LOGGING deprecation as alias to GOLOG_LOG_LEVEL and expand doc to include per-subsystem log levels. - Document IPFS_LOGGING_FMT deprecation as alias to GOLOG_LOG_FMT.
Justin Johnson committedApr 6, 2022 -
Commits on Apr 7, 2022
-
feat(cmds): add support for CAR v2 imports (#8854)
* feat: add support for carv2 import * update to multicodec 0.4.0 * add sharness test for carv2 Co-authored-by: Keenan Nemetz <keenan.nemetz@gmail.com>
Commits on Apr 8, 2022
-
feat: opt-in Swarm.ResourceMgr (go-libp2p v0.18) (#8680)
* update go-libp2p to v0.18.0 * initialize the resource manager * add resource manager stats/limit commands * load limit file when building resource manager * log absent limit file * write rcmgr to file when IPFS_DEBUG_RCMGR is set * fix: mark swarm limit|stats as experimental * feat(cfg): opt-in Swarm.ResourceMgr This ensures we can safely test the resource manager without impacting default behavior. - Resource manager is disabled by default - Default for Swarm.ResourceMgr.Enabled is false for now - Swarm.ResourceMgr.Limits allows user to tweak limits per specific scope in a way that is persisted across restarts - 'ipfs swarm limit system' outputs human-readable json - 'ipfs swarm limit system new-limits.json' sets new runtime limits (but does not change Swarm.ResourceMgr.Limits in the config) Conventions to make libp2p devs life easier: - 'IPFS_RCMGR=1 ipfs daemon' overrides the config and enables resource manager - 'limit.json' overrides implicit defaults from libp2p (if present) * docs(config): small tweaks * fix: skip libp2p.ResourceManager if disabled This ensures 'ipfs swarm limit|stats' work only when enabled. * fix: use NullResourceManager when disabled This reverts commit b19f7c9. after clarification feedback from #8680 (comment) * style: rename IPFS_RCMGR to LIBP2P_RCMGR preexisting libp2p toggles use LIBP2P_ prefix * test: Swarm.ResourceMgr * fix: location of opt-in limit.json and rcmgr.json.gz Places these files inside of IPFS_PATH * Update docs/config.md * feat: expose rcmgr metrics when enabled (#8785) * add metrics for the resource manager * export protocol and service name in Prometheus metrics * fix: expose rcmgr metrics only when enabled Co-authored-by: Marcin Rataj <lidel@lidel.org> * refactor: rcmgr_metrics.go * refactor: rcmgr_defaults.go This file defines implicit limit defaults used when Swarm.ResourceMgr.Enabled We keep vendored copy to ensure go-ipfs is not impacted when go-libp2p decides to change defaults in any of the future releases. * refactor: adjustedDefaultLimits Cleans up the way we initialize defaults and adds a fix for case when connection manager runs with high limits. It also hides `Swarm.ResourceMgr.Limits` until we have a better understanding what syntax makes sense. * chore: cleanup after a review * fix: restore go-ipld-prime v0.14.2 * fix: restore go-ds-flatfs v0.5.1 Co-authored-by: Lucas Molas <schomatis@gmail.com> Co-authored-by: Marcin Rataj <lidel@lidel.org>
-
feat: detect changes in go-libp2p-resource-manager (#8857)
This adds simple check that will scream loud and clear every time go-libp2p libraries change any of the implicit defaults related to go-libp2p-resource-manager
-
-
fix(gw): update metrics only when payload data sent (#8827)
* fix: report gateway http metrics only when response is successful * fix(gw): 304 Not Modified as no-op This fix ensures we don't do any additional work when Etag match what user already has in their own cache. Co-authored-by: Marcin Rataj <lidel@lidel.org>
-
-
Commits on Apr 11, 2022
-
fix: fix context plumbing in gateway handlers (#8871)
This ensures that child contexts are passed around between the handlers so that traces show the call hierarchy correctly.
Commits on Apr 12, 2022
-
Since go1.16, there are built in tools that allow for embeding filesystem inside the binary. We now make use of the `embed` package to have all files put into the binary, removing the need to generate the files and removes dependencies Co-authored-by: Jorropo <jorropo.pgm@gmail.com>
-
Change
assets.Asset
from afunc
to the embed.FSThis removes the delegation to the function and requires all callers that used the `asset.Asset` func to access to asset via the `embed.FS`
-
feat: port collect-profiles.sh to 'ipfs diag profile' (#8786)
* feat: add block profiling to collect-profiles.sh * feat: add more profiles to 'ipfs diag profile' This adds mutex and block profiles, and brings the command up-to-par with 'collect-profiles.sh', so that we can remove it. Profiles are also now collected concurrently, which improves the runtime from (profile_time * num_profiles) to just (profile_time). Note that this has a backwards-incompatible change, removing --cpu-profile-time in favor of the more general --profile-time, which covers all sampling profiles. * docs(cli): ipfs diag profile * add CLI flag to select specific diag collectors Co-authored-by: Marcin Rataj <lidel@lidel.org>
-
feat(docker): /container-init.d for advanced initialization (#6577)
* Add initialization directory support to Docker image * Add sharness test, fix bugs in init script Fixed in init script: - Added some missing quotes around expansions - Fixed INIT_ARGS to not pass any args if IPFS_PROFILE isn't specified - Use printf instead of "echo -e" - Only run scripts in top-level of init dir - Handle filenames correctly when finding init scripts (by using find + xargs) * chore: docker cleanup cleans up containers and images (useful when run on developer machine) * remove container init documentation from README There is already IPFS Docker documentation where this should live: https://docs.ipfs.io/how-to/run-ipfs-inside-docker/ Co-authored-by: Caian <caian@ggaunicamp.com> Co-authored-by: Marcin Rataj <lidel@lidel.org> Co-authored-by: Gus Eggert <gus@gus.dev>
Commits on Apr 14, 2022
-
-
Merge pull request #8884 from ipfs/testground
Use testground-github-action from testground
Commits on Apr 15, 2022
-
chore(gw): extract logical functions to improve readability (#8885)
* Extract functions from getOrHeadHandler to improve readability and prepare for later refactorings * Address PR feedback on when to return errors or booleans * Be explicit about use of *requestError vs error
Justin Johnson committedApr 15, 2022 -
Update Go version to 1.17 (#8815)
* remove building the pre-bundled plugins as shared objects in makefile * chore: update go version to minimum of 1.17
Commits on Apr 19, 2022
-
feat(gw): improved If-None-Match support (#8891)
Improves the way we handle If-None-Match header: - Support for more than one Etag passed in If-None-Match - Match both strong and weak Etags to maximize caching across various HTTP clients and libraries (some send weak Etags by default) - Support for wildcard '*' - Tests for If-None-Match behavior
Commits on Apr 21, 2022
-
fix(cmds): CIDv1 and correct multicodecs in 'block put' and 'cid code…
…cs' (#8568) BREAKING CHANGES: - see #8568 (comment) Co-authored-by: Marcin Rataj <lidel@lidel.org>
-
Commits on Apr 22, 2022
-
-
-
-
-
Merge pull request #8634 from ipfs/schomatis/feat/cmds/use-custom-con…
…fig-file-path feat(cmds): allow to set the configuration file path
Commits on Apr 25, 2022
-
feat(tracing): use OpenTelemetry env vars where possible (#8875)
This removes some of the env vars added in f855bfe, so that go-ipfs is as consistent with standard OpenTelemetry env vars as possible.
Commits on Apr 27, 2022
-
fix: build after Go 1.17 and Prometheus upgrades (#8916)
* fix: go mod tidy * fix: update expected prometheus metrics Go 1.17 includes some new runtime metrics that are automatically published by the Prometheus client, so this adds them to the expected metric list so that the tests pass and we don't accidentally drop them in the future.
Commits on Apr 28, 2022
-
feat: persist limits to Swarm.ResourceMgr.Limits (#8901)
* feat: persist limit changes to config This changes the "ipfs swarm limit" command so that when limit changes are applied via the command line, they are persisted to the repo config, so that they remain in effect when the daemon restarts. Any existing limit.json can be dropped into the IPFS config easily using something like: cat ~/.ipfs/config | jq ".Swarm.ResourceMgr.Limits = $(cat limit.json)" | sponge ~/.ipfs/config This also upgrades to Resource Manager v0.3.0, which exports the config schema so that we don't have to maintain our own copy of it. Co-authored-by: Marcin Rataj <lidel@lidel.org>
-
chore: mark 'log tail' experimental (#8912)
Ensuring people are aware the RPC API/CMD may change Context: #8765 (comment)
-
chore&fix: panic/error handling while enumerating pins
switch to version from ipfs/go-pinning-service-http-client#18 to see if CI E2E tests pass
-
-
feat: relay v2 discovery (go-libp2p v0.19.0) (#8868)
* update go-libp2p to v0.19.0 * chore: go-namesys v0.5.0 * refactor(config): cleanup relay handling * docs(config): document updated defaults * fix(tests): panic during sharness * fix: t0160-resolve.sh See ipfs/go-namesys#32 * fix: t0182-circuit-relay.sh * test: transport encryption Old tests were no longer working because go-libp2p 0.19 removed the undocumented 'ls' pseudoprotocol. This replaces these tests with handshake attempt (name is echoed back on OK or 'na' is returned when protocol is not available) for tls and noise variants + adds explicit test that safeguards us against enabling plaintext by default by a mistake. * fix: ./t0182-circuit-relay.sh test is flaky, for now we just restart the testbed when we get NO_RESERVATION error * refactor: AutoRelayFeeder with exp. backoff It starts at feeding peers ever 15s, then backs off each time until it is done once an hour Should be acceptable until we have smarter mechanism in go-lib2p 0.20 * feat(AutoRelay): prioritize Peering.Peers This ensures we feed trusted Peering.Peers in addition to any peers discovered over DHT. * docs(CHANGELOG): document breaking changes Co-authored-by: Marcin Rataj <lidel@lidel.org> Co-authored-by: Gus Eggert <gus@gus.dev>
-
-
feat(gateway): Gateway.FastDirIndexThreshold (#8853)
* fix(core/gateway): option to limit directory size listing * feat(gw): HTMLDirListingLimit This is alternative take on the way we limit the HTML listing output. Instead of a hard cut-off, we list up to HTMLDirListingLimit. When a directory has more items than HTMLDirListingLimit we show additional header and footer informing user that only $HTMLDirListingLimit items are listed. This is a better UX. * fix: 0 disables Gateway.HTMLDirListingLimit * refactor: Gateway.FastDirIndexThreshold see explainer in docs/config.md * refactor: prealoc slices * docs: Gateway.FastDirIndexThreshold * refactor: core/corehttp/gateway_handler.go #8853 (comment) * docs: apply suggestions from code review Co-authored-by: Alan Shaw <alan.shaw@protocol.ai> Co-authored-by: Marcin Rataj <lidel@lidel.org> Co-authored-by: Alan Shaw <alan.shaw@protocol.ai>
Commits on May 3, 2022
-
-
-
Merge pull request #8931 from ipfs/ci/add-more-checks
ci: add more golang strictness checks
-
-
-
fix: when the relay client is disabled and hole punching is left in i…
…ts default state silently turn off hole punching instead of panicking
-
fix: add info log indicating that hole punching has been disabled whe…
…n it is left as the default but the relay client is disabled.
-
Merge pull request #8748 from ipfs/feat/dcutr-hole-punching-on-by-def…
…ault feat: EnableHolePunching by default
-
Commits on May 4, 2022
-
-
-
docs(tracing): update env var docs for new tracing env vars
This should have been updated as part of 967bd69
-
-
-
-
-
Merge pull request #8932 from ipfs/chore/update-go-build-version
chore: build with go 1.18.1
-
Merge pull request #8941 from ipfs/docs/0.13.0-changelog
docs: v0.13.0 changelog
-
Commits on Jun 8, 2022
-
fix: use path instead of filepath for asset embeds to support Windows
(cherry picked from commit 1299bcb)
-
-
Merge pull request #8934 from ajnavarro/fix/install-on-mac-m1-monterey
(cherry picked from commit ae15e18)
-
Merge pull request #8947 from RubenKelevra/patch-7
'pin rm' helptext: rewrite description as object is not removed from local storage (immediately) (cherry picked from commit 831c339)
-
pubsub multibase encoding (#8933)
* pubsub multibase encoding Adds clarification for pubsub multibase encoding over HTTP RPC for issue ipfs/ipfs-docs#1007 * Grammatical change * Moved period (cherry picked from commit 9a84a4f)
-
fix(ci): fix flaky t0081-repo-pinning.sh (#8919)
* fix(ci): fix flaky t0081-repo-pinning.sh Sometimes docker pull fails, this will retry. * add upper bound on # retries (3) Co-authored-by: Gus Eggert <gus@gus.dev> (cherry picked from commit 6a4ee0a)
-
ci: disable workflows in forks
(cherry picked from commit 4798777)
-
fix: go-libp2p 0.19.2 with holepunch fixup (#8966)
https://github.com/libp2p/go-libp2p/releases/tag/v0.19.2 (cherry picked from commit 657d4f4)
-
Merge pull request #8965 from ipfs/schomatis/fix/disable-rcmg-checks
fix(node/libp2p): disable rcmgr checkImplicitDefaults (cherry picked from commit e23a461)
-
chore: mark fuse experimental (#8962)
It works only on some platforms, and does not work reliably. This corrects our error of not setting expectations right. (cherry picked from commit 53299e8)
-
fix: hanging goroutine in get fileArchive handler
Fixes #8957 The context was only checked while reading data. Not while writing data to the http connection. So since the data flow through an io.Pipe the closing didn't flowed through and left the writer open hanging. Co-authored-by: Antonio Navarro Perez <antnavper@gmail.com> (cherry picked from commit 7892cc9)
-
(cherry picked from commit a72753b)
-
fix: JS caching via Access-Control-Expose-Headers (#8984)
This fix safelists additional headers allowing JS running on websites to read them when IPFS resource is downloaded via Fetch API. These headers provide metadata necessary for making smart caching decisions when IPFS resources are downloaded via Service Worker or a similar middleware on the edge. (cherry picked from commit 650bc24)
-
feat: log when resource manager limits are exceeded (#8980)
This periodically logs how many times Resource Manager limits were exceeded. If they aren't exceeded, then nothing is logged. The log levels are at ERROR log level so that they are shown by default. The motivation is so that users know when they have exceeded resource manager limits. To find what is exceeding the limits, they'll need to turn on debug logging and inspect the errors being logged. This could collect the specific limits being reached, but that's more complicated to implement and could result in much longer log messages. (cherry picked from commit 5615715)
-
fix(ci): make go-ipfs-as-a-library work without external peers (#8978)
* Do not connect to external nodes on ipfs as a lib example. It was causing some build timeouts error because CircleCI was throttling WAN connections. It closes #8956 * style: rename node vars since this is example, this should make things easier to follow Co-authored-by: Marcin Rataj <lidel@lidel.org> (cherry picked from commit e8f1ce0)
-
chore: update go-libp2p to v0.19.3 (#8990)
(cherry picked from commit f720172)
-
fix: adjust rcmgr limits for accelerated DHT client rt refresh (#8982)
* fix: adjust rcmgr limits for accelerated DHT client rt refresh The Accelerated DHT client periodically refreshes its routing table, including at startup, and if Resource Manager throttling causes the client's routing table to be incomplete, then content routing may be degraded or broken for users. This adjusts the default limits to a level that empirically doesn't cause Resource Manager throttling during initial DHT client bootstrapping. Ideally the Accelerated DHT client would handle this scenario more gracefully, but this works for now to unblock the 0.13 release. * Set default outbound conns unconditionally This also sets the default overall conns as a function of the outbound and inbound conns, since they are adjusted dynamically, and it makes the intention of the value clear. * increase min FD limit (cherry picked from commit b8617b9)
-
feat: disable resource manager by default (#9003)
* feat: disable resource manager by default We are disabling this by default for v0.13 as we work to improve the UX around Resource Manager. It is still usable and can be enabled in the IPFS config with "ipfs config --bool Swarm.ResourceMgr.Enabled true". We intend to enable Resource Manager by default in a subsequent release. * docs(config): Swarm.ResourceMgr disabled by default Co-authored-by: Marcin Rataj <lidel@lidel.org> (cherry picked from commit b1c051d)
-
docs: fix typo in the
swarm/peering
help text(cherry picked from commit 0a01574)
-
feat: upgrade to go-libp2p-kad-dht@v0.16.0 (#9005)
* feat: upgrade to go-libp2p-kad-dht@v0.16.0 * rename "cid format --codec" to "cid format --mc" * refactor(test): from --codec to --mc Co-authored-by: Marcin Rataj <lidel@lidel.org> (cherry picked from commit 8d7ed00)
-
chore: upgrade to go-libp2p v0.19.4
(cherry picked from commit 2e170a4)
-
chore: bump Go to 1.18.3 (#9021)
(cherry picked from commit 9db6641)
-
-