Releases: python-poetry/poetry
Releases · python-poetry/poetry
2.4.1
2.4.0
Added
- Add
solver.min-release-agesetting to require package releases to be a certain number of days old before they are considered during dependency resolution (#10824). - Add
solver.min-release-age-excludeto exclude selected packages from age filtering (#10824). - Add
solver.min-release-age-exclude-sourceto exclude all packages from selected package indexes from age filtering (#10824).
Changed
- Raise an error instead of silently ignoring a package name that is not a dependency when it is passed to
poetry update(#10721). - Automatically add a trailing slash to legacy repository URLs (used for publishing) if missing (#10785).
- Require
installer>=1.0.0(#10869). - Allow
findpython>=0.8(#10874).
Fixed
- Fix an issue where
requires-pluginsfails on Windows if scheme paths are on different drives (#10869). - Fix an issue where the order of markers in the lock file was not deterministic (#10720).
- Fix an issue where the wrong command was suggested when
poetry selfcommands failed due to an outdated lock file (#10715). - Fix an issue where
poetry env activatedid not work for bash on Windows (#10716). - Fix an issue where
poetry debug resolvefailed when there was a package with a marker (#10807). - Fix an issue where the error message about a build backend failure contained garbled
--config-settings(#10804). - Fix an issue where a false warning about a circular dependency was printed (#10811).
- Fix an issue where falsy config values were incorrectly treated as not set (#10808).
- Fix an issue where
poetry publish --buildignored failing builds and uploaded stale artifacts (#10802). - Fix an issue where
poetry publishwas aborted instead of retrying after package registration (#10801). - Fix an issue where zip files were not closed after fetching metadata via
lazy-wheel(#10800). - Fix an issue where data fetched via
lazy-wheelwas corrupted when part of it had already been cached (#10806). - Fix an issue where further packages were installed even though installation should be aborted (#10742).
- Fix an issue where installed packages without a
METADATAfile caused an exception on Python 3.15+ (#10860). - Fix an issue where
http-basiccould not be set for repository names with periods (#10845). - Fix an issue where calculating the hash of large wheels failed with a memory error (#10814).
Docs
- Clarify the precedence of configuration sources (#10757).
- Add a note about the influence of
.gitignoreontool.poetry.packages(#10835).
poetry-core (2.4.0)
- Update vendored
packagingto26.2(#936).
2.3.4
2.3.3
Fixed
- Fix a path traversal vulnerability in the wheel installer that could allow malicious wheel files to write files outside the intended installation directory (#10792).
- Fix an issue where
gitdependencies from annotated tags could not be updated (#10719). - Fix an issue where empty
VIRTUAL_ENVorCONDA_PREFIXenvironment variables (e.g., afterconda deactivate) would cause Poetry to incorrectly detect an active virtualenv (#10784). - Fix an issue where an incomprehensible error message was printed when
.venvwas a file instead of a directory (#10777). - Fix an issue where HTTP Basic Authentication credentials could be corrupted during request preparation, causing authentication failures with long tokens (#10748).
- Fix an issue where
poetry publish --no-interaction --buildrequested user interaction (#10769). - Fix an issue where
poetry initandpoetry newcreated a deprecatedproject.licenseformat (#10787).
Docs
- Clarify the differences between
poetry installandpoetry update(#10713). - Clarify the section of fields in the
pyproject.tomlexamples (#10753). - Add a note about the different installation location when Python from the Microsoft Store is used (#10759).
- Fix the system requirements for Poetry (#10739).
- Fix the
poetry cache clearexample (#10749). - Fix the link to
pipxinstallation instructions (#10783).
poetry-core (2.3.2)
- Fix an issue where
platform_releasecould not be parsed on Debian Trixie (#930). - Fix an issue where using
project.readme.textin thepyproject.tomlfile resulted in broken metadata (#914). - Fix an issue where dependency groups were considered equal when their resolved dependencies were equal, even if the groups themselves were not (#919).
- Fix an issue where removing a dependency from a group that included another group resulted in other dependencies being added to the included group (#922).
- Fix an issue where PEP 735
include-groupentries were lost when[tool.poetry.group]also definedinclude-groupsfor the same group (#924). - Fix an issue where the union of
<value> not in <marker>constraints was wrongly treated as always satisfied (#925). - Fix an issue where a post release with a local version identifier was wrongly allowed by a
>version constraint (#921). - Fix an issue where a version with the local version identifier
0was treated as equal to the corresponding public version (#920). - Fix an issue where a
!= <version>constraint wrongly disallowed pre releases and post releases of the specified version (#929). - Fix an issue where
inandnot inconstraints were wrongly not allowed by specific compound constraints (#927).
2.3.2
2.3.1
2.3.0
Added
- Add support for exporting
pylock.tomlfiles withpoetry-plugin-export(#10677). - Add support for specifying build constraints for dependencies (#10388).
- Add support for publishing artifacts whose version is determined dynamically by the build-backend (#10644).
- Add support for editable project plugins (#10661).
- Check
requires-poetrybefore any other validation (#10593). - Validate the content of
project.readmewhen runningpoetry check(#10604). - Add the option to clear all caches by making the cache name in
poetry cache clearoptional (#10627). - Automatically update the cache for packages where the locked files differ from cached files (#10657).
- Suggest to clear the cache if running a command with
--no-cachesolves an issue (#10585). - Propose
poetry initwhen tryingpoetry newfor an existing directory (#10563). - Add support for
poetry publish --skip-existingfor new Nexus OSS versions (#10603). - Show Poetry's own Python's path in
poetry debug info(#10588).
Changed
- Drop support for Python 3.9 (#10634).
- Change the default of
installer.re-resolvefromtruetofalse(#10622). - PEP 735 dependency groups are considered in the lock file hash (#10621).
- Deprecate
poetry.utils._compat.metadata, which is sometimes used in plugins, in favor ofimportlib.metadata(#10634). - Improve managing free-threaded Python versions with
poetry python(#10606). - Prefer JSON API to HTML API in legacy repositories (#10672).
- When running
poetry init, only add the readme field in thepyproject.tomlif the readme file exists (#10679). - Raise an error if no hash can be determined for any distribution link of a package (#10673).
- Require
dulwich>=0.25.0(#10674).
Fixed
- Fix an issue where
poetry removedid not work for PEP 735 dependency groups withinclude-groupitems (#10587). - Fix an issue where
poetry removecaused danglinginclude-groupreferences in PEP 735 dependency groups (#10590). - Fix an issue where
poetry adddid not work for PEP 735 dependency groups withinclude-groupitems (#10636). - Fix an issue where PEP 735 dependency groups were not considered in the lock file hash (#10621).
- Fix an issue where wrong markers were locked for a dependency that was required by several groups with different markers (#10613).
- Fix an issue where non-deterministic markers were created in a method used by
poetry-plugin-export(#10667). - Fix an issue where wrong wheels were chosen for installation in free-threaded Python environments if Poetry itself was not installed with free-threaded Python (#10614).
- Fix an issue where
poetry publishused the metadata of the project instead of the metadata of the build artifact (#10624). - Fix an issue where
poetry env usejust used another Python version instead of failing when the requested version was not supported by the project (#10685). - Fix an issue where
poetry env activatereturned the wrong command fordash(#10696). - Fix an issue where
data-dirandpython.installation-dircould not be set (#10595). - Fix an issue where Python and pip executables were not correctly detected on Windows (#10645).
- Fix an issue where invalid template variables in
virtualenvs.promptcaused an incomprehensible error message (#10648).
Docs
- Add a warning about
~/.netrcfor Poetry credential configuration (#10630). - Clarify that the local configuration takes precedence over the global configuration (#10676).
- Add an explanation in which cases
packagesare automatically detected (#10680).
poetry-core (2.3.0)
- Normalize versions (#893).
- Fix an issue where unsatisfiable requirements did not raise an error (#891).
- Fix an issue where the implicit main group did not exist if it was explicitly declared as not having any dependencies (#892).
- Fix an issue where
python_full_versionmarkers with pre-release versions were parsed incorrectly (#893).
2.2.1
2.2.0
Added
- Add support for nesting dependency groups (#10166).
- Add support for PEP 735 dependency groups (#10130).
- Add support for PEP 639 license clarity (#10413).
- Add a
--formatoption topoetry showto alternatively output json format (#10487). - Add official support for Python 3.14 (#10514).
Changed
- Normalize dependency group names (#10387).
- Change
installer.no-binaryandinstaller.only-binaryso that explicit package names will take precedence over:all:(#10278). - Improve log output during
poetry installwhen a wheel is built from source (#10404). - Improve error message in case a file lock could not be acquired while cloning a git repository (#10535).
- Require
dulwich>=0.24.0(#10492). - Allow
virtualenv>=20.33again (#10506). - Allow
findpython>=0.7(#10510). - Allow
importlib-metadata>=8.7(#10511).
Fixed
- Fix an issue where
poetry newdid not create the project structure in an existing empty directory (#10431). - Fix an issue where a dependency that was required for a specific Python version was not installed into an environment of a pre-release Python version (#10516).
poetry-core (2.2.0)
2.1.4
Changed
- Require
virtualenv<20.33to work around an issue where Poetry uses the wrong Python version (#10491). - Improve the error messages for the validation of the
pyproject.tomlfile (#10471).
Fixed
- Fix an issue where project plugins were installed even though
poetry installwas called with--no-plugins(#10405). - Fix an issue where dependency resolution failed for self-referential extras with duplicate dependencies (#10488).