[webkit-dev] Meaning of '7' in WebKit Versioning

Timothy Hatcher timothy at apple.com
Fri Dec 15 09:18:57 PST 2023

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 at 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 at lists.webkit.org <mailto:webkit-dev at lists.webkit.org>
> https://lists.webkit.org/mailman/listinfo/webkit-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20231215/e55e4344/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3623 bytes
Desc: not available
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20231215/e55e4344/attachment.bin>

More information about the webkit-dev mailing list