v0.12.3 - Development Workflow Improvements (2026-04-06)¶
What Changed?¶
This release improves the development workflow and code quality. The Taskfile.yml has been restructured following the kazunoko pattern with better organization and new convenience tasks. Type checking improvements ensure stricter mypy compliance across the codebase. All changes maintain full backward compatibility with existing CLI functionality.
What's New¶
Restructured Development Tasks¶
What it does: The Taskfile.yml now follows a standardized pattern with clear sections for different types of tasks: development environment setup, dependency management, git operations, pre-commit hooks, code quality, testing, documentation, and versioning.
How to use it:
# View all available tasks
task
# Setup development environment
task env:setup
# Run comprehensive CI validation
task test:ci
# Update all dependencies
task deps:update
# Create release notes
task docs:release -- X.Y.Z
Installation¶
Quick Start¶
# Get the release
git checkout v0.12.3
# Setup development environment
task env:setup
# Run all tests with formatting and pre-commit validation
task test:ci
# Run CLI
uv run fnb --help
What's Different from the Last Version?¶
✅ Added¶
- Development environment management:
env:setupandenv:cleantasks for easier project setup - Git command integration:
status,log,push,push:tagstasks for streamlined git workflows - Version bump control:
bump:auto,bump:patch,bump:minor,bump:majorfor flexible versioning - Release automation:
push:releasetask with validation for safe release creation - Pre-commit hook management:
pre-commit:updateandpre-commit:uninstallfor easier maintenance - Release note templates:
docs:releasetask for structured release documentation - Project information:
infotask to display current project version
🔧 Changed¶
- Taskfile organization: Restructured with clear section headers and improved readability
- Task naming: Aligned with kazunoko pattern for consistency across projects
- Type annotations: All typer.Option helper functions now properly annotated with
Anyreturn type
🐛 Fixed¶
- Type checking errors: Resolved all mypy violations in
options.pyby adding proper return type annotations - Configuration options: Fixed
config()method to properly handle both string and None default values
Is It Safe to Upgrade?¶
Backward Compatible: Yes
- All CLI commands work exactly as before
- No breaking changes to configuration format or behavior
- New tasks are purely additive convenience features
- Type improvements are internal and don't affect runtime
Tests Passed¶
- ✅ 118 unit tests passed
- ✅ 80% code coverage maintained
- ✅ All pre-commit hooks pass (mypy, ruff, trailing whitespace, etc.)
- ✅ Code formatting compliance verified
- ✅ Documentation build validation successful
Release Details¶
- Date: 2026-04-06
- Version: v0.12.3
- Files Changed: 4 (Taskfile.yml, uv.lock, src/fnb/options.py, docs/releases/template.md)
- Commits:
- 6d3753c: refactor: restructure Taskfile.yml with kazunoko pattern
- f955b6a: chore: update uv.lock and add release template
- 69d7628: fix: resolve mypy type errors in options.py
Dependency Updates¶
This release includes 68 dependency updates to latest versions:
- ruff: 0.13.1 → 0.15.9
- pytest: 8.4.2 → 9.0.2
- typer: 0.19.2 → 0.24.1
- commitizen: 4.9.1 → 4.13.9
- mkdocstrings: 0.30.1 → 1.0.3 (major update)
- Plus 63 other package updates
All tests pass with updated dependencies.
Next Steps¶
- Continue community feedback on Taskfile improvements
- Monitor dependency updates via Renovate bot
- Plan next feature development based on user feedback