Poetry v1.0.0 Release Notes

Release Date: 2019-12-12 // over 4 years ago
  • ➕ Added

    • ➕ Added an export command to export the lock file to other formats (only requirements.txt is currently supported).
    • ➕ Added a env info command to get basic information about the current environment.
    • ➕ Added a env use command to control the Python version used by the project.
    • ➕ Added a env list command to list the virtualenvs associated with the current project.
    • ➕ Added a env remove command to delete virtualenvs associated with the current project.
    • ➕ Added support for POETRY_HOME declaration within get-poetry.py.
    • ➕ Added support for declaring a specific source for dependencies.
    • ➕ Added support for disabling PyPI and making another repository the default one.
    • ➕ Added support for declaring private repositories as secondary.
    • ➕ Added the ability to specify packages on a per-format basis.
    • ➕ Added support for custom urls in metadata.
    • 👍 Full environment markers are now supported for dependencies via the markers property.
    • ➕ Added the ability to specify git dependencies directly in add, it no longer requires the --git option.
    • ➕ Added the ability to specify path dependencies directly in add, it no longer requires the --path option.
    • ➕ Added support for url dependencies (#1260).
    • 👍 Publishing to PyPI using API tokens is now supported (#1275).
    • Licenses can now be identified by their full name.
    • ➕ Added support for custom certificate authority and client certificates for private repositories.
    • Poetry can now detect and use Conda environments.

    🔄 Changed

    • 🔒 Slightly changed the lock file, making it potentially incompatible with previous Poetry versions.
    • The cache:clear command has been renamed to cache clear.
    • The debug:info command has been renamed to debug info.
    • The debug:resolve command has been renamed to debug resolve.
    • ⚡️ The self:update command has been renamed to self update.
    • 🔄 Changed the way virtualenvs are stored (names now depend on the project's path).
    • 🚚 The --git option of the add command has been removed.
    • 🚚 The --path option of the add command has been removed.
    • 🚀 The add command will now automatically select the latest prerelease if only prereleases are available.
    • ⚡️ The add command can now update a dependencies if an explicit constraint is given (#1221).
    • ✂ Removed the --develop option from the install command.
    • 👌 Improved UX when searching for packages in the init command.
    • The shell command has been improved.
    • The poetry run command now uses os.execvp() rather than spawning a new subprocess.
    • 🚀 Specifying dependencies with allows-prereleases in the pyproject.toml file is deprecated for consistency with the add command. Use allow-prereleases instead.
    • 👌 Improved the error message when the lock file is invalid.
    • Whenever Poetry needs to use the "system" Python, it will now call sys.executable instead of the python command.
    • 👌 Improved the error message displayed on conflicting Python requirements (#1681).
    • 👌 Improved the site-packages directory detection (#1683).

    🛠 Fixed

    • 🛠 Fixed transitive extra dependencies being removed when updating a specific dependency.
    • 🔧 The pyproject.toml configuration is now properly validated.
    • 🛠 Fixed installing Poetry-based packages breaking with pip.
    • 🛠 Fixed packages with empty markers being added to the lock file.
    • 🛠 Fixed invalid lock file generation in some cases.
    • 🛠 Fixed local version identifier handling in wheel file names.
    • 🛠 Fixed packages with invalid metadata triggering an error instead of being skipped.
    • 🛠 Fixed the generation of invalid lock files in some cases.
    • Git dependencies are now properly locked to a specific revision when specifying a branch or a tag.
    • 🛠 Fixed the behavior of the ~= operator.
    • 🛠 Fixed dependency resolution for conditional development dependencies.
    • 🛠 Fixed generated dependency constraints when they contain inequality operators.
    • The run command now properly handles the -- separator.
    • 🛠 Fixed some issues with path dependencies being seen as git dependencies.
    • 🛠 Fixed various issues with the way extra markers in dependencies were handled.
    • 🛠 Fixed the option conflicts in the run command.
    • 🛠 Fixed wrong latest version being displayed when executing show -l.
    • 🛠 Fixed TooManyRedirects errors being raised when resolving dependencies.
    • 🛠 Fixed custom indices dependencies being constantly updated.
    • 🛠 Fixed the behavior of the --install option of the debug resolve command.
    • 🛠 Fixed an error in show when using the -o/--outdated option.
    • 🛠 Fixed PEP 508 url dependency handling.
    • 🛠 Fixed excluded files via the exclude being included in distributions.
    • 🛠 Fixed an error in env use if the virtualenvs.in-project setting is activated (#1682)
    • 🛠 Fixed handling of empty and any markers in unions of markers (#1650).