Release v0.25.0
What's Changed
- allow preserving unknown fields instead of discarding them by @alovak in #393
- Fix getters by @alovak in #396
⚠️ Breaking Changes
GetField() now returns nil for unset fields: GetField(id) returns nil if the field is not set or not defined in the specification, whereas previously it always returned a field instance.
Migration:
- Add nil checks before using the returned field
- Or migrate to
GetString(id)/GetBytes(id)which handle nil safely and return zero values for unset fields
This change aligns with the new lazy field loading behavior and makes field presence checking explicit. It fixes the issue introduced in v0.24.0 where getting the value of a field that wasn't set was setting it.
Full Changelog: v0.24.0...v0.25.0