Changes for version 0.09
- Compatibility & API Layer
- Added Google::ProtocolBuffers::Dynamic compatibility API shim (Google::ProtocolBuffers::Dynamic) backed by the high-performance upb C engine.
- Supported load_file, load_string, map_package, map_message, encode, and decode methods.
- Enabled automatic dynamic package mapping and class generation for mapped Perl namespaces.
- Added comprehensive compatibility unit test suite (t/025_dynamic_compat.t).
- Refactored App::EvalServerAdvanced::Protocol to utilize the new compatibility layer with File::ShareDir path resolution.
- Special thanks to Ryan Voots (@simcop2387) for testing, feedback, and driving compatibility requirements for App::EvalServerAdvanced.
- Bug Fixes & Smoker Hardening
- Added RT bug tracker URL (https://rt.cpan.org/Dist/Display.html?Queue=Protobuf) to POD documentation across distribution modules.
- Fixed non-system perl (perlbrew/plenv/custom prefixes) linking errors caused by hardcoded static libperl.a search paths in Makefile.PL (CPAN RT #180139 & RT #178734 reported by Slaven Rezić / @srezic; with key build insights from Ryan Voots / @simcop2387).
- Added -fPIC $Config{cccdlflags} to all C and C++ object compilation rules in Makefile.PL to prevent R_X86_64_TPOFF32 and R_X86_64_PC32 relocation errors under LTO (-flto=auto) and ithread builds (thanks to Lukas Mai / @mauke for catching and debugging).
- Added Xcode SDK Perl CORE header search fallback in Makefile.PL for macOS Apple Silicon system Perl builds.
Modules
Compiled Protocol Buffers message class
Compiled Protocol Buffers message class
Compiled Protocol Buffers message class
Compiled Protocol Buffers message class
Compiled Protocol Buffers message class
Compiled Protocol Buffers message class
Compiled Protocol Buffers message class
Dynamic Protocol Buffers binding layer compatible with upb backend UNAUTHORIZED
High-performance Google Protocol Buffers implementation
Memory arena for Protocol Buffer messages
Generates Perl classes from Protocol Buffer descriptors
Descriptor for a Protocol Buffer enum
Descriptor for a field in a Protocol Buffer message
Descriptor for a .proto file
Descriptor for a Protocol Buffer message
Descriptor for a Protocol Buffer oneof
Manages a collection of Protocol Buffer descriptors
Internal XS functions and utilities
Internal XS implementation for map fields
Internal XS implementation for map iterators
Base class for tied XS objects
Internal XS implementation for repeated fields
Base class for Protocol Buffer messages
Represents unknown fields in a message
Well-Known Type Registry
Mixin for google.protobuf.Any message
Mixin for google.protobuf.Duration
Mixin for google.protobuf.FieldMask
Mixin for google.protobuf.Struct, Value, and ListValue
Mixin for google.protobuf.Timestamp
Provides
in lib/Conformance/Conformance.pm
in lib/Conformance/Conformance/Types.pm
in lib/Google/Protobuf/Any/Types.pm
in lib/Google/Protobuf/Duration/Types.pm
in lib/Google/Protobuf/Empty/Types.pm
in lib/Google/Protobuf/FieldMask/Types.pm
in lib/Google/Protobuf/Struct/Types.pm
in lib/Google/Protobuf/Timestamp/Types.pm
in lib/Google/Protobuf/Wrappers/Types.pm
in lib/Protobuf/Descriptor/Base/PurePerl.pm
in lib/Protobuf/Descriptor/EnumDef/PurePerl.pm
in lib/Protobuf/Descriptor/EnumValue.pm
in lib/Protobuf/Descriptor/EnumValueDef/PurePerl.pm
in lib/Protobuf/Descriptor/FieldDef/PurePerl.pm
in lib/Protobuf/Descriptor/File/PurePerl.pm
in lib/Protobuf/Descriptor/MessageDef/PurePerl.pm
in lib/Protobuf/Descriptor/OneofDef/PurePerl.pm
in lib/Protobuf/DescriptorPool/PurePerl.pm
in lib/Protobuf/Engine.pm
in lib/Protobuf/Engine/PurePerl.pm
in lib/Protobuf/Engine/PurePerl/DescriptorParser.pm
in lib/Protobuf/Engine/XS.pm
in lib/Protobuf/Internal/Map.pm
in lib/Protobuf/Internal/Repeated.pm
in lib/Protobuf/Internal/Repeated.pm
in lib/Protobuf/WKT/Struct.pm
in lib/Protobuf/WKT/Struct.pm
in lib/Protobuf_test_messages/Proto2/TestMessagesProto2.pm
in lib/Protobuf_test_messages/Proto2/TestMessagesProto2/Types.pm
in lib/Protobuf_test_messages/Proto3/TestMessagesProto3.pm
in lib/Protobuf_test_messages/Proto3/TestMessagesProto3/Types.pm