Skip to content

Release Notes

2.3.0 [2026-06-03]

Enhancements:

  • Added support for exporting and importing project settings (project_settings config option), including forms, deid_profile, viewer_apps, and workspaces.
  • Added support for exporting and importing session and acquisition templates (session_templates config option).
  • Added support for exporting and importing project custom metadata (project_info config option).
  • Added support for exporting and uploading project attachment files (project_attachments config option and attachments file input).

Fixes:

  • Fixed a typo in README.md ("to be assist" → "to assist").
  • Fixed a syntax error in the generate_project_template docstring (missing colon after "views").

Maintenance:

  • Refactored Dockerfile to use a multi-stage build with base, build, dev, and final production stages using flywheel/python:3.12-wolfi-build.
  • Added requirements-dev.txt to .dockerignore allowlist to support the dev build stage.
  • Extended save_template JSON serializer to handle Flywheel model objects with a to_dict method.
  • Added tests for project_settings, session_templates, project_info, and project_attachments export and import functionality.

Documentation:

  • Updated README.md to document the new project_settings, session_templates, project_info, and project_attachments configuration options.
  • Updated README.md to document the new attachments file input and output.
  • Updated README.md description and use case sections to reflect the expanded set of exportable/importable project attributes.

2.2.9 [2025-10-23]

Enhancements:

  • Added classification metadata fields (function, modality, organ, species, therapeutic_area) to gear manifest
  • Enabled show-job setting in gear manifest

Fixes:

  • Added USER flywheel directive to Dockerfile for improved security

Maintenance:

  • Migrated from poetry to uv for dependency management
  • Migrated from flywheel-gear-toolkit to fw-gear==0.3.2 library
  • Updated python from 3.12.8 to 3.12.12
  • Set PYVER to 3.12 in CI configuration
  • Updated glob2 version constraint from ^0.7 to >=0.7,<0.8
  • Updated pyproject.toml to use PEP 621 format with hatchling build backend
  • Added PLR0913, PLR0912, and PLR0915 lint exceptions for functions with many parameters/branches/statements
  • Refactored string formatting to use f-strings instead of .format()
  • Removed unnecessary import zipfile statement

Documentation:

  • Updated CONTRIBUTING.md with uv-based workflow instructions
  • Updated pre-commit hook documentation to reflect configuration changes

2.2.8 [2025-02-06]

Fixes:

  • Fixed bug where fixed input file version mismatch between origin and destination projects caused the gear to fail by removing version specifications from gear rules
  • Fixed bug where the gear expected permission to have id instead of _id (now accepts either field)

Documentation:

  • Updated README.md formatting to ensure all lines are 88 characters or less
  • Added clarification in README.md about gear rule fixed input versioning behavior
  • Fixed typo in manifest.json config description changing apply_group_permissions to default_group_permissions

Maintenance:

  • Updated python from 3.12.7 to 3.12.8

2.2.6 [2024-12-10]

Enhancements:

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

Maintenance:

  • Added CI/CD pipeline configuration with .gitlab-ci.yml for automated testing and deployment
  • Added pre-commit hooks configuration for code quality checks including ruff, pytest, hadolint, and linting tools
  • Added comprehensive test suite with pytest covering main functionality, parser, and utility functions
  • Added Dockerfile based on flywheel/python:3.12-alpine image
  • Added project documentation including README.md, CONTRIBUTING.md, FAQ.md, and LICENSE
  • Added fw_gear_project_settings package with modular architecture separating main logic, parsing, and utilities
  • Migrated to pyproject.toml for dependency management with poetry
  • Updated python to 3.12 and flywheel-sdk to ^17.4.0
  • Added glob2 and flywheel-gear-toolkit dependencies
  • Added release notes documentation in docs/release_notes.md