Description
Our current policy is that xarray supports "the minor version (X.Y) initially published no more than N months ago" where N is:
- Python: 42 months (NEP 29)
- numpy: 24 months (NEP 29)
- pandas: 12 months
- scipy: 12 months
- sparse, pint and other libraries that rely on NEP-18 for integration: very latest available versions only,
- all other libraries: 6 months
I think this policy is too aggressive, particularly for pandas, SciPy and other libraries. Some of these projects can go 6+ months between minor releases. For example, version 2.3 of zarr is currently more than 6 months old. So if zarr released 2.4 today and xarray issued a new release tomorrow, and then our policy would dictate that we could ask users to upgrade to the new version.
In #4178, I misinterpreted our policy as supporting "the most recent minor version (X.Y) initially published more than N months ago". This version makes a bit more sense to me: users only need to upgrade dependencies at least every N months to use the latest xarray release.
I understand that NEP-29 chose its language intentionally, so that distributors know ahead of time when they can drop support for a Python or NumPy version. But this seems like a (very) poor fit for projects without regular releases. At the very least we should adjust the specific time windows.
I'll see if I can gain some understanding of the motivation for this particular language over on the NumPy tracker...