Release Notes
0.4.2_2.0.2 [2025-06-23]
Maintenance:
- Updated Dockerfile base image from
ubuntu:noble-20250415.1toubuntu:noble-20250529
0.4.1_2.0.2 [2025-06-09]
Maintenance:
- Configured gear to run as non-root user
flywheel(UID/GID31337) for improved security
0.4.0_2.0.2 [2025-05-30]
Enhancements:
- Added
requirements-dev.txtto.dockerignorefor development dependencies - Added
pytesthook to pre-commit configuration for automated testing
Fixes:
- Fixed error handling in
fw_gear_pydeface/__init__.pywhen package version cannot be determined - Fixed metadata copy functionality to use correct container type from destination
- Fixed test assertions to match updated
fw-gearlibrary API patterns
Maintenance:
- Migrated from
flywheel-gear-toolkittofw-gearlibrary - Updated
flywheel-sdkfrom16.8.0to20.3.0 - Updated
nipypefrom1.8.5to1.10.0 - Updated
setuptoolsto80.7.1 - Updated
pytestfrom6.1.2to8.3.5 - Updated
pytest-covfrom3.0.0to6.1.1 - Updated
pytest-mockfrom3.8.2to3.14.0 - Updated
pre-commitfrom3.3.3to4.2.0 - Updated Python version from
3.8to3.11 - Updated Dockerfile base image from
ubuntu:focal(20.04) toubuntu:noble-20250415.1(24.04) - Updated FSL base image stage reference to use
ASsyntax for multi-stage builds - Added
SHELLdirective to Dockerfile for safer command execution with pipefail - Updated CI configuration to reference
ssebranch instead of specific commit SHA - Updated
.pre-commit-config.yamlto referencessebranch - Set
PYTEST_COV_FAIL_UNDERto 0 in CI configuration - Set
PUBLISH_POETRYtofalsein CI configuration - Added
VALIDATE_CLASSIFICATIONvariable to CI configuration - Disabled
hadolinthook in pre-commit (commented out, previously active) - Added
pyproject.tomlargument toruffpre-commit hook - Refactored test fixtures to use
fw-gearlibrary instead offlywheel-gear-toolkit - Removed redundant pre-commit hook invocations in
.pre-commit-config.yaml - Removed unused imports in test files
Documentation:
- Updated
CONTRIBUTING.mdlink formatting for poetry configuration options - Updated manifest description for
applytoinput from "another image" to "another NIfTI" - Updated manifest description for
infileinput from "input nifti" to "Input NIfTI" - Updated manifest description for
debugconfig option formatting - Added clarifying comment for
debugparameter inmain.pynoting it is not exposed in gear config
0.3.1_2.0.2 [2024-07-02]
Fixes:
- Fixed error when
applytoconfiguration option isNoneor empty inmove_input_to_output_dir()andclean_output_dir()functions (GEAR-6404)
Maintenance:
- Unpinned
gitpackage version inDockerfileto allow automatic security updates
0.3.0_2.0.2 [2024-05-14]
Enhancements:
- Added
overwrite_inputconfiguration option to replace the original input file with the defaced version - Added
tagconfiguration option to specify custom tags for output files (default:pydeface) - Added
tag_inputconfiguration option to optionally tag input files - Added
copy_input_metadata_to_outputconfiguration 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
FileNotFoundErrorexceptions instead of bare except clauses - Removed version pins for
python3-pip,ca-certificates, andcurlpackages inDockerfileto prevent build failures
Maintenance:
- Migrated CI configuration to use
flywheel-io/tools/etc/qa-ciproject with updated reference - Added
.gitignorefile for Python, macOS, and editor-specific artifacts - Updated
.pre-commit-config.yamlto useruffandruff_formatinstead ofblackandisort - Added additional pre-commit hooks for
hadolint,jsonlint, andlinkcheck - 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-commitas a development dependency
Documentation:
- Added documentation for new configuration options in
README.md - Improved docstrings throughout codebase following Google style conventions
- Updated
CONTRIBUTING.mdto 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
pydefacev2.0.2 - Added support for custom template and facemask inputs for study-specific defacing needs
- Added
applytoinput to deface multiple registered images in a single gear run - Added configurable FSL-FLIRT cost functions (
mutualinfo,corratio,normcorr,normmi,leastsq,labeldiff,bbr) - Added
nocleanupoption to retain intermediate files (facemask and registration matrix) - Added
verboseanddebugconfiguration options for enhanced logging
Maintenance:
- Added CI/CD pipeline configuration with
.gitlab-ci.ymlusingsse-qa-ci@862dcf6f - Added pre-commit hooks for code quality (
gearcheck,poetry_export,docker_build,markdownlint,yamllint,black,isort,pytest) - Added
.dockerignorefor optimized Docker build context - Added
python-is-python33.9.2-2,python3-pip22.0.2,python3-venv3.10.6-1,git1:2.34.1, andcurl7.81.0-1to base image - Configured FSL
6.0.6libraries fromflywheel/fsl-base:6.0.6-focal - Added
flywheel-gear-toolkit>=0.6,flywheel-sdk>=16.8.0, andnipype>=1.8.5dependencies - Set pytest coverage threshold to 80% in CI pipeline
Documentation:
- Added
README.mdwith gear overview, usage instructions, and five use cases - Added
CONTRIBUTING.mdwith development setup, dependency management, and release process - Added merge request template with checklist for release notes, changelog, tests, and test data
- Added
FAQ.mdfor common questions and errors