fix: recognize DEV-version files that need serialization upgrade#6099
Open
antonydellavecchia wants to merge 4 commits into
Open
fix: recognize DEV-version files that need serialization upgrade#6099antonydellavecchia wants to merge 4 commits into
antonydellavecchia wants to merge 4 commits into
Conversation
The load path gated upgrades on `file_version < VERSION_NUMBER`. For DEV builds the file's version string carries a commit hash (e.g. "1.8.0-DEV-<hash>"), so this compared two VersionNumbers by their hash characters rather than by upgrade state. A file could then be judged up-to-date and skip upgrades it actually needed, causing load to fail. Gate instead on the newest upgrade script's version, applied to the file's effective upgrade version (which decodes the n_upgrades count encoded in DEV version strings). `upgrade()` now uses the same effective version so the gate and the per-script loop stay consistent. Verified by loading a file saved as "1.8.0-DEV-<hash>" that previously failed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
lgoettgens
reviewed
Jul 6, 2026
Co-authored-by: Lars Göttgens <lars.goettgens@rwth-aachen.de>
benlorenz
approved these changes
Jul 6, 2026
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #6099 +/- ##
==========================================
+ Coverage 84.21% 84.24% +0.02%
==========================================
Files 787 787
Lines 107376 107506 +130
==========================================
+ Hits 90432 90568 +136
+ Misses 16944 16938 -6
🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The load path gated upgrades on
file_version < VERSION_NUMBER. For DEV builds the file's version string carries a commit hash (e.g. "1.8.0-DEV-"), so this compared two VersionNumbers by their hash characters rather than by upgrade state. A file could then be judged up-to-date and skip upgrades it actually needed, causing load to fail.Gate instead on the newest upgrade script's version, applied to the file's effective upgrade version (which decodes the n_upgrades count encoded in DEV version strings).
upgrade()now uses the same effective version so the gate and the per-script loop stay consistent.Most of these changes have been brought in from #6016 save for the neccessary gate described above.
Since #6016 might still need some time to be approved and merged I am bringing them in here.
Having a test for these type of issues seems to be hard as they only affect old dev versions