Update from Bitcoin core 0.12 to 0.13 requires blockchain re-download?
The reason is not strictly the upgrade from 0.12 to 0.13, but from a version that does not support SegWit to one that does, after SegWit activated on the network.

Bitcoin Core 0.13 comes with the code preparations for SegWit, although they are only enabled for testnet. Several miners have run pre-release code for 0.13 on testnet ahead of time, causing testnet to already switch to SegWit.

The problem is that you don't have the witness data for the blocks since that activates, so 0.13 decided to ignore those blocks on disk, and download them again.