-
Notifications
You must be signed in to change notification settings - Fork 17
Expand file tree
/
Copy pathChangeLog
More file actions
259 lines (206 loc) · 8.83 KB
/
ChangeLog
File metadata and controls
259 lines (206 loc) · 8.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
Version 2.0.1
-------------
* Open the .pex preamble from its canonical path (#292)
* Continue executing the .pex preamble if the .pex file is outside a Please repo (#293)
Version 2.0.0
-------------
* Use Please v17.24.2's `pleasew` script, which downloads the correct Please binary for linux_arm64 (#279)
* Implement run-time Python interpreter searching (#284)
The new `DefaultRuntimeInterpreters` plugin configuration option (and `runtime_interpreters` parameter for
`python_binary` and `python_test`) can be used to control which Python interpreters the .pex file attempts to execute
when it runs itself.
* Remove `InterpreterOptions` plugin configuration option (#288)
* Upgrade pytest to 9.0.1 (#285)
Breaking changes:
* .pex files generated by this plugin are now prepended by a native-code binary rather than a shell script. This entirely
removes .pex files' run-time dependency on `/bin/sh` and `/usr/bin/env`, but does now require them to be executed on
the same platform on which they were built, even if they only contain pure Python.
* The `InterpreterOptions` plugin configuration option has been removed in favour of the `DefaultRuntimeInterpreterArgs`
plugin configuration option and the `runtime_interpreter_args` parameter for `python_binary` and `python_test`.
* The `shebang` parameter for `python_binary` and `python_test` has been removed. Equivalent functionality is now
provided by `DefaultRuntimeInterpreterArgs` and `runtime_interpreter_args` (see above).
* pytest has been upgraded from 7.4.2 to 9.0.1 in the built-in pytest test runner. There are breaking changes between
these versions; see [pytest's changelog](https://docs.pytest.org/en/stable/changelog.html) for details.
Version 1.14.0
--------------
* Upgrade coverage to 7.10.7 in built-in test runners (#250)
* Support native-speed coverage tracing for `python_test`s under Python 3.14 (#250)
* Support native-speed coverage tracing for `python_test`s under musl and free-threaded Python interpreters (#250)
Version 1.13.0
--------------
* Allow overriding of repo-wide ModuleDir per `python_binary`, `python_test` and `python_wheel` (#240)
Version 1.12.2
--------------
* Bootstrap libraries are correctly included in pexes (#233)
Version 1.12.1
--------------
* Fix exploding of zip-unsafe pexes (#231)
Version 1.12.0
--------------
* Import hooks are now added in the `plz` module and are hence more usefully importable (#229)
Version 1.11.3
--------------
* Fix get_code on ModuleDirImport (#226)
Version 1.11.2
--------------
* please_pex now maps hyphens to underscores for resolving distribution metadata (#224)
Version 1.11.1
--------------
* Updated some deprecated functions in please_pex import hooks (#222)
Version 1.11.0
--------------
* Compile .pyc files for python_wheel (#221)
* Performance enhancements to please_pex (#219, #220)
Version 1.10.1
--------------
* Exclude in-repo interpreters from collection for pexes during remote execution (#218)
Version 1.10.0
--------------
* Support in-repo interpreters for tests & add a default shebang (#194)
Version 1.9.1
-------------
* Fix some cases of AttributeError turning up from importlib.metadata (#216)
Version 1.9.0
-------------
* `python_wheel` now takes `interpreter` as an argument and honours the config setting (#215)
Version 1.8.0
-------------
* Further remove support for unsupported versions of Python (#188, #191)
* Fix `DeprecationWarning`s in test suite under Python >= 3.12 (#196)
* Remove old version of NumPy from test suite (#195)
* Upgrade six to 1.16.0 in built-in test runners (#198)
* Remove unnecessary copy of six from unittest test runner (#199)
* Upgrade coverage to 7.6.4 in built-in test runners (#197)
* Add native-speed coverage tracing support for ARM64 platforms in built-in test runners (#209)
* Remove site-wide dependency on setuptools in test suite (#202)
* Fix distribution file enumeration under Python >= 3.12 in pex meta path finder (#208)
Version 1.7.4
-------------
* Remove stealth dependency on importlib-metadata in pex meta path finder (#176)
* Load distribution metadata for unimported modules in pex meta path finder (#178, #184)
Version 1.7.3
-------------
* Updated xmlrunner package
* Specify default value for `pip_compile_flags` config option (#158)
Version 1.7.2
-------------
* Allow the `name_scheme` argument to `python_wheel` to be a list instead of a single string.
* Update required Please version to 17.10.3 to avoid a memory consumption bug.
Version 1.7.1
-------------
* Bug: change so that every URL is passed with its individual --urls flag in python_wheel (#154)
* Add missing licences to third party python dependencies (#155, #156)
* Update go-rules to v1.21.1 and build tools with Go 1.23.0 (#157)
* Specify default value for pip_compile_flags config option (#158)
Version 1.7.0
-------------
* Always clean up exploded pex files when exiting the Python entry point
(#142)
* `python_test`: add `env` parameter (#140)
* `python_test`: make in-repo interpreter available to test at runtime
(#141)
* Add plugin configuration option `require_licences`, which controls
whether the `licences` parameter is mandatory for `pip_library` and
`python_wheel` (#128)
* Upgrade coverage to 7.5.0 (#139, #144)
Version 1.6.0
-------------
* Allow for use of the wheel tool to resolve to pypi if not found in urls
provided.
Version 1.5.2
-------------
* Have `python_wheel` provide the downloaded wheel file when `py_whl` is
required by a downstream target (#134)
Version 1.5.1
-------------
* Implement `find_spec` on import hooks in please_pex (#129) - quietens
runtime warnings from importlib._bootstrap.
Version 1.5.0
-------------
* Upgrade importlib in please_pex's bootstrap pex to 6.8.0 (#122) - note
that this increases the minimum Python version requirement for
python-rules to 3.8
Version 1.4.1
-------------
* Explicitly exit at the end of entry points generated by python_wheel's
entry_points feature (#120)
Version 1.4.0
-------------
* Use build.arcat config property instead of the deprecated java.jarcat
Version 1.3.0
-------------
* Allow pex files to be stamped based on their content hash rather than
the rule hash. This feature is gated behind the `content_hashing` feaure
flag which can be abled by adding it to the `python.featurefalgs` plugin
config variable (#107)
* Stop pex files starting the bedugger if they're not being ran as part of the
`plz debug` command. (#111)
Version 1.2.3
-------------
* Remove python hashes feature flag
Version 1.2.2
-------------
* Upgrade pytest to 7.2.2
* Add missing transitive dependencies for built-in test runners to
please_pex
Version 1.2.1
-------------
* Test for presence of --system option before invoking pip in pip_library
* Add missing third-party packages to built-in test runners
Version 1.2.0
-------------
* Allow python_wheel to be run as binary
Version 1.1.2
-------------
* Update config value in python_test build def to use new value
Version 1.1.1
-------------
* Remove go plugin preload which was causing issues in host repos
Version 1.1.0
-------------
* Point the pex tool at the releases page
Version 1.0.0
-------------
* Migrate old rules across from main please repo
Version 0.6.1
-------------
* Use remote file for tools #69
Version 0.6.0
-------------
* Set tool-related config to inherit from host repo #58
* Use wheel tool to download urls instead of wget #59
* Various small bug fixes
Version 0.5.2
-------------
* Restore the release of the wheel resolver tool #48
Version 0.5.1
-------------
* Fix issue where the default pex tool value pointing to the released artifact was breaking
our workflows. It nows reverts to point to the internal pex tool code, but the released
artifact can be used and set explicitly on the host repo if needed.
Version 0.5.0
-------------
* Release please_pex for all supported architectures #44
Version 0.4.1
-------------
* Pull please_pex from release page as remote_file
Version 0.4.0
-------------
* Add please_pex tool to releases page
* Improve error logging in wheel_resolver tool #39
* Make `WheelNameScheme` repeatable field #41
Version 0.3.0
-------------
* Remove @self target prefixes since targets are now relatively resolved since Please v16.19.0
Version 0.2.0
-------------
* Add `python_wheel` rule #14
* Add wheel resolver tool #15
* Add `README.md` file including usage and configuration #33
* Add debugging functionality to `python_binary` and `python_test` #34
Version 0.1.1
-------------
* Release tools
Version 0.1.0
-------------
* Initial commit