Release Notes
0.8.2 [2026-02-17]
Maintenance:
- Updated
fw-classificationminimum version requirement from>=0.6.0to>=0.6.1
0.8.1 [2026-02-17]
Enhancements:
- Added support for block-level classification results, including capturing and reporting which classification blocks evaluated to true in QC metadata.
Fixes:
- Added backward compatibility for older
fw-classificationversions that return a boolean result instead of a tuple with block results.
Maintenance:
- Migrated from
poetrytouv/hatchlingfor dependency management and build system. - Updated
flywheel-sdkdependency from^18to>=21.1. - Updated
fw-classificationdependency from>=0.5.0to>=0.6.0. - Updated
fw-geardependency from>=0.3.0to>=0.3.5. - Removed
fw-clientdependency. - Updated
PYTHON_VERSIONto3.12.12in build environment. - Added automated release notes CI job via
claude-codeintegration. - Added
.claudeto.gitignore.
Documentation:
- Updated
README.mddocumentation link formatting.
0.7.2 [2025-06-17]
Maintenance:
- Updated
PROFILE_VERSIONfrom0.5.1to0.5.2inDockerfile
0.7.1 [2025-05-15]
Maintenance:
- Upgraded
pythonfrom3.10to3.12 - Migrated base Docker image from
flywheel/python:3.10-debiantoflywheel/python:3.12-alpine - Relaxed version constraints for
fw-gearandfw-classificationto>=0.3.0and>=0.5.0respectively - Switched from
piptouv pipfor package installation inDockerfile - Added
USER flywheelto production Docker image for improved security
0.7.0 [2025-05-07]
Enhancements:
- Updated
fw-classification-profilesfrom0.5.0to0.5.1
Maintenance:
- Migrated from
flywheel-gear-toolkittofw-gearlibrary - Updated
fw-filefrom^1.0to^3.0 - Updated
fw-classificationfrom^0.4to0.5.0 - Replaced
flywheel-sdkdependencyfw-core-clientwithfw-client 0.7.2 - Added
backoff ^2.2.1dependency - Migrated
Dockerfilefromalpine-based todebian-based multi-stage build - Updated
PYTHON_VERSIONto3.10.17 - Added
requirements-dev.txtto.dockerignore - Added
[tool.coverage.run]configuration topyproject.toml - Updated tests to align with
fw-gearcontext API
0.6.11 [2025-04-09]
Enhancements:
- Updated classification profiles to version
0.5.0
Fixes:
- Fixed handling of unset modality in
is_modality_defined()by returningTrueand logging a warning when modality is"None"
0.6.10 [2024-11-25]
Maintenance:
- Updated classification profile version from
0.4.8to0.4.9
0.6.9 [2024-11-18]
Maintenance:
- Updated
PROFILE_VERSIONfrom0.4.7to0.4.8
0.6.8 [2024-11-16]
Maintenance:
- Updated classification
PROFILE_VERSIONfrom0.4.5to0.4.7 - Added
gitinstallation toDockerfileruntime image viaapk
0.6.7 [2024-08-27]
Maintenance:
- Updated
PYTHON_VERSIONfrom3.10.5to3.10.14 - Updated
PYTHON_PIP_VERSIONfrom22.0.4to23.0.1 - Updated
PYTHON_SETUPTOOLS_VERSIONfrom58.1.0to65.5.1 - Added
EGET_BIN,UV_NO_CACHE,VIRTUAL_ENV,TZ, andSHLVLenvironment variables to the gear image - Updated
PATHandPYTHONPATHto use/venvvirtual environment
0.6.6 [2024-08-27]
Enhancements:
- Added
mkdocs-based documentation site with overview, gear details, usage, FAQ, and API reference pages - Added
output_configurationwithenforce_file_version_matchtomanifest.json
Fixes:
- Replaced
CoreClient-based project lookup inparser.pywithflywheelSDK'sget_destination_containerandget_projectmethods - Switched
yaml.loadtoyaml.safe_loadinutils.pyfor safer YAML parsing
Maintenance:
- Updated
fw-classification-profilesfrom0.4.3to0.4.5inDockerfile - Updated base Docker image from
flywheel/python:main.a30a2597toflywheel/python:3.10 - Updated
flywheel-sdkfrom^16.8.3to^18 - Updated
nibabelfrom^3.2.2to^5.2 - Updated
pytestfrom^6.1.2to^8andpytest-covfrom^2.10.1to^5 - Migrated CI pipeline from
sse-qa-citoqa-ciproject reference - Added
hadolint,jsonlint,linkcheck,yamllint,ruff_format, andruff_testspre-commit hooks - Updated
ruffconfiguration to usepyproject.tomlsettings - Converted f-string log calls to
%-style lazy formatting throughout codebase
Documentation:
- Replaced inline
README.mdcontent with a link to the hosted documentation site
0.6.5 [2024-03-25]
Enhancements:
- Added classification metadata to
manifest.jsonincluding function, modality, organ, species, and therapeutic area fields - Changed gear suite from
CurationtoUtilityinmanifest.json - Updated
api-keyinput from read-only to read-write inmanifest.json
Maintenance:
- Updated
PROFILE_VERSIONfrom0.4.1to0.4.3inDockerfile
0.6.4 [2024-03-08]
Maintenance:
- Updated
fw-classificationfrom^0.4.3to^0.4.4 - Updated
PROFILE_VERSIONfrom0.4.0to0.4.1inDockerfile - Enabled security scanning in CI pipeline (
SAST,DEPENDENCY_SCANNING,LICENSE_MANAGEMENT,SECRET_DETECTION)
0.6.2 [2023-12-03]
Enhancements:
- Added
remove_existingconfig option to clear existing file classification before running
Fixes:
- Fixed default profile path from
main.ymltomain.yaml - Fixed profile copy path in
Dockerfileto use correct source directory
Maintenance:
- Updated
pythonrequirement from^3.9to^3.10 - Updated
fw-classificationfrom^0.3.4to^0.4.3 - Updated
PROFILE_VERSIONfrom0.3.1to0.4.0 - Replaced
black,isort, andyamllintpre-commit hooks withruff - Removed
tests/Dockerfile
0.6.1 [2023-09-13]
Maintenance:
- Updated classification profile version to
0.3.1 - Updated repository source URL to reflect new GitLab project path
- Updated CI scripts to use
qa-cirunner utilities
0.6.0 [2023-08-04]
Enhancements:
- Added
validateconfig option to enable classification schema validation against the site modality schema. - Added
validate_modality_schemautility to verify that the file modality is defined in the site schema and matches the predefined classification profile. - Updated
fw-classification-profilesfrom0.2.2to0.3.0.
Maintenance:
- Updated
Dockerfileto install dependencies viarequirements.txtandpipinstead ofpoetry. - Updated CI pipeline reference from
qa-ci/gears.ymltosse-qa-ci/default.yml. - Updated
.dockerignoreto includerequirements.txt. - Updated
.envconfiguration intovariablesblock in.gitlab-ci.yml.
Documentation:
- Updated
README.mdlinks to point to the newflywheel-io/scientific-solutionsGitLab namespace forfw-classificationandfw-classification-profiles.
0.5.1 [2022-07-15]
Fixes:
- Fixed custom
Profileinitialization to includeinclude_search_dirspointing to default profiles, enabling includes to resolve correctly when using a custom profile input
Documentation:
- Expanded
README.mdwith prerequisites section covering metadata and profile requirements before running the gear - Rewrote custom classifications section with clearer guidance on creating a custom profile using
fw-classificationincludesand adding classifications via project information - Updated SDK example to use the correct
classificationskey structure (removed nestedcontextkey) - Added example job log output showing custom classification detection in action
- Replaced
custom_classification.pngwith updatedcustom-classifications-ui.pngscreenshot
0.5.0 [2022-06-28]
Enhancements:
- Added
.dockerignoreto optimize Docker build context - Expanded gear description in
manifest.jsonto clarify usage and dependencies - Added
show-job: trueto gear manifest configuration
Fixes:
- Updated QC result reporting to use
context.metadata.add_qc_result()instead of deprecatedadd_qc_info()utility - Updated file tagging to use
context.metadata.add_file_tags()instead of manual tag manipulation
Maintenance:
- Replaced
gitsubmodule for classification profiles with a Docker multi-stage build that clones profiles at build time - Removed
bin/update_profiles.shscript; profile version updates now handled viasedinDockerfile - Updated
flywheel-gear-toolkitfrom^0.5.0to^0.6.0 - Updated
flywheel-sdkfrom^16.0.0to^16.8.3 - Updated
fw-classificationfrom^0.3to^0.3.4 - Added
nibabel^3.2.2dependency - Updated dev dependencies: upgraded
pylintto^2.14.3,isortto^5.10.1, addedpre-commit^2.19.0 - Removed unused dev dependencies:
coverage,black,pycodestyle,pydocstyle,jupyter,jupyter-client,fw-http-testserver - Switched base Docker image to
flywheel/python:main.a30a2597 - Updated gear entrypoint from
poetry run python run.pytopython run.py - Updated classification profiles path from
classification-profiles/profilestoclassification_profiles - Updated tests to reflect new QC and metadata API usage
Documentation:
- Updated
README.mdto referencefw-classificationtoolkit instead ofclassification-toolkit
0.4.6 [2022-03-04]
Maintenance:
- Updated
classification-profilessubmodule to0898bacb
0.4.5 [2022-03-03]
Enhancements:
- Added
flywheel-sdk>=16.0.0as a new dependency
Maintenance:
- Updated
fw-classificationfrom^0.2to^0.3 - Updated
classification-profilessubmodule to38fbb36d
Documentation:
- Updated documentation links to reflect new
fw-classificationURL structure
0.4.4 [2022-02-24]
Maintenance:
- Updated
mypyfrom^0.790to^0.931 - Added
SAFETY_EXTRAignore flag for known vulnerability44715 - Updated
classification-profilessubmodule
Documentation:
- Fixed
README.mdformatting for note block syntax
0.4.3 [2022-01-20]
Maintenance:
- Updated
classification-profilessubmodule to170b70e8
0.4.2 [2021-12-24]
Maintenance:
- Updated
classification-profilessubmodule - Removed automatic
git commitstep fromupdate_profiles.sh
0.4.1 [2021-12-22]
Enhancements:
- Added
update:profilesCI job to automatically update the classification profiles submodule when upstream changes are published, creating an MR with the updated profiles - Added
bin/update_profiles.shscript to handle submodule checkout to a specified upstream tag - Added
get_parent()function inparser.pyto separate parent container retrieval from project lookup
Maintenance:
- Updated classification profiles submodule URL to point to the new
fw-classification-profilesrepository location
Documentation:
- Updated
README.mdlinks to point to the newfw-classificationdocumentation site - Renamed "Context Classifications" section to "Project Classifications" in
README.md - Updated
CONTRIBUTING.mdto document the automated profile update process, replacing manual submodule update instructions
0.4.0 [2021-11-02]
Enhancements:
- Changed custom classification lookup to read from project
info.classificationsinstead of a gear context input, enabling broader classification support across files in the same project
Fixes:
- Removed unused
classificationscontext input frommanifest.json
Maintenance:
- Upgraded
pythonfrom^3.8to^3.9 - Added
fw-core-clientintegration via newget_parent_project()helper to resolve parent project for classification lookup - Updated
fw-classificationversion constraint from^0.2.2to^0.2 - Added
fw-http-testserveras a dev dependency for API mocking in tests - Refactored test suite to use
fw-http-testserverfixtures for integration-style parser tests
0.2.0 [2021-10-12]
Enhancements:
- Added support for classification profiles as a
gitsubmodule, sourced from theclassification-profilesrepository. - Added an optional
profileinput to allow users to supply a custom classification profile at runtime. - Updated default classification profile resolution to use the bundled
classification-profilessubmodule instead offw-classification's internalget_profile. - Fixed duplicate tag application: the
tagconfig option is now only appended if the tag is not already present on the file.
Fixes:
- Prevented duplicate tags from being added when the configured
tagvalue already exists on the file.
Maintenance:
- Upgraded base Docker image from
python:3.8-slimtopython:3.9-slim. - Updated
flywheel-gear-toolkitfrom^0.4.0to^0.5.0with thedicomextra. - Updated
fw-classificationfrom^0.1to^0.2.2.
Documentation:
- Added "Which profile will be used?" section to
README.mdexplaining profile priority (custom input vs. defaultmain.yml). - Updated
CONTRIBUTING.mdwith instructions for initializing and updating theclassification-profilessubmodule. - Replaced manual release steps in
CONTRIBUTING.mdwith a reference to theqa-cirelease process.
0.1.0 [2021-09-21]
Enhancements:
- Added file classification gear wrapping the
fw-classification(classification-toolkit) library. - Added support for
dicomandniftifile type classification viaFWAdapterandNiftiFWAdapter. - Added optional custom classification
profileinput to override the defaultmain.ymlclassification profile. - Added support for project-level context
classificationsinput to inject custom classification rules at the highest priority. - Added
debugandtagconfiguration options.
Documentation:
- Added
README.mdwith gear overview, supported file types, usage instructions, and SDK/UI examples for context classifications. - Added
CONTRIBUTING.mdwith setup, dependency management, linting, testing, and release workflow instructions.
Maintenance:
- Initialized project with
poetryfor dependency management usingpython^3.8. - Added
Dockerfilebased onpython:3.8-slimwithpoetryfor packaging and execution. - Added CI pipeline via
.gitlab-ci.ymland pre-commit hooks via.pre-commit-config.yaml. - Added test suite covering
classify()andparse_config()withpytestandpytest-mock.