[webkit-dev] Best way to track feature evolution from release-to-release
darin at apple.com
Wed Jan 5 09:38:24 PST 2011
On Jan 5, 2011, at 7:06 AM, Tom Bahnck wrote:
> If my understanding is correct wrt to Apple's release process, when given the chance, Apple tags the WebKit trunk under the name "Safari-###" in the /tags directory. This contains all source from the WebKit trunk, including tools/bugzilla/test/etc. code. When making a Safari release, Apple publishes WebKit code selected for production to a "Safari #.#" directory in /releases/Apple, which correlates to a Safari-### tag by changeset notes (e.g. "Tag for WebKit in Safari 5.0.3 (WebKit 533.19.4)") -- in the preceding example, "WebKit 533.19.4" correlates to /tags/Safari-533.19.4 as base. Is this correct?
That’s almost right. This is roughly correct but omits some important details, such as the fact that it’s not code from the trunk, but rather from a branch off of trunk that Apple makes at some point earlier, and the fact that the tags often are sometimes not created until long after a release.
> The user agent string in Chromium cites, for example, "AppleWebKit/534.10". Does this refer directly to the /tags/Safari-534.10 code base? In other words, this is just an example of an organization chosing to use a tag created by another organization? Some refer to the Safari-(5##) number as a WebKit release, so it is important to clearly understand the distinction.
I believe that many others use WebKit version numbers based on the ones Apple uses. I think this is a good practice, although it might be something worth refining. We do want a WebKit version number to mean something cross-platform, but it’s not obvious how to accomplish that and meet all the other goals of folks using WebKit.
Perhaps confusingly, Apple uses the same-format version numbers for both Safari and WebKit that often are the same, but the two numbers are distinct and are not guaranteed to always match. The accurate WebKit version number can be seen in user agent string and in the Mac OS X WebKit framework’s Info.plist file, among other places.
More information about the webkit-dev