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 (onlyrequirements.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 withinget-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 tocache clear
. - The
debug:info
command has been renamed todebug info
. - The
debug:resolve
command has been renamed todebug resolve
. - ⚡️ The
self:update
command has been renamed toself update
. - 🔄 Changed the way virtualenvs are stored (names now depend on the project's path).
- 🚚 The
--git
option of theadd
command has been removed. - 🚚 The
--path
option of theadd
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 theinstall
command. - 👌 Improved UX when searching for packages in the
init
command. - The
shell
command has been improved. - The
poetry run
command now usesos.execvp()
rather than spawning a new subprocess. - 🚀 Specifying dependencies with
allows-prereleases
in thepyproject.toml
file is deprecated for consistency with theadd
command. Useallow-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 thepython
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 asgit
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 thevirtualenvs.in-project
setting is activated (#1682) - 🛠 Fixed handling of
empty
andany
markers in unions of markers (#1650).
- ➕ Added an