Version 1.13.0.dev59+gdb75c7071 (development) (2026-05-23)#

Dependencies#

  • Updated minimum for:

    • Core dependency matplotlib >= 3.9

    Changes implemented via CI action created by Thomas Binns. (#13899)

Bugfixes#

API changes by deprecation#

  • Rename standard_1005 and standard_1020 montages to colin27_1005 and colin27_1020, respectively. If you used standard_1005 or standard_1020, either switch to the new names colin27_1005 and colin27_1020 or use the new spherical montages spherical_1005, spherical_1010, or spherical_1020, which provide idealized template locations on a sphere (useful for plotting). By Clemens Brunner. (#13903)

New features#

  • It is now possible to concatenate raw objects with mne.concatenate_raws() as long as they inherit from BaseRaw, even if their specific types differ (e.g., Raw and RawArray), by Clemens Brunner. (#13263)

  • Add a preprocessing example showing how to explore epoch quality before rejection using robust statistics (peak-to-peak amplitude, variance, and kurtosis) inspired by FASTER (Nolan et al., 2010) and Delorme et al. (2007), by Aman Srivastava. (#13710)

  • Add annotation_colors parameter to mne.io.Raw.plot() and mne.Epochs.plot() to allow users to specify custom colors for annotations by passing a dict mapping annotation description strings to colors (for example, annotation_colors=dict(bad_segment="orange")), by Clemens Brunner. (#13838)

  • Add dark theme support (theme="light", "dark", or "auto") to the 'matplotlib' browser backend used by mne.io.Raw.plot(), mne.Epochs.plot(), and mne.preprocessing.ICA.plot_sources(), by Clemens Brunner. (#13861)

  • Fix mne.preprocessing.nirs.beer_lambert_law() to support explicitly provided sd_distances during Beer-Lambert conversion. When valid source-detector distances are already present in raw.info, overriding them now emits a warning, and when all inferred distances are invalid and no explicit distances are provided, a ValueError is raised instead of silently producing zero concentrations, by new contributor Kalle Makela. (#13875)

  • Add overrides parameter to mne.io.read_raw_brainvision() for reading non-spec-compliant .vhdr files where the header contradicts the actual layout (e.g. renamed BIDS siblings, missing MarkerFile=, truncated [Channel Infos]). Accepts a dict with keys data_fname, marker_fname, n_channels, sfreq, ch_names, units_fallback, data_orientation, data_format, and binary_format; see the function docstring for details. Missing or empty MarkerFile= is now also tolerated natively (per the BV Core Data Format spec). When MarkerFile= names a path that does not exist (common after BIDS renames), mne.io.read_raw_brainvision() now falls back to the co-located <stem>.vmrk next to the .vhdr and warns, instead of raising FileNotFoundError, by Bruno Aristimunha. (#13884)

  • Add idealized spherical 10–05, 10–10, and 10–20 montages (spherical_1005, spherical_1010, spherical_1020), by Clemens Brunner. (#13903)

Other changes#