Skip to content

Release Notes

0.4.2_2.0.2 [2025-06-23]

Maintenance:

  • Updated Dockerfile base image from ubuntu:noble-20250415.1 to ubuntu:noble-20250529

0.4.1_2.0.2 [2025-06-09]

Maintenance:

  • Configured gear to run as non-root user flywheel (UID/GID 31337) for improved security

0.4.0_2.0.2 [2025-05-30]

Enhancements:

  • Added requirements-dev.txt to .dockerignore for development dependencies
  • Added pytest hook to pre-commit configuration for automated testing

Fixes:

  • Fixed error handling in fw_gear_pydeface/__init__.py when package version cannot be determined
  • Fixed metadata copy functionality to use correct container type from destination
  • Fixed test assertions to match updated fw-gear library API patterns

Maintenance:

  • Migrated from flywheel-gear-toolkit to fw-gear library
  • Updated flywheel-sdk from 16.8.0 to 20.3.0
  • Updated nipype from 1.8.5 to 1.10.0
  • Updated setuptools to 80.7.1
  • Updated pytest from 6.1.2 to 8.3.5
  • Updated pytest-cov from 3.0.0 to 6.1.1
  • Updated pytest-mock from 3.8.2 to 3.14.0
  • Updated pre-commit from 3.3.3 to 4.2.0
  • Updated Python version from 3.8 to 3.11
  • Updated Dockerfile base image from ubuntu:focal (20.04) to ubuntu:noble-20250415.1 (24.04)
  • Updated FSL base image stage reference to use AS syntax for multi-stage builds
  • Added SHELL directive to Dockerfile for safer command execution with pipefail
  • Updated CI configuration to reference sse branch instead of specific commit SHA
  • Updated .pre-commit-config.yaml to reference sse branch
  • Set PYTEST_COV_FAIL_UNDER to 0 in CI configuration
  • Set PUBLISH_POETRY to false in CI configuration
  • Added VALIDATE_CLASSIFICATION variable to CI configuration
  • Disabled hadolint hook in pre-commit (commented out, previously active)
  • Added pyproject.toml argument to ruff pre-commit hook
  • Refactored test fixtures to use fw-gear library instead of flywheel-gear-toolkit
  • Removed redundant pre-commit hook invocations in .pre-commit-config.yaml
  • Removed unused imports in test files

Documentation:

  • Updated CONTRIBUTING.md link formatting for poetry configuration options
  • Updated manifest description for applyto input from "another image" to "another NIfTI"
  • Updated manifest description for infile input from "input nifti" to "Input NIfTI"
  • Updated manifest description for debug config option formatting
  • Added clarifying comment for debug parameter in main.py noting it is not exposed in gear config

0.3.1_2.0.2 [2024-07-02]

Fixes:

  • Fixed error when applyto configuration option is None or empty in move_input_to_output_dir() and clean_output_dir() functions (GEAR-6404)

Maintenance:

  • Unpinned git package version in Dockerfile to allow automatic security updates

0.3.0_2.0.2 [2024-05-14]

Enhancements:

  • Added overwrite_input configuration option to replace the original input file with the defaced version
  • Added tag configuration option to specify custom tags for output files (default: pydeface)
  • Added tag_input configuration option to optionally tag input files
  • Added copy_input_metadata_to_output configuration option to transfer file metadata (modality, classification, and info) from input to output files
  • Added classification metadata to gear manifest for improved discoverability

Fixes:

  • Fixed error handling to catch specific FileNotFoundError exceptions instead of bare except clauses
  • Removed version pins for python3-pip, ca-certificates, and curl packages in Dockerfile to prevent build failures

Maintenance:

  • Migrated CI configuration to use flywheel-io/tools/etc/qa-ci project with updated reference
  • Added .gitignore file for Python, macOS, and editor-specific artifacts
  • Updated .pre-commit-config.yaml to use ruff and ruff_format instead of black and isort
  • Added additional pre-commit hooks for hadolint, jsonlint, and linkcheck
  • Removed merge request template from .gitlab/merge_request_templates/
  • Updated test suite with comprehensive fixtures and unit tests for tagging and metadata functionality
  • Added pre-commit as a development dependency

Documentation:

  • Added documentation for new configuration options in README.md
  • Improved docstrings throughout codebase following Google style conventions
  • Updated CONTRIBUTING.md to remove broken changelog link

0.1.0_2.0.2 [2023-05-03]

Enhancements:

  • Added PyDeface gear for removing facial structures from NIfTI images using pydeface v2.0.2
  • Added support for custom template and facemask inputs for study-specific defacing needs
  • Added applyto input to deface multiple registered images in a single gear run
  • Added configurable FSL-FLIRT cost functions (mutualinfo, corratio, normcorr, normmi, leastsq, labeldiff, bbr)
  • Added nocleanup option to retain intermediate files (facemask and registration matrix)
  • Added verbose and debug configuration options for enhanced logging

Maintenance:

  • Added CI/CD pipeline configuration with .gitlab-ci.yml using sse-qa-ci@862dcf6f
  • Added pre-commit hooks for code quality (gearcheck, poetry_export, docker_build, markdownlint, yamllint, black, isort, pytest)
  • Added .dockerignore for optimized Docker build context
  • Added python-is-python3 3.9.2-2, python3-pip 22.0.2, python3-venv 3.10.6-1, git 1:2.34.1, and curl 7.81.0-1 to base image
  • Configured FSL 6.0.6 libraries from flywheel/fsl-base:6.0.6-focal
  • Added flywheel-gear-toolkit >=0.6, flywheel-sdk >=16.8.0, and nipype >=1.8.5 dependencies
  • Set pytest coverage threshold to 80% in CI pipeline

Documentation:

  • Added README.md with gear overview, usage instructions, and five use cases
  • Added CONTRIBUTING.md with development setup, dependency management, and release process
  • Added merge request template with checklist for release notes, changelog, tests, and test data
  • Added FAQ.md for common questions and errors