kdeldycke / workflows

⚙️ CLI helpers for GitHub Action + reuseable workflows
GNU General Public License v2.0
22 stars 5 forks source link

Update pyproject-metadata requirement from ~=0.8.0 to ~=0.9.0 #1383

Closed dependabot[bot] closed 1 month ago

dependabot[bot] commented 1 month ago

Updates the requirements on pyproject-metadata to permit the latest version.

Release notes

Sourced from pyproject-metadata's releases.

0.9.0

This release adds PEP 639 support (METADATA 2.4), refactors the RFC messages, and adds a lot of validation (including warnings and opt-in errors), a way to produce all validation errors at once, and more. The beta releases are intended for backend authors to try out the changes before a final release.

Features:

  • Added PEP 639 support for SPDX license and license files, METADATA 2.4
  • Validate extra keys (warning, opt-in error)
  • Functions to check top level and build-system (including PEP 735 support)
  • Add TypedDict's in new module for typing pyproject.toml dicts
  • all_errors=True causes ExceptionGroup's to be emitted
  • Support METADATA 2.1+ JSON format with new .as_json() method

Fixes:

  • Match EmailMessage spacing
  • Handle multilines the way setuptools does with smart indentation
  • Warn on multiline Summary (project.description)
  • Improve locking for just metadata fields
  • Error on extra keys in author/maintainer
  • URL name stylization removed matching PEP 753

Full Changelog: https://github.com/pypa/pyproject-metadata/compare/0.8.1...0.9.0

Changelog

Sourced from pyproject-metadata's changelog.

0.9.0 (22-10-2024)

This release adds PEP 639 support (METADATA 2.4), refactors the RFC messages, and adds a lot of validation (including warnings and opt-in errors), a way to produce all validation errors at once, and more. The beta releases are intended for backend authors to try out the changes before a final release.

Features:

  • Added PEP 639 support for SPDX license and license files, METADATA 2.4
  • Validate extra keys (warning, opt-in error)
  • Functions to check top level and build-system (including PEP 735 support)
  • Add TypedDict's in new module for typing pyproject.toml dicts
  • all_errors=True causes ExceptionGroup's to be emitted
  • Support METADATA 2.1+ JSON format with new .as_json() method

Fixes:

  • Match EmailMessage spacing
  • Handle multilines the way setuptools does with smart indentation
  • Warn on multiline Summary (project.description)
  • Improve locking for just metadata fields
  • Error on extra keys in author/maintainer
  • URL name stylization removed matching PEP 753

Refactoring:

  • Move fetcher methods
  • Put validation in method
  • Make RFC822Message compatible with and subclass of EmailMessage class with support for Unicode
  • Remove indirection accessing metadata_version, add auto_metadata_version
  • Rework how dynamic works, add dynamic_metadata
  • Use dataclass instead of named tuple
  • Use named arguments instead of positional
  • Spit up over multiple files
  • Remove DataFetcher, use static types wherever possible
  • Reformat single quotes to double quotes to match packaging
  • Produce standard Python repr style in error messages (keeping double quotes for key names)
  • Show the types instead of values in error messages

Internal and CI:

  • Better changelog auto-generation
  • macos-latest now points at macos-14
  • Refactor and cleanup tests
  • Add human readable IDs to tests
  • Require 100% coverage

... (truncated)

Commits


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)