[Avocado-devel] Next Avocado Releases: plans and direction

Cleber Rosa crosa at redhat.com
Mon Jan 28 15:26:22 UTC 2019


Hi everyone in the Avocado community,

Among the few of us who join the release meetings, we've been
brainstorming about the plans for the next Avocado releases.  This
message outlines the most important topics, and opens the discussion to
the larger community.

LTS Release
===========

The previous LTS release was tagged on June 26 2017, roughly 17 months
ago.  The initial plan was to have a new LTS release roughly every 12
months.  This means that we're past due another release.

The plan of the current sprint (release 68.0) and for the next sprint
(release 69.0) is to focus on bug fixes and stability issues culminating
in the release of a new LTS release.  The plan is to go with the
following dates and releases:

 - Feb  4 2019: Release 68.0 (LTS beta)

 - Feb 25 2019: Release 69.0 (LTS)

The 69.0 LTS release will be supported for no less than the 18 months
stated previously.  For more information on the LTS releases, please
refer to:

 https://avocado-framework.readthedocs.io/en/67.0/rfcs/LongTermStability.html

52.0 LTS Release Status
=======================

LTS releases have a had a minimum of 18 months of guaranteed
maintenance.  This is based on the expected 12 months between LTS
releases, plus a 6 months overlap period.

For the 52.0 LTS, the currently maintained LTS release, it will be
maintained for the same 6 months overlap with the new LTS release.
Given that 69.0 (LTS) is expected to be released on Feb 25 2019, 52.0
LTS will be maintained until August 2019.

Supported Python versions
=========================

A large effort towards simultaneous source level Python 2 and 3
compatibility was put in Avocado as way back as in version 0.34.  In
reality, version 58.0 had Python 3 enabled on our CI, and version 60.0
started shipping RPMs for both Python 2 and Python 3.

But the Python 2 EOL clock is ticking:

   https://pythonclock.org/

And on January 1st 2020 Python 2 will not be supported anymore.

The plan is then to have 69.0 LTS as the last release that we'll enforce
Python 2 compatibility.  It doesn't mean we'll deliberately break Python
2 code and hunt for any signs of Python 2 compatible code, but it means
that we'll stop:

 * Testing Avocado under a Python 2 stack (for instance on CI)
 * Shipping binary packages for Python 2 (Wheel packages on PIP, RPM
packages, etc)
 * Requiring compatibility libraries (such as six)
 * Requiring libraries that add less value on Python 3 (stevedore)

This should free enough development and maintenance resources to allow
us to move Avocado faster (our backlog is quite large).  Also, this
could maybe allow for a pure Python Avocado (no external deps).

Given that release 69.0 will be supported up until, at least, August
2020, Python 2 users will still have a version to work with, even past
the Python 2 EOL.

Invitation
==========

If you're using Avocado in an environment that requires stability and
deployment planning, please join the discussion!

Also, if you're also interested in making Avocado >= 70.0 even slicker,
we're on the same page.  Expect those releases to drop legacy features,
and come up with features that our users really care and can benefit
from.  So, again, please join the discussion!

Regards,

-- 
Cleber Rosa
[ Sr Software Engineer - Virtualization Team - Red Hat ]
[ Avocado Test Framework - avocado-framework.github.io ]
[  7ABB 96EB 8B46 B94D 5E0F  E9BB 657E 8D33 A5F2 09F3  ]




More information about the Avocado-devel mailing list