Releases: pypa/pyproject-metadata
Releases Β· pypa/pyproject-metadata
0.9.0 beta 3
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
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
forMessage
- Add PyPI attestations
Full Changelog: 0.9.0b1...0.9.0b2
0.9.0 beta 1
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 atmacos-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
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 ofproject.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
What's Changed
- fix: typing annotation for StandardMetadata.from_pyproject() by @dnicolodi in #111
- fix: typo in exception message by @dnicolodi in #108
- revert: validate description by @henryiii in #112
- chore: bump to 0.8.0rc2 by @henryiii in #113
Full Changelog: 0.8.0rc1...0.8.0rc2
0.8.0 RC 1
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 ofproject.readme
- Produce slightly cleaner tracebacks
- The build backend is now
flit-core
Full Changelog: https://github.com/pypa/pyproject-metadata/commits/0.8.0rc1