seaborn v0.10.0 Release Notes

Release Date: 2020-01-24 // over 2 years ago
  • ๐Ÿš€ 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 and seaborn.timeseries module have been removed. Recall that tsplot was replaced with lineplot.
    • ๐Ÿšš The seaborn.apionly entry-point has been removed.
    • ๐Ÿšš The seaborn.linearmodels module (previously renamed to seaborn.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).