<commit_before>1.4.0 (TBD)
===========
First release in the 1.4.x series.
This release includes enhancements and bug-fixes towards the release of the first
beta version of *dMRIPrep*.
It also contains new features that are necessary for the API overhaul that has
happened within the new *SDCFlows 2.x* series.
The new series include a cross-cutting (modalities, species) workflow to generate
EPI references.
Finally other *NiPreps* will also have a first release with specific support for
them: *NiRodents* and *NiBabies* (and their corresponding *fMRIPrep* extensions).

.. admonition:: *NiWorkflows* has been relicensed!

    As of the first release candidate of the 1.4 series, the license has changed
    from BSD 3-clause to the Apache License 2.0.
    Amongst several terms that are changing, the following two premises are relevant
    if you derive code from the new series:

    * *You must give any other recipients of the Work or Derivative Works a copy
      of this License*; and
    * *You must cause any modified files to carry prominent notices stating that
      You changed the files*.

A list of prominent changes follows:

* FIX: Update svgutils after breaking API changes (#620)
* FIX: Address issues with ``RobustAverage`` global signal measurement (#607)
* FIX: ``NonsteadyStatesDetector`` wrongly using Nipype's ``is_outlier`` (#605)
* FIX: Change in *svgutils*' API on 0.3.2 breaks reportlets (#599)
* FIX: Check for ``in_segm`` input, not ``seg_file`` (typo) (#592)
* FIX: Use the mask to calculate FOV rather than the fixed image in ``GenerateSamplingReference`` (#583)
* FIX: Allow omission of ``<res>`` for template normalization (#582)
* FIX: Include ``_T2starw`` ``_MTw`` and ``_TSE``-suffixes in ``build_path`` options (#584)
* FIX: ``DerivativesDataSink`` warning when it has multiple source files (#573)
* ENH: Add an inversion operation to ``IntensityClip`` (#616)
* ENH: Cross-cutting (modalities, species) workflow to generate EPI references (#610)
* ENH: Add a ``RobustAverage`` interface and split volume selection (#602)
* ENH: Revise some patterns of the ``BIDSLayout`` config to aid *SDCFlows* new API (#585)
* ENH: Upstream *fMRIPrep*'s ``init_bbreg_wf`` to integrate it in *dMRIPrep* (#586)
* MAINT: Drop gh-pages history, reducing repository size (#622)
* MAINT: Add DS030 dataset, with clipped (55 timepoints) BOLD data (#609)
* MAINT: Migrate ``ds003_downsampled`` to ``nipreps-data`` (#608)
* MAINT: Move mask-regressions test-data to datalad + nipreps-data (#606)
* MAINT: Refactor structure of interfaces (#603)
* MAINT: Drop Python 3.6, test setuptools builds, pip installations, and revise Docker pinned versions (#593)
* MAINT: CircleCI housekeeping (#580)

.. caution::

    The ``niworkflows.interfaces`` submodule has been refactored.
    To migrate from previous series, please modify the following imports:

    * ``images.MatchHeader`` -> ``header.MatchHeader``
    * ``images.ValidateImage`` -> ``header.ValidateImage``
    * ``images.Demean`` -> ``nibabel.Demean``
    * ``images.FilledImageLike`` -> ``nibabel.FilledImageLike``
    * ``images.RegridToZooms`` -> ``nibabel.RegridToZooms``
    * ``masks.ROIsPlot`` -> ``reportlets.masks.ROIsPlot``
    * ``masks.ComputeEPIMask`` -> ``nilearn.ComputeEPIMask``
    * ``mni.RobustMNINormalization`` -> ``norm.SpatialNormalization``
    * New ``niworkflows.interfaces.reportlets`` submodule

      * ``report_base`` -> ``reportlets.base``
      * ``masks`` -> ``reportlets.masks``
      * ``registration`` -> ``reportlets.registration``
      * ``segmentation`` -> ``reportlets.segmentation``

    * ``utils.GenerateSamplingReference`` -> ``nibabel.GenerateSamplingReference``
    * ``utils.CopyXForm`` -> ``header.CopyXForm``
    * ``utils.NormalizeMotionParams`` -> ``confounds.NormalizeMotionParams``
    * ``utils.AddTPMs`` -> ``probmaps.AddTPMs``
    * ``utils.TPM2ROI`` -> ``probmaps.TPM2ROI``
    * ``utils.AddTSVHeader`` -> ``utility.AddTSVHeader``
    * ``utils.JoinTSVColumns`` -> ``utility.JoinTSVColumns``
    * ``utils.DictMerge`` -> ``utility.DictMerge``
    * ``utils.TSV2JSON`` -> ``utility.TSV2JSON``

    Beware that interface aliases at the top ``niworkflows.interfaces`` level have
    been removed:

    * ``ExpandModel``, ``SpikeRegressors`` from ``confounds``
    * ``BET`` -> ``reportlets.masks.BETRPT``
    * ``FAST`` -> ``reportlets.segmentation.FASTRPT``
    * ``FLIRT``, ``ApplyXFM``, ``RobustMNINormalization``, ``Registration``,
      ``ApplyTransforms``, ``SimpleBeforeAfter`` now under ``reportlets.registration``
      as ``FLIRTRPT``, ``ApplyXFMRPT``, ``RobustMNINormalizationRPT``, ``ANTSRegistrationRPT``,
      ``ANTSApplyTransformsRPT``, ``SimpleBeforeAfterRPT``.
    * ``CopyXForm``, ``CopyHeader``, ``SanitizeImage`` now under ``header``
    * ``NormalizeMotionParams`` now under ``confounds``.
    * ``FMRISummary``, ``CompCorVariancePlot``, ``ConfoundsCorrelationPlot`` from ``plotting``

1.3.3 (April 15, 2021)
======================
Bug-fix release in the 1.3.x series.

* FIX: Limit memory usage in EstimateReferenceImage (#629)
* FIX: Check for ``in_segm`` input, not ``seg_file`` (#592)
* FIX: Use the mask to calculate FOV rather than the fixed image in ``GenerateSamplingReference`` (#583)
* FIX: Allow omission of <res> for template normalization (#582)
* MAINT: Pin svgutils to 0.3.1 (#596)
* MAINT: Migrate from Travis -> GH Actions (#589)
* CI: CircleCI housekeeping (#580)

1.3.2 (November 5, 2020)
========================
Bug-fix release in the 1.3.x series.

* FIX: Cordon off ``.dtseries.json`` contents (#578)
* ENH: Add units to qform overwrite report (#577)

1.3.1 (September 22, 2020)
==========================
Bug-fix release in the 1.3.x series.
Addresses longstanding issues in the anatomical MRI brain extraction workflow.

* FIX: Revision of ``antsBrainExtraction``, better handling edge cases (#567)

1.3.0 (September 11, 2020)
==========================
First release in the 1.3.x series.
This release includes enhancements and bug-fixes towards the release of the first 
LTS (*long-term support*) version of *fMRIPrep*.
*PyBIDS* has been revised to use more recent versions, a series of ANTs' interfaces
have been deemed ready to upstream into *Nipype*, and several improvements regarding
multi-echo EPI are included.
With thanks to <NAME> for contributions.

* FIX: Patch ``ApplyTransforms`` spec to permit identity in a chain (#554)
* FIX: Add dots to extensions in PyBIDS' config file (#548)
* FIX: Segmentation plots aligned with cardinal axes (#544)
* FIX: Skip T1w file existence check if ``anat_derivatives`` are provided (#545)
* FIX: Avoid diverting CIFTI dtype from original BOLD (#532)<commit_msg>rel(1.4.0rc6): update CHANGES [skip ci]<commit_after>1.4.0 (TBD)
===========
First release in the 1.4.x series.
This release includes enhancements and bug-fixes towards the release of the first
beta version of *dMRIPrep*.
It also contains new features that are necessary for the API overhaul that has
happened within the new *SDCFlows 2.x* series.
The new series include a cross-cutting (modalities, species) workflow to generate
EPI references.
Finally other *NiPreps* will also have a first release with specific support for
them: *NiRodents* and *NiBabies* (and their corresponding *fMRIPrep* extensions).

.. admonition:: *NiWorkflows* has been relicensed!

    As of the first release candidate of the 1.4 series, the license has changed
    from BSD 3-clause to the Apache License 2.0.
    Amongst several terms that are changing, the following two premises are relevant
    if you derive code from the new series:

    * *You must give any other recipients of the Work or Derivative Works a copy
      of this License*; and
    * *You must cause any modified files to carry prominent notices stating that
      You changed the files*.

A list of prominent changes follows:

1.4.0rc6 (May 17, 2021)
-----------------------
* FIX: ``DerivativesDataSink`` dismissing entity writing reportlet (#638)
* FIX: Limit memory usage in ``EstimateReferenceImage`` (#629)
* FIX: Purge removed ``--disable`` flag from *svgo* call (#626)
* FIX: Readd ``sbref_file`` input to reference volume interface (#624)
* ENH: Update visual report specification with fieldmaps (#634)
* ENH: Expose the output of the ``ValidateImage`` node as an output in EPI reference workflow (#636)
* DOC: Ensure copyright notice in all headers' comment (#635)
* MAINT: Pin *svgutils* to previous versions (#596)

Prior 1.4.0rc6
--------------
* FIX: Update svgutils after breaking API changes (#620)
* FIX: Address issues with ``RobustAverage`` global signal measurement (#607)
* FIX: ``NonsteadyStatesDetector`` wrongly using Nipype's ``is_outlier`` (#605)
* FIX: Change in *svgutils*' API on 0.3.2 breaks reportlets (#599)
* FIX: Check for ``in_segm`` input, not ``seg_file`` (typo) (#592)
* FIX: Use the mask to calculate FOV rather than the fixed image in ``GenerateSamplingReference`` (#583)
* FIX: Allow omission of ``<res>`` for template normalization (#582)
* FIX: Include ``_T2starw`` ``_MTw`` and ``_TSE``-suffixes in ``build_path`` options (#584)
* FIX: ``DerivativesDataSink`` warning when it has multiple source files (#573)
* ENH: Add an inversion operation to ``IntensityClip`` (#616)
* ENH: Cross-cutting (modalities, species) workflow to generate EPI references (#610)
* ENH: Add a ``RobustAverage`` interface and split volume selection (#602)
* ENH: Revise some patterns of the ``BIDSLayout`` config to aid *SDCFlows* new API (#585)
* ENH: Upstream *fMRIPrep*'s ``init_bbreg_wf`` to integrate it in *dMRIPrep* (#586)
* MAINT: Drop gh-pages history, reducing repository size (#622)
* MAINT: Add DS030 dataset, with clipped (55 timepoints) BOLD data (#609)
* MAINT: Migrate ``ds003_downsampled`` to ``nipreps-data`` (#608)
* MAINT: Move mask-regressions test-data to datalad + nipreps-data (#606)
* MAINT: Refactor structure of interfaces (#603)
* MAINT: Drop Python 3.6, test setuptools builds, pip installations, and revise Docker pinned versions (#593)
* MAINT: CircleCI housekeeping (#580)

.. caution::

    The ``niworkflows.interfaces`` submodule has been refactored.
    To migrate from previous series, please modify the following imports:

    * ``images.MatchHeader`` -> ``header.MatchHeader``
    * ``images.ValidateImage`` -> ``header.ValidateImage``
    * ``images.Demean`` -> ``nibabel.Demean``
    * ``images.FilledImageLike`` -> ``nibabel.FilledImageLike``
    * ``images.RegridToZooms`` -> ``nibabel.RegridToZooms``
    * ``masks.ROIsPlot`` -> ``reportlets.masks.ROIsPlot``
    * ``masks.ComputeEPIMask`` -> ``nilearn.ComputeEPIMask``
    * ``mni.RobustMNINormalization`` -> ``norm.SpatialNormalization``
    * New ``niworkflows.interfaces.reportlets`` submodule

      * ``report_base`` -> ``reportlets.base``
      * ``masks`` -> ``reportlets.masks``
      * ``registration`` -> ``reportlets.registration``
      * ``segmentation`` -> ``reportlets.segmentation``

    * ``utils.GenerateSamplingReference`` -> ``nibabel.GenerateSamplingReference``
    * ``utils.CopyXForm`` -> ``header.CopyXForm``
    * ``utils.NormalizeMotionParams`` -> ``confounds.NormalizeMotionParams``
    * ``utils.AddTPMs`` -> ``probmaps.AddTPMs``
    * ``utils.TPM2ROI`` -> ``probmaps.TPM2ROI``
    * ``utils.AddTSVHeader`` -> ``utility.AddTSVHeader``
    * ``utils.JoinTSVColumns`` -> ``utility.JoinTSVColumns``
    * ``utils.DictMerge`` -> ``utility.DictMerge``
    * ``utils.TSV2JSON`` -> ``utility.TSV2JSON``

    Beware that interface aliases at the top ``niworkflows.interfaces`` level have
    been removed:

    * ``ExpandModel``, ``SpikeRegressors`` from ``confounds``
    * ``BET`` -> ``reportlets.masks.BETRPT``
    * ``FAST`` -> ``reportlets.segmentation.FASTRPT``
    * ``FLIRT``, ``ApplyXFM``, ``RobustMNINormalization``, ``Registration``,
      ``ApplyTransforms``, ``SimpleBeforeAfter`` now under ``reportlets.registration``
      as ``FLIRTRPT``, ``ApplyXFMRPT``, ``RobustMNINormalizationRPT``, ``ANTSRegistrationRPT``,
      ``ANTSApplyTransformsRPT``, ``SimpleBeforeAfterRPT``.
    * ``CopyXForm``, ``CopyHeader``, ``SanitizeImage`` now under ``header``
    * ``NormalizeMotionParams`` now under ``confounds``.
    * ``FMRISummary``, ``CompCorVariancePlot``, ``ConfoundsCorrelationPlot`` from ``plotting``

1.3.3 (April 15, 2021)
======================
Bug-fix release in the 1.3.x series.

* FIX: Limit memory usage in ``EstimateReferenceImage`` (#629)
* FIX: Check for ``in_segm`` input, not ``seg_file`` (#592)
* FIX: Use the mask to calculate FOV rather than the fixed image in ``GenerateSamplingReference`` (#583)
* FIX: Allow omission of ``<res>`` for template normalization (#582)
* MAINT: Pin *svgutils* to 0.3.1 (#596)
* MAINT: Migrate from Travis -> GH Actions (#589)
* MAINT: CircleCI housekeeping (#580)

1.3.2 (November 5, 2020)
========================
Bug-fix release in the 1.3.x series.

* FIX: Cordon off ``.dtseries.json`` contents (#578)
* ENH: Add units to qform overwrite report (#577)

1.3.1 (September 22, 2020)
==========================
Bug-fix release in the 1.3.x series.
Addresses longstanding issues in the anatomical MRI brain extraction workflow.

* FIX: Revision of ``antsBrainExtraction``, better handling edge cases (#567)

1.3.0 (September 11, 2020)
==========================
First release in the 1.3.x series.
This release includes enhancements and bug-fixes towards the release of the first 
LTS (*long-term support*) version of *fMRIPrep*.
*PyBIDS* has been revised to use more recent versions, a series of ANTs' interfaces
have been deemed ready to upstream into *Nipype*, and several improvements regarding
multi-echo EPI are included.
With thanks to <NAME> for contributions.

* FIX: Patch ``ApplyTransforms`` spec to permit identity in a chain (#554)
* FIX: Add dots to extensions in PyBIDS' config file (#548)
* FIX: Segmentation plots aligned with cardinal axes (#544)
* FIX: Skip T1w file existence check if ``anat_derivatives`` are provided (#545)
* FIX: Avoid diverting CIFTI dtype from original BOLD (#532)
{'fraction_non_alphanumeric': 0.15157774770282784, 'fraction_numerical': 0.029204359284849348, 'mean_word_length': 4.7003654080389765, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 57, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2035244', 'n_tokens_mistral': 4767, 'n_tokens_neox': 4253, 'n_words': 1499}