diff --git a/CHANGELOG.md b/CHANGELOG.md index 3fdb22bf5..121b5d83b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,46 @@ # Changelog +## 0.2.12 + +### Enhancements + +- Allow specific `--only-binary` and `--no-binary` packages to override `:all:` ([#4067](https://github.com/astral-sh/uv/pull/4067)) +- Flatten ORs and ANDs in marker construction ([#4260](https://github.com/astral-sh/uv/pull/4260)) +- Skip invalid interpreters when searching for requested interpreter executable name ([#4308](https://github.com/astral-sh/uv/pull/4308)) +- Display keyring stderr during queries ([#4343](https://github.com/astral-sh/uv/pull/4343)) +- Allow discovery of uv binary relative to package root ([#4336](https://github.com/astral-sh/uv/pull/4336)) + +### Enhancements + +- Use relative path for `lib64` symlink ([#4268](https://github.com/astral-sh/uv/pull/4268)) + +### CLI + +- Add uv version to debug output ([#4259](https://github.com/astral-sh/uv/pull/4259)) +- Allow `--no-binary` with `uv pip compile` ([#4301](https://github.com/astral-sh/uv/pull/4301)) +- Hide `--no-system` from the CLI ([#4292](https://github.com/astral-sh/uv/pull/4292)) +- Make `--reinstall`, `--upgrade`, and `--refresh` shared arguments ([#4319](https://github.com/astral-sh/uv/pull/4319)) + +### Configuration + +- Add `UV_EXCLUDE_NEWER` environment variable ([#4287](https://github.com/astral-sh/uv/pull/4287)) + +### Bug fixes + +- Allow normalization to completely eliminate markers ([#4271](https://github.com/astral-sh/uv/pull/4271)) +- Avoid treating direct path archives as always dynamic ([#4283](https://github.com/astral-sh/uv/pull/4283)) +- De-duplicate markers during normalization ([#4263](https://github.com/astral-sh/uv/pull/4263)) +- Fix incorrect parsing of requested Python version as empty version specifiers ([#4289](https://github.com/astral-sh/uv/pull/4289)) +- Suggest correct command to create a virtual environment when encountering externally managed interpreters ([#4314](https://github.com/astral-sh/uv/pull/4314)) +- Use consistent order for extra groups in lockfile ([#4275](https://github.com/astral-sh/uv/pull/4275)) + +### Documentation + +- Add `pip-compile` defaults to `PIP_COMPATIBILITY.md` ([#4302](https://github.com/astral-sh/uv/pull/4302)) +- Expand on `pip-compile` default differences ([#4306](https://github.com/astral-sh/uv/pull/4306)) +- Tweak copy on some command-line arguments ([#4293](https://github.com/astral-sh/uv/pull/4293)) +- Move the preview changelog so the GitHub Release shows stable changes ([#4290](https://github.com/astral-sh/uv/pull/4290)) + ## 0.2.11 ### Enhancements @@ -192,7 +233,7 @@ requested version, skipping interpreters that are broken or do not satisfy the r Additionally, uv now allows requests for interpreter implementations such as `pypy` and `cpython`. For example, the request `--python cpython` will ignore a `python` executable that's implemented by `pypy`. These requests may -also include a version, e.g., `--python pypy@3.10`. By default, uv will accept *any* interpreter implementation. +also include a version, e.g., `--python pypy@3.10`. By default, uv will accept _any_ interpreter implementation. In summary, the following Python interpreter requests are now allowed: @@ -210,7 +251,7 @@ To align the user expectations, uv now respects the interpreter that starts it. now prefer the `python` interpreter that was used to start uv instead of searching for a virtual environment. We now check if discovered interpreters are virtual environments. This means that setting `VIRTUAL_ENV` to a Python -installation directory that is *not* a virtual environment will no longer work. Instead, use `--system` or `--python ` +installation directory that is _not_ a virtual environment will no longer work. Instead, use `--system` or `--python ` to request the interpreter. ### Enhancements diff --git a/Cargo.lock b/Cargo.lock index 4d552aed4..6b5870966 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4418,7 +4418,7 @@ checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" [[package]] name = "uv" -version = "0.2.11" +version = "0.2.12" dependencies = [ "anstream", "anyhow", @@ -5043,7 +5043,7 @@ dependencies = [ [[package]] name = "uv-version" -version = "0.2.11" +version = "0.2.12" [[package]] name = "uv-virtualenv" diff --git a/PREVIEW-CHANGELOG.md b/PREVIEW-CHANGELOG.md index 258d67eae..63361579a 100644 --- a/PREVIEW-CHANGELOG.md +++ b/PREVIEW-CHANGELOG.md @@ -1,5 +1,32 @@ # Changelog +## 0.2.12 + +### Preview features + +- Add `--force` option to `uv toolchain install` ([#4313](https://github.com/astral-sh/uv/pull/4313)) +- Add `--no-build`, `--no-build-package`, and binary variants ([#4322](https://github.com/astral-sh/uv/pull/4322)) +- Add `EXTERNALLY-MANAGED` markers to managed toolchains ([#4312](https://github.com/astral-sh/uv/pull/4312)) +- Add `uv toolchain find` ([#4206](https://github.com/astral-sh/uv/pull/4206)) +- Add persistent configuration for non-`pip` APIs ([#4294](https://github.com/astral-sh/uv/pull/4294)) +- Add support for adding/removing development dependencies ([#4327](https://github.com/astral-sh/uv/pull/4327)) +- Add support for listing system toolchains ([#4172](https://github.com/astral-sh/uv/pull/4172)) +- Add support for toolchain requests by key ([#4332](https://github.com/astral-sh/uv/pull/4332)) +- Allow multiple toolchains to be requested in `uv toolchain install` ([#4334](https://github.com/astral-sh/uv/pull/4334)) +- Fix relative and absolute path handling in lockfiles ([#4266](https://github.com/astral-sh/uv/pull/4266)) +- Load configuration options from workspace root ([#4295](https://github.com/astral-sh/uv/pull/4295)) +- Omit project name from workspace errors ([#4299](https://github.com/astral-sh/uv/pull/4299)) +- Read Python version files during toolchain installs ([#4335](https://github.com/astral-sh/uv/pull/4335)) +- Remove extraneous installations in `uv sync` by default ([#4366](https://github.com/astral-sh/uv/pull/4366)) +- Respect `requires-python` in `uv lock` ([#4282](https://github.com/astral-sh/uv/pull/4282)) +- Respect workspace-wide `requires-python` in interpreter selection ([#4298](https://github.com/astral-sh/uv/pull/4298)) +- Support unnamed requirements in `uv add` ([#4326](https://github.com/astral-sh/uv/pull/4326)) +- Use portable slash paths in lockfile ([#4324](https://github.com/astral-sh/uv/pull/4324)) +- Use registry URL for fetching source distributions from lockfile ([#4280](https://github.com/astral-sh/uv/pull/4280)) +- `uv sync --no-clean` ([#4367](https://github.com/astral-sh/uv/pull/4367)) +- Filter dependencies by tracking markers on resolver forks ([#4339](https://github.com/astral-sh/uv/pull/4339)) +- Use `Requires-Python` to filter dependencies during universal resolution ([#4273](https://github.com/astral-sh/uv/pull/4273)) + ## 0.2.11 ### Preview features @@ -90,7 +117,6 @@ - ## 0.2.3 ### Preview features @@ -101,7 +127,6 @@ - ## 0.2.1 ### Preview features @@ -138,7 +163,6 @@ - ## 0.1.43 ### Preview features @@ -160,7 +184,6 @@ - ## 0.1.40 ### Preview features diff --git a/README.md b/README.md index cf29371ea..8d91434a9 100644 --- a/README.md +++ b/README.md @@ -53,8 +53,8 @@ curl -LsSf https://astral.sh/uv/install.sh | sh powershell -c "irm https://astral.sh/uv/install.ps1 | iex" # For a specific version. -curl -LsSf https://astral.sh/uv/0.2.11/install.sh | sh -powershell -c "irm https://astral.sh/uv/0.2.11/install.ps1 | iex" +curl -LsSf https://astral.sh/uv/0.2.12/install.sh | sh +powershell -c "irm https://astral.sh/uv/0.2.12/install.ps1 | iex" # With pip. pip install uv diff --git a/crates/uv-version/Cargo.toml b/crates/uv-version/Cargo.toml index 142e93285..667341a27 100644 --- a/crates/uv-version/Cargo.toml +++ b/crates/uv-version/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uv-version" -version = "0.2.11" +version = "0.2.12" edition = { workspace = true } rust-version = { workspace = true } homepage = { workspace = true } diff --git a/crates/uv/Cargo.toml b/crates/uv/Cargo.toml index d0882afc4..ec5a045f8 100644 --- a/crates/uv/Cargo.toml +++ b/crates/uv/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uv" -version = "0.2.11" +version = "0.2.12" edition = { workspace = true } rust-version = { workspace = true } homepage = { workspace = true } diff --git a/pyproject.toml b/pyproject.toml index 299612937..7fedd0d27 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "maturin" [project] name = "uv" -version = "0.2.11" +version = "0.2.12" description = "An extremely fast Python package installer and resolver, written in Rust." authors = [{ name = "Astral Software Inc.", email = "hey@astral.sh" }] requires-python = ">=3.8"