Skip to content

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:setup and env:clean tasks for easier project setup
  • Git command integration: status, log, push, push:tags tasks for streamlined git workflows
  • Version bump control: bump:auto, bump:patch, bump:minor, bump:major for flexible versioning
  • Release automation: push:release task with validation for safe release creation
  • Pre-commit hook management: pre-commit:update and pre-commit:uninstall for easier maintenance
  • Release note templates: docs:release task for structured release documentation
  • Project information: info task 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 Any return type

🐛 Fixed

  • Type checking errors: Resolved all mypy violations in options.py by 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