Skip to content

Release Notes

1.0.3_24.0.2 [2026-01-16]

Enhancements:

  • Added system package upgrade step (apt-get upgrade -y) to the Docker build process for enhanced security

Maintenance:

  • Updated flywheel-sdk from >=17.0,<18 to >=21.0,<22
  • Cleaned up whitespace in Dockerfile

1.0.2_24.0.2 [2026-01-12]

Maintenance:

  • Migrated from flywheel-gear-toolkit to fw-gear library, including updates to the new context.config and context.metadata methods.
  • Migrated from poetry to uv for dependency management
  • Updated python requirement to >=3.13,<4
  • Updated pyproject.toml to use PEP 621 format with hatchling build backend
  • Updated .pre-commit-config.yaml hook from poetry_export to pyproject_export

Fixes:

  • Added missing log.debug() statements for crash log file processing

1.0.1_24.0.2 [2025-09-16]

Fixes:

  • Fixed trailing whitespace in gear label in manifest.json causing UI to break

Maintenance:

  • Upgraded CI test runner from medium to large instance size
  • Increased CI test job timeout to 3 hours

1.0.0_24.0.2 [2025-07-10]

Enhancements:

  • Added support for diffusion MRI (dMRI) processing with automatic download and organization of bval and bvec files
  • Added create_zip_on_crash config option to generate a ZIP file containing crash logs when mriqc execution fails
  • Added report_file_type config option to control output report file type (archive or qa)
  • Expanded IQMs metadata section in HTML reports by default for easier access to quality metrics
  • Enhanced crash logging with automatic dump of crash logs to job output when errors occur

Fixes:

  • Fixed true_stem utility function to correctly handle filenames ending with suffix letters (e.g., file_epi.nii.gz)
  • Fixed removal of rating widget to handle cases where widget elements are already missing from HTML reports

Maintenance:

  • Upgraded python from 3.11 to 3.13
  • Updated pytest coverage threshold from 0 to 90
  • Updated flywheel-gear-toolkit to ^0.6
  • Updated beautifulsoup4 to ^4.13
  • Updated fw-utils from ^4.3.5 to ^5.0
  • Updated pytest to ^8.3
  • Updated pytest-cov to ^6.0
  • Updated pyfakefs to ^5.7
  • Updated poetry build requirements to >=2.0
  • Added multi-stage Dockerfile with separate build, production, and dev stages
  • Added non-root user (flywheel:31337) for container execution
  • Improved CI configuration to use larger runner for gear tests
  • Enabled classification validation in CI pipeline
  • Consolidated HTML report generation to include figures in subdirectories
  • Refactored crash log handling into dedicated utility functions
  • Improved error handling throughout the codebase with better logging
  • Expanded test coverage with comprehensive unit tests for new functionality
  • Updated .gitignore to exclude Python artifacts, IDE files, and generated test outputs
  • Updated .dockerignore to include requirements-dev.txt and remove deprecated scripts
  • Removed standalone add_tag.py and remove_rate_widget.py scripts (now integrated into main package)

Documentation:

  • Added documentation for create_zip_on_crash config option in README
  • Fixed broken link in CONTRIBUTING.md

Breaking Changes:

  • Zipped HTML report formatting: figures are now in subdirectories
  • Changed default pytest coverage requirement from 0 to 90

0.9.0_24.0.2 [2024-11-18]

Enhancements:

  • Added reprozip for capturing reproducibility information
  • Added new pre-commit hooks including hadolint, jsonlint, linkcheck, and markdownlint
  • Added gear classification metadata (function, modality, organ, species, therapeutic area)

Fixes:

  • Fixed python virtual environment path in entrypoint to use /opt/flypy/bin/python
  • Improved exception handling by removing unused exception variables
  • Fixed missing manifest field that caused debug=True to fail

Maintenance:

  • Upgraded python from 3.8 to 3.11 for CI and base image to 3.12 for runtime
  • Upgraded MRIQC from 23.1.0 to 24.0.2
  • Migrated CI configuration from sse-qa-ci to qa-ci project
  • Replaced black and isort with ruff for code formatting and linting
  • Updated development dependencies: pytest from ^6.1.2 to ^8.0.0, pytest-mock from ^3.8.2 to ^3.14.0
  • Multi-stage Dockerfile build to isolate Flywheel dependencies from BIDS app dependencies
  • Updated apt-get packages including nodejs, zip, tree, and linux-libc-dev

Documentation:

  • Updated README with improved markdown formatting and line wrapping
  • Added blank lines between module docstrings and imports for consistency

0.8.0_23.1.0 [2023-12-22]

Enhancements:

  • Added initial gear implementation wrapping MRIQC v23.1.0 for MRI quality assessment
  • Added support for both BIDS-compliant and non-BIDS filename formats
  • Added automatic measurement type detection from file classification metadata
  • Added HTML report generation with embedded SVG figures
  • Added image quality metrics (IQM) extraction and storage as custom metadata
  • Added optional rating widget removal from HTML reports
  • Added configurable tagging of input files
  • Added optional derivative JSON output saving

Documentation:

  • Added README with gear usage instructions and prerequisites
  • Added CONTRIBUTING guide with development setup and workflow
  • Added FAQ file for common questions and errors
  • Added MIT license

Maintenance:

  • Added Dockerfile based on nipreps/mriqc:23.1.0 base image
  • Added .gitlab-ci.yml for CI/CD pipeline integration
  • Added .pre-commit-config.yaml with hooks for code quality checks
  • Added .dockerignore for optimized Docker builds
  • Added poetry for dependency management with pyproject.toml
  • Added dependencies: flywheel-gear-toolkit, flywheel-sdk, beautifulsoup4, fw-utils
  • Added comprehensive test suite with pytest coverage for parser, main execution, markup processing, and utility functions