Opened 11 months ago
Closed 11 months ago
#19834 closed enhancement (fixed)
protobuf-27.0
Reported by: | Bruce Dubbs | Owned by: | Bruce Dubbs |
---|---|---|---|
Priority: | normal | Milestone: | 12.2 |
Component: | BOOK | Version: | git |
Severity: | normal | Keywords: | |
Cc: |
Description ¶
New major version.
Change History (4)
comment:1 by , 11 months ago
comment:2 by , 11 months ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:3 by , 11 months ago
Protocol Buffers v27.0
Compiler
- Future-proof edition 2023 against feature value support windows.
- Mark deleted fields in descriptor.proto reserved
- Add extension declarations for known features.
- Refactored the Java generator into separate packages and targets.
- Officially release Editions in 27.0.
- Define lifetimes of edition 2023 features
- Implement feature lifetime validation in protoc and the C++ runtime.
- Add edition lifetime options for feature specs.
- Enable editions support for Java Lite.
- Release edition defaults CLI arguments.
- Update protoc release to include editions language features protos for Java and C++
C++
- Future-proof edition 2023 against feature value support windows.
- Prohibit using features in the same file they're defined in.
- Fix validation checks of implicit presence.
- Clarify map behaviors in editions.
- Ensure we allocate overaligned types with aligned operator new.
- Fix text-format delimited field handling.
- In debug mode, after clearing oneof messages on arenas, poison them if ASAN.
- Allow string_type for Edition 2023.
- Breaking change: Ensure we allocate overaligned types with aligned operator new.
- Python JSON parser: Ignore invalid enum string values if ignore_unknown_fields is set
- Move java_features.proto to java/core/srce/main/resources
- Add an RAII namespace printer helper for C++ codegen.
- Enable editions support for Java Lite.
- Add an RAII ifndef helper for C++ codegen.
- Clear oneof message fields even on arena on non-OPT builds.
- Implement edition 2023 support in all Ruby runtimes.
- Release edition defaults CLI arguments.
- Deprecate Arena::CreateMessage for OSS.
- Open sourcing reflection_visit_fieds.
- Fixed the use of c++ keywords within namespace names
- Fix pkg-config metadata for shared abseil on windows
- Add GetStringView() and GetRepeatedStringView() with scratch.
- Avoid a 'may be used uninitialized' warning when built with '-c opt'.
- Add software prefetch to ByteSizeLong
- Add prefetching in arena blocks.
- Rename the includingDefaultValueWithoutPresenceFields and always_print_without_presence_fields to alwaysPrintFieldsWithNoPresence in the C++, Py and Java JSON serializers for consistency.
- Remove tags for arena cleanup nodes now that we have dedicated string cleanup blocks.
- Avoid unused-parameter warning in field accessor listeners.
- Add new always_print_without_presence_fields option to the C++ JSON serializer.
- Fail to build descriptor if ctype is specified for non string/bytes fields
- Check ctype() in DescriptorBuilder for edition 2023 and beyond.
- Fail building descriptors if ctype is used for fields other than string or bytes.
- Fix generation of HasExtension and ExtensionSize functions to restrict to the
- Add the privacy manifest to the C++ CocoaPod.
Java
- Lazily resolve features for proto2 and proto3 for compatibility with old open source gencode that does not invoke feature resolution from gencode static init.
- Add java to reserved names to escape extensions to java_. This may break existing references to gencode for extensions named java.
- Deprecate building from source with Maven to be removed in 4.28.x.
- Split bootstrapped java_features.proto to keep it from leaking out.
- Refactored the Java generator into separate packages and targets.
- Define lifetimes of edition 2023 features
- Check that size is non-negative when reading string or bytes in StreamDecoder.
- Fix text-format delimited field handling
- Move java_features.proto to java/core/srce/main/resources
- Add java_features.proto to kotlin_mvn release
- Enable editions support for Java Lite.
- Fix descriptor to access type via getType() s.t. messages using delimited encoding are consistently treated as groups for Java lite.
- Make UnsafeByteOperations stable; removing experimental annotation.
- Fix features inheritance of oneof fields and extensions and fix/move unit tests to actually run.
- Add software prefetch to ByteSizeLong
- Rename the includingDefaultValueWithoutPresenceFields and always_print_without_presence_fields to alwaysPrintFieldsWithNoPresence in the C++, Py and Java JSON serializers for consistency.
- Add a new includingDefaultValueWithoutPresenceFields option to the Java parser which is intended to replace the current includingDefaultValueFields.
Kotlin
- Add java_features.proto to kotlin_mvn release
Csharp
- Regenerate stale files
- Optimize JSON parsing in JsonTokenizer.
- Avoid string concatenation when looking up enum values by name.
- Cache StringBuilder instances in the .NET JsonTextTokenizer.
- Enable Editions in the C# generator.
- Runtime support for Protobuf Editions in C#.
- Tweak "group to property name" mapping for C#. Under editions, where fields using a delimited encoding have independent field names from type names, we want to use the specified field name.
- Ignore invalid enum string values in JSON, when invalid fields are being ignored.
Objective-C
- Optimize startup be reducing selector lookup.
- Add the privacy manifest to the ObjC CocoaPod.
Python
- Add temporary alias for system_python.bzl at previous location.
- Implement feature lifetime validation in protoc and the C++ runtime.
- Fix text-format delimited field handling
- Python JSON parser: Ignore invalid enum string values if ignore_unknown_fields is set
- Fix upb python: DO NOT create empty optional field after sorting empty repeated field
- Enable Protobuf Python version check.
- Register Scalar/MessageMapContainerTypes as virtual subclasses of MutableMapping instead of inheriting directly.
- Rename the includingDefaultValueWithoutPresenceFields and always_print_without_presence_fields to alwaysPrintFieldsWithNoPresence in the C++, Py and Java JSON serializers for consistency.
- Add new including_default_value_without_presence_fields to Python JSON serializer.
- Adhere to PEP 8
PHP
- Don't break the trace
- Fix inconsistent timestamp json encode/decode
- Feat: more readable phpdoc escaping
PHP C-Extension
- Regenerate stale files
- See also UPB changes below, which may affect PHP C-Extension.
Ruby
- Add bigdecimal to dependencies
- Implement service & method descriptor lookup in Ruby
- Implement edition 2023 support in all Ruby runtimes.
- Ruby implement memsize functions for native types
- Moved ObjectCache into an internal module.
- [Ruby] Delegate difference, intersection, union from RepeatedField to Array
- Move the RubyMessage.java JSON "include defaults" to use alwaysPrintFieldsWithNoPresence.
- Increased the size of the error message buffer by 4x, to 511 bytes.
Ruby C-Extension
- Regenerate stale files
- Implement service & method descriptor lookup in Ruby
- Implement edition 2023 support in all Ruby runtimes.
- Ruby implement memsize functions for native types
- Moved ObjectCache into an internal module.
- See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- Regenerate stale files
- Setup upb installation with cmake.
- Fix text-format delimited field handling
- Print non-extension fields by field number order instead of .proto file order.
- Implement service & method descriptor lookup in Ruby
- Implement edition 2023 support in all Ruby runtimes.
- Adds mutable extension accessors to the codegen for upb C for getting mutable extension messages.
- Ruby implement memsize functions for native types
- Increased the size of the error message buffer by 4x, to 511 bytes.
Other
- MODULE.bazel fixes for protobuf BCR release.
- Fix whitespace merge issue in gencode
- Work around windows path length limitations by moving immutable -> full in open source (new generator paths) and shortening long file names.
- Move the windows path length workarounds out of protobuf-ci
- Update src/file_lists.cmake for staleness
- Add system_python to protobuf_deps.bzl.
- Migrate bazel tests to protobuf-ci.
- Fix bazel cache issues in 7.0.0
- Add redirects for C++ and Java proto rules
- Add redirects for proto rules
- Feat: automate publishing releases to Bazel Central Registry
- Add PrivacyInfo.xcprivacy
comment:4 by , 11 months ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fixed at commits 14c7719763 and 48a4274dbe.
Note:
See TracTickets
for help on using tickets.
-Dprotobuf_BUILD_LIBUPB=OFF
is needed to avoid installing useless static libraries.