SG-41515: Add support for optional major.minor.PATCH version number in packages and bundles #1023
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.
Linked issues
SG-41515
Summarize your change and reason for change
Package and bundle files only had major.minor version numbers. This made it extremely cumbersome and awkward to issue patch releases with a patch number for hotfixes.
Now the package manager handles an optional major.minor.PATCH number. It is backwards compatible with just major.minor, and will assume ".0" for patch number in this case.
Users reported that when we added a "version" tag in the PACKAGE file with an extra dot/number, it didn't work. But that's because the rvpkg executable appears to load the PACKAGE file, and will blindly create a file with the extra dot/number. But the rvpkg loader validates the filename against a regular expression, and the filename with the extra dot/number failed the regex check.
So it's not that the "version" tag didn't support the extra dot/number. It's that the rvpkg loader didn't like the filename format... sigh.
In any case, the fix makes RV able to load old filenames with major.minor, and major.minor.patch also...
... but unfortunately, old RVs will still be unable to read pluginname_major.minor.patch.rvpkg files, just "pluginname_major.minor.rvpkg" files.
note:
As an alternative to breaking old RVs, maybe we can rename the rvpkg files by adding a service pack number (sp) to the version number, like this:
but it's unclear if this would work correctly for install/uninstall of old bundles and packages that need conflict resolutions.
Describe what you have tested and on which operating system.
macOS.
Add a list of changes, and note any that might need special attention during the review.
If possible, provide screenshots.