|
3 | 3 | <!-- prettier-ignore-start --> |
4 | 4 |
|
5 | 5 |
|
| 6 | +## 0.9.18 |
| 7 | + |
| 8 | +Released on 2025-12-16. |
| 9 | + |
| 10 | +### Enhancements |
| 11 | + |
| 12 | +- Add value hints to command line arguments to improve shell completion accuracy ([#17080](https://github.com/astral-sh/uv/pull/17080)) |
| 13 | +- Improve error handling in `uv publish` ([#17096](https://github.com/astral-sh/uv/pull/17096)) |
| 14 | +- Improve rendering of multiline error messages ([#17132](https://github.com/astral-sh/uv/pull/17132)) |
| 15 | +- Support redirects in `uv publish` ([#17130](https://github.com/astral-sh/uv/pull/17130)) |
| 16 | +- Include Docker images with the alpine version, e.g., `python3.x-alpine3.23` ([#17100](https://github.com/astral-sh/uv/pull/17100)) |
| 17 | + |
| 18 | +### Configuration |
| 19 | + |
| 20 | +- Accept `--torch-backend` in `[tool.uv]` ([#17116](https://github.com/astral-sh/uv/pull/17116)) |
| 21 | + |
| 22 | +### Performance |
| 23 | + |
| 24 | +- Speed up `uv cache size` ([#17015](https://github.com/astral-sh/uv/pull/17015)) |
| 25 | +- Initialize S3 signer once ([#17092](https://github.com/astral-sh/uv/pull/17092)) |
| 26 | + |
| 27 | +### Bug fixes |
| 28 | + |
| 29 | +- Avoid panics due to reads on failed requests ([#17098](https://github.com/astral-sh/uv/pull/17098)) |
| 30 | +- Enforce latest-version in `@latest` requests ([#17114](https://github.com/astral-sh/uv/pull/17114)) |
| 31 | +- Explicitly set `EntryType` for file entries in tar ([#17043](https://github.com/astral-sh/uv/pull/17043)) |
| 32 | +- Ignore `pyproject.toml` index username in lockfile comparison ([#16995](https://github.com/astral-sh/uv/pull/16995)) |
| 33 | +- Relax error when using `uv add` with `UV_GIT_LFS` set ([#17127](https://github.com/astral-sh/uv/pull/17127)) |
| 34 | +- Support file locks on ExFAT on macOS ([#17115](https://github.com/astral-sh/uv/pull/17115)) |
| 35 | +- Change schema for `exclude-newer` into optional string ([#17121](https://github.com/astral-sh/uv/pull/17121)) |
| 36 | + |
| 37 | +### Documentation |
| 38 | + |
| 39 | +- Drop arm musl caveat from Docker documentation ([#17111](https://github.com/astral-sh/uv/pull/17111)) |
| 40 | +- Fix version reference in resolver example ([#17085](https://github.com/astral-sh/uv/pull/17085)) |
| 41 | +- Better documentation for `exclude-newer*` ([#17079](https://github.com/astral-sh/uv/pull/17079)) |
| 42 | + |
6 | 43 | ## 0.9.17 |
7 | 44 |
|
8 | 45 | Released on 2025-12-09. |
@@ -466,25 +503,25 @@ There are no breaking changes to [`uv_build`](https://docs.astral.sh/uv/concepts |
466 | 503 | ### Breaking changes |
467 | 504 |
|
468 | 505 | - **Python 3.14 is now the default stable version** |
469 | | - |
| 506 | + |
470 | 507 | The default Python version has changed from 3.13 to 3.14. This applies to Python version installation when no Python version is requested, e.g., `uv python install`. By default, uv will use the system Python version if present, so this may not cause changes to general use of uv. For example, if Python 3.13 is installed already, then `uv venv` will use that version. If no Python versions are installed on a machine and automatic downloads are enabled, uv will now use 3.14 instead of 3.13, e.g., for `uv venv` or `uvx python`. This change will not affect users who are using a `.python-version` file to pin to a specific Python version. |
471 | 508 | - **Allow use of free-threaded variants in Python 3.14+ without explicit opt-in** ([#16142](https://github.com/astral-sh/uv/pull/16142)) |
472 | | - |
| 509 | + |
473 | 510 | Previously, free-threaded variants of Python were considered experimental and required explicit opt-in (i.e., with `3.14t`) for usage. Now uv will allow use of free-threaded Python 3.14+ interpreters without explicit selection. The GIL-enabled build of Python will still be preferred, e.g., when performing an installation with `uv python install 3.14`. However, e.g., if a free-threaded interpreter comes before a GIL-enabled build on the `PATH`, it will be used. This change does not apply to free-threaded Python 3.13 interpreters, which will continue to require opt-in. |
474 | 511 | - **Use Python 3.14 stable Docker images** ([#16150](https://github.com/astral-sh/uv/pull/16150)) |
475 | | - |
| 512 | + |
476 | 513 | Previously, the Python 3.14 images had an `-rc` suffix, e.g., `python:3.14-rc-alpine` or |
477 | 514 | `python:3.14-rc-trixie`. Now, the `-rc` suffix has been removed to match the stable |
478 | 515 | [upstream images](https://hub.docker.com/_/python). The `-rc` images tags will no longer be |
479 | 516 | updated. This change should not break existing workflows. |
480 | 517 | - **Upgrade Alpine Docker image to Alpine 3.22** |
481 | | - |
| 518 | + |
482 | 519 | Previously, the `uv:alpine` Docker image was based on Alpine 3.21. Now, this image is based on Alpine 3.22. The previous image can be recovered with `uv:alpine3.21` and will continue to be updated until a future release. |
483 | 520 | - **Upgrade Debian Docker images to Debian 13 "Trixie"** |
484 | | - |
| 521 | + |
485 | 522 | Previously, the `uv:debian` and `uv:debian-slim` Docker images were based on Debian 12 "Bookworm". Now, these images are based on Debian 13 "Trixie". The previous images can be recovered with `uv:bookworm` and `uv:bookworm-slim` and will continue to be updated until a future release. |
486 | 523 | - **Fix incorrect output path when a trailing `/` is used in `uv build`** ([#15133](https://github.com/astral-sh/uv/pull/15133)) |
487 | | - |
| 524 | + |
488 | 525 | When using `uv build` in a workspace, the artifacts are intended to be written to a `dist` directory in the workspace root. A bug caused workspace root determination to fail when the input path included a trailing `/` causing the `dist` directory to be placed in the child directory. This bug has been fixed in this release. For example, `uv build child/` is used, the output path will now be in `<workspace root>/dist/` rather than `<workspace root>/child/dist/`. |
489 | 526 |
|
490 | 527 | ### Python |
|
0 commit comments