diff --git a/CHANGELOG.md b/CHANGELOG.md index e7d01975b3f..cdfa1b43157 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,64 @@ # Change Log +## [2.3.0] - 2026-01-18 + +### Added + +- **Add support for exporting `pylock.toml` files with `poetry-plugin-export`** ([#10677](https://github.com/python-poetry/poetry/pull/10677)). +- Add support for specifying build constraints for dependencies ([#10388](https://github.com/python-poetry/poetry/pull/10388)). +- Add support for publishing artifacts whose version is determined dynamically by the build-backend ([#10644](https://github.com/python-poetry/poetry/pull/10644)). +- Add support for editable project plugins ([#10661](https://github.com/python-poetry/poetry/pull/10661)). +- Check `requires-poetry` before any other validation ([#10593](https://github.com/python-poetry/poetry/pull/10593)). +- Validate the content of `project.readme` when running `poetry check` ([#10604](https://github.com/python-poetry/poetry/pull/10604)). +- Add the option to clear all caches by making the cache name in `poetry cache clear` optional ([#10627](https://github.com/python-poetry/poetry/pull/10627)). +- Automatically update the cache for packages where the locked files differ from cached files ([#10657](https://github.com/python-poetry/poetry/pull/10657)). +- Suggest to clear the cache if running a command with `--no-cache` solves an issue ([#10585](https://github.com/python-poetry/poetry/pull/10585)). +- Propose `poetry init` when trying `poetry new` for an existing directory ([#10563](https://github.com/python-poetry/poetry/pull/10563)). +- Add support for `poetry publish --skip-existing` for new Nexus OSS versions ([#10603](https://github.com/python-poetry/poetry/pull/10603)). +- Show Poetry's own Python's path in `poetry debug info` ([#10588](https://github.com/python-poetry/poetry/pull/10588)). + +### Changed + +- **Drop support for Python 3.9** ([#10634](https://github.com/python-poetry/poetry/pull/10634)). +- **Change the default of `installer.re-resolve` from `true` to `false`** ([#10622](https://github.com/python-poetry/poetry/pull/10622)). +- **PEP 735 dependency groups are considered in the lock file hash** ([#10621](https://github.com/python-poetry/poetry/pull/10621)). +- Deprecate `poetry.utils._compat.metadata`, which is sometimes used in plugins, in favor of `importlib.metadata` ([#10634](https://github.com/python-poetry/poetry/pull/10634)). +- Improve managing free-threaded Python versions with `poetry python` ([#10606](https://github.com/python-poetry/poetry/pull/10606)). +- Prefer JSON API to HTML API in legacy repositories ([#10672](https://github.com/python-poetry/poetry/pull/10672)). +- When running `poetry init`, only add the readme field in the `pyproject.toml` if the readme file exists ([#10679](https://github.com/python-poetry/poetry/pull/10679)). +- Raise an error if no hash can be determined for any distribution link of a package ([#10673](https://github.com/python-poetry/poetry/pull/10673)). +- Require `dulwich>=0.25.0` ([#10674](https://github.com/python-poetry/poetry/pull/10674)). + +### Fixed + +- Fix an issue where `poetry remove` did not work for PEP 735 dependency groups with `include-group` items ([#10587](https://github.com/python-poetry/poetry/pull/10587)). +- Fix an issue where `poetry remove` caused dangling `include-group` references in PEP 735 dependency groups ([#10590](https://github.com/python-poetry/poetry/pull/10590)). +- Fix an issue where `poetry add` did not work for PEP 735 dependency groups with `include-group` items ([#10636](https://github.com/python-poetry/poetry/pull/10636)). +- Fix an issue where PEP 735 dependency groups were not considered in the lock file hash ([#10621](https://github.com/python-poetry/poetry/pull/10621)). +- Fix an issue where wrong markers were locked for a dependency that was required by several groups with different markers ([#10613](https://github.com/python-poetry/poetry/pull/10613)). +- Fix an issue where non-deterministic markers were created in a method used by `poetry-plugin-export` ([#10667](https://github.com/python-poetry/poetry/pull/10667)). +- Fix an issue where wrong wheels were chosen for installation in free-threaded Python environments if Poetry itself was not installed with free-threaded Python ([#10614](https://github.com/python-poetry/poetry/pull/10614)). +- Fix an issue where `poetry publish` used the metadata of the project instead of the metadata of the build artifact ([#10624](https://github.com/python-poetry/poetry/pull/10624)). +- Fix an issue where `poetry env use` just used another Python version instead of failing when the requested version was not supported by the project ([#10685](https://github.com/python-poetry/poetry/pull/10685)). +- Fix an issue where `poetry env activate` returned the wrong command for `dash` ([#10696](https://github.com/python-poetry/poetry/pull/10696)). +- Fix an issue where `data-dir` and `python.installation-dir` could not be set ([#10595](https://github.com/python-poetry/poetry/pull/10595)). +- Fix an issue where Python and pip executables were not correctly detected on Windows ([#10645](https://github.com/python-poetry/poetry/pull/10645)). +- Fix an issue where invalid template variables in `virtualenvs.prompt` caused an incomprehensible error message ([#10648](https://github.com/python-poetry/poetry/pull/10648)). + +### Docs + +- Add a warning about `~/.netrc` for Poetry credential configuration ([#10630](https://github.com/python-poetry/poetry/pull/10630)). +- Clarify that the local configuration takes precedence over the global configuration ([#10676](https://github.com/python-poetry/poetry/pull/10676)). +- Add an explanation in which cases `packages` are automatically detected ([#10680](https://github.com/python-poetry/poetry/pull/10680)). + +### poetry-core ([`2.3.0`](https://github.com/python-poetry/poetry-core/releases/tag/2.3.0)) + +- Normalize versions ([#893](https://github.com/python-poetry/poetry-core/pull/893)). +- Fix an issue where unsatisfiable requirements did not raise an error ([#891](https://github.com/python-poetry/poetry-core/pull/891)). +- Fix an issue where the implicit main group did not exist if it was explicitly declared as not having any dependencies ([#892](https://github.com/python-poetry/poetry-core/pull/892)). +- Fix an issue where `python_full_version` markers with pre-release versions were parsed incorrectly ([#893](https://github.com/python-poetry/poetry-core/pull/893)). + + ## [2.2.1] - 2025-09-21 ### Fixed @@ -14,6 +73,7 @@ - Fix an issue where it was not possible to declare a PEP 735 dependency group as optional ([#888](https://github.com/python-poetry/poetry-core/pull/888)). + ## [2.2.0] - 2025-09-14 ### Added @@ -2576,7 +2636,8 @@ Initial release -[Unreleased]: https://github.com/python-poetry/poetry/compare/2.2.1...main +[Unreleased]: https://github.com/python-poetry/poetry/compare/2.3.0...main +[2.3.0]: https://github.com/python-poetry/poetry/releases/tag/2.3.0 [2.2.1]: https://github.com/python-poetry/poetry/releases/tag/2.2.1 [2.2.0]: https://github.com/python-poetry/poetry/releases/tag/2.2.0 [2.1.4]: https://github.com/python-poetry/poetry/releases/tag/2.1.4 diff --git a/poetry.lock b/poetry.lock index 8cb5132c90c..20d692b9b8c 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1347,19 +1347,15 @@ testing = ["coverage", "pytest", "pytest-benchmark"] [[package]] name = "poetry-core" -version = "2.2.1" +version = "2.3.0" description = "Poetry PEP 517 Build Backend" optional = false -python-versions = ">=3.10, <4.0" +python-versions = "<4.0,>=3.10" groups = ["main"] -files = [] -develop = false - -[package.source] -type = "git" -url = "https://github.com/python-poetry/poetry-core.git" -reference = "HEAD" -resolved_reference = "119adaa6f4c5072457cd45a1221f1165032dc6b9" +files = [ + {file = "poetry_core-2.3.0-py3-none-any.whl", hash = "sha256:fc42f3854e346e4b96fb2b38d29e6873ec2ed25fbd7b8f1afba06613a966eaef"}, + {file = "poetry_core-2.3.0.tar.gz", hash = "sha256:f6da8f021fe380d8c9716085f4dcc5d26a5120a2452e077196333892af5de307"}, +] [[package]] name = "pre-commit" @@ -2200,4 +2196,4 @@ cffi = ["cffi (>=1.17,<2.0) ; platform_python_implementation != \"PyPy\" and pyt [metadata] lock-version = "2.1" python-versions = ">=3.10,<4.0" -content-hash = "22571b7e3ea21cc6b16624f5a218075ea74b3bd819fffcf1e56bc6629f0b0180" +content-hash = "11d58255814cf6bf069139a9f4238537a325504128d32ff1f434a295579027e1" diff --git a/pyproject.toml b/pyproject.toml index 8e0f7e45791..1654628a6e8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,10 +1,10 @@ [project] name = "poetry" -version = "2.2.1" +version = "2.3.0" description = "Python dependency management and packaging made easy." requires-python = ">=3.10,<4.0" dependencies = [ - "poetry-core @ git+https://github.com/python-poetry/poetry-core.git", + "poetry-core (==2.3.0)", "build (>=1.2.1,<2.0.0)", "cachecontrol[filecache] (>=0.14.0,<0.15.0)", "cleo (>=2.1.0,<3.0.0)",