Skip to content

Releases: pypa/pyproject-metadata

0.9.0 beta 3

13 Sep 21:02
6a7a1b3
Compare
Choose a tag to compare
0.9.0 beta 3 Pre-release
Pre-release

What's Changed

  • Support unicode METADATA in the description again
  • Restore RFC822Message with support for unicode
  • Restore write_to_rfc822 with support for any Message
  • Restore recommendation to use string instead of bytes

Full Changelog: 0.9.0b2...0.9.0b3

0.9.0 beta 2

13 Sep 18:35
2f23a31
Compare
Choose a tag to compare
0.9.0 beta 2 Pre-release
Pre-release

What's Changed

  • Support unicode METADATA again
  • Remove the custom RFC822Message entirely, replaced with a custom Policy (which also handles multilines)
  • Handle multiline the way setuptools does with smart indentation
  • Remove write_to_rfc822
  • Remove the multiline warning for all metadata
  • Add some unicode and reading tests
  • Swap EmailMessage for Message
  • Add PyPI attestations

Full Changelog: 0.9.0b1...0.9.0b2

0.9.0 beta 1

13 Sep 05:47
14dcc1d
Compare
Choose a tag to compare
0.9.0 beta 1 Pre-release
Pre-release

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). The beta release is intended for backend authors to try out the changes before a final release.

What's Changed

Features:

  • Added PEP 639 support for SPDX license and license files, METADATA 2.4
  • Validate extra keys (warning, opt-in error)
  • Validate project name
  • Validate entrypoint group names
  • Add multiline warning

Fixes:

  • Correct typing for emails
  • Match EmailMessage spacing

Refactoring:

  • Move fetcher methods
  • Put validation in function
  • Prepare for EmailMessage
  • Use EmailMessage class

Internal and CI:

  • Add 3.13 to testing
  • Add ruff-format
  • Actions and dependabot
  • Better changelog auto-generation
  • Generate attestations for releases
  • macos-latest now points at macos-14
  • Refactor and cleanup tests
  • Add human readable IDs to tests
  • Fix coverage context

Full Changelog: 0.8.0...0.9.0b1

0.8.0

18 Apr 03:18
f57af25
Compare
Choose a tag to compare

What's Changed

  • Support specifying the metadata_version as 2.1, 2.2, or 2.3
  • Always normalize extras following PEP 685
  • Preserve the user-specified name style in the metadata. .canonical_name added to get the normalized name
  • Require "version" in the dynamic table if unset (following PEP 621)
  • Support extras using markers containing "or"
  • Support empty extras
  • Using .as_rfc822() no longer modifies the metadata object
  • Fix email-author listing for names containing commas
  • Separate core metadata keywords with commas, following the (modified) spec
  • An error message reported project.license instead of project.readme
  • Produce slightly cleaner tracebacks
    Fix a typo in an exception message
  • Subclasses now type check correctly
  • The build backend is now flit-core

Full Changelog: 0.8.0rc2...0.8.0

0.8.0 RC 2

17 Apr 05:27
11f15ce
Compare
Choose a tag to compare
0.8.0 RC 2 Pre-release
Pre-release

What's Changed

Full Changelog: 0.8.0rc1...0.8.0rc2

0.8.0 RC 1

14 Apr 04:20
04d4cf0
Compare
Choose a tag to compare
0.8.0 RC 1 Pre-release
Pre-release

What's Changed

  • Support specifying the metadata_version as 2.1, 2.2, or 2.3
  • Always normalize extras following PEP 685
  • Preserve the user-specified name style in the metadata. .canonical_name added to get the normalized name
  • Require "version" in the dynamic table if unset (following PEP 621)
  • Support extras using markers containing "or"
  • Support empty extras
  • Using .as_rfc822() no longer modifies the metadata object
  • Fix email-author listing for names containing commas
  • Validate the description is one line
  • Separate core metadata keywords with commas, following the (modified) spec
  • An error message reported project.license instead of project.readme
  • Produce slightly cleaner tracebacks
  • The build backend is now flit-core

Full Changelog: https://github.com/pypa/pyproject-metadata/commits/0.8.0rc1