1.9.0 - 2024-02-02
- Add a
to
key intool.poetry.packages
to allow custom subpackage names (#672). - Add support for path dependencies that do not define a build system (#675).
- Add a
tool.poetry.package-mode
key to support non-package mode (#661).
- Update list of supported licenses (#659, #669, #678, #694).
- Improve support for PEP 691 JSON-based Simple API (#664).
- Establish zipapp compatibility (#670).
- Rework list of files included in build artifacts (#666).
- Improve performance by treating collections in packages as immutable (#663).
- Deprecate
poetry.core.masonry.builder
(#682). - Deprecate scripts that depend on extras (#690).
- Fix an issue where insignificant errors were printed if the working directory is not inside a git repository (#684).
- Fix an issue where the project's directory was not recognized as git repository on Windows due to an encoding issue (#685).
1.8.1 - 2023-10-31
- Fix an issue where git URLs starting with
git+
could not be parsed anymore (#657).
1.8.0 - 2023-10-31
- Add
3.12
to the list of available Python versions (#631). - 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).
- Deprecate
Dependency.transitive_python_versions
(#648). - Deprecate
Dependency.transitive_python_constraint
(#649).
- 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).
- Replace
jsonschema
withfastjsonschema
. lark==1.1.8
packaging==23.2
1.7.0 - 2023-08-20
- Optionally use resolved references when converting a VCS dependency to a PEP 508 dependency specification (#603).
- Improve performance of marker handling (#609).
- Drop support for Python 3.7 (#566).
- Remove deprecated
poetry.core.constraints.generic
andpoetry.core.semver
(#601). - Allow
|
as a value separator in markers with the operatorsin
andnot in
(#608). - Put pretty name (instead of normalized name) in metadata (#620).
- Update list of supported licenses (#623).
- Fix an issue where the encoding was not handled correctly when calling a subprocess (#602).
- Fix an issue where caret constraints with additional whitespace could not be parsed (#606).
- 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).
1.6.1 - 2023-05-29
- Fix an endless recursion in marker handling (#593).
- Fix an issue where the wheel tag was not built correctly under certain circumstances (#591).
- Fix an issue where the tests included in the sdist failed due to missing files (#589).
1.6.0 - 2023-05-14
- Improve error message for invalid markers (#569).
- Increase robustness when deleting temporary directories on Windows (#460).
- Add support for file dependencies with subdirectories (#467).
- Replace
tomlkit
withtomli
, 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.5.2 - 2023-03-13
- Fix an issue where wheels built on Windows could contain duplicate entries in the RECORD file (#555).
1.5.1 - 2023-02-20
- Improve performance by caching parsed markers, constraints and versions (#556).
1.5.0 - 2023-01-27
- Improve marker handling (#528, #534, #530, #546, #547).
- Allow overriding the output directory when building dist files (#527).
- Validate whether dependencies referenced in
extras
are defined in the main dependency group (#542). - Improve handling of generic constraints (#515).
- Deprecate the hash function of
FileDependency
(#535). - Do not set
allows_preleases
implicitly anymore if the lower bound of a constraint is a pre-release (#543). - Poetry no longer generates a
setup.py
file in sdists by default (#318). - Remove the unused
platform
attribute fromPackage
(#548). - Deprecate the
pretty_version
parameter when creating aPackage
(#549). - Validate path dependencies during use instead of during construction (#520).
- Fix an issue where the PEP 517
metadata_directory
was not respected when building an editable wheel (#537). - 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 parsing of VCS URLs with escaped characters failed (#524).
- Fix an issue where the subdirectory parameter of VCS URLs was not respected (#518).
- 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).
1.4.0 - 2022-11-22
- The PEP 517
metadata_directory
is now respected as an input to thebuild_wheel
hook (#487).
- Sources are now considered more carefully when dealing with dependencies with environment markers (#497).
EmptyConstraint
is now hashable (#513).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).
1.3.2 - 2022-10-07
- Fix an issue where the normalization was not applied to the path of an sdist built using a PEP 517 frontend (#495).
1.3.1 - 2022-10-05
- Fix an issue where a typing-driven assertion could be false at runtime, causing a failure during prepare_metadata_for_build_wheel (#492).
1.3.0 - 2022-10-05
- Add
3.11
to the list of available Python versions (#477).
- Deprecate
poetry.core.constraints.generic
, which is replaced bypoetry.core.packages.constraints
(#482). - Deprecate
poetry.core.semver
, which is replaced bypoetry.core.constraints.version
(#482).
- Fix an issue where versions were escaped wrongly when building the wheel name (#469).
- Fix an issue where caret constraints of pre-releases with a major version of 0 resulted in an empty version range (#475).
- Fix an issue where the names of extras were not normalized according to PEP 685 (#476).
- Fix an issue where sdist names were not normalized (#484).
1.2.0 - 2022-09-13
- Added support for subdirectories in
url
dependencies (#398).
- When setting an invalid version constraint an error is raised instead of silently setting "any version" (#461).
- Allow more characters in author name (#411).
- Fixed an issue where incorrect
Requires-Dist
information was generated when environment markers where used for optional packages (#462). - Fixed an issue where incorrect python constraints were parsed from environment markers (#457).
- Fixed the hashing of markers and constraints (#466).
- Fixed an issue where the PEP 508 name of directory dependencies used platform paths (#463).
1.1.0 - 2022-08-31
- No functional changes.
1.1.0rc3 - 2022-08-26
- Fixed an issue where a malformed URL was passed to pip when installing from a git subdirectory (#451).
1.1.0rc2 - 2022-08-26
- Enabled setting
version
ofProjectPackage
to support dynamically setting the project's package version (e.g. from a plugin) (#447).
- Fixed an issue where
authors
property was not detected (#437). - Fixed an issue where submodules of git dependencies was not checked out (#439).
- Fixed an issue with Python constraints from markers (#448).
- Fixed an issue where the latest version of git dependency was selected instead of the locked one (#449).
1.1.0rc1 - 2022-08-17
- Replaced Poetry's helper method
canonicalize_name()
bypackaging.utils.canonicalize_name()
(#418). - Removed unused code (#419).
- Fixed an issue with markers, that results in incorrectly resolved extra dependencies (#415).
- Fixed an issue where equal markers had not the same hash (#417).
- Fixed
allows_any()
for local versions (#433). - Fixed special cases of
next_major()
,next_minor()
, etc. and deprecated ambiguous usage (#434). - Fixed an issue with Python constraints from markers (#436).
1.1.0b3 - 2022-07-09
- Added support for valid PEP 517 projects with another build-system than poetry-core as directory dependencies (#368, #377).
- Added support for yanked files and releases according to PEP 592 (#400).
- Relaxed schema validation to allow additional properties (#369).
- Harmonized string representation of dependencies (#393).
- Changed wheel name normalization to follow most recent packaging specification (#394).
- Changed equality check of direct origin dependencies, so that constraints are not considered anymore (#405).
- Deprecated
Dependency.set_constraint()
and replaced it by aconstraint
property for consistency (#370). - Removed
Package.requires_extras
(#374). - Improved marker handling (#380, #383, #384, #390, #395).
- Fixed hash method for
PackageSpecification
,Package
,Dependency
and their sub classes (#370). - Fixed merging of markers
python_version
andpython_full_version
(#382, #388). - Fixed python version normalization (#385, #407).
- Fixed an issue where version identifiers with a local version segment allowed non local versions (#396).
- Fixed an issue where version identifiers without a post release segment allowed post releases (#396).
- Fixed script definitions that didn't work when extras were not explicitly defined (#404).
1.1.0b2 - 2022-05-24
- Fixed a regression where
poetry-core
no longer handled improper Python version constraints from package metadata (#371) - Fixed missing version bump in
poetry.core.__version__
(#367)
poetry-core
generated wheel's now correctly identifyGenerator
metadata aspoetry-core
instead ofpoetry
(#367)
1.1.0b1 - 2022-05-23
- Fixed an issue where canonicalize package names leads to infinite loops (#328).
- Fixed an issue where versions wasn't correct normalized to PEP-440 (#344).
- Fixed an issue with union of multi markers if one marker is a subset of the other marker (#352).
- Fixed an issue with markers which are not in disjunctive normal form (DNF) (#347).
- Fixed an issue where stub-only partial namespace packages were not recognized as packages (#221).
- Fixed an issue where PEP-508 url requirements with extras were not parsed correctly (#345).
- Fixed an issue where PEP-508 strings with wildcard exclusion constraints were incorrectly exported (#343).
- Allow hidden directories on Windows bare repos (#341).
- Fixed an issue where dependencies with an epoch are parsed as empty (#316).
- Fixed an issue where a package consisting of multiple packages wasn't build correctly (#292).
- Added support for handling git urls with subdirectory (#288).
- Added support for metadata files as described in PEP-658 for PEP-503 "simple" API repositories (#333).
- Renamed dependency group of runtime dependencies to from
default
tomain
(#326).
poetry-core
is now completely type checked.- Improved the SemVer constraint parsing (#327).
- Improved the speed when cloning git repositories (#290).
1.1.0a7 - 2022-03-05
- Fixed an issue when evaluate
in/not in
markers (#188). - Fixed an issue when parsing of caret constraint with leading zero (#201).
- Respect format for explicit included files when finding excluded files (#228).
- Fixed an issue where only the last location was used when multiple packages should be included (#108).
- Ensure that package
description
contains no new line (#219). - Fixed an issue where all default dependencies were removed instead of just the selected one (#220).
- Ensure that authors and maintainers are normalized (#276).
- Add support for most of the guaranteed hashes (#207).
- Add support to declare multiple README files (#248).
- Add support for git sub directories (#192).
- Add hooks according to PEP-660 for editable installs (#182).
- Add support for version epochs (#264).
- Drop python3.6 support (#263).
- Loose the strictness when parsing version constraint to support invalid use of wildcards, e.g.
>=3.*
(#186). - No longer assume a default git branch name (#192).
- Sort package name in extras to make it reproducible (#280).
1.1.0a6 - 2021-07-30
- Added support for dependency groups. (#183)
1.1.0a5 - 2021-05-21
- Added support for script files in addition to standard entry points. (#40)
- Fixed an error in the way python markers with a precision >= 3 were handled. (#178)
1.1.0a4 - 2021-04-30
- Files in source distributions now have a deterministic time to improve reproducibility. (#142)
- Fixed an error where leading zeros in the local build part of version specifications were discarded. (#167)
- Fixed the PEP 508 representation of file dependencies. (#153)
- Fixed the copy of
Package
instances which led to file hashes not being available. (#159) - Fixed an error in the parsing of caret requirements with a pre-release lower bound. (#171)
- Fixed an error where some pre-release versions were not flagged as pre-releases. (#170)
1.1.0a3 - 2021-04-09
- Fixed dependency markers not being properly copied when changing the constraint (#162).
1.1.0a2 - 2021-04-08
- Fixed performance regressions when parsing version constraints (#152).
- Fixed how local build versions are handled and compared (#157, #158).
- Fixed errors when parsing some environment markers (#155).
1.1.0a1 - 2021-03-30
This version is the first to drop support for Python 2.7 and 3.5.
If you are still using these versions you should update the requires
property of the build-system
section
to restrict the version of poetry-core
:
[build-system]
requires = ["poetry-core<1.1.0"]
build-backend = "poetry.core.masonry.api"
- Dropped support for Python 2.7 and 3.5 (#131).
- Reorganized imports internally to improve performances (#131).
- Directory dependencies are now in non-develop mode by default (#98).
- Improved support for PEP 440 specific versions that do not abide by semantic versioning (#140).
- Fixed path dependencies PEP 508 representation (#141).
1.0.2 - 2021-02-05
- Fixed a missing import causing an error in Poetry (#134).
1.0.1 - 2021-02-05
- Fixed PEP 508 representation of dependency without extras (#102).
- Fixed an error where development dependencies were being resolved when invoking the PEP-517 backend (#101).
- Fixed source distribution not being deterministic (#105).
- Fixed an error where zip files were left open when building wheels (#122).
- Fixed an error where explicitly included files were still not present in final distributions (#124).
- Fixed wheel filename matching for recent architecture (#125, #129).
- Fixed an error where the
&
character was not accepted for author names (#120). - Fixed the PEP-508 representation of some dependencies (#103).
- Fixed the
Requires-Python
metadata generation (#127). - Fixed an error where pre-release versions were accepted in version constraints (#128).
1.0.0 - 2020-09-30
No changes.
1.0.0rc3 - 2020-09-30
- Removed
intreehooks
build backend in favor of thebackend-path
mechanism (#90). - Directory dependencies will now always use a posix path for their representation (#90).
- Dependency constraints can now be set directly via a proper setter (#90).
1.0.0rc2 - 2020-09-25
- Fixed
python_full_version
markers conversion to version constraints (#86).
1.0.0rc1 - 2020-09-25
- Fixed Python constraint propagation when converting a package to a dependency (#84).
- Fixed VCS ignored files being included in wheel distributions for projects using the
src
layout (#81)
1.0.0b1 - 2020-09-18
- Added support for build executable for wheels (#72).
- Improved packages with sources equality comparison (#53).
- Improved licenses handling and packaging in builders (#57).
- Refactored packages and dependencies classes to improve comparison between bare packages and packages with extras (#78).
- Fixed PEP-508 representation of URL dependencies (#60).
- Fixed generated
RECORD
files in some cases by ensuring it's a valid CSV file (#61). - Fixed an error when parsing some version constraints if they contained wildcard elements (#56).
- Fixed errors when using the
exclude
property (#62). - Fixed the way git revisions are retrieved (#69).
- Fixed dependency constraint PEP-508 compatibility when generating metadata (#79).
- Fixed potential errors on Python 3.5 when building with the
include
property set (#75).
1.0.0a9 - 2020-07-24
- Added support for build scripts without
setup.py
generation (#45).
- Improved the parsing of requirements and environment markers (#44).
- Fixed the default value used for the
build.generate-setup-file
settings (#43). - Fixed error messages when the authors specified in the pyproject.toml file are invalid (#49).
- Fixed distributions build when using the PEP-517 backend for packages with includes (#47).
1.0.0a8 - 2020-06-26
- Fixed errors in the way Python environment markers were parsed and generated (#36).
1.0.0a7 - 2020-05-06
- Added support for format-specific includes via the
include
property (#6).
- Allow url dependencies in multiple constraints dependencies (#32).
- Fixed PEP 508 representation and parsing of VCS dependencies (#30).
1.0.0a6 - 2020-04-24
- Added support for markers inverse (#21).
- Added support for specifying that
git
dependencies should be installed in develop mode (#23). - Added the ability to specify build settings from the Poetry main configuration file (#26).
- Added the ability to disable the generation of the
setup.py
file when building (#26).