wire v4.4.0 Release Notes

  • 2022-06-07

    • ๐Ÿ†• New: Custom schema handlers! Wire lets you now plug in your own logic to deal with the protobuf schema the way you want. Check [our documentation][custom-handlers-doc] for details. You can also check our [recipe directory][custom-handlers-recipes] for examples. Note that this API obsoletes the CustomHandlerBeta type Wire had until now.
    • ๐Ÿ†• New: You can now easily create an in-memory protobuf schema with the new SchemaBuilder class. This lives in the new wire-schema-tests artifact. For usage examples, check the tests in [custom handler recipes][custom-handlers-recipes].
    • ๐Ÿ’ฅ Breaking: the wire-profiles artifact has been removed and is now inlined in wire-schema.
    • ๐Ÿ’ฅ Breaking: CoreLoader 's isWireRuntimeProto methods are now static.
    • ๐Ÿ’ฅ Breaking: SchemaLoader and related classes have been moved from wire-compiler to wire-schema.
    • ๐Ÿ†• New: Support packed and map fields when converting to/from JSON with Kotlin.
    • ๐Ÿ†• New: Support typesafe accessors and version catalogs in Wire plugin.
    • ๐Ÿ†• New: Generate annotations for repeated options.
    • ๐Ÿ†• New: Allow parsing of oneof options.
    • ๐Ÿ†• New: Support map fields in options.
    • ๐Ÿ†• New: Add macosArm64 support to the KMP projects supporting mac.
    • ๐Ÿ›  Fix: Properly deal with maps of scalar types, deserializing missing scala key/value into identity.
    • ๐Ÿ›  Fix: Fix a crash where ProtoMember was populated with the wrong data.