Poetry v1.2.0.b3 Release Notes

Release Date: 2022-07-13 // about 1 month ago
  • 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 to poetry 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 through poetry config (#5818)
    • ๐Ÿ›  Fixed uninstallation of git dependencies on Windows (#5836)
    • ๐Ÿ›  Fixed an issue where ~ was not correctly expanded in virtualenvs.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)

Previous changes from v1.2.0.b2

  • โž• 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 to poetry version command (#5603)
    • โž• Added --why to poetry 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 to poetry publish (#2812)
    • โž• Added --all-extras to poetry 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 generic poetry self commands (#5450)
    • When creating new projects, Poetry no longer restricts README extensions to md and rst (#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 to true (#5428)
    • ๐Ÿ‘Œ Improved http request handling for sources and multiple paths on same netloc (#5518)
    • ๐Ÿ”ง Made no-pip and no-setuptools configuration explicit (#5455)
    • ๐Ÿ‘Œ Improved application logging, use of -vv now provides more debug information (#5503)
    • 0๏ธโƒฃ Renamed implicit group default to main (#5465)
    • Replaced in-tree implementation of poetry export with poetry-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 modify poetry.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 and POETRY_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)
    • โœ‚ Removed ambiguity about PEP 440 and semver (#5576)
    • โœ‚ Removed Pipenv comparison (#5561)
    • ๐Ÿ‘Œ Improved dependency group related documentation (#5338)
    • โž• Added documentation for default directories used by Poetry (#5391)
    • โž• Added warning about credentials preserved in shell history (#5726)
    • ๐Ÿ‘Œ Improved documentation of the readme option, including multiple files and additional formats (#5158)
    • ๐Ÿ‘Œ Improved contributing documentation (#5708)
    • โœ‚ Remove all references to --dev-only option (#5771)