Release Notes
0.3.7
Bug Fix:
- Fixed issue where
GearContextwould raise a missing key error when running with locally generated gear configs with no destination container.
0.3.6
Maintainence:
- Yanked
0.3.5
Maintenance:
- Moved
mikedocumentation versioning tool from runtime to dev dependencies since it's only needed for documentation builds, not at runtime
0.3.4
Maintenance:
- Added comprehensive contributor documentation:
- Created
CONTRIBUTING.mdwith development setup, testing, documentation contribution guidelines, and mike versioning instructions - Created
getting_started.mdtutorial with practical GearContext examples - Enhanced
README.mdwith features overview, quick start examples, and key concepts from getting_started guide - Added API Reference links throughout
context.mdandutils.mdfor all classes, methods, and functions to enable easy navigation to detailed API documentation - Fixed GitLab repository links in
index.mdfor LICENSE and CONTRIBUTING.md files - Added
__init__.pyfiles toutils.archive,utils.licenses, andutils.wrappermodules to enable proper API documentation generation via mkdocstrings - Enabled one-click code copying in documentation by adding
content.code.copyfeature to mkdocs configuration - Reformulated
context.mddocumentation for clarity and consistency: - Rewrote introduction to align with actual
GearContextimplementation - Streamlined Structure section with clearer component descriptions
- Improved Basic Usage section with explicit purpose statements
- Added descriptive titles to all code snippets for better usability
- Expanded
utils.mddocumentation to cover previously undocumented utilities: - Added comprehensive documentation for Context Utilities (SDK retry handlers, resource monitoring decorators)
- Added Archive/ZIP Management utilities documentation
- Added FreeSurfer License Utilities documentation
- Added Nipype Integration documentation with workflow examples
- Reformulated SDK Helpers and Command Execution sections for consistency
- Grouped wrapper submodule documentation (Command Execution and Nipype Integration) under unified Command Wrapper section
- Expanded API Reference to include all modules and submodules:
- Added File, Logging, and Invocation Schema to core modules
- Added all utils submodules (SDK Helpers, Context Utilities, Archive/ZIP, FreeSurfer License, Command Wrapper, Nipype, HPC)
- Fixed broken internal documentation link in
context.md - Fixed Type argument rendering issue in
update_file_metadatadocstring - Reorganized documentation navigation structure:
- Renamed "Specification" to "Gear Specification"
- Renamed "API" to "API Reference"
- Renamed "Migration Guide" to "Migration from flywheel-gear-toolkit"
- Moved "Overall Parity" under migration guide section
- Moved "API Reference" to bottom of navigation
0.3.2
Enhancement:
- Updated manifest schema to require and validate config property types, ensuring all config properties specify a type from the allowed set: string, integer, number, boolean, or array.
fw_gear.utils.wrapper.command.exec_command: added live streaming controls (stream+stream_mode) and optionallogfiletee; improved env merging and safer shell handling.
Breaking Changes:
- Removed
stdout_msgparameter fromfw_gear.utils.wrapper.command.exec_command. This parameter previously allowed logging a custom message instead of command output and disabled streaming when provided.
Maintainence:
- Addressed potential OS command injection vulnerability when running external commands.
Bug Fix:
- Fixed issue where
GearContextwould raise aFileNotFoundErrorwhen initialized without a manifest.json file. - Allow container type to be
Analysiswhen updating metadata. - Prevented pipe deadlocks in live streaming by merging
stderrintostdoutduring streaming forfw_gear.utils.wrapper.command.exec_command
0.3.1
Enhancement:
- Updated
psutilas optional dependency, allowing users to skip installation unless needed. - Update gear manifest schema to include Flywheel gear classification.
0.3.0
Enhancement:
- Rollback on
update_file_metadatato allow updating file metadata with file name and container_type inputs - Added warning when
fw_pathandlocal_pathis not available. - Added missing methods from flywheel-gear-toolkit -
get_input_file_objectandget_input_file_object_value - Improved error handling in
get_client()— now raisesGearContextErrorif the SDK is unavailable or the API key is invalid. - Introduced
is_fw_context()to explicitly check for Flywheel Gear runtime. - Added
setup_gear_run()to streamline gear setup and config handling.
MAINTENANCE:
-
Major refactor: core modules migrated from
flywheel_gear_toolkittofw_gear. -
GearToolkitContextrenamed and replaced byGearContext; config handling is now managed via a newConfigclass. -
Refactored utility methods and decorators under
fw_gear/utilsstructure. -
Metadataclass now validates container types more strictly and adds metadata size warnings (>16MB). -
New
add_qc_result_to_analysis()method to attach QC results to analysis containers.
DEPRECATIONS:
-
Removed
download_project_bids()anddownload_session_bids(). -
Removed
tempdirsupport fromGearContext. -
Deprecated
datatypes,curator,reporters, andwalker— now moved tofw-curation.