Skip to content

Changelog

All notable changes to this project will be documented in this file.

This project uses git-cliff to automatically generate changelog entries from Conventional Commits, and this project adheres to Semantic Versioning.

0.11.0.dev76 - 2025-11-30

🚀 Features

  • (logs) Include extra keywords in logs output (695dc58)
  • (tests) Fuzzy testing (f34c9cd)
  • (security) Add SECURITY.md file (131b75a)

🐛 Bug Fixes

  • (pypi) We can't have local version parts in PyPi (fa3c515)

⚙️ Miscellaneous Tasks

  • (release) Update ToolR action versions in workflows (0d11014)
  • (ci) Switch to prek (64c5997)
  • (pre-commit) Update pre-commit hook versions (6438077)
  • (ci) Switch to macos-15-intel to build Intel wheels (211b0fa)
  • (ci) Lock permissions on the build.yml workflow (aabe4e5)
  • (ci) Lock build.yml GitHub Actions to SHA hashes (08bdda3)
  • (ci) Only run attestations on the main repo (0d2b361)
  • (ci) Improve cibuildwheel`` build performance by adding cache ([60a438f`](https://github.com/s0undt3ch/ToolR/commit/60a438f5c00b406f170ff7d07e4ac9968984c967))
  • (ci) Fix the chicken & egg issue with releases. (77cc4f6)
  • (ci) Remove no longer required process (821592f)
  • (ci) Update but still lock to the SHA (57e3719)
  • (ci) When updating our own usage or toolr in GH Actions, lock it (b666088)
  • (ci) Restrict GH Actions jobs permissions (14bfc6d)
  • (pre-commit) Add pre-commit hook to lock GH Actions steps (5d69b7a)
  • (ci) Switch prepare-release to a reusable workflow (9e6c657)
  • (ci) Update actions versions (2faf97c)
  • (ci) Fix auto version bump (2a85e6c)
  • (docs) Add CONTRIBUTING document (7691338)

New Contributors

  • @step-security-bot made their first contribution

0.11.0 - 2025-09-24

🚀 Features

  • (docstrings) We now use a rust extension to parse the docstrings (a2744f0)
  • (commands help) The command's help message is now formatted with Markdown (d786915)

⚙️ Miscellaneous Tasks

  • (sync-rolling-tags) Fix sync-rolling-tags workflow trigger (889e36f)
  • (ci) Sync'ing rolling tags is now done on demand (773745b)
  • (ci) Fix sync-rolling-tags command (59c2955)
  • (ci) More fixes to the sync-rolling-tags process (45ac806)
  • (release) Update ToolR action versions in workflows (6cc4bde)
  • (ci) Final sync-rolling-tags fix (c48fcbe)
  • (ci) Refresh some caches (a91de3d)

0.10.1 - 2025-09-19

🐛 Bug Fixes

  • (parent) Fix command nesting (c223dfc)
  • (command) We now log the .run() cmdline at the INFO level (1311f8d)
  • (tests) Fix ctx.which tests to make them less brittle. (8a55cf3)

⚙️ Miscellaneous Tasks

  • (release) Don't update ToolR action usage in workflows (fbe4992)
  • (release) Add workflow that updates ToolR versions in workflows (9782974)

0.10.0 - 2025-09-17

⚙️ Miscellaneous Tasks

  • (ci) Improve CI build matrix reporting (777595c)
  • (ci) Prevent unnecessary branch builds on PRs (4d7e911)
  • (release) Update all self ToolR actions usage on release (38e2a8b)
  • (ci) Consistent workflow toolr output width (4475406)

0.9.0 - 2025-09-13

🚀 Features

  • (cli) Provide a Context class
  • (registry) Implemented the registry and it's tests
  • (logging) Add toolr.utils.logs to improve logging support
  • (cli) Provide the package CLI entry point
  • (help) We now use RichHelpFormatter to render the help
  • (docstrings) Parse docstrings to construct help
  • (docs) Capture each parameter description from docstrings
  • (coverage) Upload code coverage to codecov
  • (ci) Upload test results to codecov
  • (signatures) Add signature parsing
  • (signature) Handle append action, including weird boolean append.
  • (nargs) Support nargs and *variable in function signatures
  • (docs) Documentation!
  • (context) Implemented prompt support in Context.
  • (github-actions) Allow setting ToolR from a github-action
  • (signature) Add support for mutually exclusive groups
  • (logging) Add setup_logging function.

🐛 Bug Fixes

  • (imports) Handle import errors when searching for tools
  • (descriptions) Differentiate descriptions
  • (docstring) Fix dosctring class reference
  • (decorator) Fix decorator usage.
  • (help) Parse each decorated command docstring to provide help
  • (log) Only log the time on specific occasions.
  • (tests) Fix tests according to latest code changes
  • (tests) Fix rust tests on windows
  • (scope) Let the codecov CLI tool find the coverage files
  • (coverage) Don't track coverage in if TYPE_CHECKING: code blocks
  • (signature) dest is always set to the name of the positional parameter
  • (tests) Small refactor to improve testing
  • (signature) On positional arguments, the name will always be the first alias
  • (enums) Handle enums by name instead of by value
  • (cli) Fix early verbose/debug output CLI parsing logic
  • (tests) Skip problematic windows test
  • (docs) Include missing docs examples
  • (docs) Remove uv run prefix from examples
  • (command) Command names from functions auto-naming
  • (SignatureError) SignatureError exceptions now point to command
  • (pypi) Fix PyPi packaging uploads

🚜 Refactor

  • (toolr) Support 3rd-party commands
  • (consoles) Name context consoles explicitly
  • (3rd-party) Fix commands and command groups augment/overrides
  • (consoles) Refactor consoles setup

⚙️ Miscellaneous Tasks

  • (dependencies) Add rich=-argparse as a dependency
  • (command) Rename command.run_command to command.run
  • (context) Make the context module "private".
  • (ci) Define allowed concurrency
  • (requiremenst) We no longer need to maintain separate requirements files
  • (tools) Clean up the pre-existing tools directory
  • (pre-commit) Update pre-commit hook versions
  • (lint) Fix lint issues found with latest pre-commit hooks versions
  • (cibuildweel) Bump MACOSX_DEPLOYMENT_TARGET to 11.0
  • (cleanup) Remove changelog.d/, it won't be needed anymore
  • (typing) Make the typing gods happier
  • (msgspec) Replaced all usages of dataclass with msgspec.Struct
  • (pre-commit) Upgrade some pre-commit hooks
  • (pre-commit) Add codespell pre-commit hook
  • (parser) Use a private method to set the parser instead.
  • (discovery) Actually start discovering tools when running toolr
  • (typing) Fix typing
  • (samples) Fix sample cases to respect the required signature
  • (rust) Address clippy errors
  • (ci) Define the pre-commit cache to be inside the workspace
  • (ci) Parallelize package builds
  • (ci) Use OIDC to authenticate codecov
  • (tests) Add default pytest flags to config
  • (dependencies) Add pytest-subtests to dev dependencies
  • (tests) Add argv tests
  • (logs) Logging utils module testing
  • (tests) Add test coverage for the __main__ module
  • (tests) Improve test coverage of the context object
  • (README.md) Fix logo file path
  • (mypy) Have mypy ignore tests/support/3rd-party-pkg/.*
  • (tests) Add test coverage to setup_consoles
  • (pyproject.toml) Define the 3rd-party test package as editable
  • (ci) Improved parallelization
  • (pre-commit) Update hook versions
  • (tests) Split tests/test_context.py into several test modules
  • (docs) Add ruff as a docs dependency
  • (ci) Add and use .github/actions/setup-virtualenv
  • (ci) Push built packages to test.pypi.org on the default branch
  • (docs) Fix logo URL in readme
  • (gitignore) Ignore *.code-workspace
  • (pre-commit) Upgrade pre-commit hook versions
  • (ConsoleVerbosity) Move ConsoleVerbosity to toolr.utils._console
  • (action) Simplify action
  • (release) Update the release process
  • (release) Separate release workflow
  • (security) Include build provenance attestations
  • (debug) Set verbose to true when running in debug mode
  • (oackages) Stop building for s390x.
  • (dependabot) Add dependabot configuration
  • (docs) Add .readthedocs.yaml config file
  • (release) Fix attestations on release workflow
  • (release) Fix generate build matrix step
  • (changelog) Add cliff config file
  • (release) More release workflow fixes
  • (release) Use the global permissions
  • (release) Use GH App to push the tags
  • (release) The action now just configures git with higher privileges
  • (release) Just repeat, it's simpler in the end
  • (release) Use sdist to build wheels
  • (release) Prepare for 0.1.1 release
  • (release) Publish GH release fixes
  • (release) Prepare for 0.1.2 release
  • (release) Change release notes filename name
  • (docs) Update the docs URL to the right one
  • (release) Remove the PyPi url
  • (release) Revert debug release changes
  • (release) Fix package name to be compliant with PyPi
  • (changelog) Fix white-space issues around changelog generation
  • (prepare-release) Run pre-commit against the prepare release changes
  • (ci) Pre-commit needs to be setup and run in a few places

New Contributors

  • @s0undt3ch-gh-actions-automations[bot] made their first contribution
  • @dependabot[bot] made their first contribution