Skip to content

Conversation

@abarke
Copy link

@abarke abarke commented Oct 9, 2025

πŸš€ Protobuf Edition 2023 Support

✨ Major Features

🎯 Edition 2023 Compatibility

  • Partial support for protobuf edition = "2023" syntax
  • Feature-based behaviour resolution (vs syntax-based checks)
  • Advanced field presence semantics (explicit, implicit, legacy_required)
  • Enhanced enum handling (open/closed semantics)

πŸ”§ Infrastructure Updates

  • C++ Standard: Upgraded from v14 to v17 πŸ“ˆ
  • Protobuf Version: Updated from v25.8 to v32.1 πŸ“¦

πŸ“š New Documentation & Examples

  • Requirements for supporting EDITIONS.md
  • New Edition 2023 example
  • Updated README with editions syntax documentation

βš™οΈ Code Generation Improvements

  • New feature resolution system in prost-build
  • Enhanced field presence handling for all protobuf versions
  • Improved conformance test support for editions

πŸ§ͺ Testing & Validation

  • Conformance tests pass for edition 2023 (though missing some features)
  • Updated failing_tests.txt

⛓️‍πŸ’₯ Breaking Changes

  • Various changes due to upstream proto files caused by protobuf upgrade e.g api.proto
  • See semver CI results for more breaking changes (some may be false positives I believe)

πŸ—ΊοΈ Missing Protobuf Features

New tests were added to conformance/failed_tests.txt

Fixes #1031

@abarke abarke force-pushed the edition-2023-features-support branch from 554f947 to 87e79a2 Compare October 9, 2025 20:41
@mmmtastymmm
Copy link

Yeah! Unknown field support! πŸŽ‰

@alebar42
Copy link

Yeah! Unknown field support! πŸŽ‰

Not in this PR, but this is covered in #1340

Perhaps that should be merged first so I can rebase this branch

@mmmtastymmm
Copy link

Yeah! Unknown field support! πŸŽ‰

Not in this PR, but this is covered in #1340

Perhaps that should be merged first so I can rebase this branch

My b, commented on the wrong one!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for editions

3 participants