Releases: python-poetry/poetry
Releases · python-poetry/poetry
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).
2.0.1
Added
- Add support for
poetry searchin legacy sources (#9949). - Add a message in the
poetry source showoutput when PyPI is implicitly enabled (#9974).
Changed
- Improve performance for merging markers from overrides at the end of dependency resolution (#10018).
Fixed
- Fix an issue where
poetry syncdid not remove packages that were not requested (#9946). - Fix an issue where
poetry checkfailed even though there were just warnings and add a--strictoption to fail on warnings (#9983). - Fix an issue where
poetry update,poetry addandpoetry removewith--onlyuninstalled packages from other groups (#10014). - Fix an issue where
poetry update,poetry addandpoetry removeuninstalled all extra packages (#10016). - Fix an issue where
poetry self updatedid not recognize Poetry's own environment (#9995). - Fix an issue where read-only system site-packages were not considered when loading an environment with system site-packages (#9942).
- Fix an issue where an error message in
poetry installstarted withWarning:instead ofError:(#9945). - Fix an issue where
Command.set_poetry, which is used by plugins, was removed (#9981). - Fix an issue where the help text of
poetry build --cleanshowed a malformed short option instead of the description (#9994).
Docs
- Add a FAQ entry for the migration from Poetry-specific fields to the
projectsection (#9996). - Fix examples for
project.readmeandproject.urls(#9948). - Add a warning that package sources are a Poetry-specific feature that is not included in core metadata (#9935).
- Replace
poetry install --syncwithpoetry syncin the section about synchronizing dependencies (#9944). - Replace
poetry shellwithpoetry env activatein the basic usage section (#9963). - Mention that
project.nameis always required when theprojectsection is used (#9989). - Fix the constraint of
poetry-plugin-exportin the section aboutpoetry export(#9954).
poetry-core (2.0.1)
- Replace the deprecated core metadata field
Home-pagewithProject-URL: Homepage(#807). - Fix an issue where includes from
tool.poetry.packageswithout a specifiedformatwere not initialized with the default value resulting in aKeyError(#805). - Fix an issue where some
project.urlsentries were not processed correctly resulting in aKeyError(#807). - Fix an issue where dynamic
project.dependenciesviatool.poetry.dependencieswere ignored ifproject.optional-dependencieswere defined (#811).
2.0.0
Added
- Add support for the
projectsection in thepyproject.tomlfile according to PEP 621 (#9135, #9917). - Add support for defining Poetry plugins that are required by the project and automatically installed if not present (#9547).
- Lock resulting markers and groups and add a
installer.re-resolveoption (default:true) to allow installation without re-resolving (#9427). - Add a
--local-versionoption topoetry build(#9064). - Add a
--cleanoption topoetry build(#9067). - Add FIPS support for
poetry publish(#9101). - Add the option to use
poetry newinteractively and configure more fields (#9101). - Add a config option
installer.only-binaryto enforce the use of binary distribution formats (#9150). - Add support for
poetry searchin legacy sources (#9132). - Add support to resume downloads from connection resets (#9422).
- Add the option to define a constraint for the required Poetry version to manage the project (#9547).
- Add an
--all-groupsoption topoetry install(#9744). - Add an
poetry env activatecommand as replacement ofpoetry shell(#9763). - Add a
--markersoption topoetry addto add a dependency with markers (#9814). - Add a
--migrateoption topoetry configto migrate outdated configs (#9830). - Add a
--projectoption to search thepyproject.tomlfile in another directory without switching the directory (#9831). - Add support for shortened hashes to define git dependencies (#9748).
- Add partial support for conflicting extras (#9553).
- Add a
poetry synccommand as replacement ofpoetry install --sync(#9801).
Changed
- Change the default behavior of
poetry lockto--no-updateand introduce a--regenerateoption for the old default behavior (#9327). - Remove the dependency on
poetry-plugin-exportso thatpoetry exportis not included per default (#5980). - Outsource
poetry shellintopoetry-plugin-shell(#9763). - Change the interface of
poetry add --optionalto require an extra the optional dependency is added to (#9135). - Actually switch the directory when using
--directory/-C(#9831). - Drop support for Python 3.8 (#9692).
- Rename
experimental.system-git-clienttoexperimental.system-git(#9787, #9795). - Replace
virtualenvs.prefer-active-pythonby the inverse settingvirtualenvs.use-poetry-pythonand prefer the active Python by default (#9786). - Deprecate several fields in the
tool.poetrysection in favor of the respective fields in theprojectsection in thepyproject.tomlfile (#9135). - Deprecate
poetry install --syncin favor ofpoetry sync(#9801). - Upgrade the warning if the current project cannot be installed to an error (#9333).
- Remove special handling for
platformdirs 2.0macOS config directory (#8916). - Tweak PEP 517 builds (#9094).
- Use Poetry instead of pip to manage dependencies in isolated build environments (#9168, #9227).
- Trust empty
Requires-Distwith modern metadata (#9078). - Do PEP 517 builds instead of parsing
setup.pyto determine dependencies (#9099). - Drop support for reading lock files prior version 1.0 (created with Poetry prior 1.1) (#9345).
- Default to
>=instead of^for the Python requirement when initializing a new project (#9558). - Limit
build-systemto the current major version ofpoetry-corewhen initializing a new project (#9812). - Remove pip-based installation, i.e.
installer.modern-installation = false(#9392). - Remove
virtualenvs.options.no-setuptoolsconfig option and never includesetuptoolsper default (#9331). - Rename exceptions to have an
Errorsuffix (#9705). - Remove deprecated CLI options and methods and revoke the deprecation of
--dev(#9732). - Ignore installed packages during dependency resolution (#9851).
- Improve the error message on upload failure (#9701).
- Improve the error message if the current project cannot be installed to include another root cause (#9651).
- Improve the output of
poetry show <package>(#9750). - Improve the error message for build errors (#9870).
- Improve the error message when trying to remove a package from a project without any dependencies (#9918).
- Drop the direct dependency on
crashtest(#9108). - Require
keyring>=23.3.1(#9167). - Require
build>=1.2.1(#9283). - Require
dulwich>=0.22.6(#9748).
Fixed
- Fix an issue where git dependencies with extras could only be cloned if a branch was specified explicitly (#7028).
- Fix an issue where
poetry env removefailed ifvirtualenvs.in-projectwas set totrue(#9118). - Fix an issue where locking packages with a digit at the end of the name and non-standard sdist names failed (#9189).
- Fix an issue where credentials where not passed when trying to download an URL dependency (#9202).
- Fix an issue where using uncommon group names with
poetry addresulted in a brokenpyproject.toml(#9277). - Fix an issue where an inconsistent entry regarding the patch version of Python was kept in
envs.toml(#9286). - Fix an issue where relative paths were not resolved properly when using
poetry build --directory(#9433). - Fix an issue where unrequested extras were not uninstalled when running
poetry installwithout an existing lock file (#9345). - Fix an issue where the
poetry-checkpre-commit hook did not trigger if onlypoetry.lockhas changed (#9504). - Fix an issue where files (rather than directories) could not be added as single page source (#9166).
- Fix an issue where invalid constraints were generated when adding a package with a local version specifier (#9603).
- Fix several encoding warnings (#8893).
- Fix an issue where
virtualenvs.prefer-active-pythonwas not respected (#9278). - Fix an issue where the line endings of the lock file were changed (#9468).
- Fix an issue where installing multiple dependencies from the same git repository failed sporadically due to a race condition (#9658).
- Fix an issue where installing multiple dependencies from forked monorepos failed sporadically due to a race condition (#9723).
- Fix an issue where an extra package was not installed if it is requi...
1.8.5
1.8.4
1.8.3
Added
- Add support for untagged CPython builds with versions ending with a
+(#9207).
Changed
- Require
pkginfo>=1.10to ensure support for packages with metadata version 2.3 (#9130). - Improve locking on FIPS systems (#9152).
Fixed
- Fix an issue where unrecognized package metadata versions silently resulted in empty dependencies (#9203, #9226).
- Fix an issue where trailing slashes in git URLs where not handled correctly (#9205).
- Fix an issue where
poetry selfcommands printed a warning that the current project cannot be installed (#9302). - Fix an issue where
poetry installsporadically failed with aKeyErrordue to a race condition (#9335).
Docs
- Fix incorrect information about
poetry shell(#9060). - Add a git subdirectory example to
poetry add(#9080). - Mention interactive credential configuration (#9074).
- Add notes for optional advanced installation steps (#9098).
- Add reference to configuration credentials in documentation of poetry
publish(#9110). - Improve documentation for configuring credentials via environment variables (#9121).
- Remove misleading wording around virtual environments (#9213).
- Remove outdated advice regarding seeding keyring backends (#9164).
- Add a
pyproject.tomlexample for a dependency with multiple extras (#9138). - Clarify help of
poetry add(#9230). - Add a note how to configure credentials for TestPyPI for
poetry publish(#9255). - Fix information about the
--readmeoption inpoetry new(#9260). - Clarify what is special about the Python constraint in
dependencies(#9256). - Update how to uninstall plugins via
pipx(#9320).
1.8.2
Fixed
- Harden
lazy-wheelerror handling if the index server is behaving badly in an unexpected way (#9051). - Improve
lazy-wheelerror handling if the index server does not handle HTTP range requests correctly (#9082). - Improve
lazy-wheelerror handling if the index server pretends to support HTTP range requests but does not respect them (#9084). - Improve
lazy-wheelto allow redirects for HEAD requests (#9087). - Improve debug logging for
lazy-wheelerrors (#9059). - Fix an issue where the hash of a metadata file could not be calculated correctly due to an encoding issue (#9048).
- Fix an issue where
poetry addfailed in non-package mode if no project name was set (#9046). - Fix an issue where a hint to non-package mode was not compliant with the final name of the setting (#9073).
1.8.1
1.8.0
Added
- Add a
non-packagemode for use cases where Poetry is only used for dependency management (#8650). - Add support for PEP 658 to fetch metadata without having to download wheels (#5509).
- Add a
lazy-wheelconfig option (default:true) to reduce wheel downloads during dependency resolution (#8815, #8941). - Improve performance of dependency resolution by using shallow copies instead of deep copies (#8671).
poetry checkvalidates that no unknown sources are referenced in dependencies (#8709).- Add archive validation during installation for further hash algorithms (#8851).
- Add a
tokey intool.poetry.packagesto allow custom subpackage names (#8791). - Add a config option to disable
keyring(#8910). - Add a
--syncoption topoetry update(#8931). - Add an
--outputoption topoetry build(#8828). - Add a
--dist-diroption topoetry publish(#8828).
Changed
- The implicit PyPI source is disabled if at least one primary source is configured (#8771).
- Deprecate source priority
default(#8771). - Upgrade the warning about an inconsistent lockfile to an error (#8737).
- Deprecate setting
installer.modern-installationtofalse(#8988). - Drop support for
pip<19(#8894). - Require
requests-toolbelt>=1(#8680). - Allow
platformdirs4.x (#8668). - Allow and require
xattr1.x on macOS (#8801). - Improve venv shell activation in
fish(#8804). - Rename
systemtobasein output ofpoetry env info(#8832). - Use pretty name in output of
poetry version(#8849). - Improve error handling for invalid entries in
tool.poetry.scripts(#8898). - Improve verbose output for dependencies with extras during dependency resolution (#8834).
- Improve message about an outdated lockfile (#8962).
Fixed
- Fix an issue where
poetry shellfailed when Python has been installed with MSYS2 (#8644). - Fix an issue where Poetry commands failed in a terminal with a non-UTF-8 encoding (#8608).
- Fix an issue where a missing project name caused an incomprehensible error message (#8691).
- Fix an issue where Poetry failed to install an
sdistpath dependency (#8682). - Fix an issue where
poetry installfailed because an unused extra was not available (#8548). - Fix an issue where
poetry install --syncdid not remove an unrequested extra (#8621). - Fix an issue where
poetry initdid not allow specific characters in the author field (#8779). - Fix an issue where Poetry could not download
sdistsfrom misconfigured servers (#8701). - Fix an issue where metadata of sdists that call CLI tools of their build requirements could not be determined (#8827).
- Fix an issue where Poetry failed to use the currently activated environment (#8831).
- Fix an issue where
poetry shellfailed inzshif a space was in the venv path (#7245). - Fix an issue where scripts with extras could not be installed (#8900).
- Fix an issue where explicit sources where not propagated correctly (#8835).
- Fix an issue where debug prints where swallowed when using a build script (#8760).
- Fix an issue where explicit sources of locked dependencies where not propagated correctly (#8948).
- Fix an issue where Poetry's own environment was falsely identified as system environment (#8970).
- Fix an issue where dependencies from a
setup.pywere ignored silently (#9000). - Fix an issue where environment variables for
virtualenv.optionswere ignored (#9015). - Fix an issue where
virtualenvs.options.no-pipandvirtualenvs.options.no-setuptoolswere not normalized (#9015).
Docs
- Replace deprecated
--no-devwith--without devin the FAQ (#8659). - Recommend
poetry-checkinstead of the deprecatedpoetry-lockpre-commit hook (#8675). - Clarify the names of the environment variables to provide credentials for repositories (#8782).
- Add note how to install several version of Poetry in parallel (#8814).
- Improve description of
poetry show --why(#8817). - Improve documentation of
poetry update(#8706). - Add a warning about passing variables that may start with a hyphen via command line (#8850).
- Mention that the virtual environment in which Poetry itself is installed should not be activated (#8833).
- Add note about
poetry runand externally managed environments (#8748). - Update FAQ entry about
toxfortox4.x (#8658). - Fix documentation for default
formatoption forincludeandexcludevalue (#8852). - Add note about
toxand configured credentials (#8888). - Add note and link how to install
pipx(#8878). - Fix examples for
poetry addwith git dependencies over ssh (#8911). - Remove reference to deprecated scripts extras feature (#8903).
- Change examples to prefer
--only maininstead of--without dev(#8921). - Mention that the
developattribute is a Poetry-specific feature and not propagated to other tools (#8971). - Fix examples for adding supplemental and secondary sources (#8953).
- Add PyTorch example for explicit sources (#9006).
poetry-core (1.9.0)
- Deprecate scripts that depend on extras (#690).
- Add support for path dependencies that do not define a build system (#675).
- Update list of supported licenses (#659, #669, #678, #694).
- Rework list of files included in build artifacts (#666).
- Fix an issue where insignificant errors were printed if the working directory is not inside a git repository (#684).
- Fix an issue where the project's directory was not recognized as git repository on Windows due to an encoding issue (#685).