Releases: ipfs/rainbow
Releases · ipfs/rainbow
v1.21.0
v1.20.0
What's Changed
Added
--diagnostic-service-url/RAINBOW_DIAGNOSTIC_SERVICE_URL: Configure URL for CID retrievability diagnostic service (default:https://check.ipfs.network). When gateway returns 504 timeout, users see "Inspect retrievability of CID" button linking to diagnostic service. Set to empty string to disable.
Changed
- Upgrade go-ds-pebble to v0.5.3
Full Changelog: v1.19.0...v1.20.0
Note
This release was brought to you by the Shipyard team.
v1.19.0
What's Changed
- chore(deps): bump actions/setup-go from 5 to 6 by @dependabot[bot] in #293
- chore: boxo and go-libp2p-kad-dht v0.35.0 by @gammazero in #298
- feat: add max-range-request-file-size flag by @lidel in #296
Added
--max-range-request-file-size/RAINBOW_MAX_RANGE_REQUEST_FILE_SIZE: Configurable limit for HTTP Range requests on large files (default: 5GiB). Range requests for files larger than this limit return HTTP 501 Not Implemented to protect against CDN issues. Specifically addresses Cloudflare's bug where range requests for files over 5GiB are silently ignored, causing the entire file to be returned instead of the requested range, leading to excess bandwidth consumption and billing.
Changed
Fixed
- Fixed bitswap client initialization to use
time.Durationinstead ofdelay.Fixed()for rebroadcast delay, matching the updated bitswap client API
Full Changelog: v1.18.0...v1.19.0
Note
This release was brought to you by the Shipyard team.
v1.18.0
What's Changed
- Release v1.17.0 by @hsanjuan in #281
- feat: retrieval-timeout & max-concurrent-requests by @lidel in #285
- chore: boxo master with final boxo#994 by @lidel in #287
- Always upgrade pebble data format to latest by @gammazero in #288
- chore(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #290
- feat(config): AutoConf with "auto" placeholders by @lidel in #286
Added
--bootstrap/RAINBOW_BOOTSTRAP: Configure bootstrap peer multiaddrs (default:auto)- AutoConf support with
autoplaceholders for bootstrap peers, DNS resolvers, and HTTP routers (ipfs/boxo#997)- Configuration flags:
--autoconf/RAINBOW_AUTOCONF: Enable/disable automatic configuration expansion (default:true)--autoconf-url/RAINBOW_AUTOCONF_URL: URL to fetch autoconf data from (default:https://conf.ipfs-mainnet.org/autoconf.json)--autoconf-refresh/RAINBOW_AUTOCONF_REFRESH: Interval for refreshing autoconf data (default:24h)
- When autoconf is disabled,
autoplaceholders will cause an error, requiring explicit values
- Configuration flags:
- Added configurable gateway rate limiting and timeout controls via new CLI flags:
--max-concurrent-requests(env:RAINBOW_MAX_CONCURRENT_REQUESTS): Limits concurrent HTTP requests to protect against resource exhaustion (default: 4096). Returns 429 Too Many Requests with Retry-After header when exceeded.--retrieval-timeout(env:RAINBOW_RETRIEVAL_TIMEOUT): Enforces maximum duration for content retrieval (default: 30s). Returns 504 Gateway Timeout when content cannot be retrieved within this period - both for initial retrieval (time to first byte) and between subsequent writes.
Changed
- Default values now use
autoplaceholder that expands to IPFS Mainnet configuration via autoconf:--http-routersdefault changed toauto(washttps://cid.contact)--dnslink-resolversdefault changed to. : auto(was specific resolver list)--bootstrapdefault isauto(new flag)
- Always upgrade pebble data format to latest #288
- This ensures:
- Get all the latest features and improvements offered by the latest data format
- The next pebble update is compatible with, and can upgrade, you data format
- Possible issues:
- Startup of new pebble version may take longer the first time.
- Unable to revert to the previous version of pebble if the newest data format is not supported by the previous pebble. Reverting will require removing the datastore and reinitializing.
- This ensures:
- Update to boxo/v0.34.0
Full Changelog: v1.17.0...v1.18.0
Note
This release was brought to you by the Shipyard team.
v1.17.0
Added
- Support for
RAINBOW_HTTP_RETRIEVAL_MAX_DONT_HAVE_ERRORS, allows limiting
the number of optimistic block requests performed against endpoints that
fail to provide any of those blocks. See the Envirionment variables
documentation for more details. - Support for
RAINBOW_HTTP_RETRIEVAL_METRICS_LABELS_FOR_ENDPOINTSwhich
brings back the possiblity of tagging requests metrics with the endpoint the
request is sent to. See the Envirionment variables documentation for more
details.
Changed
- upgrade to Boxo v0.33.1
Fixed
Removed
Security
Full Changelog: v1.15.0...v1.17.0
Note
This release was brought to you by the Shipyard team.
v1.15.0
[v1.15.0]
Added
Changed
http-retrieval-enableis now enabled by default. HTTP Retrieval can be disabled with
RAINBOW_HTTP_RETRIEVAL_ENABLE=false. #270- upgrade to Boxo v0.33.1-0.20250716194104-2c5f80a98e46
Fixed
- Setting
export RAINBOW_HTTP_RETRIEVAL_ALLOWLIST=allowed to enable HTTP
retrieval with an empty allowlist, so no HTTP requests would be
performed. This is a footgun, therefore from now on this is interpreted as
no allowlist being set. HTTP Retrieval can be disabled with
RAINBOW_HTTP_RETRIEVAL_ENABLE=falseinstead. #269 - Fix periodicGC that runs before the previous run has finished if the
interval is too short #273. - Fix issue where http retrievals silently stop (ipfs/boxo#979).
Removed
Security
Note
This release was brought to you by the Shipyard team.
v1.14.0
v1.13.0
What's Changed
Added
- New option
--http-retrieval-denylist. It can be used to avoid connecting to disallowed hosts.
Changed
- upgrade to Boxo v0.30.0
- upgrade go-ds-xxx packages to support
go-datastorev0.8.2 query API - updated go-libp2p to v0.41.1
Fixed
- Fix exporting of routing http client metrics: the endpoint will now include
ipfs_routing_http_client_*metrics routing clients are used. See docs/metrics.md for more details.
Security
- This release upgrades quic-go to v0.50.1. It contains a fix for a remote-triggered panic.
Full Changelog: v1.12.0...v1.13.0
This release was brought to you by the Shipyard team.
v1.12.0
What's Changed
Added
- HTTP block retrieval support: rainbow can now use Trustless HTTP Gateways to perform block retrievals in parallel to Bitswap.
- This takes advantage of peers with
/tls+/httpmultiaddrs (HTTPS is required). - You can enable HTTP retrievals with
--http-retrieval-enable, and limit it to urls of specific hostnames with--http-retrieval-allowlist <hostname>. - You can also ignore provider records from certain peer IDs with
--routing-ignore-providers <peerID>(for example to ignore peer IDs from bitswap endpoints of providers that offer HTTP). - NOTE: this feature works in the same way as Bitswap: known HTTP-peers receive optimistic block requests even for content that they are not announcing. See Boxo's CHANGELOG for more information.
- This takes advantage of peers with
Full Changelog: v1.11.0...v1.12.0
This release was brought to you by the Shipyard team.
v1.11.0
What's Changed
Changed
- The default DNSLink resolver for
.ethTLD changed tohttps://dns.eth.limo/dns-queryand.cryptoone changed tohttps://resolver.unstoppable.io/dns-query#231 - Upgrade to Boxo v0.28.0
- Upgrade go-ds-pebble to v0.4.2 and pebble to v1.1.4
- updated go-libp2p to v0.40.0
- require minimum go version 1.24 in go.mod
Full Changelog: v1.10.1...v1.11.0
This release was brought to you by the Shipyard team.