All Versions
41
Latest Version
Avg Release Cycle
88 days
Latest Release
20 days ago

Changelog History
Page 1

  • v3.2.2

    May 15, 2020

    2020-05-15

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

    May 03, 2020

    2020-05-02

    • 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

    2020-04-23

    • 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.
  • v3.1.0

    February 06, 2020

    2019-02-06

    🚀 This release includes major non-backwards-compatible API changes to the wire-schema module. This will break tools that use Wire's schema modeling as a standalone library. We are making big changes to this component and we sacrificed API compatibility to accelerate these improvements.

    • New: proto { ... } target in the Wire Gradle plugin. Use this to perform basic source code transformations on collections of .proto files. We use it to prune large collections of protos to just the subset used by the application.
    • Fix: Support all forms of reserved extensions, such as extensions 1, 3 to 5, 7;.
    • Fix: Don't re-generate source files when their .proto files haven't changed.
    • New: includes, excludes, root, and prune give precedence to the most precise rule. Previously excludes always took precedence over includes, and prune always took precedence over root.
    • Fix: Generate non-instantiable class for enclosing types in Kotlin. These are emitted when a nested type is retained but its enclosing type is pruned.
    • Fix: Do not fail to build when the profile cannot find a dependency.
  • v3.0.3

    December 23, 2019

    2019-12-23

    🚚 Starting with this version the Wire Maven plugin is no longer maintained and has been removed from the repository.

    • New: Support for custom options in Kotlin.
    • New: Kotlin 1.3.61.
    • New: Add support for custom targets in WireRun and the Gradle plugin.
    • New: Improve schema evaluation algorithm when loading separate sourcePath and protoPath.
    • New: Lazy loading of protoPath contents.
    • New: Make it possible to customize Gradle plugin's configurations.
    • New: Make it possible to customize Gradle plugin's generateProtos task.
    • Fix: Use correct ProtoAdapter for packed fields in Kotlin.
    • Fix: Properly handle name clashes between fields and enclosing types.
    • Fix: Preserve the package name on files loaded from protoPath.
    • Fix: ProtoPruner: Properly evaluate Pruner's reachable objects.
    • Fix: ProtoPruner: Ensure --excludes properly prunes options.
    • Fix: ProtoPruner: Keep used ServiceOptions and MethodOptions when pruning.
  • v3.0.2

    November 22, 2019

    2019-11-22

    • Fix: Generate correct unknownFields code if a message field's name is a Kotlin keyword.
    • Fix: Properly handle unknown enum values in Kotlin.
    • Fix: ProtoPruner: retain used extends.
    • Fix: ProtoPruner: retain only used imports.
    • Fix: ProtoPruner: use NewSchemaLoader that correctly loads google.protobuf.descriptor.
    • Fix: ProtoPruner: print default values for scalar types for proto target within the options.
    • Fix: ProtoPruner: fix handling of options.
    • Fix: ProtoPruner: print default values for enums.
  • v3.0.1

    October 18, 2019

    2019-10-18

    • Fix: Use the correct adapter path for gRPC endpoints that customize the Java package.
    • Fix: Preserve documentation in generated services.
    • Fix: Fail to generate code if the source directory doesn't exist.
    • Fix: Make Kotlin consistent with Java for unknown enum constants. We now treat these as unknown fields rather than failing to decode the enclosing message.
  • v3.0.0

    June 22, 2019

    2019-10-07

    • Update: All gRPC networking calls are encoded in gzip.
  • v3.0.0-rc03

    October 06, 2019

    2019-10-04

    • Fix: Update dependency to a stable version, 2.4.1 of Okio.
  • v3.0.0-rc02

    October 02, 2019

    2019-10-01

    Kotlin

    • Fix: Nullify other oneof fields in Builder setters in Kotlin interop.
    • Fix: Use unknownFields in hashCode().
    • Fix: Remove withoutUnknownFields() from Kotlin.

    gRPC

    • Update: Total rewrite of the generated interfaces for clients:

    Introduce two interfaces, GrpcCall for simple RPCs, and GrpcStreamingCall fox duplex ones. Both will provide blocking and suspending API, including a reference to the underlying OkHttp Call object and its timeout.

    • Fix: Send stream cancels from clients.

    Misc

    • New: Changes printing of options and enums:
      • No empty lines between options and fields for enums.
      • Print options on new lines only when more than one.
    • Fix: Don't cache Message's hash code on Native.
    • Fix: Fix handling of map values in FieldBinding.
    • Fix: Fix import fails on windows due to path separator.
    • Fix: Don't emit proto2 sources for proto3 syntax.