Skip to content

Release Notes

0.4.4_1.8.7 [2026-08-21]

Enhancements:

  • Added HPC compatibility via check_and_link_dirs to ensure BIDS app directories are writable and FreeSurfer environment is properly configured before execution
  • Added autoupdate.py utility script to automate BIDS algorithm version updates in Dockerfile and manifest.json
  • Added platform_test.py to support automated platform testing after gear updates
  • Added output_configuration with enforce_file_version_match to manifest.json

Fixes:

  • Fixed FreeSurfer license installation to explicitly target the writable directory when gear_context.writable_dir is available, setting FS_LICENSE accordingly
  • Fixed validate_setup signature to remove redundant gear_context parameter
  • Fixed bare except clause in __init__.py to catch Exception explicitly

Maintenance:

  • Migrated from poetry to uv for dependency management and build system
  • Upgraded base Docker image from python:3.10-slim to flywheel/python:3.12-debian
  • Refactored Dockerfile to use multi-stage build with separate build, dev, and prod stages; added flywheel user for non-root execution in production
  • Removed manual Python 3.10 compilation from bids_runner stage by leveraging the new multi-stage build approach
  • Updated manifest.json suite from BIDS Apps to Image Processing and removed components and keywords classification fields
  • Updated archived_runs input description in manifest.json to reference bids-cpac instead of qsiprep
  • Updated manifest.json gear description to include FSL licensing note inline
  • Updated CI pipeline to use flywheel-io/tools/etc/qa-ci with sse ref and added large runner override with 6h timeout for test:gear
  • Updated pre-commit hooks to add pyproject_export, hadolint, jsonlint, linkcheck, markdownlint, ruff_tests; removed poetry_export, docker_build
  • Updated pyproject.toml to PEP 621 format with hatchling build backend and updated dev dependency versions for pytest and pytest-cov
  • Added .gitignore with standard Python, macOS, and editor exclusions
  • Updated .dockerignore to include requirements-dev.txt
  • Simplified mock side_effect assignments in test fixtures and test files

Documentation:

  • Updated CONTRIBUTING.md to replace poetry instructions with uv equivalents and added documentation for new pre-commit hooks
  • Updated README.md to move algorithm update instructions to a dedicated section, fix anchor links, and apply markdown style improvements
  • Updated docs/changelog.md to add entry for 0.4.4_1.8.7 release

0.4.3_1.8.7 [2024-07-23]

Enhancements:

  • Updated C-PAC base image from fcpindi/c-pac:release-v1.8.6 to fcpindi/c-pac:release-v1.8.7

Documentation:

  • Added comprehensive instructions for updating BIDS algorithm version, including Docker image updates, manifest changes, and merge request process

Maintenance:

  • Updated gear-builder image reference from flywheel/bids-cpac:0.4.3_1.8.6 to flywheel/bids-cpac:0.4.3_1.8.7
  • Removed /usr/local/miniconda/bin from PATH environment variable
  • Added PWD environment variable set to /flywheel/v0

0.4.3_1.8.6 [2024-05-29]

Enhancements:

  • Added metadata tags for function (Image Processing - Functional, Image Processing - Structural), organ (Brain), species (Human), and therapeutic area (Neurology, Psychiatry/Psychology)

Fixes:

  • Fixed .bidsignore file handling to use shutil.copy directly from input location instead of deprecated copy_bidsignore_file function

Maintenance:

  • Pinned flywheel-bids dependency to tag 1.2.14 instead of master branch
  • Removed pyzmq<26.0.0 version constraint
  • Removed yamllint hook from pre-commit configuration
  • Updated ruff configuration to use new lint.* namespace format for settings (lint.ignore, lint.fixable, lint.unfixable, lint.dummy-variable-rgx, lint.ignore-init-module-imports)

0.4.2_1.8.6 [2024-04-26]

Enhancements:

  • Added gear-FREESURFER_LICENSE configuration option for FreeSurfer license text input
  • Added show-job: true flag to gear custom configuration

Fixes:

  • Fixed command argument parsing to properly handle flags with equals signs (e.g., --equals=sign x now correctly splits into --equals sign x)
  • Pinned pyzmq<26.0.0 to avoid broken versions 26.0.1 and 26.0.2

Maintenance:

  • Updated flywheel-bids dependency to use develop = false instead of develop = true
  • Added ruff_format pre-commit hook for code formatting
  • Removed markdownlint pre-commit hook
  • Removed custom publish:docker job configuration (now uses default)
  • Removed security scanning variable configurations from CI
  • Applied code formatting improvements (blank lines after docstrings)

0.4.1_1.8.6 [2024-03-06]

Enhancements:

  • Initial release of BIDS C-PAC gear for Flywheel platform
  • Added support for C-PAC version 1.8.6 for preprocessing and analysis of functional connectomes data
  • Implemented participant-level analyses with configurable pipeline options
  • Added support for custom pipeline configuration files via YAML input
  • Added support for archived runs to resume analysis from previous outputs
  • Implemented tracking opt-out configuration to disable participant count reporting

Maintenance:

  • Added multi-stage Dockerfile to isolate Flywheel dependencies from BIDS App image
  • Configured python 3.10 runtime environment for Flywheel dependencies
  • Added .dockerignore to optimize Docker build context
  • Configured GitLab CI pipeline with pre-commit hooks for automated testing and validation
  • Added poetry for dependency management
  • Integrated flywheel-gear-toolkit and flywheel-bids packages for BIDS data handling
  • Added ruff for Python linting and code formatting
  • Configured security scans including SAST, dependency scanning, and secret detection
  • Set pytest coverage requirement to 80%

Documentation:

  • Added comprehensive README.md with usage instructions, configuration options, and workflow diagrams
  • Added CONTRIBUTING.md with development setup and guidelines
  • Added FAQ.md for common questions and troubleshooting
  • Added LICENSE file (MIT license)
  • Added changelog in docs/changelog.md