- Breaking change: Added generics to RpcClient.invoke(). Proto files must be rebuilt using Dart protoc_plugin version 0.8.0 or newer to match.
- Dart 2 fixes.
- Breaking change: Changed signature of
CodedBufferWriter.writeTo
to requireUint8List
for performance.
- Updated SDK version to 2.0.0-dev.17.0
- Fix hashing for PbList.
- Fix type in PbList.fold() for Dart 2.
- Small performance tweaks for DDC.
- Added fast getters for common types.
- Only pass index instead of both tag and index to accessors.
- Delegate more methods to underlying list in PbList.
- Small fixes for Dart 2.0.
- Added enumValues to FieldInfo. Fixes #63.
- Small performance optimization when deserializing repeated messages from JSON.
- Type annotations for strong mode.
- Use real generic syntax instead of comment-based.
- Support v2 dev SDKs.
- Unknown enum values are ignored when parsing JSON, instead of throwing an exception.
- Resolved a strong-mode error.
- Performance: Avoid excessive cloning in merge.
- Performance: Use code patterns that dart2js handles better.
- fix zigzag function so all coded buffer reader tests work on dart2js.
- make PbMixin constructor public for use within protoc plugin.
- Revert previous change because it causes strong mode type error in the generated code. We will revisit this in a new version of mixin support.
- Use a more refined implementation of
Map
inPbMapMixin
- Performance: eliminate some dynamic calls.
- Bugfix: remove dependency on
pkg/crypto
for real.
-
Require at least Dart SDK 1.13.
-
Removed dependency on
pkg/crypto
.
- Experimental support for strong mode.
- Fixed an issue with GeneratedMessage operator== and Map mixins
- Added declaration of GeneratedMessage clone method
- Support the latest version of package
fixnum
.
- Reorganized internals to improve performance. We now store field values in a list instead of a map. Private properties and methods are all moved to the _FieldSet class. There are new entry points for generated getters, hazzers, and setters. Improved JSON decoding performance.
- Dropped compatibility with .pb.dart files before 0.4.2 by removing internal constants from GeneratedMessage. Also, protoc plugins before 0.5.0 won't work.
- Renamed FieldType to PbFieldType.
- added FieldType class. It turned out that FieldType is a commonly used name, even in .proto files. This is renamed to PbFieldType in 0.4.2.
- Added support for observing field changes. For now, this can only be enabled by using a mixin to override the eventPlugin getter.
- Removed optional third parameter from setField(). It was only intended for internal use, and could be used to defeat type checks on fields.
- clearExtension() removes the value and extension in all cases. (Before, the extension would be kept and the list cleared for repeated fields.)
- Upcoming: clearField() will require its argument to be a known tag number (which could be an extension). For now, this is only enforced when a mixin provides an eventPlugin.
- Add ReadonlyMessageMixin. The generated message classes use this to for the default values of message fields.
- Add meta.dart which declares reserved names for the plugin.
- Add GeneratedService and ProtobufClient interfaces.
- Add experimental mixins_meta library
- Add experimental PbMapMixin class (in a separate library).
- Fix bug where ExtensionRegistry would not be used for nested messages.
- More docs.
- Added mergeFromMap() and writeToJsonMap()
- Fixed an analyzer warning.
- Bugfix for
setRange()
: Do not assume Iterable has asublist()
method.
- Simplify some types used in is checks and correct PbList to match the
- signature of the List setRange method.
- Bugfix for incorrect decoding of protobuf messages: Uint8List views with non-zero offsets were handled incorrectly.
-
Allow constants as field initial values as well as creation thunks to reduce generated code size.
-
Improve the performance of reading a protobuf buffer.
-
Fixed truncation error in least significant bits with large Int64 constants.