Skip to content

Releases: python-poetry/poetry

1.4.2

02 Apr 16:02
1.4.2
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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)

1.2.0rc2

26 Aug 14:12
74d6781
Compare
Choose a tag to compare
1.2.0rc2 Pre-release
Pre-release

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)

Docs

  • Removed mentions of Python 2.7 from docs (#6235)
  • Added note about the difference between groups and extras (#6232)