Skip to content

Release Notes

0.0.3 [2026-01-08]

Enhancements:

  • Added support for CSV rows representing groups that can be combined into lists
  • Improved namespace handling with automatic sanitization of metadata keys
  • Added CSV validation to detect empty rows and invalid files before processing
  • Added automatic project ID injection to CSV and YAML mapper when not present
  • Enhanced file search functionality to handle file parent relationships more efficiently

Fixes:

  • Fixed handling of "bare" containers by adding them to dtype_dict
  • Fixed no YAML map runs by ensuring proper default column handling
  • Fixed leading zeros preservation in container labels by forcing string types
  • Fixed file endpoint queries by implementing two-stage file search strategy
  • Fixed metadata upload to respect empty string values vs missing values
  • Fixed namespace default behavior to use CSV filename when not specified
  • Fixed project.id handling to use project ID instead of label for faster queries

Maintenance:

  • Updated python from 3.8 to 3.12
  • Updated urllib3 from 2.0.4 to 2.6.3 (security patch)
  • Updated fw-client from fw-core-client 1.1.2 to fw-client 2.1.4
  • Updated flywheel-sdk from 16.19.2 to 21.3.0
  • Updated flywheel-gear-toolkit from 0.6.12 to 0.6.18
  • Updated numpy from 1.24.4/1.25.2 to 1.26.4
  • Migrated from Poetry to Hatchling build system
  • Migrated from black/isort to ruff for linting and formatting
  • Updated CI configuration to use qa-ci/gear.yml with python 3.12
  • Refactored Dockerfile to use multi-stage builds with flywheel/python base image
  • Added .gitignore file for better repository management
  • Updated pre-commit hooks to use SSE branch and added new linters

Documentation:

  • Enhanced README with more detailed explanations of gear functionality
  • Improved YAML map documentation with clearer explanations
  • Fixed markdown formatting and typos throughout documentation

0.0.2 [2023-08-14]

Enhancements:

  • Added CSV file ingestion capability to import tabular data into Flywheel metadata
  • Added YAML mapping configuration to specify custom column-to-metadata mappings
  • Added configurable namespace option for organizing imported metadata under container.info.<namespace>
  • Added support for identifying containers using group ID, project label, subject label, session label, acquisition label, analysis label, and file name
  • Added FLOFI (Flywheel Locator and Finder) utility for efficient container search and retrieval
  • Added search query optimization to improve performance on large datasets
  • Added support for nested metadata structures using dot notation
  • Added ability to upload metadata to multiple hierarchy levels from single spreadsheet
  • Added fw-core-client and pandas dependencies for API interactions and data processing

Maintenance:

  • Added CI/CD configuration with .gitlab-ci.yml for automated testing and quality checks
  • Added pre-commit hooks for code quality enforcement including gearcheck, poetry_export, docker_build, yamllint, black, isort, and pytest
  • Added .dockerignore file to optimize Docker build context
  • Added merge request template with checklist for release notes, changelog, tests, and test data
  • Configured python 3.8 as base runtime environment
  • Added pytest, pytest-cov, and pytest-mock as development dependencies
  • Updated flywheel-gear-toolkit to ^0.6 and flywheel-sdk to ^16.8.0

Documentation:

  • Added comprehensive README with gear overview, usage instructions, and workflow diagrams
  • Added CONTRIBUTING guide with instructions for dependency management, testing, and release process
  • Added FAQ placeholder for common questions and troubleshooting
  • Added LICENSE file with MIT license
  • Added detailed docstrings and inline documentation throughout codebase