Revision history for Google-ProtocolBuffers-Dynamic

0.42_05   2023-11-23 22:36:27 CET

    - Added --help/--man to protoc plugins, in case they are called directly
    - Compilation fix for Perl 5.16 or older
    - Compilation fix for old C++ compilers

0.42_04   2023-11-16 11:01:05 CET

    - Fail build for protobuf library version 2 with a clear message
      (it has not been working for a long time). Note that files with 'proto2'
      syntax are still supported
    - Build fix for protobuf 3.6 and older

0.42_03   2023-11-14 23:40:15 CET

    - Fix failing assertion with recent versions of GCC standard library

0.42_02   2023-11-13 12:29:58 CET

    - Avoid issues with enum vlaues that clash with "special" Perl names
      (e.g. STDERR, BEGIN, ...)
    - Speed up map key encoding
    - Fix tests on Perl 5.38 (patch by José Joaquín Atria)
    - Avoid double-destruction when using threads (patch by Joey Korkames)

0.42_01   2023-07-05 15:58:57 CEST

    - Add option to treat undef field/map values as if they were
      not present

0.42      2023-05-23 14:51:59 CEST

    - Release 0.41_15 as stable without changes

0.41_15   2023-03-03 22:35:37 CET

    - Support reading all standard options via the introspection API

0.41_14   2023-01-29 21:52:20 CET

    - Implement introspection API for file descriptors
    - Fix code generated by the protoc plugin when the proto file
      used WKTs (another issue added in 0.41_10)
    - Don't leave the C++ library in an inconsistent state on
      Protocol Buffers parsing errors
    - Emit internal Protocol Buffer warnings as Perl warnings

0.41_13   2023-01-24 20:00:10 CET

    - Actual fix for WKT test failure added in 0.41_10

0.41_12   2023-01-24 17:34:38 CET

    - Blind fix for WKT test failure added in 0.41_10

0.41_11   2023-01-24 11:44:03 CET

    - Compilation fix

0.41_10   2023-01-24 10:52:32 CET

    - Initial support for reading options via the introspection API
    - Re-implemented introspection API (as part of other changes)

0.41_09   2022-12-07 10:55:52 CET

    - Fix per-mapping parameters in protoc plugin

0.41_08   2022-12-02 11:14:07 CET

    - Support map_message/map_message_prefix options in protoc plugin

0.41_07   2022-11-25 10:54:01 CET

    - Add missing 'boolean_values' option to protoc plugin

0.41_06   2022-11-11 19:40:44 CET

    - Improve error message for duplicate package mapping

0.41_05   2022-11-02 12:23:49 CET

    - Make sure decoded strings have a NUL after the last character

0.41_04   2022-11-01 14:08:23 CET

    - Fix bug in JSON decoding introduced in 0.41_03

0.41_03   2022-10-26 12:30:23 CEST

    - Add option to use JSON true/false when decoding boolean values
    - Detect duplicate package mappings created by different
      Google::ProtocolBuffers::Dynamic instances, with a better
      diagnostic message
    - Improved decoder performance (5-20%, depending on the schema)

0.41_02   2022-10-05 15:15:59 CEST

    - Add 3 insertion points to generated code
    - Fix warnings in protoc plugin

0.41_01   2022-09-07 13:02:26 CEST

    - No user-visible changes

0.41      2022-05-25 23:00:08 CEST

    - Fix for protobuf 3.20

0.40      2022-05-12 07:24:17 CEST

    - Fix proto3 primitive fields to be packed by default

0.39      2022-04-27 14:08:25 CEST

    - map_package/map_package_prefix also map packages that are loaded
      indirectly via imports
    - Fix various issues related to loading WKTs from serialized
      descriptors, and to using WKTs in multiple instances

0.38      2022-04-08 19:23:52 CEST

    - Compilation fix for non-threaded Perl

0.37      2022-04-08 19:09:43 CEST

    - Add option to control how boolean values are mapped to Perl scalars
    - Fix bug in the logic to ignore well-known types imported using a
      non-standard path

0.36      2022-03-28 21:45:35 CEST

    - When a serialized protobuf descriptor includes descriptors for
      well-known types, ignore them even when imported using a non-standard
      path

0.35      2022-03-28 11:34:54 CEST

    - Decode map entries without a value using the default value for the
      type
    - When a serialized protobuf descriptor includes descriptors for
      well-known types, ignore them and use the built-in descriptors

0.34      2021-11-20 20:03:36 CET

    - Implement support for proto3 optional fields in introspection
      and protoc plugin (encoding/decoding was already working in
      previous releases)

0.33      2021-11-18 21:06:53 CET

    - Use strings as the JSON encoding of int64/uint64 types
    - Fix edge-case where decode_blessed option was not honoerd
    - Partial and experimantal support for well-known types
      (timestamp, duration adn primitive type wrappers)

0.32      2021-07-01 16:14:10 CEST

    - Tweak code generator to avoid triggering wrong perlcritic check

0.31      2021-03-13 09:52:33 CET

    - Remove dependency on uPB googlepb binding, which has been
      removed from uPB master

0.30      2021-01-25 09:36:20 CET

    - Add encode_defaults_proto3, same as encode_defaults, but for proto3
    - Fix encode_defaults to be a no-op for proto3, as documented
      (fixed by upgrading uPB)

0.29      2020-06-18 17:55:21 CEST

    - Fix uninitialized value reported by Valgrind (patch by William Good)

0.28      2020-06-18 09:29:52 CEST

    - Avoid emitting empty packed repeated fields (patch by William Good)

0.27      2019-11-11 22:48:35 CET

    - Fix JSON decoding of quoted numeric values

0.26      2019-09-11 20:50:29 CEST

    - Add option to check cases when a reference is passed
      as the value for a scalar field

0.25      2019-03-12 22:58:50 CET

    - Add new mapping mode to recursively map a message and all
      its dependencies (thanks to Tim Marston)
    - Fix various bugs in oneof setters

0.24      2019-02-27 18:47:54 CET

    - Add option to return plain hashes from the decoder

0.23      2018-11-10 22:47:32 CET

    - Compilation fixes for protobuf 3.6

0.22      2018-06-26 21:03:55 CEST

    - Accept implicit_maps option in the protoc plugin
    - Compilation fixes for Mac OS X

0.21      2018-02-25 22:33:32 CET

    - Compilation fixes for C++ pre-11 (e.g. GCC 4.9)
    - Compilation fixes for newer protobuf releases

0.20      2017-07-18 15:18:20 CEST

    - Avoid using eval_pv() in the implementation

0.19      2017-07-18 13:29:12 CEST

    - Add introspection support for service definitions
    - Add gRPC client generation using Grpc::XS as the transport
    - Remove source code information from the serialized blob
      generated by the protoc plugin

0.18      2017-06-14 13:35:12 CEST

    - Fix handling of oneof fields in the protoc plugin
    - Report deserialization errors instead of hitting an assert
    - Don't generate generic extension methods for messages that do not have
      any extension fields

0.17      2017-05-21 15:56:01 CEST

    - Fix leaking environment (thanks to Pavel Shaydo)
    - Validate parameters to map()

0.16      2017-03-11 14:30:57 CET

    - Compilation fix for threaded Perl

0.15      2016-12-22 15:31:34 CET

    - Fix protobuf encoder being broken after some encoding errors
      (and probably other latent bugs)

0.14      2016-12-12 19:10:35 CET

    - Don't produce invalid Perl hashes for incorrectly encoded maps

0.13      2016-12-08 12:00:11 CET

    - Fix bug in decoding of empty strings (patch by Pavel Shaydo)

0.12      2016-12-04 22:03:19 CET

    - Add 'plain' accessor style, for compatibility with
      Google::ProtocolBuffers (patch by Pavel Shaydo)

0.11      2016-11-09 13:19:42 CET

    - Allow passing options with "--" to Build.PL

0.10      2016-11-07 17:59:12 CET

    - Fix warning when encoding '' as a boolean

0.09      2016-10-01 20:23:03 CEST

    - Decorate warnings happening during encoding with the key being
      encoded when the warning happens
    - Perl 5.8 compatibility

0.08      2016-07-03 18:54:19 CEST

    - Fix JSON deserialization
    - Support maps (both proto2 and proto3, except for map<> syntax
      which is proto3-only)
    - Optionally, don't encode fields having a value equal to the
      default

0.07      2016-05-31 08:50:50 CEST

    - Fix bug with some nested data structures

0.06      2016-05-22 12:27:55 CEST

    - Implement pb_prefix mapping option for the protoc plugin

0.05      2016-05-21 18:51:11 CEST

    - Implement JSON serialization/deserialization
    - Add check() method, as a way to protect against typos in field names
    - Add an option to use a single mapping for an entire package hierarchy
    - Add introspection API to get enum descriptors without going
      through a message field

0.04      2016-03-25 15:39:16 CET

    - Fixed memory leak in some accessors

0.03      2016-03-19 19:24:38 CET

    - Fix segmentation fault
    - Added introspection API

0.02      2016-01-31 11:55:11 CET

    - Fix trivial packaging issue

0.01      2016-01-30 16:39:16 CET

    - First public release