Update pubspec version and CHANGELOG. (#520)
* Update pubspec and CHANGELOG with latest changes.
diff --git a/protobuf/CHANGELOG.md b/protobuf/CHANGELOG.md
index 7996f2f..2be6085 100644
--- a/protobuf/CHANGELOG.md
+++ b/protobuf/CHANGELOG.md
@@ -1,429 +1,467 @@
+## 1.1.4
+
+* Fix comparison of empty lists from frozen messages.
+* Switch repo internals to use `dart format` instead of `dartfmt`.
+
## 1.1.3
-* Fix that fixed32 int could be negative.
+* Fix that fixed32 int could be negative.
## 1.1.2
-* Fix proto deserialization issue for repeated and map enum value fields
- where the enum value is unknown.
+* Fix proto deserialization issue for repeated and map enum value fields where
+ the enum value is unknown.
## 1.1.1
-* Fix decoding of `oneof` fields from proto3 json. The 'whichFoo' state would
- not be set.
-* Fix the return type of `copyWith`.
+* Fix decoding of `oneof` fields from proto3 json. The 'whichFoo' state would
+ not be set.
+* Fix the return type of `copyWith`.
## 1.1.0
-* Require at least Dart SDK 2.7.0 to enable usage of extension methods.
-* Introduce extension methods `GeneratedMessage.rebuild` and
- `GeneratedMessage.deepCopy` replacing `copyWith` and `clone`. Using these
- alternatives can result in smaller binaries, because it is defined once
- instead of once per class. Use `protoc_plugin` from 19.1.0 to generate
- deprecation warnings for `copyWith` and `clone` methods.
-* `GeneratedMessage.getExtension` throws when reading trying to read an
- extension that is present in the unknown fields.
- We consider this change a bug-fix because depending on the old behavior is
- indicative of a bug in your program.
+* Require at least Dart SDK 2.7.0 to enable usage of extension methods.
+* Introduce extension methods `GeneratedMessage.rebuild` and
+ `GeneratedMessage.deepCopy` replacing `copyWith` and `clone`. Using these
+ alternatives can result in smaller binaries, because it is defined once
+ instead of once per class. Use `protoc_plugin` from 19.1.0 to generate
+ deprecation warnings for `copyWith` and `clone` methods.
+* `GeneratedMessage.getExtension` throws when reading trying to read an
+ extension that is present in the unknown fields. We consider this change a
+ bug-fix because depending on the old behavior is indicative of a bug in your
+ program.
## 1.0.4
-* Requires sdk 2.3.0
-* Update pedantic to 1.9.2
+* Requires sdk 2.3.0
+* Update pedantic to 1.9.2
## 1.0.3
-* Enable hashCode memoization for frozen protos.
-* Add `timeout` to `ClientContext`
+* Enable hashCode memoization for frozen protos.
+* Add `timeout` to `ClientContext`
## 1.0.2
-* Fix hashcode of bytes fields.
-* Fix issue with the `permissiveEnums` option to `mergeFromProto3Json`.
- The comparison did not work properly.
-* Fix binary representation of negative int32 values.
+* Fix hashcode of bytes fields.
+* Fix issue with the `permissiveEnums` option to `mergeFromProto3Json`. The
+ comparison did not work properly.
+* Fix binary representation of negative int32 values.
## 1.0.1
-* Fix issue with `ExtensionRegistry.reparseMessage` not handling map fields with
- scalar value types correctly.
-* Fix issue with the non-json name of a field (`protoName`) not being set correctly.
-* Fix: Allow decoding tagnumbers of unknown fields of up to 29 bits.
+* Fix issue with `ExtensionRegistry.reparseMessage` not handling map fields
+ with scalar value types correctly.
+* Fix issue with the non-json name of a field (`protoName`) not being set
+ correctly.
+* Fix: Allow decoding tagnumbers of unknown fields of up to 29 bits.
## 1.0.0
-* Graduate package to 1.0. No functional changes.
+* Graduate package to 1.0. No functional changes.
## 0.14.4
-* Add `permissiveEnums` option to `mergeFromProto3Json`.
- It will do a case-insensitive matching of enum values ignoring `-` and `_`.
-* Add support for 'ensureX' methods generated by `protoc_plugin` 19.0.0.
-* Add specialized getters for `String`, `int`, and `bool` with usual default values.
-* Shrink dart2js generated code for `getDefault()`.
-* Added an annotation class `TagNumber`. This is used by code generated by
- `protoc_plugin` from version 19.0.0.
+* Add `permissiveEnums` option to `mergeFromProto3Json`. It will do a
+ case-insensitive matching of enum values ignoring `-` and `_`.
+* Add support for 'ensureX' methods generated by `protoc_plugin` 19.0.0.
+* Add specialized getters for `String`, `int`, and `bool` with usual default
+ values.
+* Shrink dart2js generated code for `getDefault()`.
+* Added an annotation class `TagNumber`. This is used by code generated by
+ `protoc_plugin` from version 19.0.0.
## 0.14.3
-* Fix: Allow decoding tagnumbers of up to 29 bits. Would fail before with more than 28 bits.
+* Fix: Allow decoding tagnumbers of up to 29 bits. Would fail before with more
+ than 28 bits.
## 0.14.2
-* Expose `mapEntryBuilderInfo` in `MapFieldInfo`.
+* Expose `mapEntryBuilderInfo` in `MapFieldInfo`.
## 0.14.1
-* Support for `import public`.
+* Support for `import public`.
- The generated code for a protofile `a.proto` that `import public "b.proto"` will export the
- generated code for `b.proto`.
+ The generated code for a protofile `a.proto` that `import public "b.proto"`
+ will export the generated code for `b.proto`.
- See https://developers.google.com/protocol-buffers/docs/proto#importing-definitions.
+ See
+ https://developers.google.com/protocol-buffers/docs/proto#importing-definitions.
## 0.14.0
-* Support for proto3 json (json with field names as keys)
- - encoding and decoding.
- - Support for well-known types.
- - Use `GeneratedMessage.toProto3Json()` to encode and `GeneratedMessage.mergeFromProto3Json(json)`
- to decode.
+* Support for proto3 json (json with field names as keys)
-* `FieldInfo` objects have a new getter `.protoName` that gives the non-camel-case name of the field
- as in the `.proto`-file.
+ - encoding and decoding.
+ - Support for well-known types.
+ - Use `GeneratedMessage.toProto3Json()` to encode and
+ `GeneratedMessage.mergeFromProto3Json(json)` to decode.
-* **Breaking**: The field-adder methods on `BuilderInfo` now takes only named optional arguments.
- To migrate, update `protoc_plugin` to version 18.0.0 or higher.
-* The field-adder methods on `BuilderInfo` all take a new argument `protoName`.
-* **Breaking**: Changed `ExtensionRegistry.reparseMessage` to reparse extensions deeply, that is it looks at every
-nested message and tries to reparse extensions from its unknown fields.
+* `FieldInfo` objects have a new getter `.protoName` that gives the
+ non-camel-case name of the field as in the `.proto`-file.
+
+* **Breaking**: The field-adder methods on `BuilderInfo` now takes only named
+ optional arguments. To migrate, update `protoc_plugin` to version 18.0.0 or
+ higher.
+
+* The field-adder methods on `BuilderInfo` all take a new argument
+ `protoName`.
+
+* **Breaking**: Changed `ExtensionRegistry.reparseMessage` to reparse
+ extensions deeply, that is it looks at every nested message and tries to
+ reparse extensions from its unknown fields.
## 0.13.16+1
-* Reverts `0.13.16` which accidentally introduced a breaking change,
- [#284](https://github.com/dart-lang/protobuf/issues/284). This release is
- identical to `0.13.15`.
+* Reverts `0.13.16` which accidentally introduced a breaking change,
+ [#284](https://github.com/dart-lang/protobuf/issues/284). This release is
+ identical to `0.13.15`.
## 0.13.16
-* Better handling of dummy calls to `BuilderInfo.add` with a tag number of 0.
- These would trigger assertions before.
+* Better handling of dummy calls to `BuilderInfo.add` with a tag number of 0.
+ These would trigger assertions before.
## 0.13.15
-* Add new getter `GeneratedMessage.isFrozen` to query if the message has been frozen.
+* Add new getter `GeneratedMessage.isFrozen` to query if the message has been
+ frozen.
## 0.13.14
-* Avoid needless copy when reading from a Uint8List buffer.
+* Avoid needless copy when reading from a Uint8List buffer.
## 0.13.13
-* `Added `ExtensionRegistry.reparseMessage()` for decoding extensions from unknown fields after the initial
- decoding.
+* `Added`ExtensionRegistry.reparseMessage()` for decoding extensions from
+ unknown fields after the initial decoding.
## 0.13.12
-* `BuilderInfo.add` now ignores fields with tag number 0.
- These would never be generated by the protoc_plugin so this is not considered a breaking change.
+* `BuilderInfo.add` now ignores fields with tag number 0. These would never be
+ generated by the protoc_plugin so this is not considered a breaking change.
## 0.13.11
-* Save memory by only initializing `_FieldSet.oneofCases` if the message contains oneofs.
+* Save memory by only initializing `_FieldSet.oneofCases` if the message
+ contains oneofs.
## 0.13.10
-* Fix recursive merging of repeated elements.
+* Fix recursive merging of repeated elements.
## 0.13.9
-* Move 'eventPlugin' callback when setting a field in order to notify observers about field updates in the correct order.
+* Move 'eventPlugin' callback when setting a field in order to notify
+ observers about field updates in the correct order.
## 0.13.8
-* Fix JSON serialization of unsigned 64-bit fields.
+* Fix JSON serialization of unsigned 64-bit fields.
## 0.13.7
-* Override `operator ==` and `hashCode` in `PbMap` so that two `PbMap`s are equal if they have equal key/value pairs.
+* Override `operator ==` and `hashCode` in `PbMap` so that two `PbMap`s are
+ equal if they have equal key/value pairs.
## 0.13.6
-* Fixed equality check between messages with and without extensions.
+* Fixed equality check between messages with and without extensions.
## 0.13.5
-* Add new method `addAll` on ExtensionRegistry for more conveniently adding multiple extensions at once.
+* Add new method `addAll` on ExtensionRegistry for more conveniently adding
+ multiple extensions at once.
## 0.13.4
-* Add new method `pc` on BuilderInfo for adding repeated composite fields and remove redundant type check on items added
- to a PbList.
+* Add new method `pc` on BuilderInfo for adding repeated composite fields and
+ remove redundant type check on items added to a PbList.
- Deprecated `BuilderInfo.pp` and `PbList.forFieldType`.
+ Deprecated `BuilderInfo.pp` and `PbList.forFieldType`.
## 0.13.3
-* Fix issue with parsing map field entries. The values for two different keys would sometimes be
- merged.
+* Fix issue with parsing map field entries. The values for two different keys
+ would sometimes be merged.
-* Deprecated `PBMap.add`.
+* Deprecated `PBMap.add`.
## 0.13.2
-* Include extension fields in GeneratedMessage.toString().
+* Include extension fields in GeneratedMessage.toString().
## 0.13.1
-* Fix issue with not being able to read unknown fields after freezing.
+* Fix issue with not being able to read unknown fields after freezing.
-Reading an unknown field set after freeze() now returns the existing field set before freezing instead of an empty UnknownFieldSet.
+Reading an unknown field set after freeze() now returns the existing field set
+before freezing instead of an empty UnknownFieldSet.
## 0.13.0
-* Breaking change: Fix issue with not being able to read extensions after freezing.
+* Breaking change: Fix issue with not being able to read extensions after
+ freezing.
-Reading an extension field after freeze() now returns the value set before freezing instead of the default value.
+Reading an extension field after freeze() now returns the value set before
+freezing instead of the default value.
## 0.12.0
-* Breaking change: Changed `BuilderInfo.m()` to take class and package name of the protobuf message representing the map
- entry. Also changed `BuilderInfo.addMapField` as well as the constructors `PbMap` and `MapFieldInfo.map` to take a map
- entry BuilderInfo object.
+* Breaking change: Changed `BuilderInfo.m()` to take class and package name of
+ the protobuf message representing the map entry. Also changed
+ `BuilderInfo.addMapField` as well as the constructors `PbMap` and
+ `MapFieldInfo.map` to take a map entry BuilderInfo object.
- This mostly affects generated code, which should now be built with protoc_plugin 15.0.0 or newer.
+ This mostly affects generated code, which should now be built with
+ protoc_plugin 15.0.0 or newer.
- With this change we avoid creating a map entry BuilderInfo object for each PbMap instance, instead it is passed
- through the static BuilderInfo object in the generated subclasses of GeneratedMessage.
+ With this change we avoid creating a map entry BuilderInfo object for each
+ PbMap instance, instead it is passed through the static BuilderInfo object
+ in the generated subclasses of GeneratedMessage.
## 0.11.0
-* Breaking change: changed semantics of `GeneratedMessage.toBuilder()` to only make a shallow copy.
+* Breaking change: changed semantics of `GeneratedMessage.toBuilder()` to only
+ make a shallow copy.
- `GeneratedMessage` has a new abstract method: `createEmptyInstance()` that subclasses must
- implement.
+ `GeneratedMessage` has a new abstract method: `createEmptyInstance()` that
+ subclasses must implement.
- Proto files must be rebuilt using protoc_plugin 14.0.0 or newer.
+ Proto files must be rebuilt using protoc_plugin 14.0.0 or newer.
## 0.10.8
-* Fix freezing of map fields.
+* Fix freezing of map fields.
## 0.10.7
-* Fixed problem with recursive merging of sub messages.
+* Fixed problem with recursive merging of sub messages.
## 0.10.6
-* Added support for [oneof](https://developers.google.com/protocol-buffers/docs/proto3#oneof). To use oneof support
- use Dart protoc_plugin version 13.0.0.
+* Added support for
+ [oneof](https://developers.google.com/protocol-buffers/docs/proto3#oneof).
+ To use oneof support use Dart protoc_plugin version 13.0.0.
## 0.10.5
-* Added support for [map fields](https://developers.google.com/protocol-buffers/docs/proto3#maps).
- Map fields are now represented as Dart maps and are accessed through a getter with the same name as the map field.
- To use the map support, use Dart protoc_plugin version 11.0.0 or newer.
+* Added support for
+ [map fields](https://developers.google.com/protocol-buffers/docs/proto3#maps).
+ Map fields are now represented as Dart maps and are accessed through a
+ getter with the same name as the map field. To use the map support, use Dart
+ protoc_plugin version 11.0.0 or newer.
## 0.10.4
-* Added separate getter for `BuilderInfo.qualifiedMessageName`.
+* Added separate getter for `BuilderInfo.qualifiedMessageName`.
## 0.10.3
-* Added type argument to `ProtobufEnum.initByValue` which allows the return
- value to be fully typed.
+* Added type argument to `ProtobufEnum.initByValue` which allows the return
+ value to be fully typed.
## 0.10.2
-* Added ProtobufEnum reserved names.
+* Added ProtobufEnum reserved names.
## 0.10.1
-* Added Support for [any](https://developers.google.com/protocol-buffers/docs/proto3#any) messages.
+* Added Support for
+ [any](https://developers.google.com/protocol-buffers/docs/proto3#any)
+ messages.
## 0.10.0
-* Breaking change: Add `GeneratedMessage.freeze()`. A frozen message and its
- sub-messages cannot be changed.
+* Breaking change: Add `GeneratedMessage.freeze()`. A frozen message and its
+ sub-messages cannot be changed.
## 0.9.1
-* Fix problem with encoding negative enum values.
-* Fix problem with encoding byte arrays.
+* Fix problem with encoding negative enum values.
+* Fix problem with encoding byte arrays.
## 0.9.0+1
-* Dart SDK upper constraint raised to declare compatability with Dart 2.0 stable.
+* Dart SDK upper constraint raised to declare compatability with Dart 2.0
+ stable.
## 0.9.0
-* Breaking change: Changed signature of `CodedBufferWriter.writeTo` to require
- `Uint8List` for performance.
-* More Dart 2 fixes.
+* Breaking change: Changed signature of `CodedBufferWriter.writeTo` to require
+ `Uint8List` for performance.
+* More Dart 2 fixes.
## 0.8.0
-* 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: 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.
## 0.7.2+1
-- Updated SDK version to 2.0.0-dev.17.0
+- Updated SDK version to 2.0.0-dev.17.0
## 0.7.2
-* Fix hashing for PbList.
+* Fix hashing for PbList.
## 0.7.1
-* Fix type in PbList.fold() for Dart 2.
-* Small performance tweaks for DDC.
+* Fix type in PbList.fold() for Dart 2.
+* Small performance tweaks for DDC.
## 0.7.0
-* 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 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.
## 0.6.0
-* Added enumValues to FieldInfo. Fixes #63.
-* Small performance optimization when deserializing repeated messages
- from JSON.
-* Type annotations for strong mode.
+* Added enumValues to FieldInfo. Fixes #63.
+* Small performance optimization when deserializing repeated messages from
+ JSON.
+* Type annotations for strong mode.
## 0.5.5
-* Use real generic syntax instead of comment-based.
-* Support v2 dev SDKs.
+* Use real generic syntax instead of comment-based.
+* Support v2 dev SDKs.
## 0.5.4
-* Unknown enum values are ignored when parsing JSON, instead of throwing an
- exception.
+* Unknown enum values are ignored when parsing JSON, instead of throwing an
+ exception.
## 0.5.3+2
-* Resolved a strong-mode error.
+* Resolved a strong-mode error.
## 0.5.3+1
-* Performance: Avoid excessive cloning in merge.
-* Performance: Use code patterns that dart2js handles better.
+* Performance: Avoid excessive cloning in merge.
+* Performance: Use code patterns that dart2js handles better.
## 0.5.3
-* fix zigzag function so all coded buffer reader tests work on dart2js.
+* fix zigzag function so all coded buffer reader tests work on dart2js.
## 0.5.2
-* make PbMixin constructor public for use within protoc plugin.
+* make PbMixin constructor public for use within protoc plugin.
## 0.5.1+5
-* 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.
+* 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.
## 0.5.1+4
-* Use a more refined implementation of `Map` in `PbMapMixin`
+* Use a more refined implementation of `Map` in `PbMapMixin`
## 0.5.1+3
-* Performance: eliminate some dynamic calls.
+* Performance: eliminate some dynamic calls.
## 0.5.1+2
-* Bugfix: remove dependency on `pkg/crypto` for real.
+* Bugfix: remove dependency on `pkg/crypto` for real.
## 0.5.1+1
-* Require at least Dart SDK 1.13.
+* Require at least Dart SDK 1.13.
-* Removed dependency on `pkg/crypto`.
+* Removed dependency on `pkg/crypto`.
## 0.5.1
-* Experimental support for strong mode.
-* Fixed an issue with GeneratedMessage operator== and Map mixins
-* Added declaration of GeneratedMessage clone method
+* Experimental support for strong mode.
+* Fixed an issue with GeneratedMessage operator== and Map mixins
+* Added declaration of GeneratedMessage clone method
## 0.5.0+1
-* Support the latest version of package `fixnum`.
+* Support the latest version of package `fixnum`.
## 0.5.0
- * 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.
+
+* 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.
## 0.4.2
- * Renamed FieldType to PbFieldType.
+
+* Renamed FieldType to PbFieldType.
## 0.4.1 - DO NOT USE
- * 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.
+
+* 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.
## 0.4.0
- * Add ReadonlyMessageMixin. The generated message classes use this to
- for the default values of message fields.
+
+* Add ReadonlyMessageMixin. The generated message classes use this to for the
+ default values of message fields.
## 0.3.11
- * Add meta.dart which declares reserved names for the plugin.
+
+* Add meta.dart which declares reserved names for the plugin.
## 0.3.10
- * Add GeneratedService and ProtobufClient interfaces.
+
+* Add GeneratedService and ProtobufClient interfaces.
## 0.3.9
- * Add experimental mixins_meta library
- * Add experimental PbMapMixin class (in a separate library).
- * Fix bug where ExtensionRegistry would not be used for nested messages.
+
+* Add experimental mixins_meta library
+* Add experimental PbMapMixin class (in a separate library).
+* Fix bug where ExtensionRegistry would not be used for nested messages.
## 0.3.7
- * More docs.
+
+* More docs.
## 0.3.6
- * Added mergeFromMap() and writeToJsonMap()
- * Fixed an analyzer warning.
+
+* Added mergeFromMap() and writeToJsonMap()
+* Fixed an analyzer warning.
## 0.3.5+3
- * Bugfix for `setRange()`: Do not assume Iterable has a `sublist()` method.
+
+* Bugfix for `setRange()`: Do not assume Iterable has a `sublist()` method.
## 0.3.5+2
- * Simplify some types used in is checks and correct PbList to match the
- * signature of the List setRange method.
+
+* Simplify some types used in is checks and correct PbList to match the
+* signature of the List setRange method.
## 0.3.5+1
- * Bugfix for incorrect decoding of protobuf messages: Uint8List views with
- non-zero offsets were handled incorrectly.
+* Bugfix for incorrect decoding of protobuf messages: Uint8List views with
+ non-zero offsets were handled incorrectly.
## 0.3.5
- * Allow constants as field initial values as well as creation thunks to reduce
- generated code size.
+* Allow constants as field initial values as well as creation thunks to reduce
+ generated code size.
- * Improve the performance of reading a protobuf buffer.
+* Improve the performance of reading a protobuf buffer.
- * Fixed truncation error in least significant bits with large Int64 constants.
+* Fixed truncation error in least significant bits with large Int64 constants.
diff --git a/protobuf/pubspec.yaml b/protobuf/pubspec.yaml
index 8830627..50a253e 100644
--- a/protobuf/pubspec.yaml
+++ b/protobuf/pubspec.yaml
@@ -1,5 +1,5 @@
name: protobuf
-version: 1.1.3
+version: 1.1.4
description: >-
Runtime library for protocol buffers support.
Use https://pub.dev/packages/protoc_plugin to generate dart code for your '.proto' files.
@@ -15,4 +15,5 @@
test: '>=1.2.0'
benchmark_harness: any
js: any
+ matcher: any
pedantic: ^1.9.2