Wire v4.0.0-alpha.1 Release Notes
-
2021-05-01
Kotlin + Java
- New:
GrpcClient.Builder.minMessageToCompress()
configures which messages are compressed. This will completely disable compression if the size isLong.MAX_VALUE
. We've seen problems where some Golang gRPC servers don't support compression; setting this toMAX_VALUE
is necessary to interop with them. - New:
SchemaReflector
is our initial implementation of the [gRPC Server Reflection Protocol][reflect]. Note that although we implement the business logic of gRPC reflection, we don't offer a gRPC server built into Wire. - New: Support
rpcRole = 'none'
in the Gradle plugin to generate neither client nor server code. - Fix: Generate
@Deprecated
annotations on deprecated messages, fields, enums, and enum constants. - Fix: Update the Wire Gradle plugin to register generated
.java
sources with the Java compiler. Previously this was broken if the Kotlin plugin was installed. - Fix: Use Gradle's logging mechanism to reduce output when Wire generates code.
- Fix: Update the Wire Gradle plugin to clear the output directory before generating code. This prevents the need to do a clean build after removing a message type.
- Fix: Permit values other than
0
and1
when decoding protobuf-encoded booleans. Previously we threw anIOException
for other values; now all non-zero values are true. - Upgrade: [Okio 3.0.0-alpha.3][okio_3_0_0_a_3]. We now use Okio 3's
FileSystem
inSchemaLoader
, which makes it easier to load.proto
files from the classpath.
Swift:
- New: Support
Timestamp
andDuration
. - Fix: Throw an error when encountering an unexpected
ProtoReader.beginMessage()
rather than callingfatalError()
.
- New: