The version should have been bumped long ago in commit 725d1ddc3ea20 because it added a new serialization member, which broke compatibility. We only noticed this now because the RAPIDS team ran into a "Deserialization failed" error due to old incompatible cache files on disk.
This commit also improves the robustness of the deserialization, adds warning comments, and adds tests that check that the serialization format hasn't changed unless the version number has also changed. These tests work by comparing to "golden" files that contain serialized program objects. The golden files must be tracked in git, and are automatically generated and added to git by the tests when the version number is increased.