[Matplotlib-devel] Long term release schedule

Thomas Caswell tcaswell at gmail.com
Mon May 9 23:18:56 EDT 2016


Compared to the short term schedule this maybe be a bit for contentious as
it puts dropping Py2 on our road map.  This has been discussed by my self,
Mike Droettboom, Eric Firing and Jens Nielsen.

As I am sure you are all aware, upstream cpython is planning to drop
support for python 2.7 in 2020 which leaves us in the scientific community
to sort out how to manage this transition.   There seems to be momentum for
the transition and we have reached the point where the discussion is not
_if_ we drop python 2 support but _when_.

The Jupyter/IPython team is working to build a community wide consensus [0]
on moving to python3 for feature releases before 2020.  This text is still
under development, but text has been consistent in spirit.   Instead if my
attempting to summarize, please go read ;)

We propose the following long term schedule for mpl:

2016-09/10 : 2.1
  what we have on master is probably good enough for a release already but
  - traitlets
  - the gui overhaul
  if we miss them, tag in late september anyway

2017-07 : 2.2 LTS
 - last feature release with 2.7 support
 - critical bug fixes on mpl 2.2.x branch until 2020
 - solicit a dedicated py2.7 maintainer

2018-07 : 3.0
  - only support py3.4+
  - chance to break functional API if we want

This is less aggressive of a schedule than IPython (they have a planned py3
only release at the beginning of 2017) and gives us ample time to address
any unexpected issues in the transition.

This plan is not with out risks (ex as master picks up python3 only code it
will diverge from 2.2.x making back-porting bug fixes harder), however
continuing to support python 2.7 forever has it's own.

If we have users that can not (or will not) switch from py2 we are going to
need those users to step up and support the continued maintenance of a 2.7
compatible branch.  My personal thinking on this has been greatly
influenced by Nick Coghlan [1], the continued support of deprecated
versions of python for commercial use can not fall on a small group of

As a project we have a couple of decisions to make:

 1. If we adopt this as our time line (and if not what time line do we use)
 2. If we add mpl + our time line to https://python3statement.github.io/


[0] https://python3statement.github.io/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/matplotlib-devel/attachments/20160510/e70eea9e/attachment.html>

More information about the Matplotlib-devel mailing list