ChromeDriver version reporting changed

44 views
Skip to first unread message

Kieran Simpson

unread,
Dec 18, 2018, 2:30:03 AM12/18/18
to Chromium-dev
Due to change https://chromium-review.googlesource.com/c/chromium/src/+/1166229/ the version number printed by ChromeDriver has changed eg: instead of 2.38 it reports as 69.0.3497.81

What was the reason for the change? https://sites.google.com/a/chromium.org/chromedriver/downloads still reports the versions by the previous versioning scheme so it's going to be hard to reconcile versions.

Yuri Wiitala

unread,
Dec 19, 2018, 3:11:04 PM12/19/18
to kiera...@gmail.com, Chromium-dev
Forwarding on behalf of johnchen@:

Please see the following announcement that was previously sent to ChromeDriver user group. In summary, most people can ignore the new version numbers for now, and use the version shown at https://sites.google.com/a/chromium.org/chromedriver/downloads.

---------------------------------------

We are happy to announce the first Beta release of ChromeDriverversion 70.0.3538.16. You can download this release at https://chromedriver.storage.googleapis.com/index.html?path=70.0.3538.16/. This new release is still experimental, and is not yet a replacement for the official release of ChromeDriver, currently at version 2.42. Instead, it is a preview of the future release model for ChromeDriver, where there will be a tighter match between the release of ChromeDriver with the release of Chrome. Here is how the new release model will work:
  • ChromeDriver will be using the same version number scheme as Chrome. See https://www.chromium.org/developers/version-numbers for more details.
  • Each version of ChromeDriver will support Chrome with matching major, minor, and build version numbers. For example, ChromeDriver 70.0.3538.16 supports all Chrome versions that start with 70.0.3538.
  • When a new major version of Chrome goes to Beta, a matching Beta version of ChromeDriver will be released. For example, this new release of ChromeDriver matches the Beta release of Chrome m70 from last week. Since this is our very first Beta release, it is happening a few days after the corresponding Chrome Beta release. As we refine the release process, we expect that eventually we will be able to release ChromeDriver Beta a few days before the corresponding Chrome Beta.
  • After the initial release of a new major version, we will release patches as needed. For example, after 70.0.3538.16, we might release bug fixes in 70.0.3538.30, etc. These patches may or may not coincide with updates to Chrome.
Why are we doing this? There are several reasons.
  • The existing release model requires each version of ChromeDriver to support several (usually three) major versions of Chrome. This makes ChromeDriver code hard to maintain, as it usually needs to choose different code paths depending on which version of Chrome it is connected to.
  • Given a particular version of ChromeDriver, it is hard to determine which versions of Chrome it supports.
  • The existing release model doesn't provide any opportunity for Beta testing. That means each release of ChromeDriver may contain new code that hasn't been well tested.
  • In the old model, when bugs are found in a released ChromeDriver, it is impossible to update the release to provide bug fixes only. Instead, we had to wait until the next release to provide bug fixes. The new model will allow us to separate bug fixes from feature releases.
How do you find the right ChromeDriver under the new model? Here are the steps:
  • First, find out which version of Chrome you are using. Let's say you have Chrome 70.0.3538.22.
  • Take the Chrome version number, remove the last part, and append the result to URL "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_". For example, with Chrome version 70.0.3538.22, you'd get a URL "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_70.0.3538".
  • Use the URL created in the last step to retrieve a small file containing the version of ChromeDriver to use. For example, the above URL will get your a file containing "70.0.3538.16". (The actual number may change in the future, of course.)
  • Use the version number retrieved from the previous step to construct the URL to download ChromeDriver. With version 70.0.3538.16, the URL would be https://chromedriver.storage.googleapis.com/index.html?path=70.0.3538.16/.
  • After the initial download, it is recommended that you occasionally go through the above process again to see if there are any bug fix releases.
It is expected that this new release model, probably after some adjustments and fine tuning, will eventually replace the current release model. We don't yet have a firm schedule of when this will happen.

If you are the author of tools that automate downloading of ChromeDriver, we encourage you to consider how the new release model will affect your tools. We also encourage you to send us feedback on what you think of this new model. We welcome your suggestions to make the release model better.

Thanks,
John

On Mon, Dec 17, 2018 at 11:29 PM Kieran Simpson <kiera...@gmail.com> wrote:
Due to change https://chromium-review.googlesource.com/c/chromium/src/+/1166229/ the version number printed by ChromeDriver has changed eg: instead of 2.38 it reports as 69.0.3497.81

What was the reason for the change? https://sites.google.com/a/chromium.org/chromedriver/downloads still reports the versions by the previous versioning scheme so it's going to be hard to reconcile versions.

--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/3b7ad24f-0802-4a6b-8b2a-6b0d24f0e45e%40chromium.org.

Gu, Yang

unread,
Dec 20, 2018, 12:06:04 AM12/20/18
to m...@chromium.org, kiera...@gmail.com, Chromium-dev

I like the overall idea here to have a clear mapping from Chrome version to ChromeDriver version. However, the granularity here is a  bit too fine for me. Can we have a single ChromeDriver version (like 70.xx) mapping to one Chrome major version? After all, I don’t think the build number (like 3538 here) is that meaningful, and you don’t need to release ChromeDriver so often. And I hope this ChromeDriver is compatible for all channels within a major version, from Canary to Dev, Beta, and Stable. There might be a bit overhead here, but within a single major version, I think the cost might not be that big.  

Furthermore, may I suggest to release ChromeDriver together with Chrome binaries on desktop, including Windows, Linux and macOS. This might add 3-4MB binary size (compressed), but we don’t need to fight against the compatibility of ChromeDriver. You also have the server to cache all the builds of Chrome from master. At least, I hope ChromeDriver can be provided there for each build to facilitate some automatic testing.

Thanks!

 

Regards,

-Yang

 

To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CA%2BN%2BEKayaEnKYa1W6SLgg7B12zgosQOvw8HyDLAwcqFPnaxMNQ%40mail.gmail.com.

Torne (Richard Coles)

unread,
Dec 20, 2018, 2:00:00 PM12/20/18
to yan...@intel.com, m...@chromium.org, kiera...@gmail.com, Chromium-dev
Canary and dev change branch number constantly, because we haven't yet decided which branch is going to be the branch for that major version. Effectively, our "major versions" only exist AFTER they get promoted to beta, at which point the branch number will not change again: once we promote, say, 70.0.3538.0 to beta, all 70 builds in beta and stable are going to be 70.0.3538.*.

So, what you're asking for is already true for beta/stable: there will just be one chromedriver version that works for all stable/beta builds within a major version. In canary and dev, the code is still actively in development, so the interface might well change between branches.

Gu, Yang

unread,
Dec 20, 2018, 11:51:11 PM12/20/18
to Torne (Richard Coles), m...@chromium.org, kiera...@gmail.com, Chromium-dev

Thanks for the clarification! If the branch number is fixed for Beta and Stable, I’m fine with this. I ever worked on Chrome for Android, and my impression is there can be multiple build numbers for Beta or even Stable. I think it’s not the case now.

Currently our automation test is based on Canary (to “predict” some regression), how can I find the ChromeDriver for it? If we have to map the build number, I suppose you have to release ChromeDriver very often.

Will you think about the requirement to release ChromeDriver with Chrome? Canary, Dev, Beta, Stable channels and builds against master at your server.

 

Regards,

-Yang

Reply all
Reply to author
Forward
0 new messages