Skip to content

Release Notes

0.2.2 [2025-08-01]

Fixes:

  • Fixed gear rule runs by setting exhaustive parameter to false in API call for retrieving completed tasks

Maintenance:

  • Removed libcurl package update from Dockerfile

Documentation:

  • Clarified behavior when no annotations are saved, explaining that input file is tagged with image-not-redacted and gear exits successfully
  • Enhanced output file tagging documentation for all use cases, detailing when redacted-image and image-pii-redactor tags are applied
  • Updated use case examples to include tag information for both input and output files

0.2.1 [2025-06-26]

Enhancements:

  • Added image-not-redacted tag to input files when no annotations are found for redaction

Fixes:

  • Fixed vulnerability by updating jq to 1.8.0-r0 and libcurl to 8.14.1-r1 in Alpine base image
  • Fixed vulnerability by uninstalling setuptools after package installation

Maintenance:

  • Updated flywheel-sdk from ^18 to ^20.3
  • Updated fw-client from ^0.8 to ^2.1
  • Increased pytest coverage requirement from 90% to 95%
  • Refactored run() function to return tuple with exit code and output filename
  • Added early exit when no protocol name, protocol not found, no tasks found, or no annotations found
  • Refactored file tagging logic into reusable add_tag_to_input_file() helper function
  • Added comprehensive unit tests for error handling paths and edge cases
  • Changed FWClient initialization parameter from read_timeout to timeout
  • Improved path handling using path.join() instead of f-string concatenation

Documentation:

  • Fixed trailing whitespace and line breaks in CONTRIBUTING.md and README.md
  • Updated poetry configuration link formatting in CONTRIBUTING.md

0.2.0 [2025-05-14]

Enhancements:

  • Added GDCM package support to handle additional DICOM TransferSyntaxes

Fixes:

  • Fixed metadata saving when input file Modality is not set by updating flywheel-gear-toolkit package

Maintenance:

  • Upgraded python from 3.11 to 3.13
  • Implemented multi-stage Docker build for optimized image size
  • Added flywheel user for running the gear instead of root
  • Increased pytest coverage requirement from 0% to 90%
  • Migrated to flywheel/python-gdcm base image
  • Added uv for Python package installation
  • Enabled classification validation in CI
  • Updated development dependencies: pytest to ^8.3
  • Removed unnecessary return statement in set_output_file_metadata()
  • Added requirements-dev.txt to Docker build context
  • Reorganized import statements for consistency
  • Updated manifest.json UID and GID to 31337

0.1.5 [2025-04-25]

Enhancements:

  • Added output_file_prefix configuration option to customize output filename prefix
  • Added delete_input configuration option to optionally remove unredacted input files
  • Added image-pii-redactor tag to input files to facilitate workflow automation
  • Added redacted-image tag to output files for easier identification
  • Enabled output file to use same filename as input file when prefix is empty
  • Enabled metadata copying from input to output files including file.info, tags, modality, and classification

Maintenance:

  • Updated python from 3.11.11 to 3.11.12
  • Increased test coverage with new test modules for main.py, run.py, and utility_helpers.py
  • Added logging statements when overriding user-supplied config options
  • Added validation to ensure read_timeout is at least 60 seconds

Documentation:

  • Updated README with four detailed use cases for different configuration scenarios
  • Clarified gear name references from "Image Redaction Exporter" to "Image PII Redactor"
  • Updated protocol name default in documentation to default_image_pii_detector_protocol
  • Improved configuration option descriptions for clarity
  • Updated prerequisite gear references to point to image-pii-detector instead of presidio-image-redactor
  • Reformatted README sections for improved line length compliance

0.1.4 [2025-04-09]

Enhancements:

  • Added log message when no completed reader tasks are found for a file, allowing the gear to exit successfully

Maintenance:

  • Renamed package from fw-gear-image-redaction-exporter to fw-gear-image-pii-redactor
  • Updated Docker image name from flywheel/image-redaction-exporter to flywheel/image-pii-redactor
  • Renamed gear from image-redaction-exporter to image-pii-redactor
  • Updated gear label from "Image redaction exporter" to "Image PII Redactor"

Documentation:

  • Updated README to reference "Image PII Detector gear" instead of "Presidio Image Redactor gear"
  • Added clarification that gear exits successfully when no completed task is found
  • Added description to manifest: "This gear is used to redact sections of the image based on annotations created in the reader task"

0.1.2 [2025-02-21]

Fixes:

  • Corrected gear image name from flywheel/image-redactor-exporter to flywheel/image-redaction-exporter in manifest configuration

0.1.1 [2025-02-18]

Documentation:

  • Updated README with complete gear documentation including overview, usage instructions, and workflow diagram
  • Added detailed input/config specifications for image-file, protocol_name, read_timeout, and debug parameters
  • Documented output format for redacted DICOM files
  • Added prerequisite gear run requirements for presidio-image-redactor
  • Included mermaid flowchart showing typical use case workflow with human-in-the-loop review
  • Updated license from Other to MIT in manifest

0.1.0 [2025-01-02]

Enhancements:

  • Added DICOM image redaction export functionality based on reader task annotations
  • Added support for protocol-based task filtering and annotation retrieval
  • Added automatic regeneration of DICOM UIDs (SeriesInstanceUID, StudyInstanceUID, SOPInstanceUID) for redacted images
  • Added configurable read timeout for API requests (minimum 60 seconds)

Maintenance:

  • Added CI/CD pipeline configuration with .gitlab-ci.yml
  • Added pre-commit hooks for code quality checks including ruff, pytest, hadolint, and linting tools
  • Added .dockerignore to optimize Docker build context
  • Added python 3.11 base image in Dockerfile
  • Added flywheel-gear-toolkit, fw-client, fw-file, pydicom, and numpy dependencies
  • Added poetry for dependency management with pyproject.toml
  • Added unit tests for parser and utility helper functions

Documentation:

  • Added README.md with gear overview, inputs, outputs, and usage instructions
  • Added CONTRIBUTING.md with development setup, dependency management, and contribution guidelines
  • Added LICENSE file (MIT License)
  • Added FAQ.md placeholder for frequently asked questions