Alessandro,
Can I suggest that where there are breaking changes in the encryption/decryption between releases that this is expressly mention that in the Release Notes for those releases on the Releases page.
I feel that this should be clearly mentioned in the release notes as merely updating the major version number (as per Semantic Versioning) is probably insufficient when it comes to making end users aware that files data/files encrypted by an earlier release can no longer be decrypted by this release.
End users often depend on the release notes to determine the impact on their project when evaluating whether they should to update to a new release.
This is because most open source developers / projects fail to state whether they're project uses Semantic Versioning or some other approach to versioning and most commercial developers update the major version number as a way to different between paid and free updates regardless of whether the update contains breaking changes.
I would even suggest it should you mention in the ReadMe that version 3.x is incompatible with previous releases and your thoughts/policy with respect to breaking changes going forward as this type of disclosure will give end users some confidence in using your library going forward.
Les