# Release Notes

## Latest Changes

## 0.20.0

### Features

- ✨ Enable command suggestions on typo by default. PR #1371 by @savannahostrowski.

### Upgrades

- ⬆️ Add support for Python 3.14. PR #1372 by @svlandeg.

### Internal

- 👷 Add nightly workflow to run tests against CPython main branch. PR #1374 by @savannahostrowski.
- ⬆ Bump mkdocs-material from 9.6.21 to 9.6.22. PR #1377 by @dependabot[bot].
- 🔧 Configure reminder for `waiting` label in `issue-manager`. PR #1378 by @YuriiMotov.
- ⬆ Bump ruff from 0.13.3 to 0.14.0. PR #1368 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1376 by @pre-commit-ci[bot].
- ⬆ Bump mkdocs-macros-plugin from 1.3.9 to 1.4.0. PR #1354 by @dependabot[bot].
- ⬆ Bump mkdocs-material from 9.6.20 to 9.6.21. PR #1360 by @dependabot[bot].
- ⬆ Bump mypy from 1.4.1 to 1.11.2. PR #957 by @dependabot[bot].
- ⬆ Bump astral-sh/setup-uv from 6 to 7. PR #1369 by @dependabot[bot].
- ⬆ Bump ruff from 0.13.2 to 0.13.3. PR #1366 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1367 by @pre-commit-ci[bot].
- ⬆ Bump tiangolo/issue-manager from 0.5.1 to 0.6.0. PR #1361 by @dependabot[bot].
- ⬆ Bump ruff from 0.13.1 to 0.13.2. PR #1357 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1358 by @pre-commit-ci[bot].
- 👷 Update docs previews comment, single comment, add failure status. PR #1359 by @tiangolo.

## 0.19.2

### Fixes

- 🐛 Fix list convertor with an empty list default factory . PR #1350 by @svlandeg.

### Refactors

- 🔥 Drop support for Python 3.7. PR #830 by @kinuax.

### Internal

- ⬆ Bump ruff from 0.13.0 to 0.13.1. PR #1339 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1351 by @pre-commit-ci[bot].
- ⬆ Bump markdown-include-variants from 0.0.4 to 0.0.5. PR #1348 by @dependabot[bot].

## 0.19.1

Note: this is the last version to support Python 3.7, going forward Typer will require Python 3.8+. And soon Python 3.8 will also be dropped as Python 3.8 reached it's end of life almost a year ago.

### Fixes

- 🐛 Ensure that `Optional[list]` values work correctly with callbacks. PR #1018 by @solesensei.

## 0.19.0

### Features

- ✨ Support `typing.Literal` to define a set of predefined choices. PR #429 by @blackary.
- ✨ Allow setting an environment variable to `None` in `CliRunner.invoke`. PR #1303 by @arjenzorgdoc.

### Refactors

- ✅ Use Ruff rules to ensure safe lazy-loading of `rich`. PR #1297 by @nathanjmcdougall.
- ✅ Avoid rich formatting in number test. PR #1305 by @svlandeg.

### Docs

- 📝 Clarify single-command vs multi-command behaviour in README. PR #1268 by @MorgenPronk.

## 0.18.0

### Fixes

- 👽️ Ensure compatibility with Click 8.3.0 by restoring the original `value_is_missing` function. PR #1333 by @svlandeg.

### Upgrades

- 📌 Remove pin for Click < 8.3.0 now that there's a fix for the changes. PR #1346 by @tiangolo.

## 0.17.5

### Fixes

- ⬇️ Restrict Click to below 8.3.0 to handle changes in the new version. PR #1336 by @svlandeg.

### Internal

- ⬆ Bump mkdocs-material from 9.6.14 to 9.6.20. PR #1308 by @dependabot[bot].
- ⬆ Bump mkdocs-material from 9.5.50 to 9.6.14. PR #1223 by @dependabot[bot].
- ⬆ Bump actions/download-artifact from 4 to 5. PR #1269 by @dependabot[bot].
- ⬆ Bump ruff from 0.12.12 to 0.13.0. PR #1302 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1307 by @pre-commit-ci[bot].
- ⬆ Update pytest-cov requirement from <7.0.0,>=2.10.0 to >=2.10.0,<8.0.0. PR #1301 by @dependabot[bot].
- ⬆ Bump actions/setup-python from 5 to 6. PR #1291 by @dependabot[bot].
- ⬆ Bump ruff from 0.12.11 to 0.12.12. PR #1295 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1300 by @pre-commit-ci[bot].
- ⬆ Bump actions/labeler from 5 to 6. PR #1296 by @dependabot[bot].

## 0.17.4

### Fixes

- 🐛 Make sure `rich.markup` is imported when rendering help text. PR #1290 by @g-arjones.

### Internal

- ⬆ Bump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0. PR #1292 by @dependabot[bot].
- ⬆ Bump ruff from 0.12.10 to 0.12.11. PR #1283 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1288 by @pre-commit-ci[bot].
- 👷 Set permissions for conflict detector workflow. PR #1287 by @svlandeg.
- 👷 Detect and label merge conflicts on PRs automatically. PR #1286 by @svlandeg.

## 0.17.3

### Features

- ✨ Allow annotated parsing with a subclass of `Path`. PR #1183 by @emfdavid.

## 0.17.2

### Fixes

- 🐛 Avoid printing `default: None` in the help section when using Rich. PR #1120 by @mattmess1221.

## 0.17.1

### Fixes

- 🐛 Fix markdown formatting in `--help` output. PR #815 by @gar1t.

## 0.17.0

### Features

- ⚡️ Lazy-load `rich_utils` to reduce startup time. PR #1128 by @oefe.

### Internal

- ⬆ Bump ruff from 0.12.9 to 0.12.10. PR #1280 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1281 by @pre-commit-ci[bot].
- ⬆ Update pytest-sugar requirement from <1.1.0,>=0.9.4 to >=0.9.4,<1.2.0. PR #1279 by @dependabot[bot].

## 0.16.1

### Fixes

- 🐛 Avoid printing additional output with `no_args_is_help=True` and Click 8.2. PR #1278 by @svlandeg.

### Docs

- 📝 Remove duplicated line in `environment-variables.md`. PR #1277 by @neirzhei.
- 📝 Fix reference to `count` parameter in the documentation. PR #1201 by @PokkaKiyo.

### Internal

- ⬆ Bump ruff from 0.11.13 to 0.12.9. PR #1276 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1247 by @pre-commit-ci[bot].
- ⬆ Bump actions/checkout from 4 to 5. PR #1271 by @dependabot[bot].
- ⬆ Bump mkdocs-macros-plugin from 1.3.7 to 1.3.9. PR #1272 by @dependabot[bot].
- ⬆ Bump tiangolo/latest-changes from 0.3.2 to 0.4.0. PR #1265 by @dependabot[bot].
- ⬆ Bump pillow from 11.2.1 to 11.3.0. PR #1249 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1206 by @pre-commit-ci[bot].
- ⬆ Bump pillow from 11.1.0 to 11.2.1. PR #1198 by @dependabot[bot].
- ⬆ Bump cairosvg from 2.7.1 to 2.8.2. PR #1226 by @dependabot[bot].
- ⬆ Bump ruff from 0.11.6 to 0.11.13. PR #1241 by @dependabot[bot].

## 0.16.0

### Upgrades

- ⬆️ Add compatibility with Click 8.2. PR #1222 by @tiangolo.

When using the `CliRunner` with Click < 8.2, to be able to access the `stderr` output, you needed to set the `mix_stderr` parameter to `True`. Since Click 8.2 (and Typer 0.160 this release supporting it) this is no longer necessary, so this parameter has been removed.

### Refactors

- ✅ Refactor tests for compatibility with Click 8.2. PR #1230 by @tiangolo.

### Internal

- 🔧 Remove Google Analytics. PR #1229 by @tiangolo.

## 0.15.4

### Upgrades

- 📌 Pin Click to < 8.2, compatibility for Click >= 8.2 will be added in a future version. PR #1225 by @tiangolo.

## 0.15.3

### Fixes

- 🐛 Ensure that autocompletion works for `Path` arguments/options. PR #1138 by @svlandeg.
- 🐛 Fix newline after header in help text, and add more tests for the behaviour of `rich_markup_mode` . PR #964 by @svlandeg.

### Internal

- ⬆ Bump astral-sh/setup-uv from 5 to 6. PR #1203 by @dependabot[bot].
- ⬆ Bump ruff from 0.11.2 to 0.11.6. PR #1200 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1196 by @pre-commit-ci[bot].
- ⬆ Bump ruff from 0.11.1 to 0.11.2. PR #1186 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1187 by @pre-commit-ci[bot].
- ⬆ Bump ruff from 0.11.0 to 0.11.1. PR #1185 by @dependabot[bot].
- ⬆ Bump ruff from 0.9.10 to 0.11.0. PR #1180 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1181 by @pre-commit-ci[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1176 by @pre-commit-ci[bot].
- ⬆ Bump ruff from 0.9.9 to 0.9.10. PR #1175 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1171 by @pre-commit-ci[bot].
- ⬆ Bump ruff from 0.9.7 to 0.9.9. PR #1166 by @dependabot[bot].
- ✏️ Fix typo in test name. PR #1165 by @svlandeg.

## 0.15.2

### Features

- ✨ Allow custom styles for commands in help output. PR #1103 by @TheTechromancer.
- ✨ Avoid the unnecessary import of `typing_extensions` in newer Python versions. PR #1048 by @horta.

### Fixes

- 🐛 Fix shell completions for the fish shell. PR #1069 by @goraje.

### Refactors

- 🚚 Rename test to corner-cases to make it more explicit. PR #1083 by @tiangolo.

### Docs

- ✏️ Fix small typos in the tutorial documentation. PR #1137 by @svlandeg.
- 📝 Update optional CLI argument section in tutorial with `Annotated`. PR #983 by @gkeuccsr.
- 📝 Clarify the need for `mix_stderr` when accessing the output of `stderr` in tests. PR #1045 by @mrchrisadams.

### Internal

- 🔧 Add support for Python 3.13, tests in CI and add PyPI trove classifier. PR #1091 by @edgarrmondragon.
- ⬆ Bump ruff from 0.9.6 to 0.9.7. PR #1161 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1162 by @pre-commit-ci[bot].
- ⬆ Bump ruff from 0.9.5 to 0.9.6. PR #1153 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1151 by @pre-commit-ci[bot].
- ⬆ Bump ruff from 0.9.4 to 0.9.5. PR #1146 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1142 by @pre-commit-ci[bot].
- ⬆ Bump ruff from 0.9.3 to 0.9.4. PR #1139 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1135 by @pre-commit-ci[bot].
- ⬆ Bump ruff from 0.9.1 to 0.9.3. PR #1136 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1130 by @pre-commit-ci[bot].
- ⬆ Bump ruff from 0.8.6 to 0.9.1. PR #1118 by @dependabot[bot].
- ⬆ Bump pypa/gh-action-pypi-publish from 1.12.3 to 1.12.4. PR #1132 by @dependabot[bot].
- ⬆ Bump mkdocs-material from 9.5.49 to 9.5.50. PR #1129 by @dependabot[bot].
- 💚 Fix test matrix for Python 3.7. PR #1116 by @svlandeg.
- ⬆ Bump ruff from 0.8.4 to 0.8.6. PR #1107 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1109 by @pre-commit-ci[bot].
- ⬆ Bump pillow from 11.0.0 to 11.1.0. PR #1104 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1102 by @pre-commit-ci[bot].
- ⬆ Bump ruff from 0.8.3 to 0.8.4. PR #1097 by @dependabot[bot].
- ⬆ Bump astral-sh/setup-uv from 4 to 5. PR #1098 by @dependabot[bot].
- ⬆ Bump markdown-include-variants from 0.0.3 to 0.0.4. PR #1100 by @dependabot[bot].
- ⬆ Bump ruff from 0.8.2 to 0.8.3. PR #1090 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1093 by @pre-commit-ci[bot].
- ⬆ Bump mkdocs-material from 9.5.48 to 9.5.49. PR #1092 by @dependabot[bot].
- ⬆ Bump pypa/gh-action-pypi-publish from 1.12.2 to 1.12.3. PR #1088 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1087 by @pre-commit-ci[bot].
- ⬆ Bump ruff from 0.8.1 to 0.8.2. PR #1084 by @dependabot[bot].
- ⬆ Bump mkdocs-material from 9.5.47 to 9.5.48. PR #1086 by @dependabot[bot].

## 0.15.1

### Features

- 🗑️ Deprecate `shell_complete` and continue to use `autocompletion` for CLI parameters. PR #974 by @svlandeg.

### Docs

- ✏️ Fix a few typos in the source and documentation. PR #1028 by @kkirsche.
- 📝 Fix minor inconsistencies and typos in tutorial. PR #1067 by @tvoirand.
- ✏️ Fix a few small typos in the documentation. PR #1077 by @svlandeg.

### Internal

- 🔧 Update build-docs filter patterns. PR #1080 by @tiangolo.
- 🔨 Update deploy docs preview script. PR #1079 by @tiangolo.
- 🔧 Update members. PR #1078 by @tiangolo.
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1071 by @pre-commit-ci[bot].
- ⬆ Update httpx requirement from <0.28.0,>=0.27.0 to >=0.27.0,<0.29.0. PR #1065 by @dependabot[bot].

## 0.15.0

### Features

- ✨ Add support for extending typer apps without passing a name, add commands to the top level. PR #1037 by @patrick91.
  - New docs: One File Per Command.

### Internal

- ⬆ Bump mkdocs-material from 9.5.46 to 9.5.47. PR #1070 by @dependabot[bot].
- ⬆ Bump ruff from 0.8.0 to 0.8.1. PR #1066 by @dependabot[bot].

## 0.14.0

### Breaking Changes

- 🔥 Remove auto naming of groups added via `add_typer` based on the group's callback function name. PR #1052 by @patrick91.

Before, it was supported to infer the name of a command group from the callback function name in the sub-app, so, in this code:

    import typer

    app = typer.Typer()
    users_app = typer.Typer()

    app.add_typer(users_app)

    @users_app.callback()
    def users():  # <-- This was the inferred command group name
        """
        Manage users in the app.
        """

    @users_app.command()
    def create(name: str):
        print(f"Creating user: {name}")

...the command group would be named `users`, based on the name of the function `def users()`.

Now you need to set it explicitly:

    import typer

    app = typer.Typer()
    users_app = typer.Typer()

    app.add_typer(users_app, name="users")  # <-- Explicitly set the command group name

    @users_app.callback()
    def users():
        """
        Manage users in the app.
        """

    @users_app.command()
    def create(name: str):
        print(f"Creating user: {name}")

Updated docs SubCommand Name and Help.

Note: this change will enable important features in the next release. 🤩

### Internal

- ⬆ Bump pypa/gh-action-pypi-publish from 1.10.3 to 1.12.2. PR #1043 by @dependabot[bot].
- ⬆ Bump mkdocs-material from 9.5.44 to 9.5.46. PR #1062 by @dependabot[bot].
- ⬆ Bump ruff from 0.7.4 to 0.8.0. PR #1059 by @dependabot[bot].
- ⬆ Bump astral-sh/setup-uv from 3 to 4. PR #1061 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1053 by @pre-commit-ci[bot].

## 0.13.1

### Features

- ✨ Remove Rich tags when showing completion text. PR #877 by @svlandeg.
- ✨ Render Rich markup as HTML in Markdown docs. PR #847 by @svlandeg.
- ✨ Support cp850 encoding for auto-completion in PowerShell. PR #808 by @svlandeg.
- ✨ Allow gettext translation of help message. PR #886 by @svlandeg.

### Refactors

- 🐛 Fix printing HTML from Rich output. PR #1055 by @tiangolo.

### Docs

- 📝 Update markdown includes to use the new simpler format. PR #1054 by @tiangolo.

### Internal

- ⬆ Bump ruff from 0.7.3 to 0.7.4. PR #1051 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #1047 by @pre-commit-ci[bot].
- ⬆ Bump ruff from 0.7.2 to 0.7.3. PR #1046 by @dependabot[bot].
- ⬆ Bump tiangolo/latest-changes from 0.3.1 to 0.3.2. PR #1044 by @dependabot[bot].
- ⬆ Update pytest-cov requirement from <6.0.0,>=2.10.0 to >=2.10.0,<7.0.0. PR #1033 by @dependabot[bot].

## 0.13.0

### Features

- ✨ Handle `KeyboardInterrupt` separately from other exceptions. PR #1039 by @patrick91.
- ✨ Update `launch` to 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_flag` and `flag_value` parameters. PR #987 by @svlandeg.
- 🔥 Remove unused functionality from `_typing.py` file. 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_TESTS` is set. PR #995 by @svlandeg.
- 📝 Update the docstring of the `_make_rich_text` method. 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-files` to `True` when using the `upload-artifact` GH 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-changes` GitHub 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=None` disables 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.py` in 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_bash` test 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 `zsh` autocompletion installation. PR #237 by @alexjurkiewicz.
- 🐛 Fix usage of `Annotated` with future annotations in Python 3.7+. PR #814 by @ivantodorovich.
- 🐛 Fix `shell_complete` not 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__.py` files 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

### Fixes

- 🐛 Fix Rich formatting with no commands. PR #796 by @svlandeg.

## 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 value `None`. PR #757 by @Asthestarsfalll.

### Docs

- 🔧 Fix typo in Github template. PR #793 by @svlandeg.
- 📝 Fix typos in documentation. PR #761 by @svlandeg.
- 📝 Update console output with Click 8 messages. PR #789 by @svlandeg.
- 📝 Remove references to a .rst README generated by poetry new. PR #632 by @jonasmmiguel.

## 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

- ✨ Add support for `typer ./someprogram.py utils docs --title`. PR #782 by @tiangolo.

### Fixes

- 🐛 Fix broken installation when upgrading from `typer <0.12.0` to `typer >=0.12.0`, make `typer` independent of `typer-slim`, include `typer` command in `typer` package. 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-slim` package without extras, make `typer` include `typer-slim[default]` and integrate Typer CLI (`typer` command) into Typer. PR #780 by @tiangolo.

### Internal

- 🔧 Temporarily disable social plugin while a MkDocs issue is handled. PR #779 by @tiangolo.
- 👷 Fix install MkDocs Insiders only when available. PR #778 by @tiangolo.

## 0.11.1

### Fixes

- 🔧 Explicitly include testing files in sdist for redistributors (e.g. OpenSUSE) and add CI to test redistribution. PR #773 by @tiangolo.

### Internal

- 👷 Do not use the cache for dependencies when publishing to PyPI. PR #774 by @tiangolo.

## 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

- 🔧 Migrate from Black, isort, flake8, autoflake, pyupgrade to Ruff. PR #763 by @tiangolo.

### 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.

## 0.10.0

### Fixes

- 🐛 Fix default value of `None` for CLI Parameters when the type is `list | None` and the default value is `None`. PR #664 by @theowisear.

## 0.9.4

### Features

- ✨ Improve support for CLI translations using gettext. PR #417 by @mjodmj.

## 0.9.3

### Fixes

- 🐛 Fix evaluating stringified annotations in Python 3.10 (also `from __future__ import annotations`). PR #721 by @heckad.

## 0.9.2

### Fixes

- 🐛 Fix display of default value for Enum parameters inside of a list, include docs and tests. PR #473 by @asieira.
- 🐛 Update type annotations for `show_default` parameter and update docs for setting a "Custom default string". PR #501 by @plannigan.

### Docs

- 📝 Add docs and test for `no_args_is_help` feature. PR #751 by @svlandeg.

## 0.9.1

### Fixes

- 🐛 Add missing `default_factory` in `Argument` overloads. PR #750 by @m9810223.
- 🐛 Fix preserving case in enum values. PR #571 by @avaldebe.

### Docs

- 📝 Remove obsolete references to `--install-completion` for `typer.run()` scripts. PR #595 by @tiangolo.

- 📝 Update docs example for a Typer/Click group to make new subcommands explicit. PR #755 by @svlandeg.

- 📝 Update docs for building a package, file structure example. PR #683 by @davidbgk.
- 📝 Update link in docs to the newest stable version of click. PR #675 by @javier171188.
- 🔧 Add `CITATION.cff` file for academic citations. PR #681 by @tiangolo.
- ✏ Fix typo in `docs/tutorial/exceptions.md`. PR #702 by @menzenski.
- ✏ Fix typo in `docs/tutorial/options/name.md`. PR #725 by @bwagner.
- ✏ Fix typo in `docs/tutorial/arguments/optional.md`. PR #602 by @tadasgedgaudas.

### Internal

- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #606 by @pre-commit-ci[bot].
- 👷 Install MkDocs Material Insiders only when secrets are available, for Dependabot. PR #685 by @tiangolo.
- ⚒️ Update build-docs.yml, do not zip docs. PR #645 by @tiangolo.
- 👷 Deploy docs to Cloudflare. PR #644 by @tiangolo.
- 👷 Upgrade CI for docs. PR #642 by @tiangolo.
- 👷 Update token for latest changes. PR #635 by @tiangolo.
- 👷 Update CI workflow dispatch for latest changes. PR #643 by @tiangolo.
- 👷 Update token for Material for MkDocs Insiders. PR #636 by @tiangolo.
- 🐛 Fix internal type annotations and bump mypy version. PR #638 by @paulo-raca.
- 💡 Add comments to document overload definitions in code. PR #752 by @svlandeg.
- 🔥 Remove Jina QA Bot as it has been discontinued. PR #749 by @tiangolo.
- 👷 Update build docs CI cache paths. PR #707 by @tiangolo.
- 👷 Upgrade latest-changes GitHub Action. PR #691 by @tiangolo.

## 0.9.0

### Features

- ✨ Add support for PEP-593 `Annotated` for specifying options and arguments. Initial PR #584 by @ryangalamb.
  - New docs: Optional CLI arguments.
  - It is no longer required to pass a default value of `...` to mark a CLI Argument or CLI Option as required.
  - It is now recommended to use `Annotated` for `typer.Option()` and `typer.Argument()`.
  - All the docs have been updated to recommend `Annotated`.

### Docs

- 📝 Update docs examples for custom param types using `Annotated`, fix overloads for `typer.Argument`. PR #594 by @tiangolo.

### Internal

- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #592 by @pre-commit-ci[bot].

## 0.8.0

### Features

- ✨ Add support for custom types and parsers. Initial PR #583 by @jpurviance. Based on original PR #443 by @paulo-raca.
  - New docs: CLI Parameter Types: Custom Types.

### Upgrades

- ⬆ Upgrade Rich, support 13.x. PR #524 by @musicinmybrain.

### Docs

- 📝 Tweak docs, Custom Types path, main page and READAME colors, broken links. PR #588 by @tiangolo.
- ✏ Fix spelling (shinny -> shiny). PR #586 by @runofthemill.
- 📝 Update docs about helping Typer. PR #547 by @tiangolo.
- ✏️ Fix typo in datetime docs. PR #495 by @huxuan.
- ✏️ Add quotes to package name that includes brackets in docs. PR #475 by @gjolga.

### Internal

- ⬆ Bump dawidd6/action-download-artifact from 2.24.2 to 2.26.0. PR #558 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #549 by @pre-commit-ci[bot].
- 🔧 Add `exclude_lines` to coverage configuration. PR #585 by @dmontagu.
- ⬆️ Upgrade analytics. PR #557 by @tiangolo.
- 🔧 Update new issue chooser to suggest GitHub Discussions. PR #544 by @tiangolo.
- 🔧 Add GitHub Discussion templates for questions. PR #541 by @tiangolo.
- 🔧 Update pre-commit, Python version, isort version. PR #542 by @tiangolo.
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #512 by @pre-commit-ci[bot].
- ⬆ Bump nwtgck/actions-netlify from 1.2.4 to 2.0.0. PR #513 by @dependabot[bot].
- 👷 Refactor CI artifact upload/download for docs previews. PR #516 by @tiangolo.
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #500 by @pre-commit-ci[bot].
- ⬆ Bump actions/cache from 2 to 3. PR #496 by @dependabot[bot].
- ⬆ Bump dawidd6/action-download-artifact from 2.24.1 to 2.24.2. PR #494 by @dependabot[bot].
- ⬆ Bump dawidd6/action-download-artifact from 2.9.0 to 2.24.1. PR #491 by @dependabot[bot].
- ⬆ Bump actions/setup-python from 2 to 4. PR #492 by @dependabot[bot].
- 👷‍♂️ Consistently use `sys.executable` to run subprocesses, needed by OpenSUSE. PR #408 by @theMarix.
- 👷‍♂️ Ensure the `PYTHONPATH` is set properly when testing the tutorial scripts. PR #407 by @theMarix.

## 0.7.0

### Features

- ✨ Make `typer.run()` not add completion scripts by default, it only makes sense in installed apps. Also update docs for handling autocompletion in CLI options. PR #488 by @tiangolo.
- ✨ Add support for Python 3.11, tests in CI and official marker. PR #487 by @tiangolo.
- 👷 Add CI for Python 3.10. PR #384 by @tiangolo.

### Fixes

- 🎨 Fix type annotation of `typer.run()`. PR #284 by @yassu.
- 🎨 Fix type annotations for `get_group`. PR #430 by @tiangolo.

### Docs

- 📝 Add note about how subcommands with function names using underscores are converted to dashes. PR #403 by @targhs.
- 📝 Fix typo in docs at `docs/tutorial/commands/help.md`. PR #466 by @fepegar.
- ✏ Fix link in docs to `datetime.strptime()`. PR #464 by @Kobu.
- ✏ Update `first-steps.md`, clarify distinction between parameter and argument. PR #176 by @mccarthysean.
- ✏ Fix broken plac link. PR #275 by @mgielda.

### Internal

- ✅ Add extra tests just for coverage because monkeypatching with strange imports confuses coverage. PR #490 by @tiangolo.
- 🔧 Tweak pytest coverage. PR #485 by @tiangolo.
- ➕ Bring back pytest-cov because coverage can't detect pytest-xdist. PR #484 by @tiangolo.
- ⬆ Bump actions/upload-artifact from 2 to 3. PR #477 by @dependabot[bot].
- ⬆ Bump actions/checkout from 2 to 3. PR #478 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #411 by @pre-commit-ci[bot].
- ⬆ Bump nwtgck/actions-netlify from 1.1.5 to 1.2.4. PR #479 by @dependabot[bot].
- ⬆ Bump tiangolo/issue-manager from 0.2.0 to 0.4.0. PR #481 by @dependabot[bot].
- 👷 Move from pytest-cov to coverage and Codecov to Smokeshow. PR #483 by @tiangolo.
- ➕ Add extra Material for MkDocs deps for docs. PR #482 by @tiangolo.
- 🔧 Update Dependabot config. PR #476 by @tiangolo.

## 0.6.1

### Fixes

- 🐛 Fix setting `FORCE_TERMINAL` with colors 2. PR #424 by @tiangolo.
- 🐛 Fix setting `FORCE_TERMINAL` with colors. PR #423 by @tiangolo.

## 0.6.0

This release adds deep integrations with Rich. ✨

`rich` is an optional dependency, you can install it directly or it will be included when you install with:

    $ pip install "typer[all]"

If Rich is available, it will be used to show the content from `--help` options, validation errors, and even errors in your app (exception tracebacks).

There are new options to group commands, CLI arguments, and CLI options, support for Rich Console Markup, and more! 🎉

### Features

- ✨ Richify, add integrations with Rich everywhere. PR #419 by @tiangolo.
  - Recommend Rich as the main information displaying tool, new docs: Printing and Colors.
  - For most use cases not using Rich, use plain `print()` instead of `typer.echo()` in the docs, to simplify the concepts and avoid confusions. New docs: Printing and Colors - typer Echo.
  - Define help panels for CLI arguments, new docs: CLI Arguments with Help - CLI Argument help panels.
  - Define help panels for CLI options, new docs: CLI Options with Help - CLI Options help panels.
  - New docs for deprecating commands: Commands - Command Help - Deprecate a Command.
  - Support for Rich Markdown in docstrings, CLI parameters `help`, and `epilog` with the new parameter `typer.Typer(rich_markup_mode="markdown")`, new docs: Commands - Command Help - Rich Markdown and Markup.
  - Support for Rich Markup (different from Markdown) in docstrings, CLI parameters `help`, and `epilog` with the new parameter `typer.Typer(rich_markup_mode="rich")`, new docs: Commands - Command Help - Rich Markdown and Markup.
  - Define help panels for commands, new docs: Commands - Command Help - Help Panels.
  - New docs for setting an `epilog`, with support for Rich Markdown and Console Markup, new docs: Commands - Command Help - Epilog.
- ✨ Refactor and document handling pretty exceptions. PR #422 by @tiangolo.
  - Add support for customizing pretty short errors, new docs: Exceptions and Errors.
- ✨ Allow configuring pretty errors when creating the Typer instance. PR #416 by @tiangolo.

### Docs

- 📝 Add docs for using Rich with Typer. PR #421 by @tiangolo.
  - Add new docs: Ask with Prompt - Prompt with Rich.
  - Add new docs to handle progress bars and spinners with Rich: Progress Par.

### Internal

- ⬆️ Upgrade codecov GitHub Action. PR #420 by @tiangolo.

## 0.5.0

### Features

- ✨ Add pretty error tracebacks for user errors and support for Rich. PR #412 by @tiangolo.

### Docs

- ✏ Fix typo, "ASCII codes" to "ANSI escape sequences". PR #308 by @septatrix.

## 0.4.2

### Fixes

- 🐛 Fix type conversion for `List` and `Tuple` and their internal types. PR #143 by @hellowhistler.
- 🐛 Fix `context_settings` for a Typer app with a single command. PR #210 by @daddycocoaman.

### Docs

- 📝 Clarify testing documentation about checking `stderr`. PR #335 by @cgabard.
- ✏ Fix typo in docs for CLI Option autocompletion. PR #288 by @graue70.
- 🎨 Fix header format for "Standard Input" in `docs/tutorial/printing.md`. PR #386 by @briancohan.
- ✏ Fix typo in `docs/tutorial/terminating.md`. PR #382 by @kianmeng.
- ✏ Fix syntax typo in `docs/tutorial/package.md`. PR #333 by @ryanstreur.
- ✏ Fix typo, duplicated word in `docs/tutorial/options/required.md`.. PR #316 by @michaelriri.
- ✏ Fix minor typo in `index.md`. PR #274 by @RmStorm.
- ✏ Fix double "and" typo in first-steps tutorial. PR #225 by @softwarebloat.
- 🎨 Fix format in docs explaining `datetime` parameter type. PR #220 by @DiegoPiloni.

### Internal

- ⬆ [pre-commit.ci] pre-commit autoupdate. PR #404 by @pre-commit-ci[bot].
- 👷 Fix Material for MkDocs install in CI. PR #395 by @tiangolo.
- 👷 Add pre-commit CI config. PR #394 by @tiangolo.
- 👷 Clear MkDocs Insiders cache. PR #393 by @tiangolo.
- 🔧 Add pre-commit config and formatting. PR #392 by @tiangolo.
- 👷 Disable installing MkDocs Insiders in forks. PR #391 by @tiangolo.
- ⬆️ Upgrade Codecov GitHub Action. PR #383 by @tiangolo.

## 0.4.1

### Fixes

- 🐛 Fix import of `get_terminal_size` for Click 8.1.0 support and upgrade Black to fix CI. PR #380 by @tiangolo based on original PR #375 by @madkinsz.

### Internal

- 📝 Add Jina's QA Bot to the docs to help people that want to ask quick questions. PR #368 by @tiangolo.
- 💚 Only test on push when on master, avoid duplicate CI runs from PRs. PR #358 by @tiangolo.
- ✨ Add support for previewing docs in PRs from forks and enable MkDocs Insiders. PR #357 by @tiangolo.
- ⬆️ Upgrade MkDocs Material, MDX-Include, and MkDocs structure. PR #356 by @tiangolo.
- 👷 Update publish GitHub action. PR #325 by @tiangolo.

## 0.4.0

### Features

- ✨ Add support for Click 8 while keeping compatibility with Click 7. PR #317 by @tiangolo.

### Internal

- 📝 Add Security policy. PR #324 by @tiangolo.
- 🔧 Add updated issue templates. PR #323 by @tiangolo.
- 👷 Enable tests for Python 3.9. PR #322 by @tiangolo.
- 👷 Add GitHub Action Latest Changes. PR #321 by @tiangolo.
- 👷 Update docs CI name. PR #320 by @tiangolo.
- 🔧 Add sponsors docs and badge. PR #319 by @tiangolo.

## 0.3.2

### Features

- Add support for `mypy --strict`. Original PR #147 by @victorphoenix3.

### Docs

- Update docs with new `--help` showing default values. PR #135 by @victorphoenix3.
- Add `Optional` to docs for CLI Arguments and Options with a default of `None`. PR #131 by @rkbeatss.
- Add valid date formats to docs. PR #122 by @IamCathal.

### Internal

- Report coverage in XML to support GitHub Actions. PR #146.
- Update badges and remove Travis, now that GitHub Actions is the main CI. PR #145.

## 0.3.1

- Add GitHub Actions, move from Travis. PR #144.
- Pin dependencies. PR #138.
- Add Dependabot. PR #136.
- Upgrade Isort to version 5.x.x. PR #137.

## 0.3.0

- Add support for `help` parameter in CLI arguments:
  - As `help` in CLI arguments is not supported by Click, there are two new internal classes (Click sub-classes) to support it:
    - `typer.core.TyperArgument`
    - `typer.core.TyperCommand`
  - This includes a new auto-generated help text section `Arguments` for CLI arguments, showing defaults, required arguments, etc.
  - It's also possible to disable it and keep the previous behavior, not showing automatic help for CLI arguments (Click's default) using the `hidden` parameter.
  - Now `show_default` is `True` by default.
  - And now `show_envvar` is `True` by default.
  - So, default values and env vars are shown in the help text by default, without having to manually enable them, for both CLI arguments and CLI options.
  - New docs:
    - CLI Arguments Intro.
    - Optional CLI Arguments.
    - CLI Arguments with Default.
    - CLI Arguments with Help.
    - CLI Arguments with Environment Variables.
    - CLI Arguments: Other uses.
    - CLI arguments with tuples.
  - Lot's of tests for all the new examples in the new docs, keeping coverage at 100%.
  - PR #123.
- Add docs for calling packages with `python -m some_package` using `__main__.py`: Building a Package: Support `python -m`. PR #121.
- Add support for `*args` and `**kwargs` when calling the Typer app, just like in Click. PR #120 by @teymour-aldridge.
- Fix typos in README and main docs #103 by @mrcartoonster.
- Fix typo in docs. PR #98 by @mrcartoonster.
- Fix typos and rewording in docs. PR #97 by @mrcartoonster.
- Update GitHub Action issue-manager. PR #114.

## 0.2.1

- Add support for forward references (types declared inside of strings). PR #93.

## 0.2.0

- Add support for completion for commands/programs not available on startup.
  - This allows installing a Typer program/script in a virtual environment and still have completion globally installed.
  - PR #92.
- Add note about `typer.echo()` and `print()` for colors in Windows. PR #89.
- Upgrade Mkdocs-Material version, update contributing guide style. PR #90.

## 0.1.1

- Fix completion evaluation for Bash and Zsh when the program is not installed/found. PR #83.
- Fix completion script for Fish. PR #82.
- Fix shell installation for Bash to `~/.bashrc` and update Windows development docs. PR #81.
- Update coverage badge. PR #78.

## 0.1.0

- Fix coverage instructions. PR #72.
- Add docs for Building a Package. PR #71.
- Add docs for Using Click (with Typer). PR #70.
- Add support for type-based callbacks and autocompletion functions, extra tests and docs:
  - Extra tests, raising coverage to 100%.
  - New docs: Printing and Colors: "Standard Output" and "Standard Error".
  - New docs: Password CLI Option and Confirmation Prompt.
  - Support for callbacks based on type annotations. New docs: CLI Option Callback and Context.
  - New docs: Version CLI Option, is_eager.
  - Support for autocompletion functions based on type annotations. New docs: CLI Option autocompletion.
  - New docs: Commands: Using the Context.
  - New docs: Testing.
  - PR #68.
- Fix Zsh completion install script. PR #69.
- Fix typo in progressbar example. PR #63 by @ValentinCalomme.

## 0.0.11

- Re-implement completion system:
  - Remove optional dependency `click-completion` (with its sub-dependencies, like Jinja).
  - Add optional dependency `shellingham` to auto detect shell to install (it was used by `click-completion`).
  - Completion now doesn't require a third party library.
    - If `shellingham` is not installed/added as a dependency, `--install-completion` and `--show-completion` take a value with the name of the shell.
  - Fix support for user provided completion in CLI Parameters.
  - Fix completion for files in Bash, Zsh, and Fish.
  - Add support for modern versions of PowerShell, 5, 6, and 7 (e.g. in Windows 10).
  - Add support for `pwsh` (PowerShell Core).
    - PowerShell support includes help strings for commands and CLI Parameters.
  - Several bug fixes.
  - Tests for the completion logic/code.
  - Tested in all the shells in Linux and Windows.
  - PR #66.
- Fix format in docs with highlighted lines. PR #65.
- Add docs about Typer CLI - completion for small scripts. PR #64.
- Add docs about Alternatives, Inspiration and Comparisons. PR #62.
- Add Development - Contributing Guide. PR #61.

## 0.0.10

- Add support for Click version 7.1.1. PR #60.

## 0.0.9

- Add support for PEP 561, to allow `mypy` to type check applications built with Typer. PR #58.
- Upgrade deploy docs to Netlify GitHub action. PR #57.
- Add support for Mermaid JS for visualizations. PR #56.
- Update CI to run docs deployment in GitHub actions. PR #50.
- Update format for internal links. PR #38.
- Tweak external links' format. PR #36.

## 0.0.8

- Update docs and add latest changes to MkDocs/website. PR #33.
- Add extra tests for edge cases that don't belong in docs' examples. PR #32.
- Add docs for CLI Parameters with Multiple Values. Includes tests for all the examples and bug fixes. PR #31.
- Add docs for extra CLI parameter types: CLI Parameter Types: Number and CLI Parameter Types: Boolean CLI Options. PR #30.
- Extend docs for Commands, add Commands: Typer Callback and Commands: One or Multiple. This includes tests for all the examples and bug fixes. PR #29.
- Add docs for SubCommands - Command Groups. This includes tests for all the examples and bug fixes. PR #28.
- Remove unneeded code for argument handling. PR #26.
- Add docs for Launching Applications. PR #25.
- Add docs for getting the CLI Application Directory. PR #24.
- Add docs for Progress Bars. PR #23.
- Add docs for Asking with Interactive Prompts. PR #22.
- Update docs for path CLI option. PR #21.
- Add colors module and docs for Printing and Colors and for Terminating, including tests. PR #20.
- Refactor docs to make each individual page/section "bite-sized" / small. Add docs for CLI option names. Update `typer.Argument()` to remove invalid positional `param_decls`. PR #19.

## 0.0.7

- Add docs for CLI parameter types. Includes tests and file classes refactor. PR #17.
- Add tests for completion. PR #15 and #16.

## 0.0.6

- Add docs for Commands. Includes a bug fix for handling default values set in `typer.Typer()` parameters. PR #14.
- Add docs for CLI Arguments. PR #13.
- Add docs for CLI Options. PR #12.

## 0.0.5

- Clean exports from Typer. Remove unneeded components from Click and add needed `Exit` exception. PR #11.
- Fix and document extracting help from a function's docstring First Steps: Document your CLI app. PR #10.
- Update references to `--install-completion` and `--show-completion` in docs. PR #9.
- Fix testing utilities, add tests for First Steps examples. PR #8.
- Add auto completion options by default when click-completion is installed: `--install-completion` and `--show-completion`. PR #7.
- Update Termynal to have fixed sizes, add "fast" button, and use it in First Steps. PR #6.
- Add custom automatic Termynal for docs. PR #5.

## 0.0.4

- Update short descriptions and assets.
- Docs rewording and fix typos. PR #1 by @mariacamilagl.

## 0.0.3

- Fix group creation without name.

## 0.0.2

- Add initial version of code, docs, etc.

## 0.0.1

- First commit. Publish to PyPI to reserve package name.

tiangolo/typer « Previous