.. -*- mode: rst -*-
.. vim:ft=rst

.. _changelog:

NIPY Changelog
--------------

NIPY is not only a module for neuroimaing analysis but an umbrella for
other Python neuroimaging-related projects -- see
https://github.com/nipy and http://www.nipy.org for more information
about their releases.

'Close gh-' statements refer to GitHub issues that are available at::

  http://github.com/nipy/nipy/issues

The full VCS changelog is available here:

  http://github.com/nipy/nipy/commits/main

Releases
~~~~~~~~

Abbreviated authors are:

* MB - Matthew Brett
* BT - Bertrand Thirion
* AR - Alexis Roche
* GV - Gaël Varoquaux
* YH - Yarik Halchenko
* JBP - Jean-Baptiste Poline
* JT - Jonathan Taylor
* BB - Ben Beasley
* CM - Chris Markiewicz
* JM - Jarrod Millman
* SvdW - Stéfan van der Walt

* 0.6.1 (Saturday 5 October 2024)

  Compatibility release for Numpy 2.0

  * Port code for Numpy 2.0 compatibility (MB)
  * Update for test precision on Sympy 1.13 (MB)
  * Clean up consts and casts in C code (BB)
  * Refactoring to functools.cached_property, style and CI updates (CM)
  * CI and automated style check updates (Dimitri Papadopoulos Orfanos)
  * Fix for Viz example (Nicholas Tolley)
  * Add spin tooling for working with repository checkout (SvdW)
  * Fix shebangs for some development scripts (Étienne Mollier)

* 0.6.0 (Thursday 21 December 2023)

  Bugfix, refactoring and compatibility release.

  Much thankless maintenance duty particularly by CM.  Oh wait - not thankless
  - thank you!

  * Huge cleanup of old dependencies for installation and build (BB).
  * Allow for Nibabel deprecations and removals, particularly ``get_data``
    (BB).
  * Build refactor to ``pyproject.toml`` (CM)
  * Various cleanups in spelling and script mechanics (Dimitri Papadopoulos).
  * Move to pytest / pytest-doctestplus for testing (JM, MB).
  * Various improvements to development process and CI (JM, MB, SvdW).
  * Port build process from Numpy distutils to Meson (SvdW).
  * Drop Python 2 support.
  * Various bugfixes for modern Numpy (BB, MB).
  * Drop Cython C files and depend on Cython for build (MB).
  * Fixes to temporary files in Mayavi calls (fazledyn-or, CM).

* 0.5.0 (Saturday 27 March 2021)

  Bugfix, refactoring and compatibility release.

  * Heroic work to update Nipy for recent versions of Numpy, Sympy, Nose,
    Scipy, and numpydoc - many thanks to Matteo Visconti di Oleggio Castello.
  * Some fixes to harmonize interpolation with recent changes / fixes in
    interpolation in Scipy (MB).
  * Move script installation logic to use setuptools (MB).
  * Some more updates for modern Numpy (MB).
  * Fixes for changes in Sympy, by updating some formulae to use Piecewise
    (YH).

* 0.4.2 (Saturday 17 February 2018)

  Bugfix, refactoring and compatibility release.

  * Fixes for compatibility with released versions of Sympy and Numpy,
    including some incorrect results from the Euler calculations;
  * Fixes for deprecated escape sequences in docstrings (thanks to Klaus
    Sembritzki);
  * Fixes for compatibility with Windows in various configurations, now
    tested with Appveyor builds;
  * Various continuous integration and doc build fixes;
  * The advent of Windows wheels on release - most credit to the Scipy folks
    for building Scipy on Windows.

* 0.4.1 (Friday 10 February 2017)

  Bugfix, refactoring and compatibility release.

  * New discrete cosine transform functions for building basis sets;
  * Fixes for compatibility with Python 3.6;
  * Fixes for compatibility with Numpy 1.12 (1.12 no longer allows floating
    point values for indexing and other places where an integer value is
    required);
  * Fixes for compatibility with Sympy 1.0;
  * Drop compatibility with Python 2.6, 3.2, 3.3;
  * Add ability to pass plotting arguments to ``plot_anat`` function (Matteo
    Visconti dOC);
  * Some helpers for working with OpenFMRI datasets;
  * Signal upcoming change in return shape from ``make_recarray`` when passing
    in an array for values. Allow user to select upcoming behavior with
    keyword argument;
  * Bug fix for axis selection when using record arrays in numpies <= 1.7.1;
  * Add flag to allow SpaceTimeRealign to read TR from image headers;

* 0.4.0 (Saturday 18 October 2015)

  Bugfix, refactoring and compatibility release.

  * Full port to Python 3 using single code-base;
  * Various fixes for modern numpy, scipy, sympy, nibabel compatibility;
  * Refactor space-time realignment (AR);
  * Change in interface for slice-timing options in space-time realign
    (AR+MB);
  * New ``nipy_4d_realign`` script to run space-time realign (Ariel Rokem);
  * Drop requirement for BLAS / LAPACK external library at build-time (AR);
  * Move much code out of nipy.labs into main tree (AR, BT);
  * Deprecate remaining code in nipy.labs (AR, BT);
  * Updates to landmark learning code including API (BT);
  * Various fixes to design matrix machinery (BT, Michael Waskom);
  * Fix to two-sample permutation test suggested by github user jwirsich (BF);
  * Refactoring and fixes to design matrix drift calculations (JBP);
  * Extending API of resampling code to allow more ndimage kwargs (JBP);
  * Start of new example on OpenFMRI ds105 dataset (JT);
  * New ``block_design`` function for designs with specified onsets (JT);
  * New ``show_contrast`` function for reviewing contrasts (JT);
  * Fix for bug in ``nipy_diagnose`` script / ``screens`` module giving
    incorrect PCA output;
  * Added SPM HRF to other HRF options;
  * Redesign concept of an image "space" with new image space modules,
    functions, classes;
  * Various fixes for correct installation provided or suggested by YH;
  * Some visualization changes by Elvis Dohmatob;

* 0.3.0 (Saturday 2 February 2013)

  Bugfix, refactoring and compatibility release.

  * Addition of EM algorithm for mixed effects analysis (BT)
  * New high-level GLM class interface (BT)
  * nipy diagnostic scripts save PCA and tsdifana vectors to npz file
  * Python 3 compatibility through 3.3 (MB)
  * Fixes for compatibility with upcoming Numpy 1.7
  * Fixes to background and axis specification in visualization tools (GV, BT)
  * Fixes and tests for installed nipy scripts (MB)
  * Fix to optimization parameters for Realign4D - thanks to `bpinsard`
  * Fix 0 in affine diagonal for TR=0 in affines by default (MB)
  * Allow saving of nipy images loaded from nifti files that lack explicit
    affine (MB)
  * Allow `slice_order=None` to `FmriRealign4D` when not doing time
    interpolation (AR); check for valid slice order specification (YH)
  * Refactoring of quantile routine to move code out of C library (AR)
  * Fix bug in resampling of unsigned int images (AR)
  * Custom doctest machinery to work round differences of dtype repr on
    different platforms, and to skip doctests with optional dependencies (MB)
  * Script to run examples for testing (MB)
  * Fix for accidental integer division of frametimes in design matrix
    generation (Fabian Pedregosa)
  * Various other fixes and refactorings with thanks from (AR, BT, MB, YH,
    Yannick Schwartz, Virgile Fritsch)

* 0.2.0 (Sunday 22 July 2012)

  The first ever official release.

    - > 30 contributors
    - > 6 years in development
    - 192 issues closed on github
