Skip to content

DOC: Actively suggest updating MNE to a supported version #12132

@larsoner

Description

@larsoner

I often have people come to me locally with bugs, only to find that they are on some old version of MNE-Python. I think it's not generally known to neuroscience people that upgrading is important for bug fixes etc., so it would be good to make it clear what the software support policy is and that upgrading is important.

We should document this clearly as much as possible, but I have two other ideas that will actively "pop up" / ping users more actively:

  1. Add a date-based warning on import. For example, if we release 1.6 on Nov 1 2023, add to mne/__init__.py code to emit a warning on Nov 1 2024 that a new version of MNE is available and that they should update to avoid bugs (or some similar explicit message). We don't absolutely know or guarantee our release cadence, but the longest we have gone between releases in the last few years is probably like ~8 mo, and I think we now shoot for ~4 mo -- so to be safe if can make it year from when we cut a release. This could be controllable with a MNE_CHECK_VERSION_DATE env var or something in case people have wacky datetime settings.

  2. Query the current release version over the internet when mne.sys_info is called with a new kwarg check_version=True. We don't want our software to start trying to "phone home" without a user asking in some way (i.e., definitely not at import time). Then the question becomes what should the default value of check_version in mne.sys_info(..., check_version=...) be:

    • False: least invasive but also least informative for users. In our bug report forms and forum stuff we ask people to call mne sys_info --check-version or mne.sys_info(check_version=True) or so. But the probability of users seeing an informative warning goes down.
    • True: most invasive but also most informative for users.
    • None: in between if we make it mean "try to check and if it takes more than 2 sec don't bother" or something. (FWIW, mne sys_info on my machine currently takes ~3.7s.)

    Whichever way we go, the default behavior for None could be controllable with MNE_SYS_INFO_CHECK_VERSION var in case people want the default None behavior to mean False or True.

Happy to hear thoughts on these and other ideas for suggesting people update to supported versions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions