Release Notes
0.2.2 [2025-08-01]
Fixes:
- Fixed gear rule runs by setting
exhaustiveparameter tofalsein API call for retrieving completed tasks
Maintenance:
- Removed
libcurlpackage update from Dockerfile
Documentation:
- Clarified behavior when no annotations are saved, explaining that input file is tagged with
image-not-redactedand gear exits successfully - Enhanced output file tagging documentation for all use cases, detailing when
redacted-imageandimage-pii-redactortags 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-redactedtag to input files when no annotations are found for redaction
Fixes:
- Fixed vulnerability by updating
jqto1.8.0-r0andlibcurlto8.14.1-r1in Alpine base image - Fixed vulnerability by uninstalling
setuptoolsafter package installation
Maintenance:
- Updated
flywheel-sdkfrom^18to^20.3 - Updated
fw-clientfrom^0.8to^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
FWClientinitialization parameter fromread_timeouttotimeout - Improved path handling using
path.join()instead of f-string concatenation
Documentation:
- Fixed trailing whitespace and line breaks in
CONTRIBUTING.mdandREADME.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
Modalityis not set by updatingflywheel-gear-toolkitpackage
Maintenance:
- Upgraded
pythonfrom3.11to3.13 - Implemented multi-stage Docker build for optimized image size
- Added
flywheeluser for running the gear instead of root - Increased pytest coverage requirement from
0%to90% - Migrated to
flywheel/python-gdcmbase image - Added
uvfor Python package installation - Enabled classification validation in CI
- Updated development dependencies:
pytestto^8.3 - Removed unnecessary
returnstatement inset_output_file_metadata() - Added
requirements-dev.txtto Docker build context - Reorganized import statements for consistency
- Updated
manifest.jsonUID and GID to31337
0.1.5 [2025-04-25]
Enhancements:
- Added
output_file_prefixconfiguration option to customize output filename prefix - Added
delete_inputconfiguration option to optionally remove unredacted input files - Added
image-pii-redactortag to input files to facilitate workflow automation - Added
redacted-imagetag 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
pythonfrom3.11.11to3.11.12 - Increased test coverage with new test modules for
main.py,run.py, andutility_helpers.py - Added logging statements when overriding user-supplied config options
- Added validation to ensure
read_timeoutis 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-detectorinstead ofpresidio-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-exportertofw-gear-image-pii-redactor - Updated Docker image name from
flywheel/image-redaction-exportertoflywheel/image-pii-redactor - Renamed gear from
image-redaction-exportertoimage-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-exportertoflywheel/image-redaction-exporterin 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, anddebugparameters - 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
OthertoMITin 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
.dockerignoreto optimize Docker build context - Added
python3.11base image inDockerfile - Added
flywheel-gear-toolkit,fw-client,fw-file,pydicom, andnumpydependencies - Added
poetryfor dependency management withpyproject.toml - Added unit tests for parser and utility helper functions
Documentation:
- Added
README.mdwith gear overview, inputs, outputs, and usage instructions - Added
CONTRIBUTING.mdwith development setup, dependency management, and contribution guidelines - Added
LICENSEfile (MIT License) - Added
FAQ.mdplaceholder for frequently asked questions