Releases: python-poetry/poetry
1.3.1
1.3.0
Added
- Mark the lock file with an
@generated
comment as used by common tooling (#2773). poetry check
validates trove classifiers and warns for deprecations (#2881).- Introduce a top level
-C, --directory
option 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 update
andpoetry lock
should now resolve dependencies more similarly (#6477).poetry publish
will report more useful errors when a file does not exist (#4417).poetry add
will 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
pip
with--no-input
to prevent hanging without feedback (#6724, #6966). - Invoke
pip
with--isolated
to 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-run
contained 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 --outdated
failed with a runtime error related to direct origin dependencies (#6016). - Fix an issue where only the last command of an
ApplicationPlugin
is 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 shell
activation and zsh (#5795). - Fix an issue where a url dependencies were shown as outdated (#6396).
- Fix an issue where the
source
field 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-client
could not be used via environment variable (#6783). - Fix an issue where Poetry fails with an
AssertionError
due todistribution.files
beingNone
(#6788). - Fix an issue where
poetry env info
did not respectvirtualenvs.prefer-active-python
(#6986). - Fix an issue where
poetry env list
does not list the in-project environment (#6979). - Fix an issue where
poetry env remove
removed 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_directory
is now respected as an input to thebuild_wheel
hook (#487). ParseConstraintError
is 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 lock
to 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 shell
was 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.11
to 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 clear
did not respect the-n/--no-interaction
flag (#6338). - Fix an issue where
poetry lock --no-update
updated dependencies from non-PyPI package sources (#6335). - Fix a
poetry install
performance 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-update
added duplicate hashes to the lock file (#6389). - Fix an issue where
poetry install
fails because of missing hashes forurl
dependencies (#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 lock
performance regression when checking non-PyPI sources for yanked versions (#6442). - Fix an issue where
--no-cache
was not respected when runningpoetry install
(#6479). - Fix an issue where deprecation warnings for
--dev
were missing (#6475). - Fix an issue where Git dependencies failed to clone when
insteadOf
was used in.gitconfig
using the Dulwich Git client (#6506). - Fix an issue where no cache entry is found when calling
poetry cache clear
with 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
--with
and--without
(#6318). - Update configuration folder path for macOS (#6395).
- Improve the description of the
virtualenv.create
option (#6460). - Clarify that
poetry install
removes dependencies of non-installed extras (#6229). - Add a note about
pre-commit autoupdate
and 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.
Docs
1.2.0rc2
Fixed
- Fixed an issue where virtual environments were created unnecessarily when running
poetry self
commands (#6226) - Ensure that packages'
pretty_name
are written to the lock file (#6243)
Improvements
- Improved the consistency of
Pool().remove_repository()
to make it easier to write poetry plugins (#6231)
Docs
1.2.0rc1
Added
- Added support for subdirectories in git dependencies (#5172)
- Added support for yanked releases and files (PEP-592) (#5841)
- Virtual environments can now be created even with empty project names (#5856)
- Added support for
nushell
inpoetry shell
(#6063)
Changed
- Poetry now falls back to gather metadata for dependencies via pep517 if parsing
pyproject.toml
fails (#5834) - Replaced Poetry's helper method
canonicalize_name()
withpackaging.utils.canonicalize_name()
(#6022) - Removed code for the
export
command, which is now provided via plugin (#6128) - Extras and extras dependencies are now sorted in the lock file (#6169)
- Removed deprecated (1.2-only) CLI options (#6210)
Fixed
- Fixed an issue where symlinks in the lock file were not resolved (#5850)
- Fixed a
tomlkit
regression resulting in inconsistent line endings (#5870) - Fixed an issue where the
POETRY_PYPI_TOKEN_PYPI
environment variable wasn't respected (#5911) - Fixed an issue where neither Python nor a managed venv can be found, when using Python from MS Store (#5931)
- Improved error message of
poetry publish
in the event of an upload error (#6043) - Fixed an issue where
poetry lock
fails without output (#6058) - Fixed an issue where Windows drive mappings break virtual environment names (#6110)
tomlkit
versions with memory leak are now avoided (#6160)- Fixed an infinite loop in the solver (#6178)
- Fixed an issue where latest version was used instead of locked one for vcs dependencies with extras (#6185)
Docs
1.1.15
1.2.0b3
Important: This release fixes a critical issue that prevented hashes from being retrieved when locking dependencies, due to a breaking change on PyPI JSON API (see #5972 and the upstream change for more details).
After upgrading, you have to clear Poetry cache manually to get that feature working correctly again:
$ poetry cache clear pypi --all
Added
- Added
--only-root
topoetry install
to install a project without its dependencies (#5783)
Changed
- Improved user experience of
poetry init
(#5838) - Added default timeout for all HTTP requests, to avoid hanging requests (#5881)
- Updated
poetry init
to better specify how to skip adding dependencies (#5946) - Updated Poetry repository names to avoid clashes with user-defined repositories (#5910)
Fixed
- Fixed an issue where extras where not handled if they did not match the case-sensitive name of the packages (#4122)
- Fixed configuration of
experimental.system-git-client
option throughpoetry config
(#5818) - Fixed uninstallation of git dependencies on Windows (#5836)
- Fixed an issue where
~
was not correctly expanded invirtualenvs.path
(#5848) - Fixed an issue where installing/locking dependencies would hang when setting an incorrect git repository (#5880)
- Fixed an issue in
poetry publish
when keyring was not properly configured (#5889) - Fixed duplicated line output in console (#5890)
- Fixed an issue where the same wheels where downloaded multiple times during installation (#5871)
- Fixed an issue where dependencies hashes could not be retrieved when locking due to a breaking change on PyPI JSON API (#5973)
- Fixed an issue where a dependency with non-requested extras could not be installed if it is requested with extras by another dependency (#5770)
- Updated git backend to correctly read local/global git config when using dulwich as a git backend (#5935)
- Fixed an issue where optional dependencies where not correctly exported when defining groups (#5819)
Docs
- Fixed configuration instructions for repositories specification (#5809)
- Added a link to dependency specification from
pyproject.toml
(#5815) - Improved
zsh
autocompletion instructions (#5859) - Improved installation and update documentations (#5857)
- Improved exact requirements documentation (#5874)
- Added documentation for
@
operator (#5822) - Improved autocompletion documentation (#5879)
- Improved
scripts
definition documentation (#5884)