All Versions
Latest Version
Avg Release Cycle
76 days
Latest Release
120 days ago

Changelog History
Page 1

  • v3.5.1-alpha2

    November 02, 2020
  • v3.5.1-alpha1

    October 30, 2020
  • v3.5.0

    October 27, 2020


    • New: Wire Gradle plugin improvements:
      • A task is now created for each available sources (main, Android variants, etc).
      • The wire-runtime dependency is automatically added.
      • Generated code directories are automatically added into their module's source sets.
    • New: Wire's proto parser now knows about oneOfOptions.
    • New: Wire will throw when two enum constants are ambiguous, like ZERO and zero.
    • New: Bytes options are not eligible anymore as annotation members.
    • Fix: Optional fields in proto3 are now generated as nullable fields.
    • Fix: JSON camel-casing is updated to fit latest protobuf specifications.
    • Fix: Exception messages when gRPC fails have been improved.
    • Fix: Allow ; as entry separator in option maps.
    • Fix: Enum constants are now properly escaped when conflicting with keywords of their generated target platform.
    • Fix: Update to KotlinPoet 1.7.2 which makes a lot of change in how Kotlin code is generated.
  • v3.4.0

    September 24, 2020


    • New: Stop emitting enum constant options as fields for Kotlin.
    • New: The Wire Gradle plugin task is now cacheable.
    • New: New GrpcCall function to help implement fakes.
    • New: Change GrpcStreamingCall.execute() to support structured concurrency.
  • v3.3.0

    September 14, 2020


    • New: Proto3 support! This includes the new behaviors, the new types, and the JSON.
    • New: Swift support for proto2 schemas. The details are in our [blog post][swiftblogpost].
    • New: Wire will now throw an error when:
      • two generated files end up overriding each other,
      • imports form a cycle,
      • packages form a cycle. This can be turned off with the flag permitPackageCycles,
      • an option within the source set cannot be resolved,
      • there are name duplications of members in a message, or of rpcs in a service,
      • a map is used as an extension.
    • New: Support for the json_name pseudo option.
    • New: The wire_package file option allows one to set the JVM package where classes generated from the concerned file will be placed. wire_package takes precedence over java_package.
    • New: Lists and maps in Kotlin generated code are now immutable.
    • New: Support UTF-8 with BOM in proto files.
    • New: wire.since and wire.until have been renamed with the prefix constant_ for EnumValueOptions.
    • New: Wire generates 1) annotations for options which 2) gets assigned to the generated code where appropriate. Both behavior can be turn on or off via the flags:
      • emitDeclaredOptions: True to emit types for options declared on messages, fields, etc. Default to true,
      • emitAppliedOptions: True to emit annotations for options applied on messages, fields, etc. Default to false.
    • Fix: Recursive map values.
    • Fix: Long expressions in equals and encodedSize functions.
  • v3.3.0-alpha2

    September 01, 2020
  • v3.3.0-alpha1

    August 19, 2020
  • v3.2.2

    May 15, 2020


    • Fix: JSON serialization correctly emits all values.
  • v3.2.1

    May 03, 2020


    • New: onlyVersion option on the Wire Gradle plugin to target a unique version. By and large, service code that supports many clients would target ranges via sinceVersion and untilVersion, while client code would target a unique version via onlyVersion.
    • New: Support for optional fields in Proto3.
    • Fix: Restored the GrpcClient.create API to create implementations for gRPC interfaces.
  • v3.2.0

    April 24, 2020


    • New: wire.since and wire.until options on members and enum values. You can prune fields or constants using these two options. When generating code with the Wire Gradle plugin, define sinceVersion and/or untilVersion to scope the generated code.
    • New: Messages' toString method on Kotlin and Java now escape string values for easy parsing.
    • Fix: Link the entire descriptor.proto every time when building the Schema.
    • Fix: Properly handle members named after keywords of the target language for both Java and Kotlin.
    • Fix: Use the declared name for keys in JSON when emitting/reading keyword named members.
    • Fix: Generated Kotlin code is malformed for long identifiers.
    • Fix: Make the Wire Gradle plugin compatible with instant execution.