Releases: pex-tool/pex
pex 2.1.129
2.1.129
This release fixes a bug downloading a VCS requirement from a lock when
the ambient Python interpreter used to run Pex does not meet the
Requires-Python
constraint of the VCS requirement.
- Fix VCS lock downloads to respect target. (#2094)
pex 2.1.128
2.1.128
This release fixes a regression introduced in Pex 2.1.120 that caused
--no-venv-site-packages-copies
(the default when using --venv
)
to to be ignored for both zipapp PEXes (the default) and
--layout packed
PEXes.
- Fix regression in venv symlinking. (#2090)
pex 2.1.127
2.1.127
This release fixes --lock
resolve sub-setting for local project
requirements.
- Fix lock subsetting for local projects. (#2085)
pex 2.1.126
2.1.126
This release fixes a long standing (> 4 years old!) concurrency bug
when building the same sdist for the 1st time and racing another Pex
process doing the same sdist build.
- Guard against racing sdist builds. (#2080)
pex 2.1.125
2.1.125
This release makes --platform
and --complete-platform
resolves
and locks as permissive as possible. If such a resolve or lock only has
an sdist available for a certain project, that sdist will now be used if
it builds to a wheel compatible with the specified foreign platform(s).
- Attempt "cross-builds" of sdists for foreign platforms. (#2075)
pex 2.1.124
2.1.124
This release adds support for specifying --non-hermetic-venv-scripts
when building a --venv
PEX. This can be useful when integrating with
frameworks that do setup via PYTHONPATH
manipulation.
Support for Pip 23.0.1 and setuptools 67.4.0 is added via
--pip-version 23.0.1
.
Additionally, more work towards hardening Pex against rare concurrency
issues in its atomic directory handling is included.
pex 2.1.123
2.1.123
This release fixes a few pex3 lock create
bugs.
There was a regression introduced in Pex 2.1.122 where projects that
used a PEP-518 [build-system] requires
but specified no
corresponding build-backend
would fail to lock.
There were also two long standing issues handling more exotic direct
reference URL requirements. Source archives with names not following the
standard Python sdist naming scheme of
<project name>-<version>.{zip,tar.gz}
would cause a lock error. An
important class of these is provided by GitHub's magic source archive
download URLs. Also, although local projects addressed with Pip
proprietary support for pure local path requirements would lock, the
same local projects addressed via
<project name> @ file://<local project path>
would also cause a lock
error. Both of these cases are now fixed and can be locked successfully.
When locking with an --interpreter-constraint
, any resolve
traversing wheels using the pypyXY
or cpythonXY
python tags
would cause the lock to error. Wheels with this form of python tag are
now handled correctly.
pex 2.1.122
2.1.122
This release fixes posix file locks used by Pex internally and enhances
lock creation to support locking sdist-only C extension projects that
do not build on the current platform. Pex is also updated to support
--pip-version 22.3.1
and --pip-version 23.0
, bringing it up to date
with the latest Pip's available.
pex 2.1.121
pex 2.1.120
2.1.120
This release completes the --complete-platform
fix started in
Pex 2.1.116 by #1991. That fix did not work in all cases but now does.
PEXes run in interpreter mode now support command history when the
underlying interpreter being used to run the PEX does; use the
PEX_INTERPRETER_HISTORY
bool env var to turn this on.
Additionally, PEXes built with the combination
--layout loose --venv --no-venv-site-packages-copies
are fixed to
be robust to moves of the source loose PEX directory.