mirror of
https://github.com/appium/appium.git
synced 2026-01-13 05:40:01 -06:00
docs(appium): add FAQ to 1.x EOL plan
This commit is contained in:
@@ -1,12 +1,11 @@
|
||||
# Appium version 1 End Of Life (EOL) Plan
|
||||
|
||||
Appium 1 has been around for quite a while and now is the time to move
|
||||
project development forward and to provide even better automation
|
||||
experience with Appium version 2.
|
||||
Appium 1 has been around for quite a while and now is the time to move project development forward
|
||||
and to provide even better automation experience with Appium version 2.
|
||||
|
||||
## Upgrading to Appium 2.x
|
||||
|
||||
While Appium 2.0 leaves most of the fundamental automation behaviors from the various platfrom
|
||||
While Appium 2.0 leaves most of the fundamental automation behaviors from the various platform
|
||||
drivers untouched, it does rework the way that drivers are installed and accessed, and enforces
|
||||
stricter protocol usage, among other changes. For that reason, it's important to fully read,
|
||||
understand, and implement the steps discussed in the [Appium 1.x to 2.x Migration
|
||||
@@ -29,8 +28,8 @@ release of Appium 2.0 (until March 15, 2022):
|
||||
* Bug fixes to the Appium 1.x server.
|
||||
|
||||
Once the 6 months of transition have passed, we will publish new versions of the core drivers that
|
||||
will only be compatible with Appium 2.x. From that point forward, no features, platform support, or
|
||||
patches will be added to 1.x.
|
||||
will only be guaranteed to be compatible with Appium 2.x. From that point forward, no features,
|
||||
platform support, or patches will be added to 1.x.
|
||||
|
||||
Based on the current release schedule, it is likely that Appium 1.22.x will be the last in the set
|
||||
of Appium 1.x releases.
|
||||
@@ -39,3 +38,72 @@ of Appium 1.x releases.
|
||||
|
||||
Since Appium 2.0's documentation may not be published on the website until its release, you may
|
||||
want to check out the `docs` folders in this repo, under the `2.0` git branch.
|
||||
|
||||
## FAQ
|
||||
|
||||
<b>Will Appium 1.x stop working for me after the EOL date?</b>
|
||||
|
||||
No. Appium is not a service. Existing versions of Appium will continue to work just fine. You
|
||||
can keep using Appium 1.x for years if you want. However, bugs found in Appium 1.x will not be
|
||||
fixed after the EOL date, and updates to make drivers compatible with new OS/platform updates may
|
||||
not be compatible with Appium 1.x after the EOL date, so older versions of Appium are not
|
||||
guaranteed to support, for example, new versions of iOS or Android.
|
||||
|
||||
<b>What is Appium's existing "support" strategy?</b>
|
||||
|
||||
With Appium 1.x (and with 2.x moving forward), no patches are made to existing versions or
|
||||
backported to previous version lines. Changes are always only released in new versions. If you
|
||||
discover a bug in, say, Appium 1.22.1, and it is fixed, that fix would be released in Appium
|
||||
1.22.2, or Appium 1.23.0. The fix will not be retroactively applied to Appium 1.21 or any earlier
|
||||
version. For this reason, it's important to always be using the latest version of Appium. The
|
||||
only exception to this rule will be the transition period before the 1.x EOL date, wherein the
|
||||
team will release new versions of Appium 1.x if necessary, while also releasing the 2.x line.
|
||||
|
||||
<b>How will Appium 1.x receive updates between the release of 2.0 and the 1.x EOL date? What kind
|
||||
of updates will they be?</b>
|
||||
|
||||
With Appium 1.x, there were basically two kinds of updates:
|
||||
|
||||
1. Updates to Appium core code, including the Appium server, internal libraries, etc...
|
||||
2. Updates to platform drivers (like the XCUITest driver, where many updates happened in the
|
||||
WebDriverAgent project, or like the UiAutomator2 driver).
|
||||
|
||||
All of these updates were bundled haphazardly together in the course of an
|
||||
Appium 1.x release. With Appium 2.x, these kinds of updates are appropriately disentangled. Appium
|
||||
2.x core updates will be released as new versions of Appium 2.x, but these updates will not be
|
||||
related at all to changes in platform driver code. Instead, drivers will maintain their own release
|
||||
schedules, and new versions of drivers can be used without necessarily upgrading the Appium server
|
||||
version (see the migration doc for more information on how to do this). With that context, we can
|
||||
say that Appium 1.x will continue to receive the two types of updates mentioned, with the caveat
|
||||
that the core Appium 1.x code will only see important bugfixes, and no feature development. So to
|
||||
summarize, during the transition period, Appium 1.x will receive the following kinds of updates:
|
||||
|
||||
1. Important bugfixes to the core 1.x code (server, etc...)
|
||||
2. All updates to platform driver code (this is made possible because the Appium team will ensure
|
||||
that platform drivers are compatible with both Appium 1.x and 2.x, until the EOL period, after
|
||||
which they will only be guaranteed to be compatible with 2.x).
|
||||
|
||||
<b>I use Appium via a cloud service. How will that work moving forward with Appium 2.0? Will cloud
|
||||
providers stop supporting Appium 1.x at the same time the Appium team does?</b>
|
||||
|
||||
Appium cloud providers can support as much or as little of Appium 2.0's ecosystem as they want.
|
||||
They might choose to make available only the most recent versions of the Appium 2.x server, and the
|
||||
most recent versions of a few popular drivers. Or, they might have a predetermined list of drivers,
|
||||
plugins, and versions that can be selected via capabilities. They might even allow for arbitrary
|
||||
installation of any drivers or plugins from anywhere on the Internet. All of these factors are left
|
||||
to the policy of the provider in question, though the Appium team makes some recommendations about
|
||||
appropriate capabilities for Appium 2.x frontends, in the migration document.
|
||||
|
||||
Cloud providers are of course free to make their own plans for Appium 1.x EOL, and could choose to
|
||||
support Appium 1.x for years to come. If you have any questions about your cloud provider's plan
|
||||
for Appium 2.0 support or 1.x EOL, reach out to them directly. They should be familiar with this
|
||||
document as well as the migration guide and should be able to assist.
|
||||
|
||||
<b>Why is there not a longer deprecation period for Appium 1.x? Why only 6 months?</b>
|
||||
|
||||
* The extent of the user-facing breaking changes is quite small, as you can see in the migration
|
||||
doc. The necessary changes are mostly superficial, and some are handled automatically by newer
|
||||
Appium clients.
|
||||
* Appium 2.0 has been in beta for well over a year.
|
||||
* Supporting incompatible versions of Appium for an extended period of time is not possible for
|
||||
a small, part-time team of core committers.
|
||||
|
||||
Reference in New Issue
Block a user