This release contains support for Protocol Buffers packed fields, as well as several bugfixes.
It uses Kotlin 1.6.21 by default.
Protobuf packed fields
It is now possible to encode and decode Kotlin classes to/from Protobuf messages with packed repeated fields.
To mark the field as packed, use @ProtoPacked
annotation on it.
Note it affects only List
and primitive collection such as IntArray
types.
With this feature, it is now possible to decode Proto3 messages, where all repeated fields are packed by default.
Protobuf schema generator also supports new @ProtoPacked
annotation.
Many thanks to Paul de Vrieze for his valuable contribution!
Other improvements & small features
- Incorporate JsonPath into exception messages (#1841)
- Mark block in corresponding encodeStructure/decodeStructure extensions as crossinline to reduce amount of bytecode (#1917)
- Support serialization of compile-time
Collection<E>
properties that are not lists at the runtime (#1821) - Best-effort kotlin reflect avoidance in serializer(Type) (#1819)