Changelog
### 0.3.9
```
~~~~~
Released: 2024-10-09
- scripts
- Merge 215: preload script wrappers on Windows to assist with a pip issue (thanks,
Paul Moore).
- Fix 220: Remove duplicated newline in shebang of windows launcher (thanks. A2uria).
- Fix 230: Add handling for cross-compilation environments (thanks, Russell Keith-Magee).
- util
- Fix 224: Do not use the absolute path to cache wheel extensions (thanks, Stewart Miles).
- wheel
- Fix 222: Support mounting wheels that use extensions without an EXTENSIONS file (thanks,
Stewart Miles).
- Fix 225: Add support for wheel compatibility with the limited API (thanks, Stewart Miles).
```
### 0.3.8
```
~~~~~
Released: 2023-12-12
- markers
- Fix 209: use legacy version implementation for Python versions.
- tests
- Fix 204: use symlinks in venv creation during test.
- Fix 208: handle deprecation removals in Python 3.13.
```
### 0.3.7
```
~~~~~
Released: 2023-07-17
- database
- Handle newlines when parsing metadata.
- markers
- Use version comparison logic for python_full_version. Thanks to Albert
Peschar for the patch.
- Simplify code with a set comprehension. Thanks to Christian Clauss for
the patch.
- scripts
- Fix shebang computation for source builds of Python. Thanks to Eli
Schwartz for the patch.
- util
- Extract tarfiles more safely by incorporating tarfile filters. Thanks to
Petr Viktorin for the patch.
- Check for 'has_cert' attribute before using it. Thanks to Lumir Balhar for
the patch.
- Fix 203: Handle parsing of export entries to allow script names such as
"," or ",foo". Thanks to Flavio Amurrio for the report.
- versions
- Fix 200: Improve conformance to PEP440. Thanks to GitHub user con-f-use
for the report.
In addition to the above, an SPDX license identifier is now used.
```
### 0.3.6
```
~~~~~
Released: 2022-08-26
- scripts
- Fixed 175: Updated launcher executables to better handle the relationship
between launcher and child process in the Job API.
```
### 0.3.5
```
~~~~~
Released: 2022-07-14
- database
- Fixed 170: Corrected implementation of ``get_required_dists()``.
- index
- Updated coverage pragmas for tests relating to obsolete PyPI APIs.
- locators
- Changed the default locator configuration.
- metadata
- Updates in support of PEP 643 / Metadata 2.2.
- scripts
- Updated launcher executables. Thanks to Michael Bikovitsky for his help with
the launcher changes.
- Fixed 164: Improved support for reproducible builds by allowing a fixed
date/time to be inserted into created .exe files. Thanks to Somber Night for the
patch.
- util
- Fixed 161: Updated test case.
- wheel
- Updated to write archive path of RECORD to RECORD instead of staging path.
Thanks to Pieter Pas for the patch.
- Fixed 169: Removed usage of deprecated imp module in favour of importlib.
- Fixed 172: Compute ABI correctly for Python < 3.8.
In addition to the above, setup.py was replaced by setup.cfg and pyproject.toml.
```
### 0.3.4
```
~~~~~
Released: 2021-12-08
- database
- Fixed 153: Raise warnings in get_distributions() if bad metadata seen, but keep
going.
- markers
- Fixed 154: Determine Python versions correctly for Python >= 3.10.
- scripts
- Updated launcher executables.
Code relating to support for Python 2.6 was also removed.
```
### 0.3.3
```
~~~~~
Released: 2021-09-22
- compat
- Fixed 152: Removed splituser() function which wasn't used and is deprecated.
- markers
- Fixed 149: Handle version comparisons correctly in environment markers.
- scripts
- Add ARM-64 launchers and support code to use them. Thanks to Niyas Sait and
Adrian Vladu for their contributions.
- util
- Fixed 148: Handle a single trailing comma following a version. Thanks to Blazej
Floch for the report and suggested fix.
- version
- Fixed 150: Fix incorrect handling of epochs.
- wheel
- Reverted handling of tags for Python >= 3.10 (use 310 rather than 3_10). This is
because PEP 641 was rejected.
- tests
- Made changes relating to implementing CI using GitHub Actions.
```
### 0.3.2
```
~~~~~
Released: 2021-05-29
- locators
- Fixed 141: removed unused regular expression.
- metadata
- Fixed 140: allowed "Obsoletes" in more scenarios, to better handle faulty
metadata already on PyPI.
- resources
- Fixed 146: added entry for SourcelessFileLoader to the finder registry.
- scripts
- Made the generation of scripts more configurable:
- the ``variant_separator`` attribute can be set to determine the separator used
between a script basename and its X.Y variant. The default value is ``'-'``
and would result in a final script basename like ``'foo-X.Y'``, whereas
setting it to ``''`` would result in a final script basename like
``'fooX.Y'``.
- You can also subclass and override the ``get_script_filenames()`` method to
provide a more customised set of file basenames.
- util
- Fixed 140: allowed a trailing comma in constraints, to better handle faulty
metadata already on PyPI.
- Moved get_platform() logic from distutils to here.
- Fixed 143: removed normcase() to avoid some problems on Windows.
- wheel
- Dropped any trailing data when computing the Python tag.
- Added support for manylinux tags.
- Changed handling of tags for Python >= 3.10 (use 3_10 rather than 310).
- Fixed 147: permission bits are now preserved on POSIX when installing from a
wheel.
- tests
- Fixed 139: improved handling of errors related to the test PyPI server.
```
Links
- PyPI: https://pypi.org/project/distlib
- Changelog: https://data.safetycli.com/changelogs/distlib/
- Repo: https://github.com/pypa/distlib
- Docs: https://pythonhosted.org/distlib/
This PR updates distlib from 0.3.1 to 0.3.9.
Changelog
### 0.3.9 ``` ~~~~~ Released: 2024-10-09 - scripts - Merge 215: preload script wrappers on Windows to assist with a pip issue (thanks, Paul Moore). - Fix 220: Remove duplicated newline in shebang of windows launcher (thanks. A2uria). - Fix 230: Add handling for cross-compilation environments (thanks, Russell Keith-Magee). - util - Fix 224: Do not use the absolute path to cache wheel extensions (thanks, Stewart Miles). - wheel - Fix 222: Support mounting wheels that use extensions without an EXTENSIONS file (thanks, Stewart Miles). - Fix 225: Add support for wheel compatibility with the limited API (thanks, Stewart Miles). ``` ### 0.3.8 ``` ~~~~~ Released: 2023-12-12 - markers - Fix 209: use legacy version implementation for Python versions. - tests - Fix 204: use symlinks in venv creation during test. - Fix 208: handle deprecation removals in Python 3.13. ``` ### 0.3.7 ``` ~~~~~ Released: 2023-07-17 - database - Handle newlines when parsing metadata. - markers - Use version comparison logic for python_full_version. Thanks to Albert Peschar for the patch. - Simplify code with a set comprehension. Thanks to Christian Clauss for the patch. - scripts - Fix shebang computation for source builds of Python. Thanks to Eli Schwartz for the patch. - util - Extract tarfiles more safely by incorporating tarfile filters. Thanks to Petr Viktorin for the patch. - Check for 'has_cert' attribute before using it. Thanks to Lumir Balhar for the patch. - Fix 203: Handle parsing of export entries to allow script names such as "," or ",foo". Thanks to Flavio Amurrio for the report. - versions - Fix 200: Improve conformance to PEP440. Thanks to GitHub user con-f-use for the report. In addition to the above, an SPDX license identifier is now used. ``` ### 0.3.6 ``` ~~~~~ Released: 2022-08-26 - scripts - Fixed 175: Updated launcher executables to better handle the relationship between launcher and child process in the Job API. ``` ### 0.3.5 ``` ~~~~~ Released: 2022-07-14 - database - Fixed 170: Corrected implementation of ``get_required_dists()``. - index - Updated coverage pragmas for tests relating to obsolete PyPI APIs. - locators - Changed the default locator configuration. - metadata - Updates in support of PEP 643 / Metadata 2.2. - scripts - Updated launcher executables. Thanks to Michael Bikovitsky for his help with the launcher changes. - Fixed 164: Improved support for reproducible builds by allowing a fixed date/time to be inserted into created .exe files. Thanks to Somber Night for the patch. - util - Fixed 161: Updated test case. - wheel - Updated to write archive path of RECORD to RECORD instead of staging path. Thanks to Pieter Pas for the patch. - Fixed 169: Removed usage of deprecated imp module in favour of importlib. - Fixed 172: Compute ABI correctly for Python < 3.8. In addition to the above, setup.py was replaced by setup.cfg and pyproject.toml. ``` ### 0.3.4 ``` ~~~~~ Released: 2021-12-08 - database - Fixed 153: Raise warnings in get_distributions() if bad metadata seen, but keep going. - markers - Fixed 154: Determine Python versions correctly for Python >= 3.10. - scripts - Updated launcher executables. Code relating to support for Python 2.6 was also removed. ``` ### 0.3.3 ``` ~~~~~ Released: 2021-09-22 - compat - Fixed 152: Removed splituser() function which wasn't used and is deprecated. - markers - Fixed 149: Handle version comparisons correctly in environment markers. - scripts - Add ARM-64 launchers and support code to use them. Thanks to Niyas Sait and Adrian Vladu for their contributions. - util - Fixed 148: Handle a single trailing comma following a version. Thanks to Blazej Floch for the report and suggested fix. - version - Fixed 150: Fix incorrect handling of epochs. - wheel - Reverted handling of tags for Python >= 3.10 (use 310 rather than 3_10). This is because PEP 641 was rejected. - tests - Made changes relating to implementing CI using GitHub Actions. ``` ### 0.3.2 ``` ~~~~~ Released: 2021-05-29 - locators - Fixed 141: removed unused regular expression. - metadata - Fixed 140: allowed "Obsoletes" in more scenarios, to better handle faulty metadata already on PyPI. - resources - Fixed 146: added entry for SourcelessFileLoader to the finder registry. - scripts - Made the generation of scripts more configurable: - the ``variant_separator`` attribute can be set to determine the separator used between a script basename and its X.Y variant. The default value is ``'-'`` and would result in a final script basename like ``'foo-X.Y'``, whereas setting it to ``''`` would result in a final script basename like ``'fooX.Y'``. - You can also subclass and override the ``get_script_filenames()`` method to provide a more customised set of file basenames. - util - Fixed 140: allowed a trailing comma in constraints, to better handle faulty metadata already on PyPI. - Moved get_platform() logic from distutils to here. - Fixed 143: removed normcase() to avoid some problems on Windows. - wheel - Dropped any trailing data when computing the Python tag. - Added support for manylinux tags. - Changed handling of tags for Python >= 3.10 (use 3_10 rather than 310). - Fixed 147: permission bits are now preserved on POSIX when installing from a wheel. - tests - Fixed 139: improved handling of errors related to the test PyPI server. ```Links
- PyPI: https://pypi.org/project/distlib - Changelog: https://data.safetycli.com/changelogs/distlib/ - Repo: https://github.com/pypa/distlib - Docs: https://pythonhosted.org/distlib/