Deprecated separate reading of annotations and synthesis of STI014 channels in readers by `Joan Massich`_:
Annotations are now added to raw instances directly upon reading as :attr:`raw.annotations <mne.io.Raw.annotations>`. They can also be read separately with :func:`mne.read_annotations` for EEGLAB, BrainVision, EDF, and Brainstorm formats. Use :func:`mne.events_from_annotations(raw.annotations) <mne.events_from_annotations>` to convert these to events instead of the old way (using STI014 channel synthesis followed by :func:`mne.find_events(raw) <mne.find_events>`).
Use read_raw_...(stim_channel=False) to disable warnings (and stim channel synthesis), but other arguments for stim_channel will still be supported.
The only supported option will be read_raw_...(stim_channel=False), and all stim-channel-synthesis arguments will be removed. At this point, stim_channel should be removed from scripts for future compatibility, but stim_channel=False will still be acceptable for backward compatibility.
The stim_channel keyword arguments will be removed from read_raw_... functions.
Calling mne.io.pick.pick_info removing channels that are needed by compensation matrices (info['comps']) no longer raises RuntimeException but instead logs an info level message. By `Luke Bloy`_
:meth:`mne.Epochs.save` now has the parameter fmt to specify the desired format (precision) saving epoched data, by `Stefan Repplinger`_, `Eric Larson`_ and `Alex Gramfort`_
Deprecated mne.SourceEstimate.morph_precomputed, mne.SourceEstimate.morph, mne.compute_morph_matrix, mne.morph_data_precomputed and mne.morph_data in favor of :func:`mne.compute_source_morph`, by `Tommy Clausner`_
Prepare transition to Python 3. This release will be the last release compatible with Python 2. The next version will be Python 3 only.
CUDA support now relies on CuPy_ instead of PyCUDA and scikits-cuda. It can be installed using conda install cupy. By `Eric Larson`_
Functions requiring a color cycle will now default to Matplotlib rcParams colors, by `Stefan Appelhoff`_
:meth:`mne.Evoked.plot_image` has gained the ability to show_names, and if a selection is provided to group_by, axes can now receive a dict, by `Jona Sassenhagen`_
Calling :meth:`mne.Epochs.decimate` with decim=1 no longer copies the data by `Henrich Kolkhorst`_
Removed blocking (waiting for new epochs) in mne.realtime.RtEpochs.get_data() by `Henrich Kolkhorst`_
Warning messages are now only emitted as :func:`warnings.warn_explicit` rather than also being emitted as logging messages (unless a logging file is being used) to avoid duplicate warning messages, by `Eric Larson`_
Deprecated save_stc_as_volume function in favor of :meth:`mne.VolSourceEstimate.as_volume` and :meth:`mne.VolSourceEstimate.save_as_volume` by `Alex Gramfort`_
src.kind now equals to 'mixed' (and not 'combined') for a mixed source space (made of surfaces and volume grids) by `Alex Gramfort`_
Deprecation of :attr:`mne.io.Raw.annotations` property in favor of :meth:`mne.io.Raw.set_annotations` by `Joan Massich`_
The default value of stop_receive_thread in mne.realtime.RtEpochs.stop has been changed to True by `Henrich Kolkhorst`_
Using the :meth:`mne.io.Raw.add_channels` on an instance with memmapped data will now resize the memmap file to append the new channels on Windows and Linux, by `Eric Larson`_
:attr:`mne.io.Raw.annotations` when missing is set to an empty :class:`mne.Annotations` rather than None by `Joan Massich`_ and `Alex Gramfort`_
Mismatches in CTF compensation grade are now checked in inverse computation by `Eric Larson`_
People who contributed to this release (in alphabetical order):