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"
To: "강수진";
Cc: ;
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
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