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.mdfile (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-intelto build Intel wheels (211b0fa) - (ci) Lock permissions on the build.yml workflow (
aabe4e5) - (ci) Lock
build.ymlGitHub 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-releaseto 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-tagsworkflow 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 theINFOlevel (1311f8d) - (tests) Fix
ctx.whichtests 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
Contextclass - (registry) Implemented the registry and it's tests
- (logging) Add
toolr.utils.logsto improve logging support - (cli) Provide the package CLI entry point
- (help) We now use
RichHelpFormatterto 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
nargsand*variablein 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_loggingfunction.
🐛 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)
destis 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 runprefix from examples - (command) Command names from functions auto-naming
- (SignatureError)
SignatureErrorexceptions 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=-argparseas a dependency - (command) Rename
command.run_commandtocommand.run - (context) Make the
contextmodule "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_TARGETto11.0 - (cleanup) Remove
changelog.d/, it won't be needed anymore - (typing) Make the typing gods happier
- (msgspec) Replaced all usages of
dataclasswithmsgspec.Struct - (pre-commit) Upgrade some pre-commit hooks
- (pre-commit) Add
codespellpre-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-subteststo dev dependencies - (tests) Add
argvtests - (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.pyinto several test modules - (docs) Add
ruffas 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
ConsoleVerbositytotoolr.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
dependabotconfiguration - (docs) Add
.readthedocs.yamlconfig 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
sdistto 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-commitagainst 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