diff --git a/CHANGES.rst b/CHANGES.rst index ff62bff4f7..d5055f4338 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,3 +1,18 @@ +0.16.0 (July 31, 2024) +====================== +Start of the 0.16.x minor series. + +This release decouples much of the hardcoded T1w behavior in favor of T1w/T2w options, +to allow easier integration with tools less reliant on a single anatomical scan. + +* ENH: Use genericised "anat" input/output for TemplateDimensions (#443) +* ENH: Remove much of the hardcoded `T1w` fields in favor of `anat` (#433) +* RF: Load package data with acres (#448) +* RF: `space-fsaverage` to `sphere_reg` output files (#446) +* MNT: Unpin libitk 5.3 (ANTs 2.5.3 is built with 5.4) (#445) +* MNT: Clean up doc builds, environment, style checks (#444) + + 0.15.0 (March 22, 2024) ======================= New feature release in the 0.15.x series. diff --git a/tools/update_changes.sh b/tools/update_changes.sh new file mode 100644 index 0000000000..5fc86f5bad --- /dev/null +++ b/tools/update_changes.sh @@ -0,0 +1,54 @@ +#!/bin/bash +# +# Collects the pull-requests since the latest release and +# arranges them in the CHANGES.rst.txt file. +# +# This is a script to be run before releasing a new version. +# +# Usage /bin/bash update_changes.sh 1.0.1 +# + +# Setting # $ help set +set -u # Treat unset variables as an error when substituting. +set -x # Print command traces before executing command. + +# Check whether the Upcoming release header is present +head -1 CHANGES.rst | grep -q Upcoming +UPCOMING=$? +if [[ "$UPCOMING" == "0" ]]; then + head -n3 CHANGES.rst >> newchanges +fi + +# Elaborate today's release header +HEADER="$1 ($(date '+%B %d, %Y'))" +echo $HEADER >> newchanges +echo $( printf "%${#HEADER}s" | tr " " "=" ) >> newchanges +echo "" >> newchanges + +# Search for PRs since previous release +MERGE_COMMITS=$( git log --grep="Merge pull request\|(#.*)$" `git describe --tags --abbrev=0`..HEAD --pretty='format:%h' ) +for COMMIT in ${MERGE_COMMITS//\n}; do + SUB=$( git log -n 1 --pretty="format:%s" $COMMIT ) + if ( echo $SUB | grep "^Merge pull request" ); then + # Merge commit + PR=$( echo $SUB | sed -e "s/Merge pull request \#\([0-9]*\).*/\1/" ) + TITLE=$( git log -n 1 --pretty="format:%b" $COMMIT ) + else + # Squashed merge + PR=$( echo $SUB | sed -e "s/.*(\#\([0-9]*\))$/\1/" ) + TITLE=$( echo $SUB | sed -e "s/\(.*\) (\#[0-9]*)$/\1/" ) + fi + echo "* $TITLE (#$PR)" >> newchanges +done +echo "" >> newchanges +echo "" >> newchanges + +# Add back the Upcoming header if it was present +if [[ "$UPCOMING" == "0" ]]; then + tail -n+4 CHANGES.rst >> newchanges +else + cat CHANGES.rst >> newchanges +fi + +# Replace old CHANGES.rst with new file +mv newchanges CHANGES.rst