diff --git a/CHANGELOG.md b/CHANGELOG.md index 21108ffda2..bcb6c6ddee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,45 @@ Unreleased changes are tracked as individual files in the [news/](./news) directory, or view the [latest generated changelog](https://rules-python.readthedocs.io/en/latest/changelog.html). +{#v2-2-0} +## [2.2.0] - 2026-06-30 + +[2.2.0]: https://github.com/bazel-contrib/rules_python/releases/tag/2.2.0 + +{#v2-2-0-changed} +### Changed +* Renamed most public bzl_library targets from `{foo}_bzl` to `{foo}` to follow +gazelle naming conventions. Deprecated aliases are left for backwards +compatibility. +* (binaries/tests) Added a deprecation warning for targets relying on implicit `__init__.py` creation. + +{#v2-2-0-fixed} +### Fixed +* Fixed a flaky error on Windows 2022 when looking up the win32 version during +site initialization by retrying the lookup +([#3721](https://github.com/bazel-contrib/rules_python/issues/3721)). +* (coverage) Skip lcov report when no data was collected. +* (pypi) Fixed `experimental_index_url` checking truthiness before envsubst +expansion. +* (rules) Fixed venv output paths for `py_binary` and `py_test` targets whose +names contain path separators so distinct targets with the same basename no +longer share the same venv output directory. + +{#v2-2-0-added} +### Added +* Added {bzl:obj}`features.loadable_symbols` to allow detecting public symbols +exported by bzl files. +* Exposed {bzl:obj}`VenvSymlinkEntry` and {bzl:obj}`VenvSymlinkKind` in +{bzl:target}`//python:py_info.bzl`. +* (pypi) Added `@pypi` repo: a unified hub of `pip.parse` hubs. +* (uv) Support for basic `uv.lock` generation via the `lock` rule +and basic support for importing the `uv.lock` file itself. Since this +may have bugs, please report this by creating new tickets. +Work towards [#2787](https://github.com/bazel-contrib/rules_python/issues/2787) +and [#1975](https://github.com/bazel-contrib/rules_python/issues/1975). + + + {#v2-1-0} ## [2.1.0] - 2026-06-17 diff --git a/docs/api/rules_python/python/config_settings/index.md b/docs/api/rules_python/python/config_settings/index.md index 7908a28190..6b7a150518 100644 --- a/docs/api/rules_python/python/config_settings/index.md +++ b/docs/api/rules_python/python/config_settings/index.md @@ -362,7 +362,7 @@ Values: specified concrete PyPI hub (corresponding to a {obj}`pip.parse.hub_name` value). -:::{versionadded} VERSION_NEXT_FEATURE +:::{versionadded} 2.2.0 ::: :::: diff --git a/docs/environment-variables.md b/docs/environment-variables.md index 983ae3cb5f..3eb62221c0 100644 --- a/docs/environment-variables.md +++ b/docs/environment-variables.md @@ -126,7 +126,7 @@ a warning is printed indicating that the renaming occurred. If not set (defaulti to `0`), a warning is printed advising to rename the hub, and the collision is not resolved. -:::{versionadded} VERSION_NEXT_FEATURE +:::{versionadded} 2.2.0 ::: ::: diff --git a/docs/pypi/download.md b/docs/pypi/download.md index 6705df1f3a..161a753645 100644 --- a/docs/pypi/download.md +++ b/docs/pypi/download.md @@ -53,7 +53,7 @@ downloading the same wheels numerous times. (unified-pypi-hub)= ## Unified `@pypi` Hub for Multi-Hub Configurations -:::{versionadded} VERSION_NEXT_FEATURE +:::{versionadded} 2.2.0 Unified `@pypi` hub repository for Bzlmod multi-hub configurations. ::: diff --git a/news/2945.changed.md b/news/2945.changed.md deleted file mode 100644 index c0ff002661..0000000000 --- a/news/2945.changed.md +++ /dev/null @@ -1 +0,0 @@ -(binaries/tests) Added a deprecation warning for targets relying on implicit `__init__.py` creation. diff --git a/news/3785.added.md b/news/3785.added.md deleted file mode 100644 index db0ec5602d..0000000000 --- a/news/3785.added.md +++ /dev/null @@ -1,5 +0,0 @@ -(uv) Support for basic `uv.lock` generation via the `lock` rule -and basic support for importing the `uv.lock` file itself. Since this -may have bugs, please report this by creating new tickets. -Work towards [#2787](https://github.com/bazel-contrib/rules_python/issues/2787) -and [#1975](https://github.com/bazel-contrib/rules_python/issues/1975). diff --git a/news/3828.fixed.md b/news/3828.fixed.md deleted file mode 100644 index 64de2cc925..0000000000 --- a/news/3828.fixed.md +++ /dev/null @@ -1,2 +0,0 @@ -(pypi) Fixed `experimental_index_url` checking truthiness before envsubst -expansion. diff --git a/news/3832.fixed.md b/news/3832.fixed.md deleted file mode 100644 index f1dd32df06..0000000000 --- a/news/3832.fixed.md +++ /dev/null @@ -1 +0,0 @@ -(coverage) Skip lcov report when no data was collected. diff --git a/news/3837.added.md b/news/3837.added.md deleted file mode 100644 index 6d3e4b5504..0000000000 --- a/news/3837.added.md +++ /dev/null @@ -1 +0,0 @@ -(pypi) Added `@pypi` repo: a unified hub of `pip.parse` hubs. diff --git a/news/expose-venv-symlink.added.md b/news/expose-venv-symlink.added.md deleted file mode 100644 index e339bb5d3f..0000000000 --- a/news/expose-venv-symlink.added.md +++ /dev/null @@ -1,2 +0,0 @@ -Exposed {bzl:obj}`VenvSymlinkEntry` and {bzl:obj}`VenvSymlinkKind` in -{bzl:target}`//python:py_info.bzl`. diff --git a/news/gazelle-bzl-library.changed.md b/news/gazelle-bzl-library.changed.md deleted file mode 100644 index 0d602110e3..0000000000 --- a/news/gazelle-bzl-library.changed.md +++ /dev/null @@ -1,3 +0,0 @@ -Renamed most public bzl_library targets from `{foo}_bzl` to `{foo}` to follow -gazelle naming conventions. Deprecated aliases are left for backwards -compatibility. diff --git a/news/loadable-symbols.added.md b/news/loadable-symbols.added.md deleted file mode 100644 index 7d92df7aea..0000000000 --- a/news/loadable-symbols.added.md +++ /dev/null @@ -1,2 +0,0 @@ -Added {bzl:obj}`features.loadable_symbols` to allow detecting public symbols -exported by bzl files. diff --git a/news/slash-target-venv-output.fixed.md b/news/slash-target-venv-output.fixed.md deleted file mode 100644 index 780b498db7..0000000000 --- a/news/slash-target-venv-output.fixed.md +++ /dev/null @@ -1,3 +0,0 @@ -(rules) Fixed venv output paths for `py_binary` and `py_test` targets whose -names contain path separators so distinct targets with the same basename no -longer share the same venv output directory. diff --git a/news/win32_version_lookup.fixed.md b/news/win32_version_lookup.fixed.md deleted file mode 100644 index 6f01c9e73c..0000000000 --- a/news/win32_version_lookup.fixed.md +++ /dev/null @@ -1,3 +0,0 @@ -Fixed a flaky error on Windows 2022 when looking up the win32 version during -site initialization by retrying the lookup -([#3721](https://github.com/bazel-contrib/rules_python/issues/3721)). diff --git a/python/features.bzl b/python/features.bzl index ee850ade9e..33323b8b65 100644 --- a/python/features.bzl +++ b/python/features.bzl @@ -54,7 +54,7 @@ def _features_typedef(): A map of bzl paths to the list of public symbols they export. - :::{versionadded} VERSION_NEXT_FEATURE + :::{versionadded} 2.2.0 ::: :::: diff --git a/python/private/py_info.bzl b/python/private/py_info.bzl index da9421606a..dac1ddeff3 100644 --- a/python/private/py_info.bzl +++ b/python/private/py_info.bzl @@ -125,7 +125,7 @@ def _VenvSymlinkEntryBuilder_typedef(): :type: DepsetBuilder[File] ::: - :::{versionadded} VERSION_NEXT_FEATURE + :::{versionadded} 2.2.0 ::: """ @@ -677,7 +677,7 @@ def _PyInfoBuilder_new(): def _PyInfoBuilder_add_venv_symlink(self): """Create and return a new VenvSymlinkEntryBuilder. - :::{versionadded} VERSION_NEXT_FEATURE + :::{versionadded} 2.2.0 ::: Args: diff --git a/python/private/pypi/extension.bzl b/python/private/pypi/extension.bzl index 62d2c8de16..02c5ad0c34 100644 --- a/python/private/pypi/extension.bzl +++ b/python/private/pypi/extension.bzl @@ -845,7 +845,7 @@ means if different programs need different versions of some library, separate hubs can be created, and each program can use its respective hub's targets. Targets from different hubs should not be used together. -:::{versionchanged} VERSION_NEXT_FEATURE +:::{versionchanged} 2.2.0 Using the hub name `"pypi"` is deprecated and is changed to `{module_name}_pypi` depending on the {envvar}`RULES_PYTHON_PYPI_HUB_RESERVED` environment variable. diff --git a/python/uv/private/lock.bzl b/python/uv/private/lock.bzl index 8caf0ed3de..695591e924 100644 --- a/python/uv/private/lock.bzl +++ b/python/uv/private/lock.bzl @@ -387,7 +387,7 @@ _lock = rule( The lock rule that does the locking in a build action and also prepares information for a `bazel run` executable rule. -:::{versionadded} VERSION_NEXT_FEATURE +:::{versionadded} 2.2.0 ::: """, attrs = _common_attrs | {