Releases: python-poetry/poetry
Releases · python-poetry/poetry
1.4.2
Changed
- When trying to install wheels with invalid
RECORD
files, Poetry does not fail anymore but only prints a warning.
This mitigates an unintended change introduced in Poetry 1.4.1 (#7694).
Fixed
1.4.1
Fixed
- Fix an issue where
poetry install
did not respect the requirements for building editable dependencies (#7579). - Fix an issue where
poetry init
crashed due to bad input when adding packages interactively (#7569). - Fix an issue where
poetry install
ignored thesubdirectory
argument of git dependencies (#7580). - Fix an issue where installing packages with
no-binary
could result in a false hash mismatch (#7594). - Fix an issue where the hash of sdists was neither validated nor written to the
direct_url.json
during installation (#7594). - Fix an issue where
poetry install --sync
attempted to remove itself (#7626). - Fix an issue where wheels with non-normalized
dist-info
directory names could not be installed (#7671). - Fix an issue where
poetry install --compile
compiled with optimization level 1 (#7666).
Docs
1.4.0
Added
- Add a modern installer (
installer.modern-installation
) for faster installation of packages and independence from pip (#6205). - Add support for
Private ::
trove classifiers (#7271). - Add the version of poetry in the
@generated
comment at the beginning of the lock file (#7339). - Add support for
virtualenvs.prefer-active-python
when runningpoetry new
andpoetry init
(#7100).
Changed
- Deprecate the old installer, i.e. setting
experimental.new-installer
tofalse
(#7358). - Remove unused
platform
field from cached package info and bump the cache version (#7304). - Extra dependencies of the root project are now sorted in the lock file (#7375).
- Remove upper boundary for
importlib-metadata
dependency (#7434). - Validate path dependencies during use instead of during construction (#6844).
- Remove the deprecated
repository
modules (#7468).
Fixed
- Fix an issue where an unconditional dependency of an extra was not installed in specific environments (#7175).
- Fix an issue where a pre-release of a dependency was chosen even if a stable release fulfilled the constraint (#7225, #7236).
- Fix an issue where HTTP redirects were not handled correctly during publishing (#7160).
- Fix an issue where
poetry check
did not handle the-C, --directory
option correctly (#7241). - Fix an issue where the subdirectory information of a git dependency was not written to the lock file (#7367).
- Fix an issue where the wrong Python version was selected when creating an virtual environment (#7221).
- Fix an issue where packages that should be kept were uninstalled when calling
poetry install --sync
(#7389). - Fix an issue where an incorrect value was set for
sys.argv[0]
when running installed scripts (#6737). - Fix an issue where hashes in
direct_url.json
files were not written according to the specification (#7475). - Fix an issue where poetry commands failed due to special characters in the path of the project or virtual environment (#7471).
- Fix an issue where poetry crashed with a
JSONDecodeError
when running a Python script that produced certain warnings (#6665).
Docs
- Add advice on how to maintain a poetry plugin (#6977).
- Update tox examples to comply with the latest tox release (#7341).
- Mention that the
poetry export
can exportconstraints.txt
files (#7383). - Add clarifications for moving configuration files (#6864).
- Mention the different types of exact version specifications (#7503).
poetry-core (1.5.1
)
- Improve marker handling (#528, #534, #530, #546, #547).
- Validate whether dependencies referenced in
extras
are defined in the main dependency group (#542). - Poetry no longer generates a
setup.py
file in sdists by default (#318). - Fix an issue where trailing newlines were allowed in
tool.poetry.description
(#505). - Fix an issue where the name of the data folder in wheels was not normalized (#532).
- Fix an issue where the order of entries in the RECORD file was not deterministic (#545).
- Fix an issue where zero padding was not correctly handled in version comparisons (#540).
- Fix an issue where sdist builds did not support multiple READMEs (#486).
poetry-plugin-export (^1.3.0
)
- Fix an issue where the export failed if there was a circular dependency on the root package (#118).
1.3.2
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:https:// 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)