Update dependency com.squareup.wire:wire-runtime to v5 #4192
+1
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.2.0
->5.0.0
Release Notes
square/wire (com.squareup.wire:wire-runtime)
v5.0.0
Compare Source
2024-07-15
Common
srcDir(String)
has been deprecated in favor ofsrcDir(Any)
which better leverages Gradle tohandle dependencies.
v4.9.9
Compare Source
2024-04-02
Common
v4.9.8
Compare Source
2024-03-18
Common
v4.9.7
Compare Source
2024-02-12
Common
v4.9.6
Compare Source
2024-02-02
Common
Kotlin
v4.9.5
Compare Source
2024-01-27
Common
v4.9.4
Compare Source
2024-01-26
Common
linuxArm64
target to wire-runtime module (#2733 by [Shay Oinif][ShayOinif])ProtoReader
API for length-delimited stream reads (#2747 by [Jake Wharton][JakeWharton])ProtoReader#nextLengthDelimited
to read and return the length of the next message in a length-delimited stream.ConsoleWireLogger
does not print anything if in quiet mode (#2754 by [Dimitris Koutsogiorgas][dnkoutso])EmptyWireLoggerFactory
class (#2776 by [Dimitris Koutsogiorgas][dnkoutso])Kotlin
SERVICE_NAME
as const (#2773 by [Marius Volkhart][MariusVolkhart])%N
inKotlinGenerator
to ensure names are escaped (#2784 by [Egor Andreevich][Egorand])escapeKotlinKeywords
parameter to Kotlin target (#2785 by [Egor Andreevich][Egorand])escapeKotlinKeywords = true
within ourkotlin {}
targets to escape Kotlin keywords with backticks rather than having them suffixed with an_
.PipeDuplexRequestBody
(#2791)Swift
unknownFields
type to[UInt32: Data]
from justData
. (#2789 by [Dimitris Koutsogiorgas][dnkoutso])ProtoExtensible
protocol that all messages that have been extended conform to. (#2790 by [Dimitris Koutsogiorgas][dnkoutso])Announcement
Wire 5.0 is happening soon. This will happen:
SchemaHandler.Factory#create()
will be removed. Override its counterpart for painless migrationSchemaHandler.Factory#create(includes: List<String>, excludes: List<String>, exclusive: Boolean, outDirectory: String, options: Map<String, String>)
.wire-grpc-server
will be extracted into its own repository: https://github.com/square/wire-grpc-server/v4.9.3
Compare Source
2023-11-23
Int32
s was broken in Swift and did not match protobuf spec.Negative
Int32
s are now correctly encoded as unsignedInt64
s. Prior versions of Wire that haveserialized a proto containing negative
Int32
fields will not be correctly decoded using thisversion onwards.
ProtoDefaulted
was incorrectly applied in cross-module contextsv4.9.2
Compare Source
2023-11-13
bytes
.On code generation, the fields of such types will be using the platform equivalent of
bytes
,like
okio.ByteString
for the JVM. Use this if there's a dependency heavy type which you donot use. Note that scalar types cannot be opaqued.
oneOf
options.Defaulted
has been renamedCustomDefaulted
ProtoDefaulted
property wrapper andProtoDefaultedValue
protocolProtoDefaulted
andCustomDefaulted
include setter supportFoo().$bar.$baz += 1
ProtoEnum
types now have a raw value ofInt32
.v4.9.1
Compare Source
2023-09-26
v4.9.0
Compare Source
2023-09-20
use_array
has been changed fromstring
tobool
, and its tag has changed from 1180 to 1185.my.namespace.Type#another.namespace.*
. This is handy if one wants to prune extension fields.project(..)
dependencies are now explicitly limited to the JVM, for otherwise Wire isn't able to pick the correct platform to resolve them.google/protobuf/descriptor.proto
orwire/extensions.proto
will not be emitted anymore whenprotoLibrary = true
.wire-schema
, andwire-schema-tests
are now available on JavaScript and native platforms.3.5.0
. Alljava.nio
file systems should now be supported when using Wire.1.9.10
, Gradle to8.x
, and many others to most recent versions.v4.8.1
Compare Source
2023-08-17
init(REQUIRED FIELDS, (inout Storage) -> Void)
WIRE_INCLUDE_MEMBERWISE_INITIALIZER
; however, it will be removed in November 2024. See https://github.com/square/wire/pull/2561 for details.proto
are correctly added to the built artifact.v4.8.0
Compare Source
2023-07-21
Class.getDeclaredFields
random ordering.Duration
,Struct
, etc) are now supported when doing dynamic serialization.GrpcStatus
is now serializable which enablesGrpcException
serialization.GrpcClient
is now abstract. You can customize how network calls are implemented.rejectUnusedRootsOrPrunes = true
will fail the build ifany roots or prunes are not used when refactoring the schema. This can help discover incorrect
configurations early and avoid mis-expectations about the built schema.
OneOf
's options are now loaded to the schema.wire-schema-tests
is now multiplatform.SchemaHandler.Factory
can now receive payload set within the Wire Gradle plugin. Implementthe method
fun create(includes, excludes, exclusive, outDirectory. options): SchemaHandler
to receive it.SchemaHandler.Factory
. Thecustom {}
takes a map<string, string> to its new field
options
.Defaulted
property wrapper.Foundation.Data
to prevent name collisions with messages namedData
.wire-compiler
towire-run
:WireRun
,Target
,DirectedAcyclicGraph
,PartitionedSchema
.1.14.2
.v4.7.2
Compare Source
2023-06-18
v4.7.1
Compare Source
2023-06-16
DynamicMemberLookup
for storage.protoPath
.oneof
field names.SchemaEncoder
.v4.7.0
Compare Source
2023-05-24
New: Add a dry run option. If enabled, the compiler will just emit the names of the source files that would be
otherwise * generated to stdout. You can use the flag
--dry_run
with the Wire compiler or define the option withGradle as the following:
Fix: Correctly set task dependencies on
processResources
ifprotoLibrary
is set to true.Fix: If a valid grpc-status header is present, raise a GrpcException rather than an IOException.
v4.6.2
Compare Source
2023-05-11
jvm
variants of multiplatform artifacts into the BOM.v4.6.1
Compare Source
2023-05-10
1.5
.v4.6.0
Compare Source
2023-05-01
4.5.6
had a breaking change which has been reverted in4.6.0
without losingany functionality.
descriptor.proto
from the7dbe742
version ofprotocolbuffers/protobuf
.v4.5.6
Compare Source
2023-04-25
Class.getDeclaredFields
random ordering.wire.use_array
to use primitive arrays for packed scalars. This should improveperformances as it avoids autoboxing on the JVM. It will use the appropriate array type, for
example
repeated float
would be represented as aFloatArray
.v4.5.5
Compare Source
2023-04-12
v4.5.4
Compare Source
2023-03-31
1.8.20
.v4.5.3
Compare Source
2023-03-23
mingwX64
target.1.8.20RC
.v4.5.2
Compare Source
2023-03-06
rawType
's classloader when accessingProtoAdapter
s.grpc-status-details-bin
and add it toGrpcException
.v4.5.1
Compare Source
2023-02-11
v4.5.0
Compare Source
2023-02-02
tvOS
.Swift
Sendable
conformance to all generated types.Struct
,Any
,Duration
, andTimestamp
.@JsonString
has been deprecated and will be removed in a future release.unknownFields
should never be encoded any more.v4.4.3
Compare Source
2022-10-26
1.7.20
.v4.4.2
Compare Source
2022-10-06
buildersOnly
will take precedence overjavaInterop
when generating Kotlin.v4.4.1
Compare Source
2022-08-05
GrpcClient
.visibility of generate types' constructor to non-public.
okio
inwire-schema
.1.7.20
around source sets.1.12.0
.v4.4.0
Compare Source
2022-06-07
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.SchemaBuilder
class.This lives in the new
wire-schema-tests
artifact. For usage examples, check the tests in[custom handler recipes][custom-handlers-recipes].
wire-profiles
artifact has been removed and is now inlined inwire-schema
.CoreLoader
'sisWireRuntimeProto
methods are now static.SchemaLoader
and related classes have been moved fromwire-compiler
towire-schema
.oneof
options.v4.3.0
Compare Source
2022-03-24
max
keyword is now correctly parsed for enum types.CoreLoader
correctly loads.proto
files present in the resources of the project.GrpcExceptions
inGrpcCalls
.GrpcCall.isCanceled
to honor OkHttp cancellations.v4.2.0
Compare Source
2022-02-17
New: Publish a [bill of materials (BOM)][bom] for Wire. Depend on this from Gradle or Maven to
keep all of your Wire artifacts on the same version, even if they're declared via transitive
dependencies. You can even omit versions when declaring other Wire dependencies.
v4.1.1
Compare Source
2022-02-15
ConsoleWireLogger
.1.3.1
.repeated
options.v4.1.0
Compare Source
2022-01-28
values when writing JSON. Set
writeIdentityValues
to true for eitherWireJsonAdapterFactory
or
WireTypeAdapterFactory
to enable it.precise callbacks. We might add new methods in the future for better logging still.
dry-run
option onWireCompiler
has been removed.on
pod install
.v4.0.1
Compare Source
2021-12-07
oneof
for Swift generation.v4.0.0
Compare Source
2021-12-03
oneofName
in@WireField
..proto
file atProtoAdaper.sourceFile
. This is null for built-in typesand types generated prior to this release.
.proto
files. In previous releases, generated members were sorted by kind (fields, oneofs), then by
declaration order. With this update only declaration order is used. Note that this will change
the encoded-bytes of these messages. This change is both forwards and backwards-compatible.
Identical encoding of equal messages across Wire releases is typical but not guaranteed, and this
is a rare release that changes that encoding. If you do cryptographic hashes on encoded proto
messages, you will notice that the hashes are different in this release.
SchemaLoader
to exhaustively load imported files. By default we only load what'simmediately necessary to generate code; this new option loads everything reachable into the
schema.
Pruner
in wire-schema.Closeable
interface anymore.rpcRole = 'none'
in the Gradle plugin to generate neither client nor server code.Timestamp
andDuration
.default; it will now throw if there are no [output][wire-customizing-output] defined.
emitAppliedOptions
for our Java and Kotlin target is now set to true.@WireRpc
has a newsourceFile
attribute.GrpcClient.Builder.minMessageToCompress()
configures which messages are compressed. Thiswill completely disable compression if the size is
Long.MAX_VALUE
. We've seen problems wheresome Golang gRPC servers don't support compression; setting this to
MAX_VALUE
is necessary tointerop with them.
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.
wire-reflector
bundles gRPC'sreflection.proto
which it is built upon.wire-runtime
exposes acom.squareup.wire.VERSION
constant reflecting the project version.instead of with a class name.
SchemaLoader.loadExhaustively
.GrpcCall.clone()
.project-relative paths in any attribute that is used as a cache key.
kotlin-reflect, which we neither needed nor wanted.
name
orordinal
.@Deprecated
annotations on deprecated messages, fields, enums, and enumconstants.
0
and1
when decoding protobuf-encoded booleans. Previously wethrew an
IOException
for other values; now all non-zero values are true.OneOf
fields..proto
files.SchemaReflector
. We had problems withgrpc-curl
which expects the requested file to be listed first.CustomHandlerBeta
.fromValue
method in Kotlin.ProtoReader.beginMessage()
rather than callingfatalError()
.prevents the need to do a clean build after removing a message type.
.java
sources with the Java compiler.Previously this was broken if the Kotlin plugin was installed.
Those are usually the google types for which Wire will provide its own implementation.
1.8.0
.FileSystem
inSchemaLoader
, whichmakes it easier to load
.proto
files from the classpath. This is binary-incompatible with theOkio 3.0 alpha releases.
v3.7.1
Compare Source
2021-11-03
v3.7.0
Compare Source
2021-03-25
srcProject(":project-name")
makes it easier to depend on.proto
files of other projects..proto
directories exist at Gradle plugin configuration time.This was preventing Wire from using other tasks' outputs as its inputs.
.
prefix.v3.6.1
Compare Source
2021-03-09
sourcePath
will now include only protos defined withinclude
if the option is present. It used to include all existing
.proto
files even ifinclude
wasused.
v3.6.0
Compare Source
2021-02-08
protoPath
orprotoSource
depends on a project.protoPath
andprotoSource
dependencies are now not transitive by default.will cause the generated
.jar
file to include.proto
sources.grpcServerCompatible
option which if set totrue
will generate gRPC server-compatibleclasses.
GrpcException
.v3.5.0
Compare Source
2020-10-27
wire-runtime
dependency is automatically added.oneOfOptions
.ZERO
andzero
.;
as entry separator in option maps.target platform.
v3.4.0
Compare Source
2020-09-24
v3.3.0
2020-09-14
permitPackageCycles
,json_name
pseudo option.wire_package
file option allows one to set the JVM package where classes generatedfrom the concerned file will be placed.
wire_package
takes precedence overjava_package
.wire.since
andwire.until
have been renamed with the prefixconstant_
forEnumValueOptions
.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.
v3.2.2
2020-05-15
v3.2.1
2020-05-02
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
anduntilVersion
, while client code would target a unique version viaonlyVersion
.GrpcClient.create
API to create implementations for gRPC interfaces.v3.2.0
2020-04-23
wire.since
andwire.until
options on members and enum values. You can prune fields orconstants using these two options. When generating code with the Wire Gradle plugin, define
sinceVersion
and/oruntilVersion
to scope the generated code.toString
method on Kotlin and Java now escape string values for easy parsing.descriptor.proto
every time when building theSchema
.Kotlin.
v3.1.0
2020-02-06
This release includes major non-backwards-compatible API changes to the
wire-schema
module. Thiswill 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.
proto { ... }
target in the Wire Gradle plugin. Use this to perform basic source codetransformations on collections of
.proto
files. We use it to prune large collections of protosto just the subset used by the application.
extensions 1, 3 to 5, 7;
..proto
files haven't changed.includes
,excludes
,root
, andprune
give precedence to the most precise rule.Previously
excludes
always took precedence overincludes
, andprune
always took precedenceover
root
.nested type is retained but its enclosing type is pruned.
v3.0.3
Compare Source
2019-12-23
Starting with this version the Wire Maven plugin is no longer maintained and has been removed from
the repository.
WireRun
and the Gradle plugin.sourcePath
andprotoPath
.protoPath
contents.generateProtos
task.ProtoAdapter
for packed fields in Kotlin.protoPath
.--excludes
properly prunes options.ServiceOptions
andMethodOptions
when pruning.v3.0.2
2019-11-22
v3.0.1
2019-10-18
fields rather than failing to decode the enclosing message.
v3.0.0
2019-10-07
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.