Your research is on the right track. The prefix originally reflected the minor 
dot-number from Mac OS X's version naming convention.

I implemented this versioning scheme many years ago to address versioning 
conflicts with the OS X installer. Safari updates, which shipped to older OS 
versions, were also included in new OS releases. To ensure the OS installer 
updated WebKit and Safari correctly, distinct bundle version numbers were 
necessary, as these components were built with different feature flags 
depending on the target SDK version (they were not intended for use outside the 
OS version they were compiled against). Thus, the version number's prefix was 
introduced to differentiate these versions and ensure proper file updates 
during installation (since 7616.1.20 is larger, thus newer to the installer, 
than 6616.1.20).

This versioning scheme isn't needed anymore, which is why the prefix number 
hasn't changed in the last few years.

— Timothy Hatcher

> On Oct 29, 2023, at 10:07 PM, 강수진 via webkit-dev 
> <webkit-dev@lists.webkit.org> wrote:
> 
> Meaning of '7' in WebKit Versioning
> 
> Hello,
> 
> I have a question about the versioning rules in WebKit.
> 
> I am aware that the version of WebKit used varies based on the iOS version. 
> For example, in iOS 17.0, the WebKit framework's WebKit.tbd file shows the 
> current version as 616.1.27, while in iOS 16.4, it's 615.1.26.
> 
> When I checked the corresponding source for each version on WebKit's GitHub, 
> I noticed that the tags for these versions are labeled as WebKit-7616.1.20.
> 
> Upon inspecting Version.xcconfig, I found that 616.1.20 represents the Major, 
> Minor, and Tiny versions, respectively. However, I couldn't determine the 
> significance of '7'.
> 
> I speculated that '7' might represent the SYSTEM_VERSION_PREFIX since 
> BUNDLE_VERSION_Production is set to $(SYSTEM_VERSION_PREFIX)$(FULL_VERSION); 
> in the same file. But considering the system version prefix for iPhone SDK is 
> set to 8, '7' couldn't denote that.
> 
> After some research, I found that '7' signifies the release year of Mac OS 
> 10.7 (Lion), which was launched in 2011.
> 
> Could you please clarify the meaning of '7' in tags like WebKit-7616.1.20?
> 
> _______________________________________________
> webkit-dev mailing list
> webkit-dev@lists.webkit.org <mailto:webkit-dev@lists.webkit.org>
> https://lists.webkit.org/mailman/listinfo/webkit-dev

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to