Add version numbers to native libraries #1347
Closed
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.
Description of Change
Add a "suffix" to library names:
libSkiaSharp_<milestone>_<skiasharp>.<ext>
For example for 1.68.3:
libSkiaSharp_68_3.dll
And for 2.80.0:
libSkiaSharp_80_0.dll
This will avoid the cases when older versions are used with newer apps and causing crashes.
The reason for the 2 numbers only is the way SkiaSharp is versioned:
<major-change-indicator>.<skia-version>.<skiasharp-version>.<bug-or-packaging-fix>
So...
1.*
to2.*
is nothing special - except we may have re-written the library (which we haven't actually done because we like backwards compatibility)*.1
to*.2
means that Google's code is new - and may have behavioral changes (which usually doesn't happen - except for bug fixes)*.*.1
to*.*.2
means that we did a new API or changed some interop code (and thus ABI breaking)*.*.*.1
to*.*.*.2
means that there may have been a docs/packaging/managed-only change (and the native library is still the same version)