From 7661516c7cc73055e8cdf85970d8b481ea9e45aa Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Wed, 10 May 2023 11:02:03 -0400 Subject: [PATCH] MAINT: Release 1.4.0 (#11686) --- .circleci/config.yml | 2 +- .mailmap | 8 ++ CITATION.cff | 63 +++++++--- SECURITY.md | 6 +- codemeta.json | 184 ++++++++++++++++++++-------- doc/_static/versions.json | 9 +- doc/changes/0.19.inc | 9 -- doc/changes/0.20.inc | 9 -- doc/changes/0.21.inc | 9 -- doc/changes/0.22.inc | 9 -- doc/changes/0.23.inc | 14 --- doc/changes/0.24.inc | 14 --- doc/changes/1.0.inc | 18 --- doc/changes/1.1.inc | 18 --- doc/changes/1.2.inc | 18 --- doc/changes/1.3.inc | 18 --- doc/changes/{latest.inc => 1.4.inc} | 82 +++++++++---- doc/changes/names.inc | 2 + doc/cited.rst | 6 +- doc/whats_new.rst | 2 +- mne/tests/test_annotations.py | 4 +- tools/generate_codemeta.py | 21 ++-- 22 files changed, 276 insertions(+), 249 deletions(-) rename doc/changes/{latest.inc => 1.4.inc} (89%) diff --git a/.circleci/config.yml b/.circleci/config.yml index 84731e7c6f0..4cffb7bd5dd 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -494,7 +494,7 @@ workflows: branches: only: - main - - maint/1.3 + - maint/.* main: jobs: diff --git a/.mailmap b/.mailmap index 0655885fc35..edbaf67867c 100644 --- a/.mailmap +++ b/.mailmap @@ -19,6 +19,8 @@ Andrew Quinn AJQuinn apadee <44297909+apadee@users.noreply.github.com> Anne-Sophie Dubarry annesodub Archit Singhal <43236121+architsinghal-mriirs@users.noreply.github.com> archit singhal +Arne Pelzer aplzr <7202498+aplzr@users.noreply.github.com> +Arne Pelzer pzr Ashley Drew <33734402+ashdrew@users.noreply.github.com> ashdrew <33734402+ashdrew@users.noreply.github.com> Asish Panda kaichogami Basile Pinsard @@ -66,6 +68,7 @@ Denis A. Engemann Denis Engemann dmalt Dominik Krzemiński dokato Dominik Welke dominikwelke <33089761+dominikwelke@users.noreply.github.com> +Dominik Welke dominikwelke Eberhard Eich ebeich Eduard Ort Eduard Ort Eduard Ort eort @@ -112,11 +115,13 @@ Hamid Maymandi <46011104+HamidMandi@users.noreply.github.com> Hamid <46011104+Ha Hongjiang Ye YE Hongjiang Hubert Banville hubertjb Hüseyin Orkun Elmas Hüseyin +Hyonyoung Shin <55095699+mcvain@users.noreply.github.com> mcvain <55095699+mcvain@users.noreply.github.com> Ingoo Lee dlsrnsi Jaakko Leppakangas Jaakko Leppakangas Jaakko Leppakangas jaeilepp Jaakko Leppakangas jaeilepp Jair Montoya jmontoyam +Jan Ebert janEbert Jan Sosulski jsosulski Jean-Baptiste Schiratti Jean-Baptiste SCHIRATTI Jean-Remi King Jean-Rémi KING @@ -222,6 +227,7 @@ Nicolas Gensollen Gensollen Legrand Nicolas Nicolas Legrand LegrandNico Nicolas Legrand Nicolas Legrand +Niels Focke nmri-nfocke <114056301+nmri-nfocke@users.noreply.github.com> Niklas Wilming Niklas Wilming Nikolai Chapochnikov <23103092+chapochn@users.noreply.github.com> chapochn <23103092+chapochn@users.noreply.github.com> Nikolai Chapochnikov <23103092+chapochn@users.noreply.github.com> Nikolai M Chapochnikov <23103092+chapochn@users.noreply.github.com> @@ -284,6 +290,8 @@ Timon Merk <38216460+timonmerk@users.noreply.github.com> timonmerk <38216460+tim Timothy Gates Tim Gates Tod Flak <45362686+todflak@users.noreply.github.com> todflak <45362686+todflak@users.noreply.github.com> Tom Ma myd7349 +Tom Stone tomdstone <77251489+tomdstone@users.noreply.github.com> +Tom Stone Stone Tristan Stenner Tristan Stenner Tziona NessAiver TzionaN Valerii Chirkov Valerii <42982039+vagechirkov@users.noreply.github.com> diff --git a/CITATION.cff b/CITATION.cff index 41e3352ed9e..2b8381675dc 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -1,9 +1,9 @@ cff-version: 1.2.0 title: "MNE-Python" message: "If you use this software, please cite both the software itself, and the paper listed in the preferred-citation field." -version: 1.3.0 -date-released: "2022-12-22" -commit: ea0f80614ca01f71333cbdfa4d06ee8932058cfe +version: 1.4.0 +date-released: "2023-05-10" +commit: 425e3b34439bfcff68f4f926b886aaba9a02478c doi: 10.5281/zenodo.592483 keywords: - MEG @@ -41,12 +41,12 @@ authors: given-names: Daniel - family-names: King given-names: Jean-Remi + - family-names: Höchenberger + given-names: Richard - family-names: Goj given-names: Roman - family-names: Favelier given-names: Guillaume - - family-names: Höchenberger - given-names: Richard - family-names: Brunner given-names: Clemens - family-names: van Vliet @@ -57,10 +57,10 @@ authors: given-names: Chris - family-names: Massich given-names: Joan - - family-names: Bekhti - given-names: Yousra - family-names: Rockhill given-names: Alex + - family-names: Bekhti + given-names: Yousra - family-names: Appelhoff given-names: Stefan - family-names: Leggitt @@ -135,6 +135,8 @@ authors: given-names: Guillaume - family-names: Hartmann given-names: Thomas + - family-names: Orfanos + given-names: Dimitri Papadopoulos - family-names: Ort given-names: Eduard - family-names: Benerradi @@ -198,8 +200,12 @@ authors: given-names: Jevri - family-names: Houck given-names: Jon + - family-names: Kaneda + given-names: Michiru - family-names: Klein given-names: Natalie + - family-names: Huberty + given-names: Scott - family-names: Rantala given-names: Antti - family-names: Maess @@ -218,14 +224,10 @@ authors: given-names: Maggie - family-names: Anelli given-names: Matteo - - family-names: Kaneda - given-names: Michiru - family-names: Bannier given-names: Pierre-Antoine - family-names: Choudhary given-names: Saket - - family-names: Huberty - given-names: Scott - family-names: Kern given-names: Simon - family-names: Forster @@ -248,6 +250,8 @@ authors: given-names: Kambiz - family-names: Thibault given-names: Louis + - family-names: Gerster + given-names: Moritz - family-names: Gayraud given-names: Nathalie - family-names: Ward @@ -303,10 +307,14 @@ authors: given-names: Victor - family-names: Peterson given-names: Victoria + - family-names: Baratz + given-names: Zvi - family-names: Tonin given-names: Alessandro - family-names: Kovrig given-names: Alexander + - family-names: Gramfort + given-names: Alexandre - family-names: Pascarella given-names: Annalisa - family-names: Karekal @@ -352,8 +360,6 @@ authors: given-names: Matthias - family-names: Sherif given-names: Mohamed - - family-names: Gerster - given-names: Moritz - family-names: Kozhemiako given-names: Nataliia - family-names: Srinivasan @@ -382,8 +388,12 @@ authors: given-names: Sophie - family-names: Datta given-names: Sumalyo + - family-names: Papadopoulo + given-names: Theodore - family-names: Jochmann given-names: Thomas + - family-names: Binns + given-names: Thomas Samuel - family-names: Merk given-names: Timon - family-names: Flak @@ -406,8 +416,6 @@ authors: given-names: Adina - family-names: Ciok given-names: Alex - - family-names: Gramfort - given-names: Alexandre - family-names: Pradhan given-names: Aniket - family-names: Padee @@ -420,6 +428,8 @@ authors: given-names: Archit - family-names: Rokem given-names: Ariel + - family-names: Pelzer + given-names: Arne - family-names: Hurst given-names: Austin - family-names: Beasley @@ -476,30 +486,39 @@ authors: given-names: Evgeny - family-names: Zamberlan given-names: Federico + - family-names: Pop + given-names: Florin - family-names: Weber given-names: Frederik D - family-names: Tan given-names: Gansheng - family-names: Brookshire given-names: Geoff + - family-names: O'Neill + given-names: George + - family-names: O'Neill + given-names: George + - name: Giulio - family-names: Maymandi given-names: Hamid - family-names: Sonntag given-names: Hermann - family-names: Ye given-names: Hongjiang + - family-names: Shin + given-names: Hyonyoung - family-names: Elmas given-names: Hüseyin Orkun - family-names: Machairas given-names: Ilias + - family-names: Woessner + given-names: Jacob - family-names: Kaczmarzyk given-names: Jakub - family-names: Zerfowski given-names: Jan - family-names: van den Bosch given-names: Jasper J F - - family-names: Behnke - given-names: Jennifer - family-names: Van Der Donckt given-names: Jeroen - family-names: van der Meer @@ -577,6 +596,8 @@ authors: given-names: Nicolas - family-names: Proulx given-names: Nicole + - family-names: Focke + given-names: Niels - family-names: Chalas given-names: Nikolas - family-names: Shubi @@ -591,6 +612,8 @@ authors: given-names: Peter J - family-names: Li given-names: Quanliang + - family-names: Barthélemy + given-names: Quentin - family-names: Nadkarni given-names: Rahul - family-names: Gatti @@ -617,6 +640,8 @@ authors: given-names: Sam - family-names: Ruuskanen given-names: Santeri + - family-names: Saha + given-names: Sawradip - family-names: Mathot given-names: Sebastiaan - family-names: Major @@ -649,8 +674,6 @@ authors: given-names: Svea Marie - family-names: Wang given-names: T - - family-names: Papadopoulo - given-names: Theodore - family-names: Donoghue given-names: Thomas - family-names: Radman @@ -659,6 +682,8 @@ authors: given-names: Timothy - family-names: Ma given-names: Tom + - family-names: Stone + given-names: Tom - family-names: Clausner given-names: Tommy - family-names: Anijärv diff --git a/SECURITY.md b/SECURITY.md index 8ca1465708b..95069805d69 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -10,9 +10,9 @@ without a proper 6-month deprecation cycle. | Version | Supported | | ------- | ------------------------ | -| 1.4.x | :heavy_check_mark: (dev) | -| 1.3.x | :heavy_check_mark: | -| < 1.3 | :x: | +| 1.5.x | :heavy_check_mark: (dev) | +| 1.4.x | :heavy_check_mark: | +| < 1.4 | :x: | ## Reporting a Vulnerability diff --git a/codemeta.json b/codemeta.json index fd80dc13fd2..84c6797474f 100644 --- a/codemeta.json +++ b/codemeta.json @@ -5,11 +5,11 @@ "codeRepository": "git+https://github.com/mne-tools/mne-python.git", "dateCreated": "2010-12-26", "datePublished": "2014-08-04", - "dateModified": "2022-12-22", - "downloadUrl": "https://github.com/mne-tools/mne-python/archive/v1.3.0.zip", + "dateModified": "2023-05-10", + "downloadUrl": "https://github.com/mne-tools/mne-python/archive/v1.4.0.zip", "issueTracker": "https://github.com/mne-tools/mne-python/issues", "name": "MNE-Python", - "version": "1.3.0", + "version": "1.4.0", "description": "MNE-Python is an open-source Python package for exploring, visualizing, and analyzing human neurophysiological data. It provides methods for data input/output, preprocessing, visualization, source estimation, time-frequency analysis, connectivity analysis, machine learning, and statistics.", "applicationCategory": "Neuroscience", "developmentStatus": "active", @@ -37,9 +37,9 @@ "macOS" ], "softwareRequirements": [ - "python>=3.7", + "python>=3.8", "numpy>=1.15.4", - "scipy>=1.1.0" + "scipy>=1.6.3" ], "author": [ { @@ -108,6 +108,12 @@ "givenName":"Jean-Remi", "familyName": "King" }, + { + "@type":"Person", + "email":"richard.hoechenberger@gmail.com", + "givenName":"Richard", + "familyName": "Höchenberger" + }, { "@type":"Person", "email":"roman.goj@gmail.com", @@ -120,12 +126,6 @@ "givenName":"Guillaume", "familyName": "Favelier" }, - { - "@type":"Person", - "email":"richard.hoechenberger@gmail.com", - "givenName":"Richard", - "familyName": "Höchenberger" - }, { "@type":"Person", "email":"clemens.brunner@gmail.com", @@ -156,18 +156,18 @@ "givenName":"Joan", "familyName": "Massich" }, - { - "@type":"Person", - "email":"yousra.bekhti@gmail.com", - "givenName":"Yousra", - "familyName": "Bekhti" - }, { "@type":"Person", "email":"aprockhill206@gmail.com", "givenName":"Alex", "familyName": "Rockhill" }, + { + "@type":"Person", + "email":"yousra.bekhti@gmail.com", + "givenName":"Yousra", + "familyName": "Bekhti" + }, { "@type":"Person", "email":"stefan.appelhoff@mailbox.org", @@ -390,6 +390,12 @@ "givenName":"Thomas", "familyName": "Hartmann" }, + { + "@type":"Person", + "email":"", + "givenName":"Dimitri Papadopoulos", + "familyName": "Orfanos" + }, { "@type":"Person", "email":"eduardxort@gmail.com", @@ -582,12 +588,24 @@ "givenName":"Jon", "familyName": "Houck" }, + { + "@type":"Person", + "email":"rcmdnk@gmail.com", + "givenName":"Michiru", + "familyName": "Kaneda" + }, { "@type":"Person", "email":"neklein@andrew.cmu.edu", "givenName":"Natalie", "familyName": "Klein" }, + { + "@type":"Person", + "email":"", + "givenName":"Scott", + "familyName": "Huberty" + }, { "@type":"Person", "email":"antti.rantala90@gmail.com", @@ -642,12 +660,6 @@ "givenName":"Matteo", "familyName": "Anelli" }, - { - "@type":"Person", - "email":"rcmdnk@gmail.com", - "givenName":"Michiru", - "familyName": "Kaneda" - }, { "@type":"Person", "email":"pierreantoine.bannier@gmail.com", @@ -660,12 +672,6 @@ "givenName":"Saket", "familyName": "Choudhary" }, - { - "@type":"Person", - "email":"", - "givenName":"Scott", - "familyName": "Huberty" - }, { "@type":"Person", "email":"simon.kern@online.de", @@ -732,6 +738,12 @@ "givenName":"Louis", "familyName": "Thibault" }, + { + "@type":"Person", + "email":"", + "givenName":"Moritz", + "familyName": "Gerster" + }, { "@type":"Person", "email":"nathalie.gayraud@inria.fr", @@ -900,6 +912,12 @@ "givenName":"Victoria", "familyName": "Peterson" }, + { + "@type":"Person", + "email":"z.baratz@gmail.com", + "givenName":"Zvi", + "familyName": "Baratz" + }, { "@type":"Person", "email":"alessandro.tonin@wysscenter.ch", @@ -912,6 +930,12 @@ "givenName":"Alexander", "familyName": "Kovrig" }, + { + "@type":"Person", + "email":"agramfort@fb.com", + "givenName":"Alexandre", + "familyName": "Gramfort" + }, { "@type":"Person", "email":"a.pascarella@iac.cnr.it", @@ -1050,12 +1074,6 @@ "givenName":"Mohamed", "familyName": "Sherif" }, - { - "@type":"Person", - "email":"", - "givenName":"Moritz", - "familyName": "Gerster" - }, { "@type":"Person", "email":"natakozh22@gmail.com", @@ -1140,12 +1158,24 @@ "givenName":"Sumalyo", "familyName": "Datta" }, + { + "@type":"Person", + "email":"Theodore.Papadopoulo@inria.fr", + "givenName":"Theodore", + "familyName": "Papadopoulo" + }, { "@type":"Person", "email":"", "givenName":"Thomas", "familyName": "Jochmann" }, + { + "@type":"Person", + "email":"t.s.binns@outlook.com", + "givenName":"Thomas Samuel", + "familyName": "Binns" + }, { "@type":"Person", "email":"", @@ -1218,12 +1248,6 @@ "givenName":"Alex", "familyName": "Ciok" }, - { - "@type":"Person", - "email":"agramfort@fb.com", - "givenName":"Alexandre", - "familyName": "Gramfort" - }, { "@type":"Person", "email":"aniket17133@iiitd.ac.in", @@ -1260,6 +1284,12 @@ "givenName":"Ariel", "familyName": "Rokem" }, + { + "@type":"Person", + "email":"arne.pelzer@idmt.fraunhofer.de", + "givenName":"Arne", + "familyName": "Pelzer" + }, { "@type":"Person", "email":"mynameisaustinhurst@gmail.com", @@ -1428,6 +1458,12 @@ "givenName":"Federico", "familyName": "Zamberlan" }, + { + "@type":"Person", + "email":"florinpop@me.com", + "givenName":"Florin", + "familyName": "Pop" + }, { "@type":"Person", "email":"", @@ -1446,6 +1482,24 @@ "givenName":"Geoff", "familyName": "Brookshire" }, + { + "@type":"Person", + "email":"g.o'neill@ucl.ac.uk", + "givenName":"George", + "familyName": "O'Neill" + }, + { + "@type":"Person", + "email":"george.oneill.90@gmail.com", + "givenName":"George", + "familyName": "O'Neill" + }, + { + "@type":"Person", + "email":"gack94@gmail.com", + "givenName":"", + "familyName": "Giulio" + }, { "@type":"Person", "email":"", @@ -1464,6 +1518,12 @@ "givenName":"Hongjiang", "familyName": "Ye" }, + { + "@type":"Person", + "email":"", + "givenName":"Hyonyoung", + "familyName": "Shin" + }, { "@type":"Person", "email":"huseyinorkunelmas@gmail.com", @@ -1476,6 +1536,12 @@ "givenName":"Ilias", "familyName": "Machairas" }, + { + "@type":"Person", + "email":"Woessner.jacob@gmail.com", + "givenName":"Jacob", + "familyName": "Woessner" + }, { "@type":"Person", "email":"", @@ -1494,12 +1560,6 @@ "givenName":"Jasper J F", "familyName": "van den Bosch" }, - { - "@type":"Person", - "email":"jennifer.behnke@localhost", - "givenName":"Jennifer", - "familyName": "Behnke" - }, { "@type":"Person", "email":"", @@ -1734,6 +1794,12 @@ "givenName":"Nicole", "familyName": "Proulx" }, + { + "@type":"Person", + "email":"nfocke@uni-goettingen.de", + "givenName":"Niels", + "familyName": "Focke" + }, { "@type":"Person", "email":"nikos.ch01@gmail.com", @@ -1776,6 +1842,12 @@ "givenName":"Quanliang", "familyName": "Li" }, + { + "@type":"Person", + "email":"q.barthelemy@gmail.com", + "givenName":"Quentin", + "familyName": "Barthélemy" + }, { "@type":"Person", "email":"rahuln@cs.washington.edu", @@ -1854,6 +1926,12 @@ "givenName":"Santeri", "familyName": "Ruuskanen" }, + { + "@type":"Person", + "email":"", + "givenName":"Sawradip", + "familyName": "Saha" + }, { "@type":"Person", "email":"s.mathot@cogsci.nl", @@ -1950,12 +2028,6 @@ "givenName":"T", "familyName": "Wang" }, - { - "@type":"Person", - "email":"Theodore.Papadopoulo@inria.fr", - "givenName":"Theodore", - "familyName": "Papadopoulo" - }, { "@type":"Person", "email":"tdonoghue.research@gmail.com", @@ -1980,6 +2052,12 @@ "givenName":"Tom", "familyName": "Ma" }, + { + "@type":"Person", + "email":"TASTONE@mgh.harvard.edu", + "givenName":"Tom", + "familyName": "Stone" + }, { "@type":"Person", "email":"", diff --git a/doc/_static/versions.json b/doc/_static/versions.json index 018fd27236a..7abcfa58291 100644 --- a/doc/_static/versions.json +++ b/doc/_static/versions.json @@ -1,14 +1,19 @@ [ { - "name": "1.4 (devel)", + "name": "1.5 (devel)", "version": "dev", "url": "https://mne.tools/dev/" }, { - "name": "1.3 (stable)", + "name": "1.4 (stable)", "version": "stable", "url": "https://mne.tools/stable/" }, + { + "name": "1.3", + "version": "1.3", + "url": "https://mne.tools/1.3/" + }, { "name": "1.2", "version": "1.2", diff --git a/doc/changes/0.19.inc b/doc/changes/0.19.inc index e862ac9f3b6..5e34210868a 100644 --- a/doc/changes/0.19.inc +++ b/doc/changes/0.19.inc @@ -1,12 +1,3 @@ -.. NOTE: we are now using links to highlight new functions and classes. - Please follow the examples below like :func:`mne.stats.f_mway_rm`, so the - whats_new page will have a link to the function/class documentation. - -.. NOTE: there are 3 separate sections for changes, based on type: - - "Changelog" for new features - - "Bug" for bug fixes - - "API" for backward-incompatible changes - .. _changes_0_19: Version 0.19 (2019-09-24) diff --git a/doc/changes/0.20.inc b/doc/changes/0.20.inc index a0cf3356b79..7e6fa7d63c9 100644 --- a/doc/changes/0.20.inc +++ b/doc/changes/0.20.inc @@ -1,12 +1,3 @@ -.. NOTE: we are now using links to highlight new functions and classes. - Please follow the examples below like :func:`mne.stats.f_mway_rm`, so the - whats_new page will have a link to the function/class documentation. - -.. NOTE: there are 3 separate sections for changes, based on type: - - "Changelog" for new features - - "Bug" for bug fixes - - "API" for backward-incompatible changes - .. _changes_0_20: Version 0.20 (2020-03-27) diff --git a/doc/changes/0.21.inc b/doc/changes/0.21.inc index 47298cdd969..1d55c714f96 100644 --- a/doc/changes/0.21.inc +++ b/doc/changes/0.21.inc @@ -1,12 +1,3 @@ -.. NOTE: we are now using links to highlight new functions and classes. - Please follow the examples below like :func:`mne.stats.f_mway_rm`, so the - whats_new page will have a link to the function/class documentation. - -.. NOTE: there are 3 separate sections for changes, based on type: - - "Enhancements" for new features - - "Bugs" for bug fixes - - "API changes" for backward-incompatible changes - .. _changes_0_21: Version 0.21 (2020-09-21) diff --git a/doc/changes/0.22.inc b/doc/changes/0.22.inc index 90186b62de9..1f4045ed780 100644 --- a/doc/changes/0.22.inc +++ b/doc/changes/0.22.inc @@ -1,12 +1,3 @@ -.. NOTE: we are now using links to highlight new functions and classes. - Please follow the examples below like :func:`mne.stats.f_mway_rm`, so the - whats_new page will have a link to the function/class documentation. - -.. NOTE: there are 3 separate sections for changes, based on type: - - "Enhancements" for new features - - "Bugs" for bug fixes - - "API changes" for backward-incompatible changes - .. _changes_0_22: Version 0.22.0 (2020-12-17) diff --git a/doc/changes/0.23.inc b/doc/changes/0.23.inc index fdcaeb60630..7ed7800af01 100644 --- a/doc/changes/0.23.inc +++ b/doc/changes/0.23.inc @@ -1,17 +1,3 @@ -.. NOTE: we are now using links to highlight new functions and classes. - Please follow the examples below like :func:`mne.stats.f_mway_rm`, so the - whats_new page will have a link to the function/class documentation. - -.. NOTE: there are 3 separate sections for changes, based on type: - - "Enhancements" for new features - - "Bugs" for bug fixes - - "API changes" for backward-incompatible changes - -.. NOTE: changes from first-time contributors should be added to the TOP of - the relevant section (Enhancements / Bugs / API changes), and should look - like this (where xxxx is the pull request number): - - description of enhancement/bugfix/API change (:gh:`xxxx` **by new contributor** |Firstname Lastname|_) - .. _changes_0_23_0: Version 0.23.0 (2021-04-27) diff --git a/doc/changes/0.24.inc b/doc/changes/0.24.inc index 41fb4bcb3b0..fc087f92253 100644 --- a/doc/changes/0.24.inc +++ b/doc/changes/0.24.inc @@ -1,17 +1,3 @@ -.. NOTE: we are now using links to highlight new functions and classes. - Please follow the examples below like :func:`mne.stats.f_mway_rm`, so the - whats_new page will have a link to the function/class documentation. - -.. NOTE: there are 3 separate sections for changes, based on type: - - "Enhancements" for new features - - "Bugs" for bug fixes - - "API changes" for backward-incompatible changes - -.. NOTE: changes from first-time contributors should be added to the TOP of - the relevant section (Enhancements / Bugs / API changes), and should look - like this (where xxxx is the pull request number): - - description of enhancement/bugfix/API change (:gh:`xxxx` **by new contributor** |Firstname Lastname|_) - .. _changes_0_24_0: Version 0.24.0 (2021-11-03) diff --git a/doc/changes/1.0.inc b/doc/changes/1.0.inc index cd4cb91eafd..0c053e134a5 100644 --- a/doc/changes/1.0.inc +++ b/doc/changes/1.0.inc @@ -1,21 +1,3 @@ -.. NOTE: we use cross-references to highlight new functions and classes. - Please follow the examples below like :func:`mne.stats.f_mway_rm`, so the - whats_new page will have a link to the function/class documentation. - -.. NOTE: there are 3 separate sections for changes, based on type: - - "Enhancements" for new features - - "Bugs" for bug fixes - - "API changes" for backward-incompatible changes - -.. NOTE: changes from first-time contributors should be added to the TOP of - the relevant section (Enhancements / Bugs / API changes), and should look - like this (where xxxx is the pull request number): - - - description of enhancement/bugfix/API change (:gh:`xxxx` by - :newcontrib:`Firstname Lastname`) - - Also add a corresponding entry for yourself in doc/changes/names.inc - .. _changes_1_0_0: Version 1.0.0 (2022-03-21) diff --git a/doc/changes/1.1.inc b/doc/changes/1.1.inc index 2616a66c637..4df2306329f 100644 --- a/doc/changes/1.1.inc +++ b/doc/changes/1.1.inc @@ -1,21 +1,3 @@ -.. NOTE: we use cross-references to highlight new functions and classes. - Please follow the examples below like :func:`mne.stats.f_mway_rm`, so the - whats_new page will have a link to the function/class documentation. - -.. NOTE: there are 3 separate sections for changes, based on type: - - "Enhancements" for new features - - "Bugs" for bug fixes - - "API changes" for backward-incompatible changes - -.. NOTE: changes from first-time contributors should be added to the TOP of - the relevant section (Enhancements / Bugs / API changes), and should look - like this (where xxxx is the pull request number): - - - description of enhancement/bugfix/API change (:gh:`xxxx` by - :newcontrib:`Firstname Lastname`) - - Also add a corresponding entry for yourself in doc/changes/names.inc - .. _changes_1_1_0: Version 1.1.0 (2022-08-03) diff --git a/doc/changes/1.2.inc b/doc/changes/1.2.inc index fd5b23e5fd5..23842d5c80c 100644 --- a/doc/changes/1.2.inc +++ b/doc/changes/1.2.inc @@ -1,21 +1,3 @@ -.. NOTE: we use cross-references to highlight new functions and classes. - Please follow the examples below like :func:`mne.stats.f_mway_rm`, so the - whats_new page will have a link to the function/class documentation. - -.. NOTE: there are 3 separate sections for changes, based on type: - - "Enhancements" for new features - - "Bugs" for bug fixes - - "API changes" for backward-incompatible changes - -.. NOTE: changes from first-time contributors should be added to the TOP of - the relevant section (Enhancements / Bugs / API changes), and should look - like this (where xxxx is the pull request number): - - - description of enhancement/bugfix/API change (:gh:`xxxx` by - :newcontrib:`Firstname Lastname`) - - Also add a corresponding entry for yourself in doc/changes/names.inc - .. _changes_1_2_0: Version 1.2.0 (2022-10-11) diff --git a/doc/changes/1.3.inc b/doc/changes/1.3.inc index f08a90681f5..ba90a9bfaa2 100644 --- a/doc/changes/1.3.inc +++ b/doc/changes/1.3.inc @@ -1,21 +1,3 @@ -.. NOTE: we use cross-references to highlight new functions and classes. - Please follow the examples below like :func:`mne.stats.f_mway_rm`, so the - whats_new page will have a link to the function/class documentation. - -.. NOTE: there are 3 separate sections for changes, based on type: - - "Enhancements" for new features - - "Bugs" for bug fixes - - "API changes" for backward-incompatible changes - -.. NOTE: changes from first-time contributors should be added to the TOP of - the relevant section (Enhancements / Bugs / API changes), and should look - like this (where xxxx is the pull request number): - - - description of enhancement/bugfix/API change (:gh:`xxxx` by - :newcontrib:`Firstname Lastname`) - - Also add a corresponding entry for yourself in doc/changes/names.inc - .. _changes_1_3_1: Version 1.3.1 (2023-02-23) diff --git a/doc/changes/latest.inc b/doc/changes/1.4.inc similarity index 89% rename from doc/changes/latest.inc rename to doc/changes/1.4.inc index 763abb5f48c..735a7b6af18 100644 --- a/doc/changes/latest.inc +++ b/doc/changes/1.4.inc @@ -1,25 +1,7 @@ -.. NOTE: we use cross-references to highlight new functions and classes. - Please follow the examples below like :func:`mne.stats.f_mway_rm`, so the - whats_new page will have a link to the function/class documentation. +.. _changes_1_4_0: -.. NOTE: there are 3 separate sections for changes, based on type: - - "Enhancements" for new features - - "Bugs" for bug fixes - - "API changes" for backward-incompatible changes - -.. NOTE: changes from first-time contributors should be added to the TOP of - the relevant section (Enhancements / Bugs / API changes), and should look - like this (where xxxx is the pull request number): - - - description of enhancement/bugfix/API change (:gh:`xxxx` by - :newcontrib:`Firstname Lastname`) - - Also add a corresponding entry for yourself in doc/changes/names.inc - -.. _current: - -Current (1.4.dev0) ------------------- +Version 1.4.0 (2023-05-10) +-------------------------- Enhancements ~~~~~~~~~~~~ @@ -57,6 +39,7 @@ Bugs - Fix bug where installation of a package depending on ``mne`` will error when done in an environment where ``setuptools`` is not present (:gh:`11454` by :newcontrib:`Arne Pelzer`) - Fix bug in :meth:`mne.Annotations.rename` where replacements were not done correctly (:gh:`11666` by :newcontrib:`Timur Sokhin` and `Eric Larson`_) - Fix :meth:`mne.time_frequency.Spectrum.to_data_frame`'s docstring to reflect the correct name for the appended frequencies column (:gh:`11457` by :newcontrib:`Zvi Baratz`) +- Fix bug with :func:`mne.io.read_raw_egi` where events outside the recording window could break data reading (:gh:`11505` by :newcontrib:`Niels Focke`) - Fix bug where :func:`mne.preprocessing.regress_artifact` and :class:`mne.preprocessing.EOGRegression` incorrectly tracked ``picks`` (:gh:`11366` by `Eric Larson`_) - Fix bug where channel names were not properly sanitized in :func:`mne.write_evokeds` and related functions (:gh:`11399` by `Eric Larson`_) - Fix bug where splash screen would not always disappear (:gh:`11398` by `Eric Larson`_) @@ -91,3 +74,60 @@ API changes - Deprecate ``mne.pick_channels_evoked`` in favor of ``evoked.copy().pick(...)`` (:gh:`11665` by `Eric Larson`_) - Set instance methods ``inst.pick_types`` and ``inst.pick_channels`` as legacy in favor of ``inst.pick(...)`` (:gh:`11665` by `Eric Larson`_) - The default of ``inst.pick_channels(..., ordered=False)`` will change to ``ordered=True`` in 1.5 to avoid silent bugs (:gh:`11665` by `Eric Larson`_) + +Authors +~~~~~~~ + +* Alex Rockhill +* Alexandre Gramfort +* Arne Pelzer+ +* Britta Westner +* Carlos de la Torre +* Clemens Brunner +* Daniel Hasegan +* Daniel McCloy +* Denis A. Engemann +* Dimitri Papadopoulos Orfanos +* Dinara Issagaliyeva +* Dominik Welke +* Enzo Altamiranda +* Eric Brayet +* Eric Larson +* Erkka Heinila +* Felix Klotzsche +* Florin Pop+ +* George O'Neill+ +* Giulio +* Hakimeh Aslsardroud +* Hyonyoung Shin+ +* Jacob Woessner+ +* Jan Ebert+ +* Jennifer Behnke +* Jevri Hanna +* Lukas Hecker +* Mainak Jas +* Mark Alexander Henney +* Mathieu Scheltienne +* Mauricio Cespedes +* Michiru Kaneda +* Mikołaj Magnuski +* Moritz Gerster +* Niels Focke+ +* Omer Shubi +* Pavel Navratil +* Quentin Barthélemy+ +* Richard Höchenberger +* Rob Luke +* Robert Seymour+ +* Santeri Ruuskanen +* Sawradip Saha+ +* Scott Huberty +* Stefan Appelhoff +* Theodore Papadopoulo +* Thomas Samuel Binns+ +* Timon Merk +* Timur Sokhin+ +* Tom Ma +* Tom Stone+ +* Toomas Erik Anijärv +* Zvi Baratz+ diff --git a/doc/changes/names.inc b/doc/changes/names.inc index 9516394151b..48f1ecd67a1 100644 --- a/doc/changes/names.inc +++ b/doc/changes/names.inc @@ -370,6 +370,8 @@ .. _Nicolas Barascud: https://github.com/nbara +.. _Niels Focke: https://neurologie.umg.eu/forschung/arbeitsgruppen/epilepsie-und-bildgebungsforschung + .. _Niklas Wilming: https://github.com/nwilming .. _Nikolai Chapochnikov: https://github.com/chapochn diff --git a/doc/cited.rst b/doc/cited.rst index 93a3371bb7f..4a239498eb0 100644 --- a/doc/cited.rst +++ b/doc/cited.rst @@ -3,7 +3,7 @@ Papers citing MNE-Python ======================== -Estimates provided by Google Scholar as of 20 Dec 2022: +Estimates provided by Google Scholar as of 10 May 2023: -- `MNE (1370) `_ -- `MNE-Python (1640) `_ +- `MNE (1460) `_ +- `MNE-Python (1860) `_ diff --git a/doc/whats_new.rst b/doc/whats_new.rst index 8cf178a3571..5b7b0faf3f6 100644 --- a/doc/whats_new.rst +++ b/doc/whats_new.rst @@ -7,7 +7,7 @@ What's new .. currentmodule:: mne -.. include:: changes/latest.inc +.. include:: changes/1.4.inc .. include:: changes/1.3.inc .. include:: changes/1.2.inc .. include:: changes/1.1.inc diff --git a/mne/tests/test_annotations.py b/mne/tests/test_annotations.py index 9be6c987b11..b9fd09a3e24 100644 --- a/mne/tests/test_annotations.py +++ b/mne/tests/test_annotations.py @@ -1459,9 +1459,9 @@ def test_annotation_ch_names(): assert raw_2.annotations.ch_names[1] == tuple(raw.ch_names[4:5]) for ch_drop in raw_2.annotations.ch_names: assert all(name in raw_2.ch_names for name in ch_drop) - with pytest.raises(ValueError, match="channel name in annotations miss"): + with pytest.raises(ValueError, match="channel name in annotations missing"): raw_2.set_annotations(annot) - with pytest.warns(RuntimeWarning, match="channel name in annotations mis"): + with pytest.warns(RuntimeWarning, match="channel name in annotations missing"): raw_2.set_annotations(annot, on_missing="warn") assert raw_2.annotations is not annot_pruned _assert_annotations_equal(raw_2.annotations, annot_pruned) diff --git a/tools/generate_codemeta.py b/tools/generate_codemeta.py index 9ebaad629b7..3493206c1cc 100644 --- a/tools/generate_codemeta.py +++ b/tools/generate_codemeta.py @@ -1,8 +1,13 @@ -import os -import subprocess +from argparse import ArgumentParser from datetime import date +from pathlib import Path +import subprocess + +parser = ArgumentParser(description="Generate codemeta.json and CITATION.cff") +parser.add_argument("release_version", type=str) +release_version = parser.parse_args().release_version -from mne import __version__ as release_version +out_dir = Path(__file__).parent.parent # NOTE: ../codemeta.json and ../citation.cff should not be continuously # updated. Run this script only at release time. @@ -79,7 +84,7 @@ def parse_name(name): split_version = list(map(int, release_version.split("."))) except ValueError: raise -msg = f"version string must be X.Y.Z (all integers), got {release_version}" +msg = f"First argument must be the release version X.Y.Z (all integers), got {release_version}" assert len(split_version) == 3, msg @@ -103,13 +108,13 @@ def parse_name(name): # GET OUR DEPENDENCY VERSIONS -with open(os.path.join("..", "setup.py"), "r") as fid: +with open(out_dir / "setup.py", "r") as fid: for line in fid: if line.strip().startswith("python_requires="): version = line.strip().split("=", maxsplit=1)[1].strip("'\",") dependencies = [f"python{version}"] break -with open(os.path.join("..", "requirements.txt"), "r") as fid: +with open(out_dir / "requirements.txt", "r") as fid: for line in fid: req = line.strip() for hard_dep in hard_dependencies: @@ -162,7 +167,7 @@ def parse_name(name): # WRITE TO FILE -with open(os.path.join("..", "codemeta.json"), "w") as codemeta_file: +with open(out_dir / "codemeta.json", "w") as codemeta_file: codemeta_file.write(codemeta_boilerplate) @@ -240,5 +245,5 @@ def parse_name(name): """ # WRITE TO FILE -with open(os.path.join("..", "CITATION.cff"), "w") as cff_file: +with open(out_dir / "CITATION.cff", "w") as cff_file: cff_file.write(cff_boilerplate)