Release Notes
1.0.2 [2026-02-18]
Enhancements:
- Added automatic release notes generation using Claude Code CI integration
Fixes:
- Fixed permission issues for
pipinstallations on AWS instances by creating/venv/sharedirectory with proper permissions - Fixed gear exit codes to properly propagate curation failures
Maintenance:
- Updated
pillowto>=12.1.1to address security vulnerabilities - Updated
pytestfrom8.3.3to9.0.0 - Updated
pytest-covfrom5.0.0to7.0.0 - Moved
USER flywheeldirective to end ofDockerfileto fix permission issues during build
Documentation:
- Added return type documentation to
curate()function infw_gear_file_curator/main.py:29
1.0.1 [2026-01-20]
Fixes:
- Fixed
handle_extra_packagesto use AST parsing instead of module import, preventingModuleNotFoundErrorbefore extra packages are installed - Fixed
Dockerfilepermissions for/venvdirectory to ensure compatibility with AWS environments
1.0.0 [2026-01-16]
Enhancements:
- Added
requirementsoptional input for installing additional Python packages - Added
install-latest-flywheel-sdkconfig option to update Flywheel SDK at runtime
Fixes:
- Updated file deletion to include required
delete_reasonparameter
Maintenance:
- Migrated from
flywheel-gear-toolkittofw-curationandfw-gearlibraries - Migrated build system from
poetry.core.masonry.apitohatchling - Updated base Docker image from
flywheel/python-gdcm:ssetoflywheel/python:3.12-wolfi-build - Updated
pythonfrom3.13.1to3.13.7 - Updated
.pre-commit-config.yamlhook frompoetry_exporttopyproject_export - Updated
lxmlfrom^5.3to>=5.3,<6 - Updated
pandasfrom^2to>=2,<3 - Updated
nibabelfrom^3.2.1to>=5.3,<6 - Updated
Pillowfrom^10to>=10,<11 - Updated
piexiffrom^1.1.3to>=1.1.3,<2 - Updated
pypngfrom^0.0.20to>=0.0.20,<0.0.21 - Updated
pylibjpegfrom^2.0to>=2.0,<3 - Added
fw-gear>=0.3.2,flywheel-sdk>=21.1.0,fw-file>=4.2.1, andfw-curation>=1.0.1dependencies - Added script version validation to detect incompatible curator scripts
Documentation:
- Updated README with migration guide from V0 to V1
- Updated README with detailed curator script requirements and specifications
- Updated example scripts to use
fw-curationandfw-gearAPIs - Updated CONTRIBUTING.md formatting
0.4.1 [2025-04-16]
Enhancements:
- Added new data plotting curator examples demonstrating dynamic plot generation from CSV files with configurable plotting parameters
- Added form-and-annotation merger curator example showing how to combine CSV outputs from the form-and-annotation-exporter gear
- Enhanced rename-file example with improved error handling and file replacement logic
Fixes:
- Fixed broken links in README to gear-toolkit documentation
- Fixed trailing whitespace issues in CONTRIBUTING.md and README.md
- Improved file renaming logic to properly handle cases where target filename already exists
Maintenance:
- Migrated base Docker image to
flywheel/python-gdcm:ssefor improved DICOM handling - Upgraded
pythonfrom3.8to3.13 - Updated
lxmlfrom^4.6.2to^5.3 - Updated
pandasfrom^1.1.4to^2 - Updated
Pillowfrom^8.0.1to^10 - Updated
flywheel-sdkfrom16.14.2to^18 - Updated
fw-filefrom^2.1.1to^3 - Added
pylibjpeg(^2.0) for enhanced image format support - Migrated to
uvfor dependency management - Optimized Dockerfile with multi-stage builds and improved layer caching
- Updated pytest configuration with coverage reporting and JUnit XML output
- Added
requirements-dev.txtto.dockerignore - Updated gear classification metadata with species, organ, modality, and function categories
- Set
PYTEST_COV_FAIL_UNDERto0in CI configuration - Added
VALIDATE_CLASSIFICATION: "true"to CI variables
Documentation:
- Added comprehensive README for data plotting curator examples explaining usage patterns and configuration options
- Improved inline documentation in curator examples with detailed docstrings
0.4.0 [2023-02-27]
Enhancements:
- Added example script (
examples/rename-file.py) for renaming files based on parent container attributes
Fixes:
- Fixed tag update logic in
run.pyto usecontext.metadata.add_file_tags()instead of manual tag list manipulation
Maintenance:
- Added
flywheel-sdkversion pinned to16.14.2 - Added
fw-file>=2.1.1dependency - Added
ipython>=8.10.0to development dependencies - Removed
coverage[toml],black, andisortfrom development dependencies - Added
PATH,LANG,GPG_KEY,PYTHON_VERSION,PYTHON_PIP_VERSION,PYTHON_SETUPTOOLS_VERSION,PYTHON_GET_PIP_URL,PYTHON_GET_PIP_SHA256,FLYWHEEL, andPWDenvironment variables to manifest - Set
DEBUG=9variable in.gitlab-ci.ymlto print executed commands - Removed
read-onlyflag fromapi-keyinput in manifest - Updated repository URLs in manifest from
flywheel-appstoscientific-solutions/gears - Removed commented-out error handling code from
examples/jitter_weight.py - Removed unused imports (
json,os,flywheel) fromexamples/jitter_weight.py
0.3.0 [2022-11-03]
Enhancements:
- Added
.dockerignorefile to optimize Docker build context and reduce image size
Maintenance:
- Migrated from
poetrytopipfor Docker image dependency management - Updated
.gitlab-ci.ymlto reference new CI template fromflywheel-io/scientific-solutions/etc/sse-qa-ci - Updated
.pre-commit-config.yamlto reference new hooks repository and addedpoetry_export,docker_build,markdownlint, andyamllinthooks - Updated
flywheel-gear-toolkitfrom^0.2to^0.6with SDK extras - Updated
pythonbase image with pinnedgitversion1:2.30.2-1and improved cleanup - Added
PYTEST_COV_FAIL_UNDER: 80coverage requirement to CI configuration - Removed test
Dockerfile - Changed Docker entrypoint from
poetry run pythonto directpythonexecution
Documentation:
- Expanded
CONTRIBUTING.mdwith comprehensive development, dependency management, and release process documentation - Improved
README.mdformatting and added better line wrapping for readability - Deleted
docs/release_notes.md(moved release notes tracking)
0.2.0 [2021-05-19]
Enhancements:
- Added
tagconfiguration option to apply tags to input files upon completion
Maintenance:
- Updated
flywheel-gear-toolkitdependency from>=0.1.4to^0.2 - Added
validate-manifesthook to pre-commit configuration
Documentation:
- Updated
debugconfiguration description formatting in README - Added
tagconfiguration option documentation in README
0.1.3 [2021-02-26]
Enhancements:
- Moved
parser.pyintofw_gear_file_curatorpackage for better code organization
Maintenance:
- Updated
.gitignoreto include Python build artifacts, coverage files, and editor-specific files - Changed CI template from
poetry.ymltopoetry-pre-commit.yml - Updated
.pre-commit-config.yamlhooks to usemasterbranch references - Simplified pre-commit hooks to use
isort,black, andpytestdirectly - Modified
Dockerfileto copyREADME.mdand package directory before runningpoetry install - Updated
pyproject.tomlpackage name fromflywheel-file-curatortofw-gear-file-curator - Updated
flywheel-gear-toolkitdependency constraint from^0.1.3to>=0.1.4 - Simplified
pyproject.tomlby removing inline tool configurations - Updated
build-system.requiresto usepoetry>=0.12 - Enhanced test
Dockerfileto include.pre-commit-config.yamland.gitdirectory - Added
pre-commitinstallation to test environment
Documentation:
- Added trailing newline to
README.md
0.1.1 [2021-02-03]
Fixes:
- Fixed input specifications by explicitly marking
curatorandfile-inputas required
Maintenance:
- Updated repository URLs from
github.com/flywheel-apps/custom-curatortogitlab.com/flywheel-io/flywheel-apps/file-curator - Disabled PyPI publishing in CI pipeline
0.1.0 [2021-01-05]
Enhancements:
- Added custom file curation capability using user-provided Python scripts
- Added support for
FileCuratorclass fromflywheel-gear-toolkitfor extensible curation workflows - Added support for multiple optional additional input files for curation context
- Added programmatic dependency installation via
requirements.txt - Added integration with
AggregatedReporterfor curation report generation - Added API key input support for Flywheel client operations
Documentation:
- Added comprehensive README with usage examples and custom curator class documentation
- Added contributing guide with testing instructions
- Added example curator script for DICOM patient weight jittering
Maintenance:
- Added CI/CD pipeline configuration using
poetry.ymltemplate - Added pre-commit hooks for code quality (
isort,black,pytest) - Added dependencies:
lxml,pandas,nibabel,Pillow,piexif,pydicom,pypng,flywheel-gear-toolkit - Added unit tests and integration test framework
- Added
python3.8base image withpoetry1.1.2for dependency management