Releases: python-poetry/poetry
Releases · python-poetry/poetry
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 lock
was not deterministic (#10276). - Fix an issue where
poetry env activate
returned the wrong command fortcsh
(#10243). - Fix an issue where
poetry env activate
returned the wrong command forpwsh
on 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
extra
markers 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_version
markers was not recognized as empty (#849). - Fix an issue where
python_version
markers 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
build
command build-system agnostic (#10059, #10092). - Add a
--config-settings
option topoetry build
(#10059). - Add support for defining
config-settings
when building dependencies (#10129). - Add (experimental) commands to manage Python installations (#10112).
- Use
findpython
to find the Python interpreters (#10097). - Add a
--no-truncate
option topoetry show
(#9580). - Re-add support for passwords with empty usernames (#10088).
- Add better error messages (#10053, #10065, #10126, #10127, #10132).
Changed
poetry new
defaults 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 init
was not able to find a package on PyPI while adding dependencies interactively (#10055). - Fix an issue where the
@latest
descriptor 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 activate
reported a misleading error message (#10087). - Fix an issue where adding an optional dependency with
poetry add --optional
would not correctly update the lock file (#10076). - Fix an issue where
pip
was 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
keyring
simultaneously (#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
env
commands (#10027). - Clarify that the
name
andversion
fields are always required if theproject
section 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*.pyc
files were included in sdists and wheels (#835).
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).