Release Notes
0.2.1_8.0.0 [2026-01-12]
Fixes:
- Fixed
Dockerfilebase image tag to use stableubuntu:jammyinstead of specific snapshot
Maintenance:
- Migrated from
flywheel-gear-toolkittofw-gearlibrary - Updated
flywheel-sdkto>=21.2.0to address known vulnerabilities
0.2.0_8.0.0 [2025-07-14]
Enhancements:
- Added handling for 4D (xyzt) NIfTI files by splitting into 3D volumes for defacing
- Added
overwriteconfiguration option to replace input file with defaced output
Fixes:
- Fixed
os.accesscall in FreeSurfer'ssurfalibrary to work withrunccontainer engine - Fixed command execution in
pics.pyto use proper command-line interface instead of shell injection
Maintenance:
- Updated base image from
python@sha256:cd6e574ff6ad2ac75184ad90e4e374842cfc36ae21bc2f773531ac65f6939991toubuntu:jammy-20250530 - Upgraded FreeSurfer from
7.3.2to8.0.0 - Upgraded
pythonfrom3.8to3.11 - Upgraded
ImageMagickfrom7.1.1-29to7.1.1-47 - Removed vulnerable packages from FreeSurfer installation:
torch,urllib3,setuptools,protobuf - Added non-root
flywheeluser (uid:31337,gid:31337) in Dockerfile - Migrated build system from
poetrytouvwith PEP 621 format - Updated
.gitlab-ci.ymlto referenceflywheel-io/tools/etc/qa-ciinstead ofsse-qa-ci - Updated
.pre-commit-config.yamlhooks to usepyproject_exportinstead ofpoetry_export - Added multi-stage Docker build with separate
devlayer for testing - Updated CI configuration to use larger runner and 3-hour timeout for gear tests
- Removed obsolete SBOM file
gl-sbom-pypi-poetry.cdx.json
Documentation:
- Updated
README.mdwith improved formatting and line wrapping - Updated
CONTRIBUTING.mdwith formatting fixes and removed changelog entry section
0.1.4_7.3.2 [2024-04-16]
Enhancements:
- Added support for 4D (xyzt) NIfTI files by automatically splitting them into 3D volumes, defacing each, and recombining into 4D output
- Added
overwriteconfig option to replace input files with defaced output instead of creating new files with_defacedsuffix - Replaced optional
freesurfer_license_fileinput with requiredgear-FREESURFER_LICENSEconfig option to ensure license availability at runtime
Fixes:
- Added validation to verify defaced output exists before marking run as successful
Maintenance:
- Added
fw_gear_mideface/utils.pymodule with NIfTI dimension checking and splitting/combining utilities
Documentation:
- Updated README with
gear-FREESURFER_LICENSEconfig documentation and removedfreesurfer_license_fileinput documentation - Updated README with
overwriteconfig option documentation
0.1.3_7.3.2 [2024-04-05]
Maintenance:
- Updated
Dockerfileto use officialfreesurfer/freesurfer:7.3.2base image instead of manually installing FreeSurfer - Updated
ImageMagickfrom7.1.1-8to7.1.1-29 - Added
libgfortran5system dependency toDockerfile - Applied code formatting and linting improvements using
ruff - Updated
.pre-commit-config.yamlhooks to useruffinstead ofblackandisort - Removed
markdownlinthook from.pre-commit-config.yaml - Added
saas-linux-large-amd64tag tobuild:dockerjob in.gitlab-ci.yml - Improved docstrings and added
noqacomments for linter exceptions - Reordered
manifest.jsonfields for better organization
0.1.2_7.3.2 [2024-04-01]
Enhancements:
- Added
tagconfiguration option to tag gear output files upon run completion for improved pipelining - Added
copy_input_metadata_to_outputconfiguration option to copy input file's metadata (classification, modality, info) to defaced output file
Fixes:
- Fixed cropping issue with pics output
Maintenance:
- Updated
flywheel-gear-toolkitfrom0.6.6to0.6.18 - Updated
jsonschemafrom3.2.0to4.17.3 - Removed version pinning for
ghostscript,librsvg2-bin,librsvg2-dev, andxvfbpackages inDockerfile - Changed
api-keyinput from read-only to read-write
Documentation:
- Updated README to document new
copy_input_metadata_to_outputandtagconfiguration options - Updated metadata section to reflect metadata copying behavior
0.1.1_7.3.2 [2023-05-16]
Enhancements:
- Added new
recreate_pics()function to regenerate QA output images with correct cropping usingfreeviewandconvert
Fixes:
- Fixed poor cropping in pics QA output images by regenerating them with proper viewport settings
Maintenance:
- Added
xauthsystem package (1:1.1-1) to Docker image dependencies
0.0.1_7.3.2 [2023-05-02]
Enhancements:
- Implemented MiDeFace functionality for removing facial structures from MRI images
- Added support for NIfTI (
.nii,.nii.gz) and MGZ format inputs - Added two defacing modes:
infilefor processing new images andapplyfor using existing facemasks - Added configurable facial structure removal options for ears, forehead, and back of head
- Added QA image outputs (before/after PNGs and comparison GIF) with optional code embedding
- Added SAMSEG and SynthSeg segmentation support with configurable parameters
- Added FreeSurfer
7.3.2integration - Added optional facemask retention for reuse across multiple images of same subject
- Added configurable output formats (
nii.gz,nii,mgz) - Added support for custom fill constraints and zero-filling options
- Added configurable threading support for performance optimization
Maintenance:
- Added CI/CD configuration with GitLab CI
- Added pre-commit hooks for
gearcheck,poetry_export,docker_build,markdownlint,yamllint,black,isort, andpytest - Added Docker multi-stage build with FreeSurfer
7.3.2and ImageMagick7.1.1 - Added
pythonbase image with SHA pinning for reproducibility - Added dependencies:
flywheel-gear-toolkit0.6.6,flywheel-sdk16.10.11,nipype1.8.5 - Added
.dockerignorefile to optimize Docker build context - Added test coverage requirement of 80% in CI
Documentation:
- Added comprehensive README with usage examples, workflow diagrams, and use cases
- Added CONTRIBUTING.md with development setup and release process
- Added merge request template with checklist for releases, changelog, and tests
- Added FAQ.md for troubleshooting and common questions
- Added MIT license