We're releasing a PATCH release of go-ipfs based on 0.4.21 containing some critical fixes.
The IPFS network has scaled to the point where small changes can have a wide-reaching impact on the entire network. To keep this situation from escalating, we've put a hold on releasing new features until we can improve our release process (which we've trialed in this release) and testing procedures.
This release includes fixes for the following regressions:
- A major bitswap throughput regression introduced in 0.4.21 (ipfs/go-ipfs#6442).
- High bitswap CPU usage when connected to many (e.g. 10,000) peers. See ipfs/go-bitswap#154.
- The local network discovery service sometimes initializes before the networking module, causing it to announce the wrong addresses and sometimes complain about not being able to determine the IP address (ipfs/go-ipfs#6415).
It also includes fixes for:
- Pins not being persisted after
ipfs block add --pin
(ipfs/go-ipfs#6441). - Panic due to concurrent map access when adding and listing pins at the same time (ipfs/go-ipfs#6419).
- Potential pin-set corruption given a concurrent
ipfs repo gc
andipfs pin rm
(ipfs/go-ipfs#6444). - Build failure due to a deleted git tag in one of our dependencies (ipfs/go-ds-badger#64).
Thanks to:
- @hannahhoward for fixing both bitswap issues.
- @sanderpick for catching and fixing the local discovery bug.
- @campoy for fixing the build issue.