|
3 | 3 | <!-- prettier-ignore-start --> |
4 | 4 |
|
5 | 5 |
|
| 6 | +## 0.9.23 |
| 7 | + |
| 8 | +Released on 2026-01-09. |
| 9 | + |
| 10 | +### Enhancements |
| 11 | + |
| 12 | +- Only write portable paths in `RECORD` files ([#17339](https://github.com/astral-sh/uv/pull/17339)) |
| 13 | +- Support relative paths in `UV_PYTHON_BIN_DIR` and `UV_TOOL_BIN_DIR` ([#17367](https://github.com/astral-sh/uv/pull/17367)) |
| 14 | + |
| 15 | +### Preview features |
| 16 | + |
| 17 | +- Enable uploads to S3 via pre-signed URLs ([#17349](https://github.com/astral-sh/uv/pull/17349)) |
| 18 | + |
| 19 | +### Configuration |
| 20 | + |
| 21 | +- Allow setting proxy variables via global / user configuration ([#16918](https://github.com/astral-sh/uv/pull/16918)) |
| 22 | +- Manually parse and reconcile Boolean environment variables ([#17321](https://github.com/astral-sh/uv/pull/17321)) |
| 23 | + |
| 24 | +### Bug fixes |
| 25 | + |
| 26 | +- Avoid broken build artifacts on build failure ([#17276](https://github.com/astral-sh/uv/pull/17276)) |
| 27 | +- Fix missing dependencies on synthetic root in SBOM export ([#17363](https://github.com/astral-sh/uv/pull/17363)) |
| 28 | +- Recognize `armv8l` as an alias for `armv7l` in platform tag parsing ([#17384](https://github.com/astral-sh/uv/pull/17384)) |
| 29 | +- Fix redaction of a URL in a middleware trace log ([#17346](https://github.com/astral-sh/uv/pull/17346)) |
| 30 | + |
| 31 | +### Documentation |
| 32 | + |
| 33 | +- Add `index.md` suggestion to `llms.txt` ([#17362](https://github.com/astral-sh/uv/pull/17362)) |
| 34 | +- Clarify that `uv run` uses inexact syncing by default ([#17366](https://github.com/astral-sh/uv/pull/17366)) |
| 35 | + |
6 | 36 | ## 0.9.22 |
7 | 37 |
|
8 | 38 | Released on 2026-01-06. |
@@ -572,25 +602,25 @@ There are no breaking changes to [`uv_build`](https://docs.astral.sh/uv/concepts |
572 | 602 | ### Breaking changes |
573 | 603 |
|
574 | 604 | - **Python 3.14 is now the default stable version** |
575 | | - |
| 605 | + |
576 | 606 | 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. |
577 | 607 | - **Allow use of free-threaded variants in Python 3.14+ without explicit opt-in** ([#16142](https://github.com/astral-sh/uv/pull/16142)) |
578 | | - |
| 608 | + |
579 | 609 | 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. |
580 | 610 | - **Use Python 3.14 stable Docker images** ([#16150](https://github.com/astral-sh/uv/pull/16150)) |
581 | | - |
| 611 | + |
582 | 612 | Previously, the Python 3.14 images had an `-rc` suffix, e.g., `python:3.14-rc-alpine` or |
583 | 613 | `python:3.14-rc-trixie`. Now, the `-rc` suffix has been removed to match the stable |
584 | 614 | [upstream images](https://hub.docker.com/_/python). The `-rc` images tags will no longer be |
585 | 615 | updated. This change should not break existing workflows. |
586 | 616 | - **Upgrade Alpine Docker image to Alpine 3.22** |
587 | | - |
| 617 | + |
588 | 618 | 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. |
589 | 619 | - **Upgrade Debian Docker images to Debian 13 "Trixie"** |
590 | | - |
| 620 | + |
591 | 621 | 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. |
592 | 622 | - **Fix incorrect output path when a trailing `/` is used in `uv build`** ([#15133](https://github.com/astral-sh/uv/pull/15133)) |
593 | | - |
| 623 | + |
594 | 624 | 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/`. |
595 | 625 |
|
596 | 626 | ### Python |
|
0 commit comments