Skip to content

Releases: pex-tool/pex

pex 2.3.1

12 Apr 14:44
v2.3.1
fa0995b
Compare
Choose a tag to compare

2.3.1

This release fixes Pex to respect lock file interpreter constraints and
target systems when downloading artifacts.

  • Fix lock downloads to use all lock info. (#2396)

pex 2.3.0

28 Mar 21:05
v2.3.0
1921ba4
Compare
Choose a tag to compare

2.3.0

This release introduces pex3 lock sync as a higher-level tool that
can be used to create and maintain a lock as opposed to using a
combination of pex3 lock create and pex3 lock update. When there is
no existing lock file, pex3 lock sync --lock lock.json ... is
equivalent to pex3 lock create --output lock.json ..., it creates a
new lock. On subsequent uses however,
pex3 lock sync --lock lock.json ... updates the lock file minimally to
meet any changed requirements or other changed lock settings.

This release also fixes pex --no-build --lock ... to work with lock
files also created with --no-build. The known case here is a
--style universal lock created with --no-build to achieve a
wheel-only universal lock.

This release includes a fix to clarify the conditions under which
--requierements-pex can be used to combine the third party
dependencies from a pre-built PEX into a new PEX; namely, that the PEXes
must use the same value for the --pre-install-wheels option.

Finally, this release fixes pex3 venv to handle venvs created by
Virtualenv on systems that distinguish purelib and platlib
site-packages directories. Red Hat distributions are a notable example
of this.

  • Implement pex3 lock sync. (#2373)
  • Guard against mismatched --requirements-pex. (#2392)
  • Fix pex --no-build --lock .... (#2390)
  • Fix Pex to handle venvs with multiple site-packages dirs. (#2383)

pex 2.2.2

29 Feb 06:00
v2.2.2
a09e83e
Compare
Choose a tag to compare

2.2.2

This release fixes pex3 lock create to handle .tar.bz2 and .tgz
sdists in addition to the officially sanctioned .tar.gz and (less
officially so) .zip sdists.

  • Handle .tar.bz2 & .tgz sdists when locking. (#2380)

pex 2.2.1

16 Feb 02:36
v2.2.1
17def2e
Compare
Choose a tag to compare

2.2.1

This release trims down the size of the Pex wheel on PyPI and the
released Pex PEX by about 20KB by consolidating image resources.

This release also fixes the release process to remove a window of time
when several links would be dead on at https://docs.pex-tool.org that
pointed to release artifacts that were not yet fully deployed.

  • Fix release ordering of the doc site deploy. (#2369)
  • Trim embedded doc image assets. (#2368)

pex 2.2.0

15 Feb 03:22
v2.2.0
c783c64
Compare
Choose a tag to compare

2.2.0

This release adds tools to interact with Pex's new embedded offline
documentation. You can browse those docs with pex --docs or, more
flexibly, with pex3 docs. See pex3 docs --help for all the options
available.

This release also returns to SemVer versioning
practices. Simply, you can expect 3 things from Pex version numbers:

  • The first component (the major version) will remain 2 as long as
    possible. Pex tries very hard to never break existing users and to
    allow them to upgrade without fear of breaking. This includes not
    breaking Python compatibility. In Pex 2, Python 2.7 is supported as
    well as Python 3.5+ for both CPython and PyPy. Pex will only continue
    to add support for new CPython and PyPy releases and never remove
    support for already supported Python versions while the major version
    remains 2.
  • The second component (the minor version) will be incremented whenever
    a release adds a feature. Since Pex is a command line tool only (not
    a library), this means you can expect a new subcommand, a new option,
    or a new allowable option value was added. Bugs might also have been
    fixed.
  • The third component (the patch version) indicates only bugs were
    fixed.

You can expect the minor version to get pretty big going forward!

  • Add pex --docs and several pex3 docs options. (#2365)

pex 2.1.164

14 Feb 07:17
v2.1.164
c5dbcb4
Compare
Choose a tag to compare

2.1.164

This release moves Pex documentation from https://pex.readthedocs.io to
https://docs.pex-tool.org. While legacy versioned docs will remain
available at RTD in perpetuity, going forward only the latest Pex
release docs will be available online at the https://docs.pex-tool.org
site. If you want to see the Pex docs for the version you are currently
using, Pex now supports the pex3 docs command which will serve the
docs for your Pex version locally, offline, but with full functionality,
including search.

  • Re-work Pex documentation. (#2362)

pex 2.1.163

07 Feb 14:54
v2.1.163
79a4d86
Compare
Choose a tag to compare

2.1.163

This release fixes Pex to work in certain OS / SSL environments where it
did not previously. In particular, under certain Fedora distributions
using certain Python Build Standalone interpreters.

  • Create SSLContexts in the main thread. (#2356)

pex 2.1.162

06 Feb 02:23
v2.1.162
a32dd36
Compare
Choose a tag to compare

2.1.162

This release adds support for --pip-version 24.0 as well as fixing a
bug in URL encoding for artifacts in lock files. Notably, torch's use of
local version identifiers (+cpu) combined with their find links page
at https://download.pytorch.org/whl/torch_stable.html would lead to
pex3 lock create errors.

  • Add support for Pip 24.0. (#2350)
  • Fix URL escaping for lock artifacts. (#2349)

pex 2.1.161

26 Jan 18:26
v2.1.161
23c3c06
Compare
Choose a tag to compare

2.1.161

This release adds support for --only-wheel <project name> and
--only-build <project name> to allow finer control over which
distribution artifacts are resolved when building a PEX or creating or
updating a lock file. These options correspond to Pip's --only-binary
and --no-binary options with project name arguments.

  • Plumb Pip's --{no,only}-binary. (#2346)

pex 2.1.160

22 Jan 02:35
v2.1.160
015a077
Compare
Choose a tag to compare

2.1.160

This release adds the ability for pex3 lock update to replace
requirements in a lock or delete them from the lock using
-R / --replace-project and -d / --delete-project, respectively.

  • Lock updates support deleting & replacing reqs. (#2335)