- New: Generate interface definition for a
Service
with a partial list of methods. - Okio dependency bumped to 1.0.0.
- New: Options on enums and enum values are now supported.
- New: Options ending with
.redacted
on fields will omit values fromtoString
. - New:
Redactor
creates copies of messages with redacted fields omitted. - Various internal serialization improvements and memory reduction.
- Okio dependency bumped to 0.9.0.
-
Replace Wire's ByteString class with the one from Okio (https://github.com/square/okio). This is a breaking API change.
-
Add a new static method
Wire.parseFrom(okio.Source input, Class<M> messageClass)
. -
Reimplement Wire's input handling to use Okio internally.
-
Provide basic support for generating code from service declarations (see README.md).
-
Improve deserialization performance.
-
Fix a bug where no some extension dependencies were not detected.
- New: Support service declarations as roots. The request and response types of their methods will be included.
- Fix: Enum value duplicate check now correctly looks at names instead of values.
- New: Automatically add Maven plugin's generated source as a compilation root.
- Fix: Correct Maven plugin's 'no arguments' flag to work properly.
- Fix: Support extend declarations nested inside message types.
- New: Empty repeated fields are now initialized to an empty collection.
- New: Emit field options. Use
--no_options
flag to disable. - New:
@Deprecated
is now added to fields and setters on the builder. - New: Maven plugin for running the compiler as part of a build.
- Fix: Treat empty and null repeated fields the same in
equals()
andhashCode()
.
Note: This version is not backwards compatible with code generated from previous versions.
- New:
--registry_class
compiler argument emits a class with a list of extensions suitable for passing to theWire
constructor. - Fix: Ensure all trailing whitespace is trimmed on documentation.
- Fix: Correct parsing and emission of multi-line documentation.
- New: Support for message options.
- New: Check for duplicate field tag numbers.
- New: Emit Javadoc on messages, enum values, and builder methods.
- Fix: Emit imports for extension fields and classes outside of package.
- Fix: Correctly generate sources for protos with the same basename.
- Fix: Do not generate default constants for message types.
- Fix: Avoid shadowing fields named "result", "other", or "o".
- New: Support reading directly from
InputStream
. - New: Add '
other == this
' shortcut in generatedequals()
methods.
Initial version.