Releases: python-poetry/poetry
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)
1.1.14
1.2.0b2
Added
- Added support for multiple-constraint direct origin dependencies with the same version (#5715)
- Added support disabling TLS verification for custom package sources via
poetry config certificates.<repository>.cert false
(#5719 - Added new configuration (
virtualenvs.prompt
) to customize the prompt of the Poetry-managed virtual environment (#5606) - Added progress indicator to
download_file
(used when downloading dists) (#5451) - Added
--dry-run
topoetry version
command (#5603) - Added
--why
topoetry show
(#5444) - Added support for single page (html) repositories (#5517)
- Added support for PEP 508 strings when adding dependencies via
poetry add
command (#5554) - Added
--no-cache
as a global option (#5519) - Added cert retrieval for HTTP requests made by Poetry (#5320)
- Added
--skip-existing
topoetry publish
(#2812) - Added
--all-extras
topoetry install
(#5452) - Added new
poetry self
sub-commands to manage plugins and/or system environment packages, eg: keyring backends (#5450) - Added new configuration (
installer.no-binary
) to allow selection of non-binary distributions when installing a dependency (#5609)
Changed
poetry plugin
commands are now deprecated in favor of the more genericpoetry self
commands (#5450)- When creating new projects, Poetry no longer restricts README extensions to
md
andrst
(#5357) - Changed the provider to allow fallback to installed packages (#5704)
- Solver now correctly handles and prefers direct reference constraints (vcs, file etc.) over public version identifiers (#5654)
- Changed the build script behavior to create an ephemeral build environment when a build script is specified (#5401)
- Improved performance when determining PEP 517 metadata from sources (#5601)
- Project package sources no longer need to be redefined as global repositories when configuring credentials (#5563)
- Replaced external git command use with dulwich, in order to force the legacy behaviour set
experimental.system-git-client
configuration totrue
(#5428) - Improved http request handling for sources and multiple paths on same netloc (#5518)
- Made
no-pip
andno-setuptools
configuration explicit (#5455) - Improved application logging, use of
-vv
now provides more debug information (#5503) - Renamed implicit group
default
tomain
(#5465) - Replaced in-tree implementation of
poetry export
withpoetry-plugin-export
(#5413) - Changed the password manager behavior to use a
"null"
keyring when disabled (#5251) - Incremental improvement of Solver performance (#5335)
- Newly created virtual environments on macOS now are excluded from Time Machine backups (#4599)
- Poetry no longer raises an exception when a package is not found on PyPI (#5698)
- Update
packaging
dependency to use major version 21, this change forces Poetry to drop support for managing Python 2.7 environments (#4749)
Fixed
- Fixed
poetry update --dry-run
to not modifypoetry.lock
(#5718, #3666, #3766) - Fixed #5537 where export fails to resolve dependencies with more than one path (#5688)
- Fixed an issue where the environment variables
POETRY_CONFIG_DIR
andPOETRY_CACHE_DIR
were not being respected (#5672) - Fixed #3628 and #4702 by handling invalid distributions gracefully (#5645)
- Fixed an issue where the provider ignored subdirectory when merging and improve subdirectory support for vcs deps (#5648)
- Fixed an issue where users could not select an empty choice when selecting dependencies (#4606)
- Fixed an issue where
poetry init -n
crashes in a root directory (#5612) - Fixed an issue where Solver errors arise due to wheels having different Python constraints (#5616)
- Fixed an issue where editable path dependencies using
setuptools
could not be correctly installed (#5590) - Fixed flicker when displaying executor operations (#5556)
- Fixed an issue where the
poetry lock --no-update
only sorted by name and not by name and version (#5446) - Fixed an issue where the Solver fails when a dependency has multiple constrained dependency definitions for the same package (#5403)
- Fixed an issue where dependency resolution takes a while because Poetry checks all possible combinations even markers are mutually exclusive (#4695)
- Fixed incorrect version selector constraint (#5500)
- Fixed an issue where
poetry lock --no-update
dropped packages (#5435) - Fixed an issue where packages were incorrectly grouped when exporting (#5156)
- Fixed an issue where lockfile always updates when using private sources (#5362)
- Fixed an issue where the solver did not account for selected package features (#5305)
- Fixed an issue with console script execution of editable dependencies on Windows (#3339)
- Fixed an issue where editable builder did not write PEP-610 metadata (#5703)
- Fixed an issue where Poetry 1.1 lock files were incorrectly identified as not fresh (#5458)
Docs
- Updated plugin management commands (#5450)
- Added the
--readme
flag to documentation (#5357) - Added example for multiple maintainers (#5661)
- Updated documentation for issues #4800, #3709, #3573, #2211 and #2414 (#5656)
- Added
poetry.toml
note in configuration (#5492) - Add documentation for
poetry about
,poetry help
,poetrylist
, and the--full-path
and--all
options documentation (#5664) - Added more clarification to the
--why
flag (#5653) - Updated documentation to refer to PowerShell for Windows, including instructions (#3978, #5618)
- Added PEP 508 name requirement (#5642)
- Added example for each section of pyproject.toml (#5585)
- Added documentation for
--local
to fix issue #5623 (#5629) - Added troubleshooting documentation for using proper quotation with ZSH (#4847)
- Added information on git and basic http auth ([#5578](https://github.com/python-poetry...
1.2.0b1
Fixed
- Fixed an issue where the system environment couldn't be detected (#4406).
- Fixed another issue where the system environment couldn't be detected (#4433).
- Replace deprecated requests parameter in uploader (#4580).
- Fix an issue where venv are detected as broken when using MSys2 on windows (#4482).
- Fixed an issue where the cache breaks on windows (#4531).
- Fixed an issue where a whitespace before a semicolon was missing on
poetry export
(#4575). - Fixed an issue where markers were not correctly assigned to nested dependencies (#3511).
- Recognize one digit version in wheel filenames (#3338).
- Fixed an issue when
locale
is unset (#4038). - Fixed an issue where the fallback to another interpreter didn't work (#3475).
- Merge any marker constraints into constraints with specific markers (#4590).
- Normalize path before hashing so that the generated venv name is independent of case on Windows (#4813).
- Fixed an issue where a dependency wasn't upgrade by using
@latest
onpoetry update
(#4945). - Fixed an issue where conda envs in windows are always reported as broken(#5007).
- Fixed an issue where Poetry doesn't find its own venv on
poetry self update
(#5049). - Fix misuse of pretty_constraint (#4932).
- Fixed an issue where the reported python version used for venv creation wasn't correct (#5086).
- Fixed an issue where the searched package wasn't display in the interactive dialog of
poetry init
(#5076). - Fixed an issue where Poetry raises an exception on
poetry show
when no lock files exists (#5242). - Fixed an issue where Poetry crashes when optional
vcs_info.requested_version
indirect_url.json
wasn't included (#5274). - Fixed an issue where dependencies with extras were updated despite using
--no-update
(#4618). - Fixed various places where poetry writes messages to stdout instead of stderr (#4110, #5179).
- Ensured that when complete packages are created dependency inherits source and resolved refs from package (#4604).
- Ensured that when complete packages are created dependency inherits subdirectory from package if supported (#4604).
- Fixed an issue where
POETRY_EXPERIMENTAL_NEW_INSTALLER
needs to be set to an empty string to disable it (#3811).
Added
poetry show <package>
now also shows which packages depend on it (#2351).- The info dialog by
poetry about
now contains version information about installed poetry and poetry-core (#5288). - Print error message when
poetry publish
fails (#3549). - Added in info output to
poetry lock --check
(#5081). - Added new argument
--all
forpoetry env remove
to delete all venv of a project at once (#3212). - Added new argument
--without-urls
forpoetry export
to exclude source repository urls from the exported file (#4763). - Added a
new installer.max-workers
property to the configuration (#3516). - Added experimental option
virtualenvs.prefer-active-python
to detect current activated python (#4852). - Added better windows shell support (#5053).
Changed
- Drop python3.6 support (#5055).
- Exit with callable return code in generated script (#4456).
- Internal use of the
pep517
high level interfaces for package metadata inspections have been replaced with thebuild
package. (#5155). - Poetry now raises an error if the python version in the project environment is no longer compatible with the project (#4520).