Skip to content

Release Notes

0.2.1_8.0.0 [2026-01-12]

Fixes:

  • Fixed Dockerfile base image tag to use stable ubuntu:jammy instead of specific snapshot

Maintenance:

  • Migrated from flywheel-gear-toolkit to fw-gear library
  • Updated flywheel-sdk to >=21.2.0 to 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 overwrite configuration option to replace input file with defaced output

Fixes:

  • Fixed os.access call in FreeSurfer's surfa library to work with runc container engine
  • Fixed command execution in pics.py to use proper command-line interface instead of shell injection

Maintenance:

  • Updated base image from python@sha256:cd6e574ff6ad2ac75184ad90e4e374842cfc36ae21bc2f773531ac65f6939991 to ubuntu:jammy-20250530
  • Upgraded FreeSurfer from 7.3.2 to 8.0.0
  • Upgraded python from 3.8 to 3.11
  • Upgraded ImageMagick from 7.1.1-29 to 7.1.1-47
  • Removed vulnerable packages from FreeSurfer installation: torch, urllib3, setuptools, protobuf
  • Added non-root flywheel user (uid:31337, gid:31337) in Dockerfile
  • Migrated build system from poetry to uv with PEP 621 format
  • Updated .gitlab-ci.yml to reference flywheel-io/tools/etc/qa-ci instead of sse-qa-ci
  • Updated .pre-commit-config.yaml hooks to use pyproject_export instead of poetry_export
  • Added multi-stage Docker build with separate dev layer 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.md with improved formatting and line wrapping
  • Updated CONTRIBUTING.md with 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 overwrite config option to replace input files with defaced output instead of creating new files with _defaced suffix
  • Replaced optional freesurfer_license_file input with required gear-FREESURFER_LICENSE config 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.py module with NIfTI dimension checking and splitting/combining utilities

Documentation:

  • Updated README with gear-FREESURFER_LICENSE config documentation and removed freesurfer_license_file input documentation
  • Updated README with overwrite config option documentation

0.1.3_7.3.2 [2024-04-05]

Maintenance:

  • Updated Dockerfile to use official freesurfer/freesurfer:7.3.2 base image instead of manually installing FreeSurfer
  • Updated ImageMagick from 7.1.1-8 to 7.1.1-29
  • Added libgfortran5 system dependency to Dockerfile
  • Applied code formatting and linting improvements using ruff
  • Updated .pre-commit-config.yaml hooks to use ruff instead of black and isort
  • Removed markdownlint hook from .pre-commit-config.yaml
  • Added saas-linux-large-amd64 tag to build:docker job in .gitlab-ci.yml
  • Improved docstrings and added noqa comments for linter exceptions
  • Reordered manifest.json fields for better organization

0.1.2_7.3.2 [2024-04-01]

Enhancements:

  • Added tag configuration option to tag gear output files upon run completion for improved pipelining
  • Added copy_input_metadata_to_output configuration 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-toolkit from 0.6.6 to 0.6.18
  • Updated jsonschema from 3.2.0 to 4.17.3
  • Removed version pinning for ghostscript, librsvg2-bin, librsvg2-dev, and xvfb packages in Dockerfile
  • Changed api-key input from read-only to read-write

Documentation:

  • Updated README to document new copy_input_metadata_to_output and tag configuration 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 using freeview and convert

Fixes:

  • Fixed poor cropping in pics QA output images by regenerating them with proper viewport settings

Maintenance:

  • Added xauth system 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: infile for processing new images and apply for 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.2 integration
  • 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, and pytest
  • Added Docker multi-stage build with FreeSurfer 7.3.2 and ImageMagick 7.1.1
  • Added python base image with SHA pinning for reproducibility
  • Added dependencies: flywheel-gear-toolkit 0.6.6, flywheel-sdk 16.10.11, nipype 1.8.5
  • Added .dockerignore file 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