v0.10.0 (January 2020)
This is a major update that is being released simultaneously with version 0.9.1. It has all of the same features (and bugs!) as 0.9.1, but there are important changes to the dependencies.
Most notably, all support for Python 2 has now been dropped. Support for Python 3.5 has also been dropped. Seaborn is now strictly compatible with Python 3.6+.
Minimally supported versions of the dependent PyData libraries have also been increased, in some cases substantially. While seaborn has tended to be very conservative about maintaining compatibility with older dependencies, this was causing increasing pain during development. At the same time, these libraries are now much easier to install. Going forward, seaborn will likely stay close to the Numpy community guidelines for version support.
This release also removes a few previously-deprecated features:
- The
tsplot
function andseaborn.timeseries
module have been removed. Recall thattsplot
was replaced withlineplot
. - The
seaborn.apionly
entry-point has been removed. - The
seaborn.linearmodels
module (previously renamed toseaborn.regression
) has been removed.
Looking forward
Now that seaborn is a Python 3 library, it can take advantage of keyword-only arguments. It is likely that future versions will introduce this syntax, potentially in a breaking way. For guidance, most seaborn functions have a signature that looks like
func(x, y, ..., data=None, **kwargs)
where the **kwargs
are specified in the function. Going forward it will likely be necessary to specify data
and all subsequent arguments with an explicit key=value
mapping. This style has long been used throughout the documentation, and the formal requirement will not be introduced until at least the next major release. Adding this feature will make it possible to enhance some older functions with more modern capabilities (e.g., adding a native hue
semantic within functions like jointplot
and regplot
).