Releases: python-poetry/poetry
Releases · python-poetry/poetry
1.5.0
Added
- Introduce the new source priorities
explicitandsupplemental(#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
--executableoption topoetry env info(#7547). - Add
--top-leveloption topoetry show(#7415). - Add
--lockoption topoetry remove(#7917). - Add experimental
POETRY_REQUESTS_TIMEOUToption (#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
prioritykey for sources and deprecate flagsdefaultandsecondary(#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-Afterin 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.jsonof 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 installreturns a zero exit status even though the build script failed (#7812). - Fix an issue where an existing
.venvwas not used ifin-projectwas not set (#7792). - Fix an issue where multiple extras passed to
poetry addwere not parsed correctly (#7836). - Fix an issue where
poetry shelldid not send a newline tofish(#7884). - Fix an issue where
poetry update --lockprinted operations that were not executed (#7915). - Fix an issue where
poetry add --lockdid perform a full update of all dependencies (#7920). - Fix an issue where
poetry shelldid 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
tomlkitwithtomli, 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 buildcreated 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
RECORDfiles, 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 installdid not respect the requirements for building editable dependencies (#7579). - Fix an issue where
poetry initcrashed due to bad input when adding packages interactively (#7569). - Fix an issue where
poetry installignored thesubdirectoryargument of git dependencies (#7580). - Fix an issue where installing packages with
no-binarycould result in a false hash mismatch (#7594). - Fix an issue where the hash of sdists was neither validated nor written to the
direct_url.jsonduring installation (#7594). - Fix an issue where
poetry install --syncattempted to remove itself (#7626). - Fix an issue where wheels with non-normalized
dist-infodirectory names could not be installed (#7671). - Fix an issue where
poetry install --compilecompiled 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
@generatedcomment at the beginning of the lock file (#7339). - Add support for
virtualenvs.prefer-active-pythonwhen runningpoetry newandpoetry init(#7100).
Changed
- Deprecate the old installer, i.e. setting
experimental.new-installertofalse(#7358). - Remove unused
platformfield 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-metadatadependency (#7434). - Validate path dependencies during use instead of during construction (#6844).
- Remove the deprecated
repositorymodules (#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 checkdid not handle the-C, --directoryoption 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.jsonfiles 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
JSONDecodeErrorwhen 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 exportcan exportconstraints.txtfiles (#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
extrasare defined in the main dependency group (#542). - Poetry no longer generates a
setup.pyfile 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).
1.3.2
1.3.1
1.3.0
Added
- Mark the lock file with an
@generatedcomment as used by common tooling (#2773). poetry checkvalidates trove classifiers and warns for deprecations (#2881).- Introduce a top level
-C, --directoryoption to set the working path (#6810).
Changed
- New lock file format (version 2.0) (#6393).
- Path dependency metadata is unconditionally re-locked (#6843).
- URL dependency hashes are locked (#7121).
poetry updateandpoetry lockshould now resolve dependencies more similarly (#6477).poetry publishwill report more useful errors when a file does not exist (#4417).poetry addwill check for duplicate entries using canonical names (#6832).- Wheels are preferred to source distributions when gathering metadata (#6547).
- Git dependencies of extras are only fetched if the extra is requested (#6615).
- Invoke
pipwith--no-inputto prevent hanging without feedback (#6724, #6966). - Invoke
pipwith--isolatedto prevent the influence of user configuration (#6531). - Interrogate environments with Python in isolated (
-I) mode (#6628). - Raise an informative error when multiple version constraints overlap and are incompatible (#7098).
Fixed
- Fix an issue where concurrent instances of Poetry would corrupt the artifact cache (#6186).
- Fix an issue where Poetry can hang after being interrupted due to stale locking in cache (#6471).
- Fix an issue where the output of commands executed with
--dry-runcontained duplicate entries (#4660). - Fix an issue where
requests's pool size did not match the number of installer workers (#6805). - Fix an issue where
poetry show --outdatedfailed with a runtime error related to direct origin dependencies (#6016). - Fix an issue where only the last command of an
ApplicationPluginis registered (#6304). - Fix an issue where git dependencies were fetched unnecessarily when running
poetry lock --no-update(#6131). - Fix an issue where stdout was polluted with messages that should go to stderr (#6429).
- Fix an issue with
poetry shellactivation and zsh (#5795). - Fix an issue where a url dependencies were shown as outdated (#6396).
- Fix an issue where the
sourcefield of a dependency with extras was ignored (#6472). - Fix an issue where a package from the wrong source was installed for a multiple-constraints dependency with different sources (#6747).
- Fix an issue where dependencies from different sources where merged during dependency resolution (#6679).
- Fix an issue where
experimental.system-git-clientcould not be used via environment variable (#6783). - Fix an issue where Poetry fails with an
AssertionErrordue todistribution.filesbeingNone(#6788). - Fix an issue where
poetry env infodid not respectvirtualenvs.prefer-active-python(#6986). - Fix an issue where
poetry env listdoes not list the in-project environment (#6979). - Fix an issue where
poetry env removeremoved the wrong environment (#6195). - Fix an issue where the return code of a script was not relayed as exit code (#6824).
- Fix an issue where the solver could silently swallow
ValueError(#6790).
Docs
- Improve documentation of package sources (#5605).
- Correct the default cache path on Windows (#7012).
poetry-core (1.4.0)
- The PEP 517
metadata_directoryis now respected as an input to thebuild_wheelhook (#487). ParseConstraintErroris now raised on version and constraint parsing errors, and includes information on the package that caused the error (#514).- Fix an issue where invalid PEP 508 requirements were generated due to a missing space before semicolons (#510).
- Fix an issue where relative paths were encoded into package requirements, instead of a file:// URL as required by PEP 508 (#512).
poetry-plugin-export (^1.2.0)
- Ensure compatibility with Poetry 1.3.0. No functional changes.
cleo (^2.0.0)
1.2.2
Added
- Add forward compatibility for lock file format 2.0, which will be used by Poetry 1.3 (#6608).
Changed
- Allow
poetry lockto re-generate the lock file when invalid or incompatible (#6753).
Fixed
- Fix an issue where the deprecated JSON API was used to query PyPI for available versions of a package (#6081).
- Fix an issue where versions were escaped wrongly when building the wheel name (#6476).
- Fix an issue where the installation of dependencies failed if pip is a dependency and is updated in parallel to other dependencies (#6582).
- Fix an issue where the names of extras were not normalized according to PEP 685 (#6541).
- Fix an issue where sdist names were not normalized (#6621).
- Fix an issue where invalid constraints, which are ignored, were only reported in a debug message instead of a warning (#6730).
- Fix an issue where
poetry shellwas broken in git bash on Windows (#6560).
Docs
- Rework the README and contribution docs (#6552).
- Fix for inconsistent docs for multiple-constraint dependencies (#6604).
- Rephrase plugin configuration (#6557).
- Add a note about publishable repositories to
publish(#6641). - Fix the path for lazy-loaded bash completion (#6656).
- Fix a reference to the invalid option
--require(#6672). - Add a PowerShell one-liner to the basic usage section (#6683).
- Fix the minimum poetry version in the example for plugins (#6739).
poetry-core (1.3.2)
- Add
3.11to the list of available Python versions (#477). - Fix an issue where caret constraints of pre-releases with a major version of 0 resulted in an empty version range (#475).
poetry-plugin-export (^1.1.2)
1.2.1
Changed
Fixed
- Fix an issue where
poetry cache cleardid not respect the-n/--no-interactionflag (#6338). - Fix an issue where
poetry lock --no-updateupdated dependencies from non-PyPI package sources (#6335). - Fix a
poetry installperformance regression by falling back to internal pip (#6062). - Fix an issue where a virtual environment was created unnecessarily when running
poetry export(#6282). - Fix an issue where
poetry lock --no-updateadded duplicate hashes to the lock file (#6389). - Fix an issue where
poetry installfails because of missing hashes forurldependencies (#6389). - Fix an issue where Poetry was not able to update pip in Windows virtual environments (#6430).
- Fix an issue where Poetry was not able to install releases that contained less common link types (#5767).
- Fix a
poetry lockperformance regression when checking non-PyPI sources for yanked versions (#6442). - Fix an issue where
--no-cachewas not respected when runningpoetry install(#6479). - Fix an issue where deprecation warnings for
--devwere missing (#6475). - Fix an issue where Git dependencies failed to clone when
insteadOfwas used in.gitconfigusing the Dulwich Git client (#6506). - Fix an issue where no cache entry is found when calling
poetry cache clearwith a non-normalized package name (#6537). - Fix an invalid virtualenv constraint on Poetry (#6402).
- Fix outdated build system requirements for Poetry (#6509).
Docs
- Add missing path segment to paths used by install.python-poetry.org (#6311).
- Add recommendations about how to install Poetry in a CI environment (#6345).
- Fix examples for
--withand--without(#6318). - Update configuration folder path for macOS (#6395).
- Improve the description of the
virtualenv.createoption (#6460). - Clarify that
poetry installremoves dependencies of non-installed extras (#6229). - Add a note about
pre-commit autoupdateand Poetry's hooks (#6497).
1.2.0
Note that this release makes the new install format (and thus new installer or an alternative supported install method) a hard requirement.
If you are currently installing using the deprecated get-poetry.py, you will be unable to install Poetry 1.2.
Additionally, Poetry 1.1 installed using get-poetry.py will be not be able to update using poetry self update.
See the 1.2.0 release announcement for a summary of how to migrate to install.python-poetry.org if you fall into one of these two cases.