Releases: fastapi/typer
0.13.0
Features
- ✨ Handle
KeyboardInterruptseparately from other exceptions. PR #1039 by @patrick91. - ✨ Update
launchto not print anything when opening urls. PR #1035 by @patrick91. - ✨ Show help items in order of definition. PR #944 by @svlandeg.
Fixes
- 🐛 Fix equality check for custom classes. PR #979 by @AryazE.
- 🐛 Allow colon in zsh autocomplete values and descriptions. PR #988 by @snapbug.
Refactors
- 🗑️ Deprecate support for
is_flagandflag_valueparameters. PR #987 by @svlandeg. - 🔥 Remove unused functionality from
_typing.pyfile. PR #805 by @ivantodorovich. - ✏️ Fix typo in function name
_make_rich_text. PR #959 by @svlandeg.
Internal
- ✅ Only run completion installation tests when the env var
_TYPER_RUN_INSTALL_COMPLETION_TESTSis set. PR #995 by @svlandeg. - 📝 Update the docstring of the
_make_rich_textmethod. PR #972 by @svlandeg. - ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1040 by @pre-commit-ci[bot].
- ⬆ Bump mkdocs-material from 9.5.42 to 9.5.44. PR #1042 by @dependabot[bot].
- ⬆ Bump ruff from 0.7.1 to 0.7.2. PR #1038 by @dependabot[bot].
- ⬆ Bump mkdocs-macros-plugin from 1.3.6 to 1.3.7. PR #1031 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1032 by @pre-commit-ci[bot].
- ⬆ Bump ruff from 0.7.0 to 0.7.1. PR #1029 by @dependabot[bot].
- ⬆ Bump pillow from 10.4.0 to 11.0.0. PR #1023 by @dependabot[bot].
- ⬆ Bump mkdocs-material from 9.5.35 to 9.5.42. PR #1027 by @dependabot[bot].
- ⬆ Bump ruff from 0.6.5 to 0.7.0. PR #1026 by @dependabot[bot].
- ⬆ Bump mkdocs-macros-plugin from 1.2.0 to 1.3.6. PR #1025 by @dependabot[bot].
- ⬆ Update pre-commit requirement from <4.0.0,>=2.17.0 to >=2.17.0,<5.0.0. PR #1012 by @dependabot[bot].
- ⬆ Bump pypa/gh-action-pypi-publish from 1.10.1 to 1.10.3. PR #1009 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1001 by @pre-commit-ci[bot].
- 👷 Update Deploy docs CI to use uv. PR #1021 by @tiangolo.
- 👷 Fix smokeshow, checkout files on CI. PR #1020 by @tiangolo.
- 👷 Use uv in CI. PR #1019 by @tiangolo.
- 👷 Update
labeler.yml. PR #1014 by @tiangolo. - 👷 Update worfkow deploy-docs-notify URL. PR #1011 by @tiangolo.
- 👷 Upgrade Cloudflare GitHub Action. PR #1010 by @tiangolo.
- ⬆ Bump mkdocs-macros-plugin from 1.0.5 to 1.2.0. PR #992 by @dependabot[bot].
- ⬆ Bump ruff from 0.6.4 to 0.6.5. PR #991 by @dependabot[bot].
- ⬆ Bump mkdocs-material from 9.5.34 to 9.5.35. PR #996 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #993 by @pre-commit-ci[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #982 by @pre-commit-ci[bot].
- ⬆ Bump tiangolo/issue-manager from 0.5.0 to 0.5.1. PR #980 by @dependabot[bot].
- 👷 Update
issue-manager.yml. PR #978 by @tiangolo. - ⬆ Bump ruff from 0.6.3 to 0.6.4. PR #975 by @dependabot[bot].
- ⬆ Bump mkdocs-material from 9.5.33 to 9.5.34. PR #963 by @dependabot[bot].
- ⬆ Bump pypa/gh-action-pypi-publish from 1.9.0 to 1.10.1. PR #973 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #966 by @pre-commit-ci[bot].
- 💚 Set
include-hidden-filestoTruewhen using theupload-artifactGH action. PR #967 by @svlandeg. - ⬆ Bump ruff from 0.6.1 to 0.6.3. PR #961 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #689 by @pre-commit-ci[bot].
- ⬆ Bump ruff from 0.2.0 to 0.6.1. PR #938 by @dependabot[bot].
- 👷 Update
latest-changesGitHub Action. PR #955 by @tiangolo.
0.12.5
Features
- 💄 Unify the width of the Rich console for help and errors. PR #788 by @racinmat.
- 🚸 Improve assertion error message if a group is not a valid subclass. PR #425 by @chrisburr.
Fixes
- 🐛 Ensure
rich_markup_mode=Nonedisables Rich formatting. PR #859 by @svlandeg. - 🐛 Fix sourcing of completion path for Git Bash. PR #801 by @svlandeg.
- 🐛 Fix PowerShell completion with incomplete word. PR #360 by @patricksurry.
Refactors
- 🔥 Remove Python 3.6 specific code paths. PR #850 by @svlandeg.
- 🔥 Clean up redundant code. PR #858 by @svlandeg.
Docs
- ♻️ Use F-strings in Click examples in docs. PR #891 by @svlandeg.
- 📝Add missing
main.pyin tutorial on CLI option names. PR #868 by @fsramalho. - 📝 Fix broken link. PR #835 by @OhioDschungel6.
- 📝 Update package docs with the latest versions of Typer and Poetry. PR #781 by @kinuax.
- 📝 Update the Progress Bar tutorial with correct output. PR #199 by @n1ckdm.
- 📝 Add docs and scripts to test completion in different shells. PR #953 by @tiangolo.
- ✏️ Fix a typo in
docs/virtual-environments.md. PR #952 by @tiangolo. - ✏️ Fix typo in
docs/contributing.md. PR #947 by @tiangolo. - 📝 Add docs for virtual environments, environment variables, and update contributing. PR #946 by @tiangolo.
Internal
- 🔨 Pre-install dependencies in Docker so that testing in Docker is faster. PR #954 by @tiangolo.
- ✅ Add
needs_bashtest fixture. PR #888 by @svlandeg. - ⬆ Bump mkdocs-material from 9.5.18 to 9.5.33. PR #945 by @dependabot[bot].
- ⬆ Bump pillow from 10.3.0 to 10.4.0. PR #939 by @dependabot[bot].
- 👷 Fix issue-manager. PR #948 by @tiangolo.
- 🙈 Remove extra line in .gitignore. PR #936 by @tiangolo.
- ⬆ Update pytest-cov requirement from <5.0.0,>=2.10.0 to >=2.10.0,<6.0.0. PR #844 by @dependabot[bot].
- ⬆ Bump pypa/gh-action-pypi-publish from 1.8.11 to 1.9.0. PR #865 by @dependabot[bot].
- ⬆ Update pytest requirement from <8.0.0,>=4.4.0 to >=4.4.0,<9.0.0. PR #915 by @dependabot[bot].
- ⬆ Update pytest-sugar requirement from <0.10.0,>=0.9.4 to >=0.9.4,<1.1.0. PR #841 by @dependabot[bot].
0.12.4
Features
- ✨ Add support for Python 3.12, tests in CI and official marker. PR #807 by @ivantodorovich.
Fixes
- 🐛 Fix support for
UnionType(e.g.str | None) with Python 3.11. PR #548 by @jonaslb. - 🐛 Fix
zshautocompletion installation. PR #237 by @alexjurkiewicz. - 🐛 Fix usage of
Annotatedwith future annotations in Python 3.7+. PR #814 by @ivantodorovich. - 🐛 Fix
shell_completenot working for Arguments. PR #737 by @bckohan.
Docs
- 📝 Update docs links, from tiangolo to new fastapi org. PR #919 by @tiangolo.
- 📝 Add docs for team and repo management. PR #917 by @tiangolo.
Internal
- 🔧 Add URLs to
pyproject.toml, show up in PyPI. PR #931 by @tiangolo. - 👷 Do not sync labels as it overrides manually added labels. PR #930 by @tiangolo.
- 👷 Update labeler GitHub Action to add only one label. PR #927 by @tiangolo.
- 👷 Update labeler GitHub Actions permissions and dependencies. PR #926 by @tiangolo.
- 👷 Add GitHub Action label-checker. PR #925 by @tiangolo.
- 👷 Add GitHub Action labeler. PR #924 by @tiangolo.
- 👷 Add GitHub Action add-to-project. PR #922 by @tiangolo.
- 🔨 Update docs.py script to enable dirty reload conditionally. PR #918 by @tiangolo.
- 🔧 Update MkDocs previews. PR #916 by @tiangolo.
- 👷 Upgrade build docs configs. PR #914 by @tiangolo.
- 🔧 Update MkDocs to have titles in Markdown files instead of config. PR #913 by @tiangolo.
- 👷 Add alls-green for test-redistribute. PR #911 by @tiangolo.
- 👷 Update docs-previews to handle no docs changes. PR #912 by @tiangolo.
- 👷🏻 Show docs deployment status and preview URLs in comment. PR #910 by @tiangolo.
- 🔧 Enable auto dark mode from system. PR #908 by @tiangolo.
- 💄 Add dark mode logo. PR #907 by @tiangolo.
- 🔧 Update tabs and admonitions with new syntax and new MkDocs features. PR #906 by @tiangolo.
- 🔧 Enable MkDocs Material features. PR #905 by @tiangolo.
- 🔧 Enable dark mode for docs. PR #904 by @tiangolo.
- ➖ Do not install jieba for MkDocs Material as there are no chinese translations. PR #903 by @tiangolo.
- 🙈 Add MkDocs Material cache to gitignore. PR #902 by @tiangolo.
- 🔨 Update lint script. PR #901 by @tiangolo.
- 🔧 Update MkDocs configs and docs build setup. PR #900 by @tiangolo.
- ⬆ Bump actions/cache from 3 to 4. PR #839 by @dependabot[bot].
- 🍱 Update Typer icon and logo. PR #899 by @tiangolo.
- 👷 Update issue-manager.yml GitHub Action permissions. PR #897 by @tiangolo.
- 👷 Refactor GitHub Action to comment docs deployment URLs and update token, preparing for GitHub org. PR #896 by @tiangolo.
- 🔨 Update docs Termynal scripts to not include line nums for local dev. PR #882 by @tiangolo.
- ⬆ Bump black from 23.3.0 to 24.3.0. PR #837 by @dependabot[bot].
- ⬆ Bump pillow from 10.1.0 to 10.3.0. PR #836 by @dependabot[bot].
- ✅ Add CI configs to run tests on Windows and MacOS. PR #824 by @svlandeg.
- 👷 Update GitHub Actions to upload and download artifacts. PR #829 by @tiangolo.
- 👷 Tweak CI for test-redistribute, add needed env vars for slim. PR #827 by @tiangolo.
- ✅ Generalize test suite to run on Windows. PR #810 by @svlandeg.
- ✅ Add
__init__.pyfiles to fix test suite. PR #809 by @svlandeg. - 🔧 Update MkDocs Material, enable plugins. PR #813 by @tiangolo.
- 🔧 Tweak development scripts and configs after migration to PDM, Ruff, etc.. PR #797 by @tiangolo.
0.12.3
0.12.2
Features
- ✨ Improve column help display, ensure commands column width is the same on all panels. PR #567 by @ssbarnea.
Fixes
- 🐛 Add support for an argument of type
Optional[Tuple]and default valueNone. PR #757 by @Asthestarsfalll.
Docs
0.12.1
Now you don't need to install typer[all]. When you install typer it comes with the default optional dependencies and the typer command.
If you don't want the extra optional dependencies (rich and shellingham), you can install typer-slim instead.
You can also install typer-slim[standard], which includes the default optional dependencies, but not the typer command.
Now the package typer-cli doesn't add anything on top of what typer has, it only depends on typer, and is there only for backwards compatibility, so that projects that depend on typer-cli can get the latest features of the typer command while they upgrade their dependencies to require typer directly.
Features
Fixes
- 🐛 Fix broken installation when upgrading from
typer <0.12.0totyper >=0.12.0, maketyperindependent oftyper-slim, includetypercommand intyperpackage. PR #791 by @tiangolo.
This fixes a problem that would break the typer installation directory when upgrading from typer <0.12.0 to typer >=0.12.0, see issue #790.
By installing the latest version (0.12.1) it fixes it, for any previous version, even if the installation directory was already broken by the previous upgrade.
Internal
- 👷 Add cron to run test once a week on monday. PR #783 by @estebanx64.
0.12.0
In version 0.12.0, the typer package depends on typer-slim[standard] which includes the default dependencies (instead of typer[all]) and typer-cli (that provides the typer command).
If you don't want the extra optional dependencies (rich and shellingham), you can install typer-slim instead.
You can also install typer-slim[standard], which includes the default optional dependencies, but not the typer command.
In version 0.12.0 the typer-cli package only provides the typer command, but the code is still in the main code, so even without installing typer-cli, it can be called with python -m typer.
This approach of having typer depend on typer-slim[standard] instead of including the whole code and dependencies itself caused an issue when upgrading from typer <0.12.0 to typer >=0.12.0, see issue #790. This is fixed in version 0.12.1.
Features
- ✨ Add
typer-slimpackage without extras, maketyperincludetyper-slim[default]and integrate Typer CLI (typercommand) into Typer. PR #780 by @tiangolo.
Internal
0.11.1
0.11.0
Breaking Changes
- 🔧 Refactor package manager, move from Flit to PDM, remove private pip extras for
test,doc,dev. PR #764 by @tiangolo. - 🔥 Remove support for Click 7, require Click 8+. PR #760 by @tiangolo.
- 🔥 Remove support for Python 3.6. PR #758 by @tiangolo.
Refactors
Internal
- ⬆️ Upgrade coverage and configs. PR #769 by @tiangolo.
- 🔧 Upgrade mypy and config. PR #768 by @tiangolo.
- 👷 Upgrade Smokeshow GitHub action. PR #767 by @tiangolo.
- 👷 Upgrade latest-changes GitHub Action. PR #766 by @tiangolo.
- 👷 Upgrade issue-manager GitHub Action. PR #765 by @tiangolo.
- 👷 Add alls-green to CI. PR #759 by @tiangolo.