Releases: python-poetry/poetry
Releases · python-poetry/poetry
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).
Docs
2.1.3
Changed
- Require
importlib-metadata<8.7for Python 3.9 because of a breaking change in importlib-metadata 8.7 (#10374).
Fixed
- Fix an issue where re-locking failed for incomplete multiple-constraints dependencies with explicit sources (#10324).
- Fix an issue where the
--directoryoption did not work if a plugin, which accesses the poetry instance during its activation, was installed (#10352). - Fix an issue where
poetry env activate -vprinted additional information to stdout instead of stderr so that the output could not be used as designed (#10353). - Fix an issue where the original error was not printed if building a git dependency failed (#10366).
- Fix an issue where wheels for the wrong platform were installed in rare cases. (#10361).
poetry-core (2.1.3)
- Fix an issue where the union of specific inverse or partially inverse markers was not simplified (#858).
- Fix an issue where optional dependencies defined in the
projectsection were treated as non-optional when a source was defined for them in thetool.poetrysection (#857). - Fix an issue where markers with
===were not parsed correctly (#860). - Fix an issue where local versions with upper case letters caused an error (#859).
- Fix an issue where
extramarkers with a value starting with "in" were not validated correctly (#862).
2.1.2
Changed
- Improve performance of locking dependencies (#10275).
Fixed
- Fix an issue where markers were not locked correctly (#10240).
- Fix an issue where the result of
poetry lockwas not deterministic (#10276). - Fix an issue where
poetry env activatereturned the wrong command fortcsh(#10243). - Fix an issue where
poetry env activatereturned the wrong command forpwshon Linux (#10256).
Docs
- Update basic usage section to reflect new default layout (#10203).
poetry-core (2.1.2)
- Improve performance of marker operations (#851).
- Fix an issue where incorrect markers were calculated when removing parts covered by the project's Python constraint (#841, #846).
- Fix an issue where
extramarkers were not simplified (#842, #845, #847). - Fix an issue where the intersection and union of markers was not deterministic (#843).
- Fix an issue where the intersection of
python_versionmarkers was not recognized as empty (#849). - Fix an issue where
python_versionmarkers were not simplified (#848, #851). - Fix an issue where Python constraints on a package were converted into invalid markers (#853).
2.1.1
2.1.0
Added
- Make
buildcommand build-system agnostic (#10059, #10092). - Add a
--config-settingsoption topoetry build(#10059). - Add support for defining
config-settingswhen building dependencies (#10129). - Add (experimental) commands to manage Python installations (#10112).
- Use
findpythonto find the Python interpreters (#10097). - Add a
--no-truncateoption topoetry show(#9580). - Re-add support for passwords with empty usernames (#10088).
- Add better error messages (#10053, #10065, #10126, #10127, #10132).
Changed
poetry newdefaults to "src" layout by default (#10135).- Improve performance of locking dependencies (#10111, #10114, #10138, #10146).
- Deprecate adding sources without specifying
--priority(#10134).
Fixed
- Fix an issue where global options were not handled correctly when positioned after command options (#10021, #10067, #10128).
- Fix an issue where building a dependency from source failed because of a conflict between build-system dependencies that were not required for the target environment (#10048).
- Fix an issue where
poetry initwas not able to find a package on PyPI while adding dependencies interactively (#10055). - Fix an issue where the
@latestdescriptor was incorrectly passed to the core requirement parser (#10069). - Fix an issue where Boolean environment variables set to
True(in contrast totrue) were interpreted asfalse(#10080). - Fix an issue where
poetry env activatereported a misleading error message (#10087). - Fix an issue where adding an optional dependency with
poetry add --optionalwould not correctly update the lock file (#10076). - Fix an issue where
pipwas not installed/updated before other dependencies resulting in a race condition (#10102). - Fix an issue where Poetry freezes when multiple threads attempt to unlock the
keyringsimultaneously (#10062). - Fix an issue where markers with extras were not locked correctly (#10119).
- Fix an issue where self-referential extras were not resolved correctly (#10106).
- Fix an issue where Poetry could not be run from a
zipapp(#10074). - Fix an issue where installation failed with a permission error when using the system environment as a user without write access to system site packages (#9014).
- Fix an issue where a version of a dependency that is not compatible with the project's python constraint was locked. (#10141).
- Fix an issue where Poetry wrongly reported that the current project's supported Python range is not compatible with some of the required packages Python requirement (#10157).
- Fix an issue where the requested extras of a dependency were ignored if the same dependency (with same extras) was specified in multiple groups (#10158).
Docs
- Sort commands by name in the CLI reference (#10035).
- Add missing documentation for
envcommands (#10027). - Clarify that the
nameandversionfields are always required if theprojectsection is specified (#10033). - Add a note about restarting the shell for tab completion changes to take effect (#10070).
- Fix the example for
project.gui-scripts#10121. - Explain how to include files as scripts in the project configuration (#9572, #10133).
- Add additional information on specifying required python versions (#10104).
poetry-core (2.1.0)
- Fix an issue where inclusive ordering with post releases was inconsistent with PEP 440 (#379).
- Fix an issue where invalid URI tokens in PEP 508 requirement strings were silently discarded (#817).
- Fix an issue where wrong markers were calculated when removing parts covered by the project's python constraint (#824).
- Fix an issue where optional dependencies that are not part of an extra were included in the wheel metadata (#830).
- Fix an issue where the
__pycache__directory and*.pycfiles were included in sdists and wheels (#835).