Skip to content

Release Notes

1.0.2 [2026-02-18]

Enhancements:

  • Added automatic release notes generation using Claude Code CI integration

Fixes:

  • Fixed permission issues for pip installations on AWS instances by creating /venv/share directory with proper permissions
  • Fixed gear exit codes to properly propagate curation failures

Maintenance:

  • Updated pillow to >=12.1.1 to address security vulnerabilities
  • Updated pytest from 8.3.3 to 9.0.0
  • Updated pytest-cov from 5.0.0 to 7.0.0
  • Moved USER flywheel directive to end of Dockerfile to fix permission issues during build

Documentation:

  • Added return type documentation to curate() function in fw_gear_file_curator/main.py:29

1.0.1 [2026-01-20]

Fixes:

  • Fixed handle_extra_packages to use AST parsing instead of module import, preventing ModuleNotFoundError before extra packages are installed
  • Fixed Dockerfile permissions for /venv directory to ensure compatibility with AWS environments

1.0.0 [2026-01-16]

Enhancements:

  • Added requirements optional input for installing additional Python packages
  • Added install-latest-flywheel-sdk config option to update Flywheel SDK at runtime

Fixes:

  • Updated file deletion to include required delete_reason parameter

Maintenance:

  • Migrated from flywheel-gear-toolkit to fw-curation and fw-gear libraries
  • Migrated build system from poetry.core.masonry.api to hatchling
  • Updated base Docker image from flywheel/python-gdcm:sse to flywheel/python:3.12-wolfi-build
  • Updated python from 3.13.1 to 3.13.7
  • Updated .pre-commit-config.yaml hook from poetry_export to pyproject_export
  • Updated lxml from ^5.3 to >=5.3,<6
  • Updated pandas from ^2 to >=2,<3
  • Updated nibabel from ^3.2.1 to >=5.3,<6
  • Updated Pillow from ^10 to >=10,<11
  • Updated piexif from ^1.1.3 to >=1.1.3,<2
  • Updated pypng from ^0.0.20 to >=0.0.20,<0.0.21
  • Updated pylibjpeg from ^2.0 to >=2.0,<3
  • Added fw-gear>=0.3.2, flywheel-sdk>=21.1.0, fw-file>=4.2.1, and fw-curation>=1.0.1 dependencies
  • 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-curation and fw-gear APIs
  • 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:sse for improved DICOM handling
  • Upgraded python from 3.8 to 3.13
  • Updated lxml from ^4.6.2 to ^5.3
  • Updated pandas from ^1.1.4 to ^2
  • Updated Pillow from ^8.0.1 to ^10
  • Updated flywheel-sdk from 16.14.2 to ^18
  • Updated fw-file from ^2.1.1 to ^3
  • Added pylibjpeg (^2.0) for enhanced image format support
  • Migrated to uv for 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.txt to .dockerignore
  • Updated gear classification metadata with species, organ, modality, and function categories
  • Set PYTEST_COV_FAIL_UNDER to 0 in 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.py to use context.metadata.add_file_tags() instead of manual tag list manipulation

Maintenance:

  • Added flywheel-sdk version pinned to 16.14.2
  • Added fw-file>=2.1.1 dependency
  • Added ipython>=8.10.0 to development dependencies
  • Removed coverage[toml], black, and isort from development dependencies
  • Added PATH, LANG, GPG_KEY, PYTHON_VERSION, PYTHON_PIP_VERSION, PYTHON_SETUPTOOLS_VERSION, PYTHON_GET_PIP_URL, PYTHON_GET_PIP_SHA256, FLYWHEEL, and PWD environment variables to manifest
  • Set DEBUG=9 variable in .gitlab-ci.yml to print executed commands
  • Removed read-only flag from api-key input in manifest
  • Updated repository URLs in manifest from flywheel-apps to scientific-solutions/gears
  • Removed commented-out error handling code from examples/jitter_weight.py
  • Removed unused imports (json, os, flywheel) from examples/jitter_weight.py

0.3.0 [2022-11-03]

Enhancements:

  • Added .dockerignore file to optimize Docker build context and reduce image size

Maintenance:

  • Migrated from poetry to pip for Docker image dependency management
  • Updated .gitlab-ci.yml to reference new CI template from flywheel-io/scientific-solutions/etc/sse-qa-ci
  • Updated .pre-commit-config.yaml to reference new hooks repository and added poetry_export, docker_build, markdownlint, and yamllint hooks
  • Updated flywheel-gear-toolkit from ^0.2 to ^0.6 with SDK extras
  • Updated python base image with pinned git version 1:2.30.2-1 and improved cleanup
  • Added PYTEST_COV_FAIL_UNDER: 80 coverage requirement to CI configuration
  • Removed test Dockerfile
  • Changed Docker entrypoint from poetry run python to direct python execution

Documentation:

  • Expanded CONTRIBUTING.md with comprehensive development, dependency management, and release process documentation
  • Improved README.md formatting and added better line wrapping for readability
  • Deleted docs/release_notes.md (moved release notes tracking)

0.2.0 [2021-05-19]

Enhancements:

  • Added tag configuration option to apply tags to input files upon completion

Maintenance:

  • Updated flywheel-gear-toolkit dependency from >=0.1.4 to ^0.2
  • Added validate-manifest hook to pre-commit configuration

Documentation:

  • Updated debug configuration description formatting in README
  • Added tag configuration option documentation in README

0.1.3 [2021-02-26]

Enhancements:

  • Moved parser.py into fw_gear_file_curator package for better code organization

Maintenance:

  • Updated .gitignore to include Python build artifacts, coverage files, and editor-specific files
  • Changed CI template from poetry.yml to poetry-pre-commit.yml
  • Updated .pre-commit-config.yaml hooks to use master branch references
  • Simplified pre-commit hooks to use isort, black, and pytest directly
  • Modified Dockerfile to copy README.md and package directory before running poetry install
  • Updated pyproject.toml package name from flywheel-file-curator to fw-gear-file-curator
  • Updated flywheel-gear-toolkit dependency constraint from ^0.1.3 to >=0.1.4
  • Simplified pyproject.toml by removing inline tool configurations
  • Updated build-system.requires to use poetry>=0.12
  • Enhanced test Dockerfile to include .pre-commit-config.yaml and .git directory
  • Added pre-commit installation to test environment

Documentation:

  • Added trailing newline to README.md

0.1.1 [2021-02-03]

Fixes:

  • Fixed input specifications by explicitly marking curator and file-input as required

Maintenance:

  • Updated repository URLs from github.com/flywheel-apps/custom-curator to gitlab.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 FileCurator class from flywheel-gear-toolkit for extensible curation workflows
  • Added support for multiple optional additional input files for curation context
  • Added programmatic dependency installation via requirements.txt
  • Added integration with AggregatedReporter for 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.yml template
  • 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 python 3.8 base image with poetry 1.1.2 for dependency management