Skip to content

Release Notes

1.3.2 [2025-12-17]

Maintenance:

  • Updated tomcat-catalina from 9.0.106 to 9.0.109

1.3.1 [2025-10-24]

Enhancements:

  • Added multi-stage build in Dockerfile to reduce final image size
  • Implemented non-root user (flywheel) for improved container security

Fixes:

  • Patched vulnerable Java libraries in MATLAB MCR installation including commons-beanutils, commons-collections, commons-io, dom4j, log4j-core, log4j-api, commons-compress, and multiple tomcat components
  • Replaced deprecated pydicom.read_file() with pydicom.dcmread() in utils/physio.py:559
  • Updated DICOM extraction to use gear_context.work_dir instead of hardcoded /tmp directory in run.py:154

Maintenance:

  • Upgraded base image from flywheel/python:3.9-debian to debian:bookworm-slim
  • Updated minimum Python version from 3.13 to 3.11 in pyproject.toml:7
  • Added explicit Python dependencies: flywheel-sdk==10.0.1, matplotlib>=3.10.7, numpy>=2.3.4, pydicom>=3.0.1, scipy>=1.16.2
  • Changed pip3 install to pip install --break-system-packages in Dockerfile:85
  • Re-enabled pyproject_export, linkcheck, and markdownlint hooks in .pre-commit-config.yaml
  • Added show-job: true, uid: 31337, and gid: 31337 configuration to manifest.json
  • Updated environment variables: PYTHON_VERSION to 3.9.24, COMMIT_SHA to be94c083

Documentation:

  • Reformatted README.md with improved line wrapping and readability
  • Updated BIDS specification URL from legacy format to current specification URL in README.md and utils/physio.py:535
  • Fixed relative image paths in README.md from GitHub URLs to local paths
  • Corrected shebang in run.py:1 from #!/usr/bin/env python3 to #!/usr/bin python3

1.3.0 [2025-03-31]

Enhancements:

  • Added CI/CD pipeline configuration with .gitlab-ci.yml for automated testing and Docker builds
  • Added pre-commit hooks configuration for code quality checks including ruff, gearcheck, hadolint, and yamllint
  • Added comprehensive QA visualization with plots showing physiological signals, trigger markers, and scan start/end indicators
  • Added support for multiple data processing strategies for handling missing samples: gap_fill, uniform, upsample, and none
  • Added configurable interpolation methods including linear, cubic, nearest, fill, and nan options
  • Added automatic file metadata classification for BIDS export with custom classifications for Physio, ECG, Trigger, and Info file types
  • Added BIDS-compliant output generation with .tsv.gz and .json files for physiological recordings

Documentation:

  • Added comprehensive README.md with gear functionality, configuration options, and QA validation examples
  • Added example QA images demonstrating good and problematic physiological data (signal clipping, dropout)

Maintenance:

  • Added .dockerignore to optimize Docker build context
  • Added .gitignore for Python cache files and temporary directories
  • Added Dockerfile with python 3.9 and MATLAB Compiler Runtime R2015b
  • Added pyproject.toml with project metadata and poetry-core build backend
  • Added manifest.json defining gear inputs, configuration options, and Flywheel metadata
  • Added CMRR physio extraction binary extractCMRRPhysio_b81371d
  • Added utility modules: Common.py, futils.py, physio.py, and physiotools.py
  • Added main gear execution script run.py with full processing pipeline