Release Notes
1.3.4 [2026-09-03]
Fixes:
- Fixed incorrect
urlfield inmanifest.jsonto point to the correct GitLab repository path
1.3.3 [2026-08-26]
Enhancements:
- Added
output_configurationwithenforce_file_version_matchto the manifest - Added error handling in
set_environment()for malformed or non-dict JSON environment files, logging a clear error and exiting cleanly instead of crashing
Maintenance:
- Migrated base image from
debian:bookworm-slimtoflywheel/python:3.12-wolfi-build(Chainguard Wolfi) - Replaced
aptsystem package installation withapkequivalents for the Wolfi runtime; vendored legacylibncurses.so.5andlibtinfo.so.5from a Debian stage to satisfy MCR R2015b dependencies - Set
GLIBC_TUNABLES=glibc.rtld.execstack=2andMCR_CACHE_ROOT=/tmp/mcr_cacheto ensure the MATLAB Compiler Runtime works correctly under Wolfi's newerglibc - Switched Python dependency installation from
piptouv pip installinside the image build - Fixed
ENTRYPOINTfrom a single shell-string form to the correct exec-array form["python3", "/flywheel/v0/run.py"] - Standardized
manifest.jsonfield ordering and updateddescription,label, andurl - Added
[tool.setuptools] py-modules = []topyproject.tomlto suppress flat-layout auto-discovery errors in CI - Updated
.gitignoreto cover__pycache__/,*.py[cod],.pytest_cache/, and.idea/
1.3.2 [2025-12-17]
Maintenance:
- Updated
tomcat-catalinafrom9.0.106to9.0.109
1.3.1 [2025-10-24]
Enhancements:
- Added multi-stage build in
Dockerfileto 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 multipletomcatcomponents - Replaced deprecated
pydicom.read_file()withpydicom.dcmread()inutils/physio.py:559 - Updated DICOM extraction to use
gear_context.work_dirinstead of hardcoded/tmpdirectory inrun.py:154
Maintenance:
- Upgraded base image from
flywheel/python:3.9-debiantodebian:bookworm-slim - Updated minimum Python version from
3.13to3.11inpyproject.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 installtopip install --break-system-packagesinDockerfile:85 - Re-enabled
pyproject_export,linkcheck, andmarkdownlinthooks in.pre-commit-config.yaml - Added
show-job: true,uid: 31337, andgid: 31337configuration tomanifest.json - Updated environment variables:
PYTHON_VERSIONto3.9.24,COMMIT_SHAtobe94c083
Documentation:
- Reformatted
README.mdwith improved line wrapping and readability - Updated BIDS specification URL from legacy format to current specification URL in
README.mdandutils/physio.py:535 - Fixed relative image paths in
README.mdfrom GitHub URLs to local paths - Corrected shebang in
run.py:1from#!/usr/bin/env python3to#!/usr/bin python3
1.3.0 [2025-03-31]
Enhancements:
- Added CI/CD pipeline configuration with
.gitlab-ci.ymlfor automated testing and Docker builds - Added pre-commit hooks configuration for code quality checks including
ruff,gearcheck,hadolint, andyamllint - 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, andnone - Added configurable interpolation methods including
linear,cubic,nearest,fill, andnanoptions - 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.gzand.jsonfiles for physiological recordings
Documentation:
- Added comprehensive
README.mdwith gear functionality, configuration options, and QA validation examples - Added example QA images demonstrating good and problematic physiological data (signal clipping, dropout)
Maintenance:
- Added
.dockerignoreto optimize Docker build context - Added
.gitignorefor Python cache files and temporary directories - Added
Dockerfilewithpython3.9and MATLAB Compiler Runtime R2015b - Added
pyproject.tomlwith project metadata andpoetry-corebuild backend - Added
manifest.jsondefining gear inputs, configuration options, and Flywheel metadata - Added CMRR physio extraction binary
extractCMRRPhysio_b81371d - Added utility modules:
Common.py,futils.py,physio.py, andphysiotools.py - Added main gear execution script
run.pywith full processing pipeline