Releases: python-poetry/poetry
Releases · python-poetry/poetry
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).
poetry-plugin-export (^1.6.0
)
1.6.1
1.6.0
Added
- Add support for repositories that do not provide a supported hash algorithm (#8118).
- Add full support for duplicate dependencies with overlapping markers (#7257).
- Improve performance of
poetry lock
for certain edge cases (#8256). - Improve performance of
poetry install
(#8031). poetry check
validates that specifiedreadme
files do exist (#7444).- Add a downgrading note when updating to an older version (#8176).
- Add support for
vox
in thexonsh
shell (#8203). - Add support for
pre-commit
hooks for projects where the pyproject.toml file is located in a subfolder (#8204). - Add support for the
git+http://
scheme (#6619).
Changed
- Drop support for Python 3.7 (#7674).
- Move
poetry lock --check
topoetry check --lock
and deprecate the former (#8015). - Change future warning that PyPI will only be disabled automatically if there are no primary sources (#8151).
Fixed
- Fix an issue where
build-system.requires
were not respected for projects with build scripts (#7975). - Fix an issue where the encoding was not handled correctly when calling a subprocess (#8060).
- Fix an issue where
poetry show --top-level
did not show top level dependencies with extras (#8076). - Fix an issue where
poetry init
handled projects withsrc
layout incorrectly (#8218). - Fix an issue where Poetry wrote
.pth
files with the wrong encoding (#8041). - Fix an issue where
poetry install
did not respect the source if the same version of a package has been locked from different sources (#8304).
Docs
- Document official Poetry badge (#8066).
- Update configuration folder path for macOS (#8062).
- Add a warning about pip ignoring lock files (#8117).
- Clarify the use of the
virtualenvs.in-project
setting. (#8126). - Change
pre-commit
YAML style to be consistent with pre-commit's own examples (#8146). - Fix command for listing installed plugins (#8200).
- Mention the
nox-poetry
package (#8173). - Add an example with a PyPI source in the pyproject.toml file (#8171).
- Use
reference
instead of deprecatedcallable
in the scripts example (#8211).
poetry-core (1.7.0
)
- Improve performance of marker handling (#609).
- Allow
|
as a value separator in markers with the operatorsin
andnot in
(#608). - Put pretty name (instead of normalized name) in metadata (#620).
- Update list of supported licenses (#623).
- Fix an issue where PEP 508 dependency specifications with names starting with a digit could not be parsed (#607).
- Fix an issue where Poetry considered an unrelated
.gitignore
file resulting in an empty wheel (#611).
poetry-plugin-export (^1.5.0
)
- Fix an issue where markers for dependencies required by an extra were not generated correctly (#209).
1.5.1
Added
- Improve dependency resolution performance in cases with a lot of backtracking (#7950).
Changed
- Disable wheel content validation during installation (#7987).
Fixed
- Fix an issue where partially downloaded wheels were cached (#7968).
- Fix an issue where
poetry run
did no longer execute relative-path scripts (#7963). - Fix an issue where dependencies were not installed in
in-project
environments (#7977). - Fix an issue where no solution was found for a transitive dependency on a pre-release of a package (#7978).
- Fix an issue where cached repository packages were incorrectly parsed, leading to its dependencies being ignored (#7995).
- Fix an issue where an explicit source was ignored so that a direct origin dependency was used instead (#7973).
- Fix an issue where the installation of big wheels consumed a lot of memory (#7987).
Docs
- Add information about multiple constraints dependencies with direct origin and version dependencies (#7973).
poetry-core (1.6.1
)
- Fix an endless recursion in marker handling (#593).
- Fix an issue where the wheel tag was not built correctly under certain circumstances (#591).
poetry-plugin-export (^1.4.0
)
- Fix an issue where
--extra-index-url
and--trusted-host
was not generated for sources with priorityexplicit
(#205).
1.5.0
Added
- Introduce the new source priorities
explicit
andsupplemental
(#7658,
#6879). - Introduce the option to configure the priority of the implicit PyPI source (#7801).
- Add handling for corrupt cache files (#7453).
- Improve caching of URL and git dependencies (#7693,
#7473). - Add option to skip installing directory dependencies (#6845,
#7923). - Add
--executable
option topoetry env info
(#7547). - Add
--top-level
option topoetry show
(#7415). - Add
--lock
option topoetry remove
(#7917). - Add experimental
POETRY_REQUESTS_TIMEOUT
option (#7081). - Improve performance of wheel inspection by avoiding unnecessary file copy operations (#7916).
Changed
- Remove the old deprecated installer and the corresponding setting
experimental.new-installer
(#7356). - Introduce
priority
key for sources and deprecate flagsdefault
andsecondary
(#7658). - Deprecate
poetry run <entry point>
if the entry point was not previously installed viapoetry install
(#7606). - Only write the lock file if the installation succeeds (#7498).
- Do not write the unused package category into the lock file (#7637).
Fixed
- Fix an issue where Poetry's internal pyproject.toml continually grows larger with empty lines (#7705).
- Fix an issue where Poetry crashes due to corrupt cache files (#7453).
- Fix an issue where the
Retry-After
in HTTP responses was not respected and retries were handled inconsistently (#7072). - Fix an issue where Poetry silently ignored invalid groups (#7529).
- Fix an issue where Poetry does not find a compatible Python version if not given explicitly (#7771).
- Fix an issue where the
direct_url.json
of an editable install from a git dependency was invalid (#7473). - Fix an issue where error messages from build backends were not decoded correctly (#7781).
- Fix an infinite loop when adding certain dependencies (#7405).
- Fix an issue where pre-commit hooks skip pyproject.toml files in subdirectories (#7239).
- Fix an issue where pre-commit hooks do not use the expected Python version (#6989).
- Fix an issue where an unclear error message is printed if the project name is the same as one of its dependencies (#7757).
- Fix an issue where
poetry install
returns a zero exit status even though the build script failed (#7812). - Fix an issue where an existing
.venv
was not used ifin-project
was not set (#7792). - Fix an issue where multiple extras passed to
poetry add
were not parsed correctly (#7836). - Fix an issue where
poetry shell
did not send a newline tofish
(#7884). - Fix an issue where
poetry update --lock
printed operations that were not executed (#7915). - Fix an issue where
poetry add --lock
did perform a full update of all dependencies (#7920). - Fix an issue where
poetry shell
did not work withnushell
(#7919). - Fix an issue where subprocess calls failed on Python 3.7 (#7932).
- Fix an issue where keyring was called even though the password was stored in an environment variable (#7928).
Docs
- Add information about what to use instead of
--dev
(#7647). - Promote semantic versioning less aggressively (#7517).
- Explain Poetry's own versioning scheme in the FAQ (#7517).
- Update documentation for configuration with environment variables (#6711).
- Add details how to disable the virtualenv prompt (#7874).
- Improve documentation on whether to commit
poetry.lock
(#7506). - Improve documentation of
virtualenv.create
(#7608).
poetry-core (1.6.0
)
- Improve error message for invalid markers (#569).
- Increase robustness when deleting temporary directories on Windows (#460).
- Replace
tomlkit
withtomli
, which changes the interface of some internal classes (#483). - Deprecate
Package.category
(#561). - Fix a performance regression in marker handling (#568).
- Fix an issue where wildcard version constraints were not handled correctly (#402).
- Fix an issue where
poetry build
created duplicate Python classifiers if they were specified manually (#578). - Fix an issue where local versions where not handled correctly (#579).
1.4.2
Changed
- When trying to install wheels with invalid
RECORD
files, Poetry does not fail anymore but only prints a warning.
This mitigates an unintended change introduced in Poetry 1.4.1 (#7694).
Fixed
1.4.1
Fixed
- Fix an issue where
poetry install
did not respect the requirements for building editable dependencies (#7579). - Fix an issue where
poetry init
crashed due to bad input when adding packages interactively (#7569). - Fix an issue where
poetry install
ignored thesubdirectory
argument of git dependencies (#7580). - Fix an issue where installing packages with
no-binary
could result in a false hash mismatch (#7594). - Fix an issue where the hash of sdists was neither validated nor written to the
direct_url.json
during installation (#7594). - Fix an issue where
poetry install --sync
attempted to remove itself (#7626). - Fix an issue where wheels with non-normalized
dist-info
directory names could not be installed (#7671). - Fix an issue where
poetry install --compile
compiled with optimization level 1 (#7666).
Docs
1.4.0
Added
- Add a modern installer (
installer.modern-installation
) for faster installation of packages and independence from pip (#6205). - Add support for
Private ::
trove classifiers (#7271). - Add the version of poetry in the
@generated
comment at the beginning of the lock file (#7339). - Add support for
virtualenvs.prefer-active-python
when runningpoetry new
andpoetry init
(#7100).
Changed
- Deprecate the old installer, i.e. setting
experimental.new-installer
tofalse
(#7358). - Remove unused
platform
field from cached package info and bump the cache version (#7304). - Extra dependencies of the root project are now sorted in the lock file (#7375).
- Remove upper boundary for
importlib-metadata
dependency (#7434). - Validate path dependencies during use instead of during construction (#6844).
- Remove the deprecated
repository
modules (#7468).
Fixed
- Fix an issue where an unconditional dependency of an extra was not installed in specific environments (#7175).
- Fix an issue where a pre-release of a dependency was chosen even if a stable release fulfilled the constraint (#7225, #7236).
- Fix an issue where HTTP redirects were not handled correctly during publishing (#7160).
- Fix an issue where
poetry check
did not handle the-C, --directory
option correctly (#7241). - Fix an issue where the subdirectory information of a git dependency was not written to the lock file (#7367).
- Fix an issue where the wrong Python version was selected when creating an virtual environment (#7221).
- Fix an issue where packages that should be kept were uninstalled when calling
poetry install --sync
(#7389). - Fix an issue where an incorrect value was set for
sys.argv[0]
when running installed scripts (#6737). - Fix an issue where hashes in
direct_url.json
files were not written according to the specification (#7475). - Fix an issue where poetry commands failed due to special characters in the path of the project or virtual environment (#7471).
- Fix an issue where poetry crashed with a
JSONDecodeError
when running a Python script that produced certain warnings (#6665).
Docs
- Add advice on how to maintain a poetry plugin (#6977).
- Update tox examples to comply with the latest tox release (#7341).
- Mention that the
poetry export
can exportconstraints.txt
files (#7383). - Add clarifications for moving configuration files (#6864).
- Mention the different types of exact version specifications (#7503).
poetry-core (1.5.1
)
- Improve marker handling (#528, #534, #530, #546, #547).
- Validate whether dependencies referenced in
extras
are defined in the main dependency group (#542). - Poetry no longer generates a
setup.py
file in sdists by default (#318). - Fix an issue where trailing newlines were allowed in
tool.poetry.description
(#505). - Fix an issue where the name of the data folder in wheels was not normalized (#532).
- Fix an issue where the order of entries in the RECORD file was not deterministic (#545).
- Fix an issue where zero padding was not correctly handled in version comparisons (#540).
- Fix an issue where sdist builds did not support multiple READMEs (#486).
poetry-plugin-export (^1.3.0
)
- Fix an issue where the export failed if there was a circular dependency on the root package (#118).