Skip to content

Releases: python-poetry/poetry

1.5.0

19 May 12:27
1.5.0

Choose a tag to compare

Added

  • Introduce the new source priorities explicit and supplemental (#7658,
    #6879).
  • Introduce the option to configure the priority of the implicit PyPI source (#7801).
  • Add handling for corrupt cache files (#7453).
  • Improve caching of URL and git dependencies (#7693,
    #7473).
  • Add option to skip installing directory dependencies (#6845,
    #7923).
  • Add --executable option to poetry env info (#7547).
  • Add --top-level option to poetry show (#7415).
  • Add --lock option to poetry remove (#7917).
  • Add experimental POETRY_REQUESTS_TIMEOUT option (#7081).
  • Improve performance of wheel inspection by avoiding unnecessary file copy operations (#7916).

Changed

  • Remove the old deprecated installer and the corresponding setting experimental.new-installer (#7356).
  • Introduce priority key for sources and deprecate flags default and secondary (#7658).
  • Deprecate poetry run <entry point> if the entry point was not previously installed via poetry install (#7606).
  • Only write the lock file if the installation succeeds (#7498).
  • Do not write the unused package category into the lock file (#7637).

Fixed

  • Fix an issue where Poetry's internal pyproject.toml continually grows larger with empty lines (#7705).
  • Fix an issue where Poetry crashes due to corrupt cache files (#7453).
  • Fix an issue where the Retry-After in HTTP responses was not respected and retries were handled inconsistently (#7072).
  • Fix an issue where Poetry silently ignored invalid groups (#7529).
  • Fix an issue where Poetry does not find a compatible Python version if not given explicitly (#7771).
  • Fix an issue where the direct_url.json of an editable install from a git dependency was invalid (#7473).
  • Fix an issue where error messages from build backends were not decoded correctly (#7781).
  • Fix an infinite loop when adding certain dependencies (#7405).
  • Fix an issue where pre-commit hooks skip pyproject.toml files in subdirectories (#7239).
  • Fix an issue where pre-commit hooks do not use the expected Python version (#6989).
  • Fix an issue where an unclear error message is printed if the project name is the same as one of its dependencies (#7757).
  • Fix an issue where poetry install returns a zero exit status even though the build script failed (#7812).
  • Fix an issue where an existing .venv was not used if in-project was not set (#7792).
  • Fix an issue where multiple extras passed to poetry add were not parsed correctly (#7836).
  • Fix an issue where poetry shell did not send a newline to fish (#7884).
  • Fix an issue where poetry update --lock printed operations that were not executed (#7915).
  • Fix an issue where poetry add --lock did perform a full update of all dependencies (#7920).
  • Fix an issue where poetry shell did not work with nushell (#7919).
  • Fix an issue where subprocess calls failed on Python 3.7 (#7932).
  • Fix an issue where keyring was called even though the password was stored in an environment variable (#7928).

Docs

  • Add information about what to use instead of --dev (#7647).
  • Promote semantic versioning less aggressively (#7517).
  • Explain Poetry's own versioning scheme in the FAQ (#7517).
  • Update documentation for configuration with environment variables (#6711).
  • Add details how to disable the virtualenv prompt (#7874).
  • Improve documentation on whether to commit poetry.lock (#7506).
  • Improve documentation of virtualenv.create (#7608).

poetry-core (1.6.0)

  • Improve error message for invalid markers (#569).
  • Increase robustness when deleting temporary directories on Windows (#460).
  • Replace tomlkit with tomli, which changes the interface of some internal classes (#483).
  • Deprecate Package.category (#561).
  • Fix a performance regression in marker handling (#568).
  • Fix an issue where wildcard version constraints were not handled correctly (#402).
  • Fix an issue where poetry build created duplicate Python classifiers if they were specified manually (#578).
  • Fix an issue where local versions where not handled correctly (#579).

1.4.2

02 Apr 16:02
1.4.2

Choose a tag to compare

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

  • Fix an issue where relative git submodule urls were not parsed correctly (#7017).
  • Fix an issue where Poetry could freeze when building a project with a build script if it generated enough output to fill the OS pipe buffer (#7699).

1.4.1

19 Mar 14:45
1.4.1

Choose a tag to compare

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 the subdirectory 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

  • Clarify the behavior of the --extras option (#7563).
  • Expand the FAQ on reasons for slow dependency resolution (#7620).

1.4.0

27 Feb 21:50
1.4.0

Choose a tag to compare

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 running poetry new and poetry init (#7100).

Changed

  • Deprecate the old installer, i.e. setting experimental.new-installer to false (#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 export constraints.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

10 Jan 16:20
1.3.2

Choose a tag to compare

Fixed

  • Fix a performance regression when locking dependencies from PyPI (#7232).
  • Fix an issue where passing a relative path via -C, --directory fails (#7266).

Docs

  • Update docs to reflect the removal of the deprecated get-poetry.py installer from the repository (#7288).
  • Add clarifications for virtualenvs.path settings (#7286).

1.3.1

12 Dec 01:31
1.3.1

Choose a tag to compare

Fixed

  • Fix an issue where an explicit dependency on lockfile was missing, resulting in a broken Poetry in rare circumstances (7169).

1.3.0

09 Dec 21:03
1.3.0

Choose a tag to compare

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 and poetry 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 to distribution.files being None (#6788).
  • Fix an issue where poetry env info did not respect virtualenvs.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 the build_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:// 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)

  • Fix an issue where shell completions had syntax errors (#247).
  • Fix an issue where not reading all the output of a command resulted in a "Broken pipe" error (#165).
  • Fix an issue where errors were not shown in non-verbose mode (#166).

1.2.2

10 Oct 19:43
1.2.2
337e90f

Choose a tag to compare

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)

  • Add support for exporting constraints.txt files (#128).
  • Fix an issue where a relative path passed via -o was not interpreted relative to the current working directory (#130).

1.2.1

16 Sep 18:22

Choose a tag to compare

Changed

  • Bump poetry-core to 1.2.0.
  • Bump poetry-plugin-export to ^1.0.7.

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 for url 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 running poetry 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

31 Aug 03:46

Choose a tag to compare

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

  • Added note about how to add a git dependency with a subdirectory (#6218)
  • Fixed several style issues in the docs (#6255)
  • Fixed outdated info about --only parameter (#6264)