Blocks larger than 1MiB?

No caveats for default usage. Nothing changed in defaults, this is necessary fix due to the IPIP-499 profiles that allow use of 256KiB and 1MiB UnixFS file chunks.

SoftBlockLimit is a local guard on blocks you create (block put, dag put, dag import, custom --chunker), not a network change. The old 1MiB value was slightly too low: a 1MiB chunk wrapped in dag-pb ends up just over 1MiB, so dag import rejected data that was otherwise fine. That was the fix in fix: allow dag import of 1MiB chunks wrapped in dag-pb by lidel 路 Pull Request #11185 路 ipfs/kubo 路 GitHub, shipped in 0.40.

2MiB is also the size every implementation must support per the bitswap spec, so blocks under it stay interop-safe. Older peers can already fetch them; the 1MiB check only ever ran on the create side, never on receive.

The real ceiling is the 4MiB bitswap message limit (libp2p鈥檚 MessageSizeMax), and 2MiB sits below it with room for framing overhead.

Care is needed above 2MiB, with --allow-big-block. Those blocks are outside the spec, other implementations may refuse them, and once block plus overhead crosses 4MiB they cannot move over bitswap at all. Big blocks are also a known open problem: you cannot verify one until you hold all of it, so a peer that trickles it out ties up your memory the way a slowloris attack does.

Longer discussion in Supporting Large IPLD Blocks