Skip to content

Releases: python-poetry/poetry

1.7.1

16 Nov 19:09
1.7.1
Compare
Choose a tag to compare

Fixed

  • Fix an issue where sdists that call CLI tools of their build requirements could not be installed (#8630).
  • Fix an issue where sdists with symlinks could not be installed due to a broken tarfile datafilter (#8649).
  • Fix an issue where poetry init failed when trying to add dependencies (#8655).
  • Fix an issue where poetry install failed if virtualenvs.create was set to false (#8672).

1.7.0

03 Nov 14:24
1.7.0
Compare
Choose a tag to compare

Added

  • Add official support for Python 3.12 (#7803, #8544).
  • Print a future warning that poetry-plugin-export will not be installed by default anymore (#8562).
  • Add poetry-install pre-commit hook (#8327).
  • Add --next-phase option to poetry version (#8089).
  • Print a warning when overwriting files from another package at installation (#8386).
  • Print a warning if the current project cannot be installed (#8369).
  • Report more details on build backend exceptions (#8464).

Changed

  • Set Poetry as user-agent for all HTTP requests (#8394).
  • Do not install setuptools per default in Python 3.12 (#7803).
  • Do not install wheel per default (#7803).
  • Remove setuptools and wheel when running poetry install --sync if they are not required by the project (#8600).
  • Improve error message about PEP-517 support (#8463).
  • Improve keyring handling (#8227).
  • Read the description field when extracting metadata from setup.py files (#8545).

Fixed

  • Fix an issue where dependencies of inactive extras were locked and installed (#8399).
  • Fix an issue where build requirements were not installed due to a race condition in the artifact cache (#8517).
  • Fix an issue where packages included in the system site packages were installed even though virtualenvs.options.system-site-packages was set (#8359).
  • Fix an issue where git dependencies' submodules with relative URLs were handled incorrectly (#8020).
  • Fix an issue where a failed installation of build dependencies was not noticed directly (#8479).
  • Fix an issue where poetry shell did not work completely with nushell (#8478).
  • Fix an issue where a confusing error messages was displayed when running poetry config pypi-token.pypi without a value (#8502).
  • Fix an issue where a cryptic error message is printed if there is no metadata entry in the lockfile (#8523).
  • Fix an issue with the encoding with special characters in the virtualenv's path (#8565).
  • Fix an issue where the connection pool size was not adjusted to the number of workers (#8559).

Docs

  • Improve the wording regarding a project's supported Python range (#8423).
  • Make pipx the preferred (first mentioned) installation method (#8090).
  • Add a warning about poetry self on Windows (#8090).
  • Fix example for poetry add with a git dependency (#8438).
  • Add information about auto-included files in wheels and sdist (#8555).
  • Fix documentation of the POETRY_REPOSITORIES_ variables docs (#8492).
  • Add CITATION.cff file (#8510).

poetry-core (1.8.1)

  • Add support for creating packages dynamically in the build script (#629).
  • Improve marker logic for extra markers (#636).
  • Update list of supported licenses (#635, #646).
  • Fix an issue where projects with extension modules were not installed in editable mode (#633).
  • Fix an issue where the wrong or no lib folder was added to the wheel (#634).

poetry-plugin-export (^1.6.0)

  • Add an --all-extras option (#241).
  • Fix an issue where git dependencies are exported with the branch name instead of the resolved commit hash (#213).

1.6.1

21 Aug 17:53
1.6.1
Compare
Choose a tag to compare

Fixed

  • Update the minimum required version of requests (#8336).

1.6.0

20 Aug 17:36
1.6.0
Compare
Choose a tag to compare

Added

  • Add support for repositories that do not provide a supported hash algorithm (#8118).
  • Add full support for duplicate dependencies with overlapping markers (#7257).
  • Improve performance of poetry lock for certain edge cases (#8256).
  • Improve performance of poetry install (#8031).
  • poetry check validates that specified readme files do exist (#7444).
  • Add a downgrading note when updating to an older version (#8176).
  • Add support for vox in the xonsh shell (#8203).
  • Add support for pre-commit hooks for projects where the pyproject.toml file is located in a subfolder (#8204).
  • Add support for the git+http:// scheme (#6619).

Changed

  • Drop support for Python 3.7 (#7674).
  • Move poetry lock --check to poetry check --lock and deprecate the former (#8015).
  • Change future warning that PyPI will only be disabled automatically if there are no primary sources (#8151).

Fixed

  • Fix an issue where build-system.requires were not respected for projects with build scripts (#7975).
  • Fix an issue where the encoding was not handled correctly when calling a subprocess (#8060).
  • Fix an issue where poetry show --top-level did not show top level dependencies with extras (#8076).
  • Fix an issue where poetry init handled projects with src layout incorrectly (#8218).
  • Fix an issue where Poetry wrote .pth files with the wrong encoding (#8041).
  • Fix an issue where poetry install did not respect the source if the same version of a package has been locked from different sources (#8304).

Docs

  • Document official Poetry badge (#8066).
  • Update configuration folder path for macOS (#8062).
  • Add a warning about pip ignoring lock files (#8117).
  • Clarify the use of the virtualenvs.in-project setting. (#8126).
  • Change pre-commit YAML style to be consistent with pre-commit's own examples (#8146).
  • Fix command for listing installed plugins (#8200).
  • Mention the nox-poetry package (#8173).
  • Add an example with a PyPI source in the pyproject.toml file (#8171).
  • Use reference instead of deprecated callable in the scripts example (#8211).

poetry-core (1.7.0)

  • Improve performance of marker handling (#609).
  • Allow | as a value separator in markers with the operators in and not in (#608).
  • Put pretty name (instead of normalized name) in metadata (#620).
  • Update list of supported licenses (#623).
  • Fix an issue where PEP 508 dependency specifications with names starting with a digit could not be parsed (#607).
  • Fix an issue where Poetry considered an unrelated .gitignore file resulting in an empty wheel (#611).

poetry-plugin-export (^1.5.0)

  • Fix an issue where markers for dependencies required by an extra were not generated correctly (#209).

1.5.1

29 May 16:05
1.5.1
Compare
Choose a tag to compare

Added

  • Improve dependency resolution performance in cases with a lot of backtracking (#7950).

Changed

  • Disable wheel content validation during installation (#7987).

Fixed

  • Fix an issue where partially downloaded wheels were cached (#7968).
  • Fix an issue where poetry run did no longer execute relative-path scripts (#7963).
  • Fix an issue where dependencies were not installed in in-project environments (#7977).
  • Fix an issue where no solution was found for a transitive dependency on a pre-release of a package (#7978).
  • Fix an issue where cached repository packages were incorrectly parsed, leading to its dependencies being ignored (#7995).
  • Fix an issue where an explicit source was ignored so that a direct origin dependency was used instead (#7973).
  • Fix an issue where the installation of big wheels consumed a lot of memory (#7987).

Docs

  • Add information about multiple constraints dependencies with direct origin and version dependencies (#7973).

poetry-core (1.6.1)

  • Fix an endless recursion in marker handling (#593).
  • Fix an issue where the wheel tag was not built correctly under certain circumstances (#591).

poetry-plugin-export (^1.4.0)

  • Fix an issue where --extra-index-url and --trusted-host was not generated for sources with priority explicit (#205).

1.5.0

19 May 12:27
1.5.0
Compare
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
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).