Hi Timothy,
Thank you for your answer. I understand that the prefix was added to 
differentiate versions with different feature flags based on the target SDK 
version. For example, Safari was built for 10.6 Snow Leopard and was versioned 
as 6616.1.20, and Safari was built for 10.7 Lion and was versioned as 7616.1.20.
And I have a few follow-up questions:
1.
You said, "Safari updates, which shipped to older OS versions, were also 
included in new OS releases."
I understand that Safari is automatically updated when I upgrade to a new OS. 
So, I don't understand what you mean by "Safari updates for older OS versions 
were also included in new OS releases."
After some research, I found that Safari may need to be updated on all OSes for 
security reasons. For example, there are both Lion and Snow Leopard versions of 
Safari 5.1.7 update for Adobe Flash Player 
(https://support.apple.com/en-vn/103351)
Is this the situation you were describing?
2.
You also said, "the version number's prefix was introduced to differentiate 
these versions and ensure proper file updates during installation."
How does this versioning ensure correct updates? Does the OS installer have 
Safari programs built for different target SDKs, and does it check the 
currently installed OS environment to install the Safari version corresponding 
to that environment? For example, if the current OS version is 10.7, does it 
download the Safari program with a version number starting with 7?
3.
Finally, why isn't this versioning scheme needed anymore? Could you give me an 
example?
Thanks, Sujin

-----Original Message-----
From: "Timothy Hatcher"<timo...@apple.com>
To: "강수진"<rkdthd1...@naver.com>;
Cc: <webkit-dev@lists.webkit.org>;
Sent: 2023-12-16 (토) 02:18:57 (GMT+09:00)
Subject: Re: [webkit-dev] Meaning of '7' in WebKit Versioning

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


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

Reply via email to