piece sizes do not affect the hash any more (allowing file deduplication).
piece sizes actually no longer affect downloading that much, because verification can be done down at the fixed 16 KB block level. So you have more freedom to use bigger pieces.
These changes necessarily change the info-hash, for which they have made a new thing called "btmh" based around, you guessed it, SHA256. It is possible to make a hybrid v1/v2 file, though the file size will approximately double.
What does it mean for mirrorbrain? Well...
New .btmh URL handling for the new kind of info-hash.
hashes.py needs some work to generate the v2 values (Python reference implementation in blog post should help). DB will need to change.
BitTorrent v2 has been a thing since 2020. A good technical overview is given by https://blog.libtorrent.org/2020/09/bittorrent-v2/. In short, it:
These changes necessarily change the info-hash, for which they have made a new thing called "btmh" based around, you guessed it, SHA256. It is possible to make a hybrid v1/v2 file, though the file size will approximately double.
What does it mean for mirrorbrain? Well...
.btmh
URL handling for the new kind of info-hash.hashes.py
needs some work to generate the v2 values (Python reference implementation in blog post should help). DB will need to change.The LTv2 documentation also mentions tightened bencode requirements. The
url-list
andsources
behavior in https://github.com/poeml/mirrorbrain/blob/76f2909e33004a7f5e0dd52b816881eb9fbd4246/docs/configuration.rst#generating-torrents, if it still exists, needs to be removed.