@@ -47,16 +47,16 @@ BEGIN_UNRELEASED_TEMPLATE
4747END_UNRELEASED_TEMPLATE
4848-->
4949
50- {#v0-0 -0}
51- ## Unreleased
50+ {#v1-9 -0}
51+ ## [ 1.9.0 ] - 2026-02-21
5252
53- [ 0.0 .0] : https://github.com/bazel-contrib/rules_python/releases/tag/0.0 .0
53+ [ 1.9 .0] : https://github.com/bazel-contrib/rules_python/releases/tag/1.9 .0
5454
55- {#v0-0 -0-removed}
55+ {#v1-9 -0-removed}
5656### Removed
5757* Nothing removed.
5858
59- {#v0-0 -0-changed}
59+ {#v1-9 -0-changed}
6060### Changed
6161* ** DEPRECATED: implicit zipapp support**
6262 * Implicit zipapp output of ` py_binary ` /` py_test ` has been deprecated and
@@ -69,18 +69,29 @@ END_UNRELEASED_TEMPLATE
6969 ` //python/config_setting/... ` and the ` @platforms ` package instead.
7070* (binaries/tests) The ` PYTHONBREAKPOINT ` environment variable is automatically inherited
7171* (binaries/tests) The {obj}` stamp ` attribute now transitions the Bazel builtin
72- {obj }` --stamp ` flag.
72+ {flag }` --stamp ` flag.
7373* (pypi) Now the RECORD file patches will follow the quoted or unquoted filenames convention
7474 in order to make ` pytorch ` and friends easier to patch.
75-
76- {#v0-0-0-fixed}
75+ * (wheel) ` py_wheel ` no longer expands the input depset during analysis,
76+ improving analysis performance for targets with large dependency trees.
77+ * (binaries/tests) (Windows) ` --enable_runfiles=true ` is the default for
78+ ` py_binary/py_test ` . Prior behavior can be restored by adding
79+ ` @rules_python//command_line_option:enable_runfiles=false ` or
80+ ` @rules_python//command_line_option:enable_runfiles=INHERIT ` to the
81+ ` config_settings ` attribute. NOTE: ` enable_runfiles=true ` will
82+ soon become ** required for Windows** .
83+
84+ {#v1-9-0-fixed}
7785### Fixed
7886* (runfiles) Fixed ` CurrentRepository() ` raising ` ValueError ` on Windows.
7987 ([ #3579 ] ( https://github.com/bazel-contrib/rules_python/issues/3579 ) )
8088* (tests) No more coverage warnings are being printed if there are no sources.
8189 ([ #2762 ] ( https://github.com/bazel-contrib/rules_python/issues/2762 ) )
8290* (gazelle) Ancestor ` conftest.py ` files are added in addition to sibling ` conftest.py ` .
83- ([ #3497 ] ( https://github.com/bazel-contrib/rules_python/issues/3497 ) )
91+ ([ #3497 ] ( https://github.com/bazel-contrib/rules_python/issues/3497 ) ) Note
92+ that this behavior can be reverted to the pre-1.9.0 behavior by setting the new
93+ ` python_include_ancestor_conftest ` directive to ` false ` .
94+ * (binaries/tests) Stamped build data generated by Windows actions is readable
8495* (pypi) ` pip_parse ` no longer silently drops PEP 508 URL-based requirements
8596 (` pkg @ https://... ` ) when ` extract_url_srcs=False ` (the default for
8697 ` pip_repository ` ).
@@ -89,14 +100,14 @@ END_UNRELEASED_TEMPLATE
89100 (e.g., ` sqlalchemy[postgresql-psycopg2binary] ` ).
90101 ([ #3587 ] ( https://github.com/bazel-contrib/rules_python/issues/3587 ) )
91102
92- {#v0-0 -0-added}
103+ {#v1-9 -0-added}
93104### Added
94105* (binaries/tests) {obj}` --debugger ` : allows specifying an extra dependency
95106 to add to binaries/tests for custom debuggers.
96107* (binaries/tests) Build information is now included in binaries and tests.
97108 Use the ` bazel_binary_info ` module to access it. The {flag}` --stamp ` flag will
98- add {flag }` --workspace_status ` information.
99- * (gazelle) A new directive ` python_generate_pyi_deps ` has been added. When
109+ add {obj }` --workspace_status_command ` information.
110+ * (gazelle) A new directive ` python_generate_pyi_srcs ` has been added. When
100111 ` true ` , a ` py_* ` target's ` pyi_srcs ` attribute will be set if any ` .pyi ` files
101112 that are associated with the target's ` srcs ` are present.
102113 ([ #3354 ] ( https://github.com/bazel-contrib/rules_python/issues/3354 ) ).
@@ -113,10 +124,37 @@ END_UNRELEASED_TEMPLATE
113124 {obj}` PyExecutableInfo.venv_python_exe ` .
114125* (tools/wheelmaker.py) Added support for URL requirements according to PEP 508
115126 in Requires-Dist metadata. ([ #3569 ] ( https://github.com/bazel-contrib/rules_python/pull/3569 ) )
127+ * (gazelle) A new directive ` python_include_ancestor_conftest ` has been added.
128+ When ` false ` , ancestor ` conftest ` targets are not automatically added to
129+ {bzl: obj }` py_test ` target dependencies. This ` false ` behavior is how things
130+ were in ` rules_python ` before 1.9.0. The default is ` true ` , as the prior behavior
131+ was technically incorrect.
132+ ([ #3596 ] ( https://github.com/bazel-contrib/rules_python/pull/3596 ) )
133+
134+
135+ {#v1-8-5}
136+ ## [ 1.8.5] - 2026-02-22
137+
138+ [ 1.8.5 ] : https://github.com/bazel-contrib/rules_python/releases/tag/1.8.5
139+
140+ {#v1-8-5-fixed}
141+ ### Fixed
142+ * (runfiles) Fixed ` CurrentRepository() ` raising ` ValueError ` on Windows.
143+ ([ #3579 ] ( https://github.com/bazel-contrib/rules_python/issues/3579 ) )
144+ * (pypi) ` pip_parse ` no longer silently drops PEP 508 URL-based requirements
145+ (` pkg @ https://... ` ) when ` extract_url_srcs=False ` (the default for
146+ ` pip_repository ` ).
147+ * (pypi) Extras in requirement strings are now normalized per PEP 685,
148+ fixing missing transitive dependencies when extras contain hyphens
149+ (e.g., ` sqlalchemy[postgresql-psycopg2binary] ` ).
150+ ([ #3587 ] ( https://github.com/bazel-contrib/rules_python/issues/3587 ) )
116151
117152{#v1-8-4}
118153## [ 1.8.4] - 2026-02-10
119154
155+ [ 1.8.4 ] : https://github.com/bazel-contrib/rules_python/releases/tag/1.8.4
156+
157+ {#v1-8-4-fixed}
120158### Fixed
121159* (pipstar): A corner case of evaluation of version specifiers (` "1.2" ~= "1.2.0" ` )
122160 has been fixed improving compatibility with the PEP440 standard.
@@ -128,6 +166,8 @@ END_UNRELEASED_TEMPLATE
128166{#v1-8-3}
129167## [ 1.8.3] - 2026-01-27
130168
169+ [ 1.8.3 ] : https://github.com/bazel-contrib/rules_python/releases/tag/1.8.3
170+
131171{#v1-8-3-fixed}
132172### Fixed
133173* (pipstar) Fix whl extraction on Windows when bazelrc has XX flags.
@@ -136,6 +176,8 @@ END_UNRELEASED_TEMPLATE
136176{#v1-8-2}
137177## [ 1.8.2] - 2026-01-24
138178
179+ [ 1.8.2 ] : https://github.com/bazel-contrib/rules_python/releases/tag/1.8.2
180+
139181{#v1-8-2-fixed}
140182### Fixed
141183* (venvs) relax the C library filename check to make tensorflow work
@@ -144,6 +186,8 @@ END_UNRELEASED_TEMPLATE
144186{#v1-8-1}
145187## [ 1.8.1] - 2026-01-20
146188
189+ [ 1.8.1 ] : https://github.com/bazel-contrib/rules_python/releases/tag/1.8.1
190+
147191{#v1-8-1-fixed}
148192### Fixed
149193* (pipstar) Extra resolution that refers back to the package being resolved works again.
@@ -166,7 +210,7 @@ END_UNRELEASED_TEMPLATE
166210 to pass the ` TOOL_VERSIONS ` that include 3.8 toolchains or use the ` bzlmod ` APIs to add
167211 them back. This means any hub ` pip.parse ` calls that target ` 3.8 ` will be ignored from
168212 now on. ([ #2704 ] ( https://github.com/bazel-contrib/rules_python/issues/2704 ) )
169- {object }` python.single_version_override ` , like:
213+ {bzl : obj }` python.single_version_override ` , like:
170214
171215 ``` starlark
172216 python = use_extension(" @rules_python//python/extensions:python.bzl" , " python" )
@@ -281,10 +325,10 @@ END_UNRELEASED_TEMPLATE
281325 [ #2949 ] ( https://github.com/bazel-contrib/rules_python/issues/2949 ) if you run into any
282326 problems.
283327 With this release we are deprecating {obj}` pip.parse.experimental_target_platforms ` and
284- {obj} ` pip_repository.experimental_target_platforms ` . For users using ` WORKSPACE ` and
328+ ` pip_repository.experimental_target_platforms ` . For users using ` WORKSPACE ` and
285329 vendoring the ` requirements.bzl ` file, please re-vendor so that downstream is unaffected
286330 when the APIs get removed. If you need to customize the way the dependencies get
287- evaluated, see [ our docs] ( /pypi/download.html#customizing-requires-dist-resolution ) on customizing ` Requires-Dist ` resolution.
331+ evaluated, see [ our docs] ( https://rules-python.readthedocs.io/en/latest /pypi/download.html#customizing-requires-dist-resolution) on customizing ` Requires-Dist ` resolution.
288332* (toolchains) Added Python versions 3.15.0a1, 3.14.0, 3.13.9, 3.12.12, 3.11.14, 3.10.19, and 3.9.24
289333 from the [ 20251014] release.
290334* (deps) (bzlmod) Upgraded to ` bazel-skylib ` version
@@ -364,7 +408,7 @@ END_UNRELEASED_TEMPLATE
364408 the right wheel when there are multiple wheels for the target platform
365409 (e.g. ` musllinux_1_1_x86_64 ` and ` musllinux_1_2_x86_64 ` ). If the user
366410 wants to set the minimum version for the selection algorithm, use the
367- {attr }` pip.defaults .whl_platform_tags ` attribute to configure that. If
411+ {obj }` pip.default .whl_platform_tags ` attribute to configure that. If
368412 ` musllinux_*_x86_64 ` is specified, we will choose the lowest available
369413 wheel version. Fixes [ #3250 ] ( https://github.com/bazel-contrib/rules_python/issues/3250 ) .
370414
0 commit comments