Changelog¶
v1.0.1 (May 11, 2026)¶
Include docs and tests in sdist again (#322)
Fix long path issue on Windows (#321)
Fix date in changelog (#324)
Use
os.path.abspath()instead ofPath.resolve()for performance (#326)
v1.0.0 (Mar 28, 2026)¶
Drop support for Python 3.9, 3.8, and 3.7 (#305, #242, #206)
Add support and Python 3.13 and 3.14 (#201, #282)
Add
--overwrite-existingCLI option (#216)Add
--validate-recordCLI option (#161)Support installing multiple wheels (#203)
Handle invalid hash algorithms (#179)
Stream-based validation instead of in-memory (#98)
Add validate_stream methods (#99)
Consolidate and refine validation APIs (#108, #111)
Sort entries before writing RECORD (#245)
Do not install pycache from wheels (#307)
Fix a path traversal bug (#317)
Update launcher scripts and Windows behavior (#212, #181)
Fix Windows relpath bug (#286)
Migrate to dataclasses (#200)
Use cached_property for memoization (#243)
Refactor installer.scripts (#239)
Decouple test modules (#104)
Avoid cross-module imports from .utils (#102)
Lazy imports for performance (#226)
Complete type annotations and enforce strict mypy (#173)
Deprecate RecordEntry.validate (#186)
Fix documentation typos and grammar (#309, #210)
Improve docstrings and internal documentation (#100)
v0.7.0 (Mar 17, 2023)¶
Improve handling of non-normalized
.dist-infofolders (#168)Explicitly use
policy=compat32(#163)Normalize
RECORDfile paths when parsing (#152)Search wheels for
.dist-infodirectories (#137)Separate validation of
RECORD(#147, #167)
v0.6.0 (Dec 7, 2022)¶
Add support for Python 3.11 (#154)
Encode hashes in
RECORDfiles correctly (#141)Add
py.typedmarker file (#138)Implement
--prefixoption (#103)Fix the unbound
is_executable(#115)Construct
RECORDfile usingcsv.writer(#118)Move away from
import installer.xyzstyle imports (#110)Improve existing documentation content (typos, formatting) (#109)
v0.5.1 (Mar 11, 2022)¶
Change all names in
installer.__main__to be underscore prefixed.Update project URL after move to the
pypaorganisation.Rewrite imports to be compatible with
vendoring.
v0.5.0 (Feb 16, 2022)¶
Add a CLI, to install a wheel into the currently-running Python.
Convert Windows paths to
/separated when writingRECORD.Drop support for Python 3.6 and lower.
Preserve the executable bit from wheels being installed.
Write records in
RECORDwith relative paths.Improve API documentation.
v0.4.0 (Oct 13, 2021)¶
Pass schemes into
WheelDestination.finalize_installation.
v0.3.0 (Oct 11, 2021)¶
Add support for ARM 64 executables on Windows.
Improve handling of wheels that contain entries for directories.
v0.2.3 (Jul 29, 2021)¶
Fix entry point handling in
installer.install.
v0.2.2 (May 15, 2021)¶
Teach
SchemeDictionaryDestinationto create subfolders.
v0.2.1 (May 15, 2021)¶
Change
parse_record_fileto yield the elements as a tuple, instead ofRecordEntryobjects.Implement
WheelFile, completing the end-to-end wheel installation pipeline.Generate
RecordEntryforRECORDfile in theinstaller.install, instead of requiring everyWheelDestinationimplementation to do the exact same thing.
v0.2.0 (May 3, 2021)¶
Initial release.
Thank you to Dan Ryan and Tzu-ping Chung for the project name on PyPI. The PyPI releases before 0.2.0 come from https://github.com/sarugaku/installer and have been yanked.