Releases: python-poetry/poetry
Releases · python-poetry/poetry
2.0.1
Added
- Add support for
poetry search
in legacy sources (#9949). - Add a message in the
poetry source show
output 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 sync
did not remove packages that were not requested (#9946). - Fix an issue where
poetry check
failed even though there were just warnings and add a--strict
option to fail on warnings (#9983). - Fix an issue where
poetry update
,poetry add
andpoetry remove
with--only
uninstalled packages from other groups (#10014). - Fix an issue where
poetry update
,poetry add
andpoetry remove
uninstalled all extra packages (#10016). - Fix an issue where
poetry self update
did 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 install
started 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 --clean
showed a malformed short option instead of the description (#9994).
Docs
- Add a FAQ entry for the migration from Poetry-specific fields to the
project
section (#9996). - Fix examples for
project.readme
andproject.urls
(#9948). - Add a warning that package sources are a Poetry-specific feature that is not included in core metadata (#9935).
- Replace
poetry install --sync
withpoetry sync
in the section about synchronizing dependencies (#9944). - Replace
poetry shell
withpoetry env activate
in the basic usage section (#9963). - Mention that
project.name
is always required when theproject
section is used (#9989). - Fix the constraint of
poetry-plugin-export
in the section aboutpoetry export
(#9954).
poetry-core (2.0.1
)
- Replace the deprecated core metadata field
Home-page
withProject-URL: Homepage
(#807). - Fix an issue where includes from
tool.poetry.packages
without a specifiedformat
were not initialized with the default value resulting in aKeyError
(#805). - Fix an issue where some
project.urls
entries were not processed correctly resulting in aKeyError
(#807). - Fix an issue where dynamic
project.dependencies
viatool.poetry.dependencies
were ignored ifproject.optional-dependencies
were defined (#811).
2.0.0
Added
- Add support for the
project
section in thepyproject.toml
file 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-resolve
option (default:true
) to allow installation without re-resolving (#9427). - Add a
--local-version
option topoetry build
(#9064). - Add a
--clean
option topoetry build
(#9067). - Add FIPS support for
poetry publish
(#9101). - Add the option to use
poetry new
interactively and configure more fields (#9101). - Add a config option
installer.only-binary
to enforce the use of binary distribution formats (#9150). - Add support for
poetry search
in 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-groups
option topoetry install
(#9744). - Add an
poetry env activate
command as replacement ofpoetry shell
(#9763). - Add a
--markers
option topoetry add
to add a dependency with markers (#9814). - Add a
--migrate
option topoetry config
to migrate outdated configs (#9830). - Add a
--project
option to search thepyproject.toml
file 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 sync
command as replacement ofpoetry install --sync
(#9801).
Changed
- Change the default behavior of
poetry lock
to--no-update
and introduce a--regenerate
option for the old default behavior (#9327). - Remove the dependency on
poetry-plugin-export
so thatpoetry export
is not included per default (#5980). - Outsource
poetry shell
intopoetry-plugin-shell
(#9763). - Change the interface of
poetry add --optional
to 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-client
toexperimental.system-git
(#9787, #9795). - Replace
virtualenvs.prefer-active-python
by the inverse settingvirtualenvs.use-poetry-python
and prefer the active Python by default (#9786). - Deprecate several fields in the
tool.poetry
section in favor of the respective fields in theproject
section in thepyproject.toml
file (#9135). - Deprecate
poetry install --sync
in favor ofpoetry sync
(#9801). - Upgrade the warning if the current project cannot be installed to an error (#9333).
- Remove special handling for
platformdirs 2.0
macOS 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-Dist
with modern metadata (#9078). - Do PEP 517 builds instead of parsing
setup.py
to 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-system
to the current major version ofpoetry-core
when initializing a new project (#9812). - Remove pip-based installation, i.e.
installer.modern-installation = false
(#9392). - Remove
virtualenvs.options.no-setuptools
config option and never includesetuptools
per default (#9331). - Rename exceptions to have an
Error
suffix (#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 remove
failed ifvirtualenvs.in-project
was 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 add
resulted 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 install
without an existing lock file (#9345). - Fix an issue where the
poetry-check
pre-commit hook did not trigger if onlypoetry.lock
has 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-python
was 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.10
to 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 self
commands printed a warning that the current project cannot be installed (#9302). - Fix an issue where
poetry install
sporadically failed with aKeyError
due 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.toml
example 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
--readme
option 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-wheel
error handling if the index server is behaving badly in an unexpected way (#9051). - Improve
lazy-wheel
error handling if the index server does not handle HTTP range requests correctly (#9082). - Improve
lazy-wheel
error handling if the index server pretends to support HTTP range requests but does not respect them (#9084). - Improve
lazy-wheel
to allow redirects for HEAD requests (#9087). - Improve debug logging for
lazy-wheel
errors (#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 add
failed 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-package
mode 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-wheel
config 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 check
validates that no unknown sources are referenced in dependencies (#8709).- Add archive validation during installation for further hash algorithms (#8851).
- Add a
to
key intool.poetry.packages
to allow custom subpackage names (#8791). - Add a config option to disable
keyring
(#8910). - Add a
--sync
option topoetry update
(#8931). - Add an
--output
option topoetry build
(#8828). - Add a
--dist-dir
option 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-installation
tofalse
(#8988). - Drop support for
pip<19
(#8894). - Require
requests-toolbelt>=1
(#8680). - Allow
platformdirs
4.x (#8668). - Allow and require
xattr
1.x on macOS (#8801). - Improve venv shell activation in
fish
(#8804). - Rename
system
tobase
in 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 shell
failed 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
sdist
path dependency (#8682). - Fix an issue where
poetry install
failed because an unused extra was not available (#8548). - Fix an issue where
poetry install --sync
did not remove an unrequested extra (#8621). - Fix an issue where
poetry init
did not allow specific characters in the author field (#8779). - Fix an issue where Poetry could not download
sdists
from 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 shell
failed inzsh
if 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.py
were ignored silently (#9000). - Fix an issue where environment variables for
virtualenv.options
were ignored (#9015). - Fix an issue where
virtualenvs.options.no-pip
andvirtualenvs.options.no-setuptools
were not normalized (#9015).
Docs
- Replace deprecated
--no-dev
with--without dev
in the FAQ (#8659). - Recommend
poetry-check
instead of the deprecatedpoetry-lock
pre-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 run
and externally managed environments (#8748). - Update FAQ entry about
tox
fortox
4.x (#8658). - Fix documentation for default
format
option forinclude
andexclude
value (#8852). - Add note about
tox
and configured credentials (#8888). - Add note and link how to install
pipx
(#8878). - Fix examples for
poetry add
with git dependencies over ssh (#8911). - Remove reference to deprecated scripts extras feature (#8903).
- Change examples to prefer
--only main
instead of--without dev
(#8921). - Mention that the
develop
attribute 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).
1.7.1
Fixed
- Fix an issue where sdists that call CLI tools of their build requirements could not be installed (#8630).
- Fix an issue where sdists with symlinks could not be installed due to a broken tarfile datafilter (#8649).
- Fix an issue where
poetry init
failed when trying to add dependencies (#8655). - Fix an issue where
poetry install
failed ifvirtualenvs.create
was set tofalse
(#8672).
1.7.0
Added
- Add official support for Python 3.12 (#7803, #8544).
- Print a future warning that
poetry-plugin-export
will not be installed by default anymore (#8562). - Add
poetry-install
pre-commit hook (#8327). - Add
--next-phase
option topoetry version
(#8089). - Print a warning when overwriting files from another package at installation (#8386).
- Print a warning if the current project cannot be installed (#8369).
- Report more details on build backend exceptions (#8464).
Changed
- Set Poetry as
user-agent
for all HTTP requests (#8394). - Do not install
setuptools
per default in Python 3.12 (#7803). - Do not install
wheel
per default (#7803). - Remove
setuptools
andwheel
when runningpoetry install --sync
if they are not required by the project (#8600). - Improve error message about PEP-517 support (#8463).
- Improve
keyring
handling (#8227). - Read the
description
field when extracting metadata fromsetup.py
files (#8545).
Fixed
- Fix an issue where dependencies of inactive extras were locked and installed (#8399).
- Fix an issue where build requirements were not installed due to a race condition in the artifact cache (#8517).
- Fix an issue where packages included in the system site packages were installed even though
virtualenvs.options.system-site-packages
was set (#8359). - Fix an issue where git dependencies' submodules with relative URLs were handled incorrectly (#8020).
- Fix an issue where a failed installation of build dependencies was not noticed directly (#8479).
- Fix an issue where
poetry shell
did not work completely withnushell
(#8478). - Fix an issue where a confusing error messages was displayed when running
poetry config pypi-token.pypi
without a value (#8502). - Fix an issue where a cryptic error message is printed if there is no metadata entry in the lockfile (#8523).
- Fix an issue with the encoding with special characters in the virtualenv's path (#8565).
- Fix an issue where the connection pool size was not adjusted to the number of workers (#8559).
Docs
- Improve the wording regarding a project's supported Python range (#8423).
- Make
pipx
the preferred (first mentioned) installation method (#8090). - Add a warning about
poetry self
on Windows (#8090). - Fix example for
poetry add
with a git dependency (#8438). - Add information about auto-included files in wheels and sdist (#8555).
- Fix documentation of the
POETRY_REPOSITORIES_
variables docs (#8492). - Add
CITATION.cff
file (#8510).
poetry-core (1.8.1
)
- Add support for creating packages dynamically in the build script (#629).
- Improve marker logic for
extra
markers (#636). - Update list of supported licenses (#635, #646).
- Fix an issue where projects with extension modules were not installed in editable mode (#633).
- Fix an issue where the wrong or no
lib
folder was added to the wheel (#634).