This update for abseil-cpp, grpc, opencensus-proto, protobuf, python-abseil, python-grpcio, re2 fixes the following issues:
abseil-cpp was updated to:
Update to 20230802.1:
- Add StdcppWaiter to the end of the list of waiter implementations
Update to 20230802.0
What's New:
- Added the nullability library for designating the expected
nullability of pointers. Currently these serve as annotations
only, but it is expected that compilers will one day be able
to use these annotations for diagnostic purposes.
- Added the prefetch library as a portable layer for moving data
into caches before it is read.
- Abseil's hash tables now detect many more programming errors
in debug and sanitizer builds.
- Abseil's synchronization objects now differentiate absolute
waits (when passed an absl::Time) from relative waits (when
passed an absl::Duration) when the underlying platform supports
differentiating these cases. This only makes a difference when
system clocks are adjusted.
- Abseil's flag parsing library includes additional methods that
make it easier to use when another library also expects to be
able to parse flags.
- absl::string_view is now available as a smaller target,
@com_google_absl//absl/strings:string_view, so that users may
use this library without depending on the much larger
@com_google_absl//absl/strings target.
Update to 20230125.3
Details can be found on:
https://github.com/abseil/abseil-cpp/releases/tag/20230125.3
Update to 20230125.2
What's New:
The Abseil logging library has been released. This library
provides facilities for writing short text messages about the
status of a program to stderr, disk files, or other sinks
(via an extension API). See the logging library documentation
for more information.
An extension point, AbslStringify(), allows user-defined types
to seamlessly work with Abseil's string formatting functions
like absl::StrCat() and absl::StrFormat().
A library for computing CRC32C checksums has been added.
Floating-point parsing now uses the Eisel-Lemire algorithm,
which provides a significant speed improvement.
The flags library now provides suggestions for the closest
flag(s) in the case of misspelled flags.
Using CMake to install Abseil now makes the installed artifacts
(in particular absl/base/options.h) reflect the compiled ABI.
Breaking Changes:
Abseil now requires at least C++14 and follows Google's Foundational
C++ Support Policy. See this table for a list of currently supported
versions compilers, platforms, and build tools.
The legacy spellings of the thread annotation macros/functions
(e.g. GUARDED_BY()) have been removed by default in favor of the
ABSL_ prefixed versions (e.g. ABSL_GUARDED_BY()) due to clashes with
other libraries. The compatibility macro ABSL_LEGACY_THREAD_ANNOTATIONS
can be defined on the compile command-line to temporarily restore these
spellings, but this compatibility macro will be removed in the future.
Known Issues
The Abseil logging library in this release is not a feature-complete
replacement for glog yet. VLOG and DFATAL are examples of features
that have not yet been released.
Update to version 20220623.0
What's New:
- Added absl::AnyInvocable, a move-only function type.
- Added absl::CordBuffer, a type for buffering data for eventual inclusion an
absl::Cord, which is useful for writing zero-copy code.
- Added support for command-line flags of type absl::optional<T>.
Breaking Changes:
- CMake builds now use the flag ABSL_BUILD_TESTING (default: OFF) to control
whether or not unit tests are built.
- The ABSL_DEPRECATED macro now works with the GCC compiler. GCC users that
are experiencing new warnings can use -Wno-deprecated-declatations silence
the warnings or use -Wno-error=deprecated-declarations to see warnings but
not fail the build.
- ABSL_CONST_INIT uses the C++20 keyword constinit when available. Some
compilers are more strict about where this keyword must appear compared to
the pre-C++20 implementation.
- Bazel builds now depend on the bazelbuild/bazel-skylib repository.
See Abseil's WORKSPACE file for an example of how to add this dependency.
Other:
- This will be the last release to support C++11. Future releases will require at least C++14.
grpc was updated to 1.60:
Update to release 1.60
- Implemented dualstack IPv4 and IPv6 backend support, as per
draft gRFC A61. xDS support currently guarded by
GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS env var.
- Support for setting proxy for addresses.
- Add v1 reflection.
update to 1.59.3:
- Security - Revocation: Crl backport to 1.59. (#34926)
Update to release 1.59.2
Update to version 1.59.1:
- C++: Fix MakeCordFromSlice memory bug (gh#grpc/grpc#34552).
Update to version 1.59.0:
- xds ssa: Remove environment variable protection for stateful
affinity (gh#grpc/grpc#34435).
- c-ares: fix spin loop bug when c-ares gives up on a socket
that still has data left in its read buffer
(gh#grpc/grpc#34185).
- Deps: Adding upb as a submodule (gh#grpc/grpc#34199).
- EventEngine: Update Cancel contract on closure deletion
timeline (gh#grpc/grpc#34167).
- csharp codegen: Handle empty base_namespace option value to
fix gh#grpc/grpc#34113 (gh#grpc/grpc#34137).
- Ruby:
- replace strdup with gpr_strdup (gh#grpc/grpc#34177).
- drop ruby 2.6 support (gh#grpc/grpc#34198).
Update to release 1.58.1
- Reintroduced c-ares 1.14 or later support
Update to release 1.58
- ruby extension: remove unnecessary background thread startup
wait logic that interferes with forking
Update to release 1.57 (CVE-2023-4785, bsc#1215334, CVE-2023-33953, bsc#1214148)
- EventEngine: Change GetDNSResolver to return
absl::StatusOr<std::unique_ptr<DNSResolver>>.
- Improve server handling of file descriptor exhaustion.
- Add a channel argument to set DSCP on streams.
Update to release 1.56.2
- Improve server handling of file descriptor exhaustion
Update to release 1.56.0 (CVE-2023-32731, bsc#1212180)
- core: Add support for vsock transport.
- EventEngine: Change TXT lookup result type to
std::vectorstd::string.
- C++/Authz: support customizable audit functionality for
authorization policy.
Update to release 1.54.1
- Bring declarations and definitions to be in sync
Update to release 1.54 (CVE-2023-32732, bsc#1212182)
- XDS: enable XDS federation by default
- TlsCreds: Support revocation of intermediate in chain
Update to release 1.51.1
- Only a macOS/aarch64-related change
Update to release 1.51
- c-ares DNS resolver: fix logical race between resolution
timeout/cancellation and fd readability.
- Remove support for pthread TLS
Update to release 1.50.0
-
Core
- Derive EventEngine from std::enable_shared_from_this. (#31060)
- Revert 'Revert '[chttp2] fix stream leak with queued flow control
update and absence of writes (#30907)' (#30991)'. (#30992)
- [chttp2] fix stream leak with queued flow control update and absence of writes. (#30907)
- Remove gpr_codegen. (#30899)
- client_channel: allow LB policy to communicate update errors to resolver. (#30809)
- FaultInjection: Fix random number generation. (#30623)
-
C++
- OpenCensus Plugin: Add measure and views for started RPCs. (#31034)
-
C#
- Grpc.Tools: Parse warnings from libprotobuf (fix #27502). (#30371)
- Grpc.Tools add support for env variable GRPC_PROTOC_PLUGIN (fix #27099). (#30411)
- Grpc.Tools document AdditionalImportDirs. (#30405)
- Fix OutputOptions and GrpcOutputOptions (issue #25950). (#30410)
Update to release 1.49.1
-
All
- Update protobuf to v21.6 on 1.49.x. (#31028)
-
Ruby
- Backport 'Fix ruby windows ucrt build #31051' to 1.49.x. (#31053)
Update to release 1.49.0
-
Core
- Backport: 'stabilize the C2P resolver URI scheme' to v1.49.x. (#30654)
- Bump core version. (#30588)
- Update OpenCensus to HEAD. (#30567)
- Update protobuf submodule to 3.21.5. (#30548)
- Update third_party/protobuf to 3.21.4. (#30377)
- [core] Remove GRPC_INITIAL_METADATA_CORKED flag. (#30443)
- HTTP2: Fix keepalive time throttling. (#30164)
- Use AnyInvocable in EventEngine APIs. (#30220)
-
Python
- Add type stub generation support to grpcio-tools. (#30498)
Update to release 1.48.1
- Backport EventEngine Forkables
Update to release 1.48.0
- C++14 is now required
- xDS: Workaround to get gRPC clients working with istio
Update to release 1.46.3
- backport: xds: use federation env var to guard new-style
resource name parsing (#29725) #29727
Update to release 1.46
- Added HTTP/1.1 support in httpcli
- HTTP2: Add graceful goaway
Update to release 1.45.2
- Various fixes related to XDS
- HTTP2: Should not run cancelling logic on servers when
receiving GOAWAY
Update to release 1.45.1
- Switched to epoll1 as a default polling engine for Linux
Update to version 1.45.0:
-
Core:
- Backport 'Include ADS stream error in XDS error updates
(#29014)' to 1.45.x [gh#grpc/grpc#29121].
- Bump core version to 23.0.0 for upcoming release
[gh#grpc/grpc#29026].
- Fix memory leak in HTTP request security handshake
cancellation [gh#grpc/grpc#28971].
- CompositeChannelCredentials: Comparator implementation
[gh#grpc/grpc#28902].
- Delete custom iomgr [gh#grpc/grpc#28816].
- Implement transparent retries [gh#grpc/grpc#28548].
- Uniquify channel args keys [gh#grpc/grpc#28799].
- Set trailing_metadata_available for recv_initial_metadata
ops when generating a fake status [gh#grpc/grpc#28827].
- Eliminate gRPC insecure build [gh#grpc/grpc#25586].
- Fix for a racy WorkSerializer shutdown [gh#grpc/grpc#28769].
- InsecureCredentials: singleton object [gh#grpc/grpc#28777].
- Add http cancel api [gh#grpc/grpc#28354].
- Memory leak fix on windows in grpc_tcp_create()
[gh#grpc/grpc#27457].
- xDS: Rbac filter updates [gh#grpc/grpc#28568].
-
C++
- Bump the minimum gcc to 5 [gh#grpc/grpc#28786].
- Add experimental API for CRL checking support to gRPC C++
TlsCredentials [gh#grpc/grpc#28407].
Update to release 1.44.0
- Add a trace to list which filters are contained in a
channel stack.
- Remove grpc_httpcli_context.
- xDS: Add support for RBAC HTTP filter.
- API to cancel grpc_resolve_address.
Update to version 1.43.2:
- Fix google-c2p-experimental issue (gh#grpc/grpc#28692).
Changes from version 1.43.0:
- Update package name libgrpc++1 to libgrpc++1_43 in keeping with
updated so number.
Update to release 1.41.0
- xDS: Remove environmental variable guard for security.
- xDS Security: Use new way to fetch certificate provider
plugin instance config.
- xDS server serving status: Use a struct to allow more fields
to be added in the future.
Update to release 1.39.1
- Fix C# protoc plugin argument parsing on 1.39.x
Update to version 1.39.0:
Update to release 1.38.0
- Invalidate ExecCtx now before computing timeouts in all
repeating timer events using a WorkSerializer or combiner.
- Fix use-after-unref bug in fault_injection_filter
- New gRPC EventEngine Interface
- Allow the AWS_DEFAULT_REGION environment variable
- s/OnServingStatusChange/OnServingStatusUpdate/
Update to release 1.37.1
- Use URI form of address for channelz listen node
- Implementation CSDS (xDS Config Dump)
- xDS status notifier
- Remove CAS loops in global subchannel pool and simplify
subchannel refcounting
Update to release 1.36.4
- A fix for DNS SRV lookups on Windows
Update to 1.36.1:
- Core:
- Remove unnecessary internal pollset set in c-ares DNS resolver
- Support Default Root Certs in Tls Credentials
- back-port: add env var protection for google-c2p resolver
- C++:
- Move third party identity C++ api out of experimental namespace
- refactor!: change error_details functions to templates
- Support ServerContext for callback API
- PHP:
- support for PSM security
- fixed segfault on reused call object
- fixed phpunit 8 warnings
- Python:
- Implement Python Client and Server xDS Creds
Update to version 1.34.1:
- Backport 'Lazily import grpc_tools when using runtime
stub/message generation' to 1.34.x (gh#grpc/grpc#25011).
- Backport 'do not use <PublicSign>true</PublicSign> on
non-windows' to 1.34.x (gh#grpc/grpc#24995).
Update to version 1.34.0:
- Protect xds security code with the environment variable
'GRPC_XDS_EXPERIMENTAL_SECURITY_SUPPORT'
(gh#grpc/grpc#24782).
- Add support for 'unix-abstract:' URIs to support abstract
unix domain sockets (gh#grpc/grpc#24500).
- Increment Index when parsing not plumbed SAN fields
(gh#grpc/grpc#24601).
- Revert 'Revert 'Deprecate
GRPC_ARG_HTTP2_MIN_SENT_PING_INTERVAL_WITHOUT_DATA_MS''
(gh#grpc/grpc#24518).
- xds: Set status code to INVALID_ARGUMENT when NACKing
(gh#grpc/grpc#24516).
- Include stddef.h in address_sorting.h (gh#grpc/grpc#24514).
- xds: Add support for case_sensitive option in RouteMatch
(gh#grpc/grpc#24381).
- C++:
- Fix --define=grpc_no_xds=true builds (gh#grpc/grpc#24503).
- Experimental support and tests for
CreateCustomInsecureChannelWithInterceptorsFromFd
(gh#grpc/grpc#24362).
Update to release 1.33.2
- Deprecate GRPC_ARG_HTTP2_MIN_SENT_PING_INTERVAL_WITHOUT_DATA_MS.
- Expose Cronet error message to the application layer.
- Remove grpc_channel_ping from surface API.
- Do not send BDP pings if there is no receive side activity.
Update to version 1.33.1
-
Core
- Deprecate
GRPC_ARG_HTTP2_MIN_SENT_PING_INTERVAL_WITHOUT_DATA_MS
(gh#grpc/grpc#24063).
- Expose Cronet error message to the application layer
(gh#grpc/grpc#24083).
- Remove grpc_channel_ping from surface API
(gh#grpc/grpc#23894).
- Do not send BDP pings if there is no receive side activity
(gh#grpc/grpc#22997).
-
C++
- Makefile: only support building deps from submodule
(gh#grpc/grpc#23957).
- Add new subpackages - libupb and upb-devel. Currently, grpc
sources include also upb sources. Before this change, libupb and
upb-devel used to be included in a separate package - upb.
Update to version 1.32.0:
-
Core
- Remove stream from stalled lists on remove_stream
(gh#grpc/grpc#23984).
- Do not cancel RPC if send metadata size if larger than
peer's limit (gh#grpc/grpc#23806).
- Don't consider receiving non-OK status as an error for HTTP2
(gh#grpc/grpc#19545).
- Keepalive throttling (gh#grpc/grpc#23313).
- Include the target_uri in 'target uri is not valid' error
messages (gh#grpc/grpc#23782).
- Fix 'cannot send compressed message large than 1024B' in
cronet_transport (gh#grpc/grpc#23219).
- Receive SETTINGS frame on clients before declaring
subchannel READY (gh#grpc/grpc#23636).
- Enabled GPR_ABSEIL_SYNC (gh#grpc/grpc#23372).
- Experimental xDS v3 support (gh#grpc/grpc#23281).
-
C++
- Upgrade bazel used for all tests to 2.2.0
(gh#grpc/grpc#23902).
- Remove test targets and test helper libraries from Makefile
(gh#grpc/grpc#23813).
- Fix repeated builds broken by re2's cmake
(gh#grpc/grpc#23587).
- Log the peer address of grpc_cli CallMethod RPCs to stderr
(gh#grpc/grpc#23557).
opencensus-proto was updated to 0.3.0+git.20200721:
protobuf was updated to 25.1:
update to 25.1:
- Raise warnings for deprecated python syntax usages
- Add support for extensions in CRuby, JRuby, and FFI Ruby
- Add support for options in CRuby, JRuby and FFI (#14594)
update to 25.0:
- Implement proto2/proto3 with editions
- Defines Protobuf compiler version strings as macros and
separates out suffix string definition.
- Add utf8_validation feature back to the global feature set.
- Setting up version updater to prepare for poison pills and
embedding version info into C++, Python and Java gencode.
- Merge the protobuf and upb Bazel repos
- Editions: Introduce functionality to protoc for generating
edition feature set defaults.
- Editions: Migrate edition strings to enum in C++ code.
- Create a reflection helper for ExtensionIdentifier.
- Editions: Provide an API for C++ generators to specify their
features.
- Editions: Refactor feature resolution to use an intermediate
message.
- Publish extension declarations with declaration
verifications.
- Editions: Stop propagating partially resolved feature sets to
plugins.
- Editions: Migrate string_field_validation to a C++ feature
- Editions: Include defaults for any features in the generated
pool.
- Protoc: parser rejects explicit use of map_entry option
- Protoc: validate that reserved range start is before end
- Protoc: support identifiers as reserved names in addition to
string literals (only in editions)
- Drop support for Bazel 5.
- Allow code generators to specify whether or not they support
editions.
C++:
- Set
PROTOBUF_EXPORT on
InternalOutOfLineDeleteMessageLite()
- Update stale checked-in files
- Apply PROTOBUF_NOINLINE to declarations of some functions
that want it.
- Implement proto2/proto3 with editions
- Make JSON UTF-8 boundary check inclusive of the largest
possible UTF-8 character.
- Reduce
Map::size_type to 32-bits. Protobuf containers can't
have more than that
- Defines Protobuf compiler version strings as macros and
separates out suffix string definition.
- Add
ABSL_ATTRIBUTE_LIFETIME_BOUND attribute on generated
oneof accessors.
- Fix bug in reflection based Swap of map fields.
- Add utf8_validation feature back to the global feature set.
- Setting up version updater to prepare for poison pills and
embedding version info into C++, Python and Java gencode.
- Add prefetching to arena allocations.
- Add
ABSL_ATTRIBUTE_LIFETIME_BOUND attribute on generated
repeated and map field accessors.
- Editions: Migrate edition strings to enum in C++ code.
- Create a reflection helper for ExtensionIdentifier.
- Editions: Provide an API for C++ generators to specify their
features.
- Add
ABSL_ATTRIBUTE_LIFETIME_BOUND attribute on generated
string field accessors.
- Editions: Refactor feature resolution to use an intermediate
message.
- Fixes for 32-bit MSVC.
- Publish extension declarations with declaration
verifications.
- Export the constants in protobuf's any.h to support DLL
builds.
- Implement AbslStringify for the Descriptor family of types.
- Add
ABSL_ATTRIBUTE_LIFETIME_BOUND attribute on generated
message field accessors.
- Editions: Stop propagating partially resolved feature sets to
plugins.
- Editions: Migrate string_field_validation to a C++ feature
- Editions: Include defaults for any features in the generated
pool.
- Introduce C++ feature for UTF8 validation.
- Protoc: validate that reserved range start is before end
- Remove option to disable the table-driven parser in protoc.
- Lock down ctype=CORD in proto file.
- Support split repeated fields.
- In OSS mode omit some extern template specializations.
- Allow code generators to specify whether or not they support
editions.
Java:
- Implement proto2/proto3 with editions
- Remove synthetic oneofs from Java gencode field accessor
tables.
- Timestamps.parse: Add error handling for invalid
hours/minutes in the timezone offset.
- Defines Protobuf compiler version strings as macros and
separates out suffix string definition.
- Add
ABSL_ATTRIBUTE_LIFETIME_BOUND attribute on generated
oneof accessors.
- Add missing debugging version info to Protobuf Java gencode
when multiple files are generated.
- Fix a bad cast in putBuilderIfAbsent when already present due
to using the result of put() directly (which is null if it
currently has no value)
- Setting up version updater to prepare for poison pills and
embedding version info into C++, Python and Java gencode.
- Fix a NPE in putBuilderIfAbsent due to using the result of
put() directly (which is null if it currently has no value)
- Update Kotlin compiler to escape package names
- Add MapFieldBuilder and change codegen to generate it and the
put{field}BuilderIfAbsent method.
- Introduce recursion limit in Java text format parsing
- Consider the protobuf.Any invalid if typeUrl.split('/')
returns an empty array.
- Mark
FieldDescriptor.hasOptionalKeyword() as deprecated.
- Fixed Python memory leak in map lookup.
- Loosen upb for json name conflict check in proto2 between
json name and field
- Defines Protobuf compiler version strings as macros and
separates out suffix string definition.
- Add
ABSL_ATTRIBUTE_LIFETIME_BOUND attribute on generated
oneof accessors.
- Ensure Timestamp.ToDatetime(tz) has correct offset
- Do not check required field for upb python MergeFrom
- Setting up version updater to prepare for poison pills and
embedding version info into C++, Python and Java gencode.
- Merge the protobuf and upb Bazel repos
- Comparing a proto message with an object of unknown returns
NotImplemented
- Emit slots in pyi output as a tuple rather than a list
for --pyi_out.
- Fix a bug that strips options from descriptor.proto in
Python.
- Raise warings for message.UnknownFields() usages and navigate
to the new add
- Add protobuf python keyword support in path for stub
generator.
- Add tuple support to set Struct
-
Python C-Extension (Default)
- Comparing a proto message with an object of unknown returns
NotImplemented
- Check that ffi-compiler loads before using it to define
tasks.
UPB (Python/PHP/Ruby C-Extension):
- Include .inc files directly instead of through a filegroup
- Loosen upb for json name conflict check in proto2 between
json name and field
- Add utf8_validation feature back to the global feature set.
- Do not check required field for upb python MergeFrom
- Merge the protobuf and upb Bazel repos
- Added malloc_trim() calls to Python allocator so RSS will
decrease when memory is freed
- Upb: fix a Python memory leak in ByteSize()
- Support ASAN detection on clang
- Upb: bugfix for importing a proto3 enum from within a proto2
file
- Expose methods needed by Ruby FFI using UPB_API
- Fix
PyUpb_Message_MergeInternal segfault
- Build with source and target levels 8
- Install the pom file with the new %%mvn_install_pom macro
- Do not install the pom-only artifacts, since the %%mvn_install_pom
macro resolves the variables at the install time
update to 23.4:
- Add dllexport_decl for generated default instance.
- Deps: Update Guava to 32.0.1
update to 23.3:
C++:
- Regenerate stale files
- Use the same ABI for static and shared libraries on non-
Windows platforms
- Add a workaround for GCC constexpr bug
Objective-C:
- Regenerate stale files
UPB (Python/PHP/Ruby C-Extension)
- Fixed a bug in
upb_Map_Delete() that caused crashes in
map.delete(k) for Ruby when string-keyed maps were in use.
Compiler:
- Add missing header to Objective-c generator
- Add a workaround for GCC constexpr bug
Java:
- Rollback of: Simplify protobuf Java message builder by
removing methods that calls the super class only.
Csharp:
- [C#] Replace regex that validates descriptor names
update to 22.5:
C++:
- Add missing cstdint header
- Fix: missing -DPROTOBUF_USE_DLLS in pkg-config (#12700)
- Avoid using string(JOIN..., which requires cmake 3.12
- Explicitly include GTest package in examples
- Bump Abseil submodule to 20230125.3 (#12660)
update to 22.4:
C++:
- Fix libprotoc: export useful symbols from .so
Python:
- Fix bug in _internal_copy_files where the rule would fail in
downstream repositories.
Other:
- Bump utf8_range to version with working pkg-config (#12584)
- Fix declared dependencies for pkg-config
- Update abseil dependency and reorder dependencies to ensure
we use the version specified in protobuf_deps.
- Turn off clang::musttail on i386
update to v22.3
UPB (Python/PHP/Ruby C-Extension):
- Remove src prefix from proto import
- Fix .gitmodules to use the correct absl branch
- Remove erroneous dependency on googletest
update to 22.2:
Java:
- Add version to intra proto dependencies and add kotlin stdlib
dependency
- Add $ back for osgi header
- Remove $ in pom files
update to 22.1:
- Add visibility of plugin.proto to python directory
- Strip 'src' from file name of plugin.proto
- Add OSGi headers to pom files.
- Remove errorprone dependency from kotlin protos.
- Version protoc according to the compiler version number.
-
update to 22.0:
- This version includes breaking changes to: Cpp.
Please refer to the migration guide for information:
https://protobuf.dev/support/migration/#compiler-22
- [Cpp] Migrate to Abseil's logging library.
- [Cpp]
proto2::Map::value_type changes to std::pair.
- [Cpp] Mark final ZeroCopyInputStream, ZeroCopyOutputStream,
and DefaultFieldComparator classes.
- [Cpp] Add a dependency on Abseil (#10416)
- [Cpp] Remove all autotools usage (#10132)
- [Cpp] Add C++20 reserved keywords
- [Cpp] Dropped C++11 Support
- [Cpp] Delete Arena::Init
- [Cpp] Replace JSON parser with new implementation
- [Cpp] Make RepeatedField::GetArena non-const in order to
support split RepeatedFields.
- long list of bindings specific fixes see
https://github.com/protocolbuffers/protobuf/releases/tag/v22.0
update to v21.12:
- Python:
- Fix broken enum ranges (#11171)
- Stop requiring extension fields to have a sythetic oneof (#11091)
- Python runtime 4.21.10 not works generated code can not load valid
proto.
update to 21.11:
- Python:
- Add license file to pypi wheels (#10936)
- Fix round-trip bug (#10158)
update to 21.10::
- Java:
- Use bit-field int values in buildPartial to skip work on unset groups of
fields. (#10960)
- Mark nested builder as clean after clear is called (#10984)
update to 21.9:
- Ruby:
- Replace libc strdup usage with internal impl to restore musl compat (#10818)
- Auto capitalize enums name in Ruby (#10454) (#10763)
- Other:
- Fix for grpc.tools #17995 & protobuf #7474 (handle UTF-8 paths in argumentfile) (#10721)
- C++:
- 21.x No longer define no_threadlocal on OpenBSD (#10743)
- Java:
- Mark default instance as immutable first to avoid race during static initialization of default instances (#10771)
- Refactoring java full runtime to reuse sub-message builders and prepare to
migrate parsing logic from parse constructor to builder.
- Move proto wireformat parsing functionality from the private 'parsing
constructor' to the Builder class.
- Change the Lite runtime to prefer merging from the wireformat into mutable
messages rather than building up a new immutable object before merging. This
way results in fewer allocations and copy operations.
- Make message-type extensions merge from wire-format instead of building up
instances and merging afterwards. This has much better performance.
- Fix TextFormat parser to build up recurring (but supposedly not repeated)
sub-messages directly from text rather than building a new sub-message and
merging the fully formed message into the existing field.
update to 21.6:
C++:
- Reduce memory consumption of MessageSet parsing
update to 21.5:
PHP:
- Added getContainingOneof and getRealContainingOneof to descriptor.
- fix PHP readonly legacy files for nested messages
Python:
- Fixed comparison of maps in Python.
-
update to 21.4:
- Reduce the required alignment of ArenaString from 8 to 4
-
update to 21.3:
- C++:
- Add header search paths to Protobuf-C++.podspec (#10024)
- Fixed Visual Studio constinit errors (#10232)
- Fix #9947: make the ABI compatible between debug and non-debug builds (#10271)
- UPB:
- Allow empty package names (fixes behavior regression in 4.21.0)
- Fix a SEGV bug when comparing a non-materialized sub-message (#10208)
- Fix several bugs in descriptor mapping containers (eg. descriptor.services_by_name)
- for x in mapping now yields keys rather than values, to match Python
conventions and the behavior of the old library.
- Lookup operations now correctly reject unhashable types as map keys.
- We implement repr() to use the same format as dict.
- Fix maps to use the ScalarMapContainer class when appropriate
- Fix bug when parsing an unknown value in a proto2 enum extension (protocolbuffers/upb#717)
- PHP:
- Add 'readonly' as a keyword for PHP and add previous classnames to descriptor pool (#10041)
- Python:
- Make //:protobuf_python and //:well_known_types_py_pb2 public (#10118)
- Bazel:
- Add back a filegroup for :well_known_protos (#10061)
Update to 21.2:
Update to 3.15.8:
- Fixed memory leak of Ruby arena objects (#8461)
Update to 3.15.7:
C++:
- Remove the ::pb namespace (alias) (#8423)
Ruby:
- Fix unbounded memory growth for Ruby <2.7 (#8429)
- Fixed message equality in cases where the message type is different (#8434)
update to 3.15.6:
Ruby:
- Fixed bug in string comparison logic (#8386)
- Fixed quadratic memory use in array append (#8379)
- Fixed SEGV when users pass nil messages (#8363)
- Fixed quadratic memory usage when appending to arrays (#8364)
- Ruby <2.7 now uses WeakMap too, which prevents memory leaks. (#8341)
- Fix for FieldDescriptor.get(msg) (#8330)
- Bugfix for Message.[] for repeated or map fields (#8313)
PHP:
- read_property() handler is not supposed to return NULL (#8362)
Protocol Compiler
- Optional fields for proto3 are enabled by default, and no longer require
the --experimental_allow_proto3_optional flag.
C++:
- Do not disable RTTI by default in the CMake build (#8377)
- Create a CMake option to control whether or not RTTI is enabled (#8361)
- Fix PROTOBUF_CONSTINIT macro redefinition (#8323)
- MessageDifferencer: fixed bug when using custom ignore with multiple
unknown fields
- Use init_seg in MSVC to push initialization to an earlier phase.
- Runtime no longer triggers -Wsign-compare warnings.
- Fixed -Wtautological-constant-out-of-range-compare warning.
- DynamicCastToGenerated works for nullptr input for even if RTTI is disabled
- Arena is refactored and optimized.
- Clarified/specified that the exact value of Arena::SpaceAllocated() is an
implementation detail users must not rely on. It should not be used in
unit tests.
- Change the signature of Any::PackFrom() to return false on error.
- Add fast reflection getter API for strings.
- Constant initialize the global message instances
- Avoid potential for missed wakeup in UnknownFieldSet
- Now Proto3 Oneof fields have 'has' methods for checking their presence in
C++.
- Bugfix for NVCC
- Return early in _InternalSerialize for empty maps.
- Adding functionality for outputting map key values in proto path logging
output (does not affect comparison logic) and stop printing 'value' in the
path. The modified print functionality is in the
MessageDifferencer::StreamReporter.
- Fixed https://github.com/protocolbuffers/protobuf/issues/8129
- Ensure that null char symbol, package and file names do not result in a
crash.
- Constant initialize the global message instances
- Pretty print 'max' instead of numeric values in reserved ranges.
- Removed remaining instances of std::is_pod, which is deprecated in C++20.
- Changes to reduce code size for unknown field handling by making uncommon
cases out of line.
- Fix std::is_pod deprecated in C++20 (#7180)
- Fix some -Wunused-parameter warnings (#8053)
- Fix detecting file as directory on zOS issue #8051 (#8052)
- Don't include sys/param.h for _BYTE_ORDER (#8106)
- remove CMAKE_THREAD_LIBS_INIT from pkgconfig CFLAGS (#8154)
- Fix TextFormatMapTest.DynamicMessage issue#5136 (#8159)
- Fix for compiler warning issue#8145 (#8160)
- fix: support deprecated enums for GCC < 6 (#8164)
- Fix some warning when compiling with Visual Studio 2019 on x64 target (#8125)
Python:
- Provided an override for the reverse() method that will reverse the internal
collection directly instead of using the other methods of the BaseContainer.
- MessageFactory.CreateProtoype can be overridden to customize class creation.
- Fix PyUnknownFields memory leak (#7928)
- Add macOS big sur compatibility (#8126)
JavaScript
- Generate
getDescriptor methods with * as their this type.
- Enforce
let/const for generated messages.
- js/binary/utils.js: Fix jspb.utils.joinUnsignedDecimalString to work with
negative bitsLow and low but non-zero bitsHigh parameter. (#8170)
PHP:
- Added support for PHP 8. (#8105)
- unregister INI entries and fix invalid read on shutdown (#8042)
- Fix PhpDoc comments for message accessors to include '|null'. (#8136)
- fix: convert native PHP floats to single precision (#8187)
- Fixed PHP to support field numbers >=2**28. (#8235)
- feat: add support for deprecated fields to PHP compiler (#8223)
- Protect against stack overflow if the user derives from Message. (#8248)
- Fixed clone for Message, RepeatedField, and MapField. (#8245)
- Updated upb to allow nonzero offset minutes in JSON timestamps. (#8258)
Ruby:
- Added support for Ruby 3. (#8184)
- Rewrote the data storage layer to be based on upb_msg objects from the
upb library. This should lead to much better parsing performance,
particularly for large messages. (#8184).
- Fill out JRuby support (#7923)
- [Ruby] Fix: (SIGSEGV) gRPC-Ruby issue on Windows. memory alloc infinite
recursion/run out of memory (#8195)
- Fix jruby support to handle messages nested more than 1 level deep (#8194)
Java:
- Avoid possible UnsupportedOperationException when using CodedInputSteam
with a direct ByteBuffer.
- Make Durations.comparator() and Timestamps.comparator() Serializable.
- Add more detailed error information for dynamic message field type
validation failure
- Removed declarations of functions declared in java_names.h from
java_helpers.h.
- Now Proto3 Oneof fields have 'has' methods for checking their presence in
Java.
- Annotates Java proto generated *_FIELD_NUMBER constants.
- Add -assumevalues to remove JvmMemoryAccessor on Android.
C#:
- Fix parsing negative Int32Value that crosses segment boundary (#8035)
- Change ByteString to use memory and support unsafe create without copy (#7645)
- Optimize MapField serialization by removing MessageAdapter (#8143)
- Allow FileDescriptors to be parsed with extension registries (#8220)
- Optimize writing small strings (#8149)
- Updated URL to https://github.com/protocolbuffers/protobuf
Update to v3.14.0
Protocol Compiler:
- The proto compiler no longer requires a .proto filename when it is not
generating code.
- Added flag
--deterministic_output to protoc --encode=....
- Fixed deadlock when using google.protobuf.Any embedded in aggregate options.
C++:
- Arenas are now unconditionally enabled. cc_enable_arenas no longer has
any effect.
- Removed inlined string support, which is incompatible with arenas.
- Fix a memory corruption bug in reflection when mixing optional and
non-optional fields.
- Make SpaceUsed() calculation more thorough for map fields.
- Add stack overflow protection for text format with unknown field values.
- FieldPath::FollowAll() now returns a bool to signal if an out-of-bounds
error was encountered.
- Performance improvements for Map.
- Minor formatting fix when dumping a descriptor to .proto format with
DebugString.
- UBSAN fix in RepeatedField
- When running under ASAN, skip a test that makes huge allocations.
- Fixed a crash that could happen when creating more than 256 extensions in
a single message.
- Fix a crash in BuildFile when passing in invalid descriptor proto.
- Parser security fix when operating with CodedInputStream.
- Warn against the use of AllowUnknownExtension.
- Migrated to C++11 for-range loops instead of index-based loops where
possible. This fixes a lot of warnings when compiling with -Wsign-compare.
- Fix segment fault for proto3 optional
- Adds a CMake option to build
libprotoc separately
Java
- Bugfix in mergeFrom() when a oneof has multiple message fields.
- Fix RopeByteString.RopeInputStream.read() returning -1 when told to read
0 bytes when not at EOF.
- Redefine remove(Object) on primitive repeated field Lists to avoid
autoboxing.
- Support '\u' escapes in textformat string literals.
- Trailing empty spaces are no longer ignored for FieldMask.
- Fix FieldMaskUtil.subtract to recursively remove mask.
- Mark enums with
@java.lang.Deprecated if the proto enum has option
deprecated = true;.
- Adding forgotten duration.proto to the lite library
Python:
- Print google.protobuf.NullValue as null instead of 'NULL_VALUE' when it is
used outside WKT Value/Struct.
- Fix bug occurring when attempting to deep copy an enum type in python 3.
- Add a setuptools extension for generating Python protobufs
- Remove uses of pkg_resources in non-namespace packages
- [bazel/py] Omit google/init.py from the Protobuf runtime
- Removed the unnecessary setuptools package dependency for Python package
- Fix PyUnknownFields memory leak
PHP:
- Added support for '==' to the PHP C extension
- Added
== operators for Map and Array
- Native C well-known types
- Optimized away hex2bin() call in generated code
- New version of upb, and a new hash function wyhash in third_party
- add missing hasOneof method to check presence of oneof fields
Go:
- Update go_package options to reference google.golang.org/protobuf module.
C#:
- annotate ByteString.CopyFrom(ReadOnlySpan<byte>) as SecuritySafeCritical
- Fix C# optional field reflection when there are regular fields too
- Fix parsing negative Int32Value that crosses segment boundary
Javascript:
- JS: parse (un)packed fields conditionally
Update to version 3.13.0
PHP:
- The C extension is completely rewritten. The new C extension has significantly
better parsing performance and fixes a handful of conformance issues. It will
also make it easier to add support for more features like proto2 and proto3 presence.
- The new C extension does not support PHP 5.x. PHP 5.x users can still use pure-PHP.
C++:
- Removed deprecated unsafe arena string accessors
- Enabled heterogeneous lookup for std::string keys in maps.
- Removed implicit conversion from StringPiece to std::string
- Fix use-after-destroy bug when the Map is allocated in the arena.
- Improved the randomness of map ordering
- Added stack overflow protection for text format with unknown fields
- Use std::hash for proto maps to help with portability.
- Added more Windows macros to proto whitelist.
- Arena constructors for map entry messages are now marked 'explicit'
(for regular messages they were already explicit).
- Fix subtle aliasing bug in RepeatedField::Add
- Fix mismatch between MapEntry ByteSize and Serialize with respect to unset
fields.
Python:
- JSON format conformance fixes:
- Reject lowercase t for Timestamp json format.
- Print full_name directly for extensions (no camelCase).
- Reject boolean values for integer fields.
- Reject NaN, Infinity, -Infinity that is not quoted.
- Base64 fixes for bytes fields: accept URL-safe base64 and missing padding.
- Bugfix for fields/files named 'async' or 'await'.
- Improved the error message when AttributeError is returned from getattr
in EnumTypeWrapper.
Java:
- Fixed a bug where setting optional proto3 enums with setFooValue() would
not mark the value as present.
- Add Subtract function to FieldMaskUtil.
C#:
- Dropped support for netstandard1.0 (replaced by support for netstandard1.1).
This was required to modernize the parsing stack to use the
Span<byte>
type internally
- Add
ParseFrom(ReadOnlySequence<byte>) method to enable GC friendly
parsing with reduced allocations and buffer copies
- Add support for serialization directly to a
IBufferWriter<byte> or
to a Span<byte> to enable GC friendly serialization.
The new API is available as extension methods on the IMessage type
- Add
GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE define to make
generated code compatible with old C# compilers (pre-roslyn compilers
from .NET framework and old versions of mono) that do not support
ref structs. Users that are still on a legacy stack that does
not support C# 7.2 compiler might need to use the new define
in their projects to be able to build the newly generated code
- Due to the major overhaul of parsing and serialization internals,
it is recommended to regenerate your generated code to achieve the best
performance (the legacy generated code will still work, but might incur
a slight performance penalty).
Update to version 3.12.3; notable changes since 3.11.4:
Protocol Compiler:
- [experimental] Singular, non-message typed fields in proto3 now support
presence tracking. This is enabled by adding the 'optional' field label and
passing the --experimental_allow_proto3_optional flag to protoc.
- For usage info, see docs/field_presence.md.
- During this experimental phase, code generators should update to support
proto3 presence, see docs/implementing_proto3_presence.md for instructions.
- Allow duplicate symbol names when multiple descriptor sets are passed on
the command-line, to match the behavior when multiple .proto files are passed.
- Deterministic
protoc --descriptor_set_out (#7175)
Objective-C:
- Tweak the union used for Extensions to support old generated code. #7573
- Fix for the :protobuf_objc target in the Bazel BUILD file. (#7538)
- [experimental] ObjC Proto3 optional support (#7421)
- Block subclassing of generated classes (#7124)
- Use references to Obj C classes instead of names in descriptors. (#7026)
- Revisit how the WKTs are bundled with ObjC. (#7173)
C++:
- Simplified the template export macros to fix the build for mingw32. (#7539)
- [experimental] Added proto3 presence support.
- New descriptor APIs to support proto3 presence.
- Enable Arenas by default on all .proto files.
- Documented that users are not allowed to subclass Message or MessageLite.
- Mark generated classes as final; inheriting from protos is strongly discouraged.
- Add stack overflow protection for text format with unknown fields.
- Add accessors for map key and value FieldDescriptors.
- Add FieldMaskUtil::FromFieldNumbers().
- MessageDifferencer: use ParsePartial() on Any fields so the diff does not
fail when there are missing required fields.
- ReflectionOps::Merge(): lookup messages in the right factory, if it can.
- Added Descriptor::WellKnownTypes enum and Descriptor::well_known_type()
accessor as an easier way of determining if a message is a Well-Known Type.
- Optimized RepeatedField::Add() when it is used in a loop.
- Made proto move/swap more efficient.
- De-virtualize the GetArena() method in MessageLite.
- Improves performance of json_stream_parser.cc by factor 1000 (#7230)
- bug: #7076 undefine Windows OUT and OPTIONAL macros (#7087)
- Fixed a bug in FieldDescriptor::DebugString() that would erroneously print
an 'optional' label for a field in a oneof.
- Fix bug in parsing bool extensions that assumed they are always 1 byte.
- Fix off-by-one error in FieldOptions::ByteSize() when extensions are present.
- Clarified the comments to show an example of the difference between
Descriptor::extension and DescriptorPool::FindAllExtensions.
- Add a compiler option 'code_size' to force optimize_for=code_size on all
protos where this is possible.
Ruby:
- Re-add binary gems for Ruby 2.3 and 2.4. These are EOL upstream, however
many people still use them and dropping support will require more
coordination.
- [experimental] Implemented proto3 presence for Ruby. (#7406)
- Stop building binary gems for ruby <2.5 (#7453)
- Fix for wrappers with a zero value (#7195)
- Fix for JSON serialization of 0/empty-valued wrapper types (#7198)
- Call 'Class#new' over rb_class_new_instance in decoding (#7352)
- Build extensions for Ruby 2.7 (#7027)
- assigning 'nil' to submessage should clear the field. (#7397)
Java:
- [experimental] Added proto3 presence support.
- Mark java enum _VALUE constants as @Deprecated if the enum field is deprecated
- reduce <clinit> size for enums with allow_alias set to true.
- Sort map fields alphabetically by the field's key when printing textproto.
- Fixed a bug in map sorting that appeared in -rc1 and -rc2 (#7508).
- TextFormat.merge() handles Any as top level type.
- Throw a descriptive IllegalArgumentException when calling
getValueDescriptor() on enum special value UNRECOGNIZED instead of
ArrayIndexOutOfBoundsException.
- Fixed an issue with JsonFormat.printer() where setting printingEnumsAsInts()
would override the configuration passed into includingDefaultValueFields().
- Implement overrides of indexOf() and contains() on primitive lists returned
for repeated fields to avoid autoboxing the list contents.
- Add overload to FieldMaskUtil.fromStringList that accepts a descriptor.
- [bazel] Move Java runtime/toolchains into //java (#7190)
Python:
- [experimental] Added proto3 presence support.
- [experimental] fast import protobuf module, only works with cpp generated code linked in.
- Truncate 'float' fields to 4 bytes of precision in setters for pure-Python
implementation (C++ extension was already doing this).
- Fixed a memory leak in C++ bindings.
- Added a deprecation warning when code tries to create Descriptor objects
directly.
- Fix unintended comparison between bytes and string in descriptor.py.
- Avoid printing excess digits for float fields in TextFormat.
- Remove Python 2.5 syntax compatibility from the proto compiler generated _pb2.py module code.
- Drop 3.3, 3.4 and use single version docker images for all python tests (#7396)
JavaScript:
- Fix js message pivot selection (#6813)
PHP:
- Persistent Descriptor Pool (#6899)
- Implement lazy loading of php class for proto messages (#6911)
- Correct @return in Any.unpack docblock (#7089)
- Ignore unknown enum value when ignore_unknown specified (#7455)
C#:
- [experimental] Add support for proto3 presence fields in C# (#7382)
- Mark GetOption API as obsolete and expose the 'GetOptions()' method on descriptors instead (#7491)
- Remove Has/Clear members for C# message fields in proto2 (#7429)
- Enforce recursion depth checking for unknown fields (#7132)
- Fix conformance test failures for Google.Protobuf (#6910)
- Cleanup various bits of Google.Protobuf (#6674)
- Fix latest ArgumentException for C# extensions (#6938)
- Remove unnecessary branch from ReadTag (#7289)
Other:
- Add a proto_lang_toolchain for javalite (#6882)
- [bazel] Update gtest and deprecate //external:{gtest,gtest_main} (#7237)
- Add application note for explicit presence tracking. (#7390)
- Howto doc for implementing proto3 presence in a code generator. (#7407)
Update to version 3.11.4; notable changes since 3.9.2:
- C++: Make serialization method naming consistent
- C++: Moved ShutdownProtobufLibrary() to message_lite.h. For
backward compatibility a declaration is still available
in stubs/common.h, but users should prefer message_lite.h
- C++: Removed non-namespace macro EXPECT_OK()
- C++: Removed mathlimits.h from stubs in favor of using
std::numeric_limits from C++11
- C++: Support direct pickling of nested messages
- C++: Disable extension code gen for C#
- C++: Switch the proto parser to the faster MOMI parser
- C++: Unused imports of files defining descriptor extensions
will now be reported
- C++: Add proto2::util::RemoveSubranges to remove multiple
subranges in linear time
- C++: Support 32 bit values for ProtoStreamObjectWriter to Struct
- C++: Removed the internal-only header coded_stream_inl.h and
the internal-only methods defined there
- C++: Enforced no SWIG wrapping of descriptor_database.h
(other headers already had this restriction)
- C++: Implementation of the equivalent of the MOMI parser for
serialization. This removes one of the two serialization
routines, by making the fast array serialization routine
completely general. SerializeToCodedStream can now be
implemented in terms of the much much faster array
serialization. The array serialization regresses slightly,
but when array serialization is not possible this wins big
- C++: Add move constructor for Reflection's SetString
- Java: Remove the usage of MethodHandle, so that Android users
prior to API version 26 can use protobuf-java
- Java: Publish ProGuard config for javalite
- Java: Include unknown fields when merging proto3 messages in
Java lite builders
- Java: Have oneof enums implement a separate interface (other
than EnumLite) for clarity
- Java: Opensource Android Memory Accessors
- Java: Change ProtobufArrayList to use Object[] instead of
ArrayList for 5-10% faster parsing
- Java: Make a copy of JsonFormat.TypeRegistry at the protobuf
top level package. This will eventually replace
JsonFormat.TypeRegistry
- Java: Add Automatic-Module-Name entries to the Manifest
- Python: Add float_precision option in json format printer
- Python: Optionally print bytes fields as messages in unknown
fields, if possible
- Python: Experimental code gen (fast import protobuf module)
which only work with cpp generated code linked in
- Python: Add descriptor methods in descriptor_pool are deprecated
- Python: Added delitem for Python extension dict
- JavaScript: Remove guard for Symbol iterator for jspb.Map
- JavaScript: Remove deprecated boolean option to getResultBase64String()
- JavaScript: Change the parameter types of binaryReaderFn in
ExtensionFieldBinaryInfo to (number, ?, ?)
- JavaScript: Create dates.ts and time_of_days.ts to mirror Java
versions. This is a near-identical conversion of
c.g.type.util.{Dates,TimeOfDays} respectively
- JavaScript: Migrate moneys to TypeScript
- PHP: Increase php7.4 compatibility
- PHP: Implement lazy loading of php class for proto messages
- Ruby: Support hashes for struct initializers
- C#: Experimental proto2 support is now officially available
- C#: Change _Extensions property to normal body rather than expression
- Objective C: Remove OSReadLittle* due to alignment requirements
- Other: Override CocoaPods module to lowercase
- further bugfixes and optimisations
- Install LICENSE
- Drop protobuf-libs as it is just workaround for rpmlint issue
- python bindings now require recent python-google-apputils
- Released memory allocated by InitializeDefaultRepeatedFields()
and GetEmptyString(). Some memory sanitizers reported them
- Updated DynamicMessage.setField() to handle repeated enum
- Fixed a bug that caused NullPointerException to be thrown when
converting manually constructed FileDescriptorProto to
- Added oneofs(unions) feature. Fields in the same oneof will
- Files, services, enums, messages, methods and enum values
- Added Support for list values, including lists of mesaages,
- Added SwapFields() in reflection API to swap a subset of
- Repeated primitive extensions are now packable. The
it is possible to switch a repeated extension field to
- writeTo() method in ByteString can now write a substring to
- java_generate_equals_and_hash can now be used with the
- A new C++-backed extension module (aka 'cpp api v2') that
replaces the old ('cpp api v1') one. Much faster than the
pure Python code. This one resolves many bugs and is
mosh reqires it
python-abseil was udpated:
version update to 1.4.0
New:
(testing) Added @flagsaver.as_parsed: this allows saving/restoring flags
using string values as if parsed from the command line and will also reflect
other flag states after command line parsing, e.g. .present is set.
Changed:
(logging) If no log dir is specified logging.find_log_dir() now falls back
to tempfile.gettempdir() instead of /tmp/.
Fixed:
(flags) Additional kwargs (e.g. short_name=) to DEFINE_multi_enum_class
are now correctly passed to the underlying Flag object.
version update to 1.2.0
- Fixed a crash in Python 3.11 when
TempFileCleanup.SUCCESS is used.
Flag instances now raise an error if used in a bool context. This prevents
the occasional mistake of testing an instance for truthiness rather than
testing flag.value.
absl-py no longer depends on six.
Update to version 1.0.0
- absl-py no longer supports Python 2.7, 3.4, 3.5. All versions
have reached end-of-life for more than a year now.
- New releases will be tagged as vX.Y.Z instead of pypi-vX.Y.Z in
the git repo going forward.
python-grpcuio was updated:
-
Update to version 1.60.0:
- No python specfic changes.
-
Update to version 1.59.2:
- No python specific changes.
-
Update to version 1.59.0:
- [Python 3.12] Support Python 3.12 (gh#grpc/grpc#34398).
- [Python 3.12] Deprecate distutil (gh#grpc/grpc#34186).
-
Update to version 1.58.0:
- [Bazel] Enable grpcio-reflection to be used via Bazel
(gh#grpc/grpc#31013).
- [packaging] Publish xds-protos as part of the standard package
pipeline (gh#grpc/grpc#33797).
-
Update to version 1.57.0: (CVE-2023-4785, bsc#1215334, CVE-2023-33953, bsc#1214148)
- [posix] Enable systemd sockets for libsystemd>=233
(gh#grpc/grpc#32671).
- [python O11Y] Initial Implementation (gh#grpc/grpc#32974).
-
Build with LTO (don't set _lto_cflags to %nil).
-
No need to pass '-std=c++17' to build CFLAGS.
-
Update to version 1.56.2:
- [WRR] backport (gh#grpc/grpc#33694) to 1.56
(gh#grpc/grpc#33698)
- [backport][iomgr][EventEngine] Improve server handling of
file descriptor exhaustion (gh#grpc/grpc#33667)
-
Switch build to pip/wheel.
-
Use system abseil with '-std=c++17' to prevent undefined symbol
eg. with python-grpcio-tools (ZN3re23RE213GlobalReplaceEPNSt7_
cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS0_N4absl12lts_
2023012511string_viewE)
-
Upstream only supports python >= 3.7, so adjust BuildRequires
accordingly.
-
Add %{?sle15_python_module_pythons}
-
Update to version 1.56.0: (CVE-2023-32731, bsc#1212180)
- [aio types] Fix some grpc.aio python types
(gh#grpc/grpc#32475).
-
Update to version 1.55.0:
- [EventEngine] Disable EventEngine polling in gRPC Python
(gh#grpc/grpc#33279) (gh#grpc/grpc#33320).
- [Bazel Python3.11] Update Bazel dependencies for Python 3.11
(gh#grpc/grpc#33318) (gh#grpc/grpc#33319).
-
Drop Requires: python-six; not required any more.
-
Switch Suggests to Recommends.
-
Update to version 1.54.0: (CVE-2023-32732, bsc#1212182)
- Fix DeprecationWarning when calling asyncio.get_event_loop()
(gh#grpc/grpc#32533).
- Remove references to deprecated syntax field
(gh#grpc/grpc#32497).
-
Update to version 1.51.1:
- No Linux specific changes.
-
Changes from version 1.51.0:
- Fix lack of cooldown between poll attempts
(gh#grpc/grpc#31550).
- Remove enum and future (gh#grpc/grpc#31381).
- [Remove Six] Remove dependency on six (gh#grpc/grpc#31340).
- Update xds-protos package to pull in protobuf 4.X
(gh#grpc/grpc#31113).
-
Update to version 1.50.0:
- Support Python 3.11. [gh#grpc/grpc#30818].
-
Update to version 1.49.1
- Support Python 3.11. (#30818)
- Add type stub generation support to grpcio-tools. (#30498)
-
Update to version 1.48.0:
- [Aio] Ensure Core channel closes when deallocated
[gh#grpc/grpc#29797].
- [Aio] Fix the wait_for_termination return value
[gh#grpc/grpc#29795].
-
update to 1.46.3:
- backport: xds: use federation env var to guard new-style resource name parsing
- This release contains refinements, improvements, and bug fixes.
-
Update to version 1.46.0:
- Add Python GCF Distribtest [gh#grpc/grpc#29303].
- Add Python Reflection Client [gh#grpc/grpc#29085].
- Revert 'Fix prefork handler register's default behavior'
[gh#grpc/grpc#29229].
- Fix prefork handler register's default behavior
[gh#grpc/grpc#29103].
- Fix fetching CXX variable in setup.py [gh#grpc/grpc#28873].
-
Update to version 1.45.0:
- Reimplement Gevent Integration [gh#grpc/grpc#28276].
- Support musllinux binary wheels on x64 and x86
[gh#grpc/grpc#28092].
- Increase the Python protobuf requirement to >=3.12.0
[gh#grpc/grpc#28604].
-
Build with system re2; add BuildRequires: pkgconfig(re2).
-
Update to version 1.44.0:
- Add python async example for hellostreamingworld using
generator (gh#grpc/grpc#27343).
- Disable __wrap_memcpy hack for Python builds
(gh#grpc/grpc#28410).
- Bump Bazel Python Cython dependency to 0.29.26
(gh#grpc/grpc#28398).
- Fix libatomic linking on Raspberry Pi OS Bullseye
(gh#grpc/grpc#28041).
- Allow generated proto sources in remote repositories for
py_proto_library (gh#grpc/grpc#28103).
-
Update to version 1.43.0:
- [Aio] Validate the input type for set_trailing_metadata and
abort (gh#grpc/grpc#27958).
-
update to 1.41.1:
- This is release 1.41.0 (goat) of gRPC Core.
-
Update to version 1.41.0:
- Add Python 3.10 support and drop 3.5 (gh#grpc/grpc#26074).
- [Aio] Remove custom IO manager support (gh#grpc/grpc#27090).
-
Update to version 1.39.0:
- Python AIO: Match continuation typing on Interceptors
(gh#grpc/grpc#26500).
- Workaround #26279 by publishing manylinux_2_24 wheels instead
of manylinux2014 on aarch64 (gh#grpc/grpc#26430).
- Fix zlib unistd.h import problem (gh#grpc/grpc#26374).
- Handle gevent exception in gevent poller (gh#grpc/grpc#26058).
-
Update to version 1.38.1:
- Backport gh#grpc/grpc#26430 and gh#grpc/grpc#26435 to v1.38.x
(gh#grpc/grpc#26436).
-
Update to version 1.38.0:
- Add grpcio-admin Python package (gh#grpc/grpc#26166).
- Add CSDS API to Python (gh#grpc/grpc#26114).
- Expose code and details from context on the server side
(gh#grpc/grpc#25457).
- Explicitly import importlib.abc; required on Python 3.10.
Fixes #26062 (gh#grpc/grpc#26083).
- Fix potential deadlock on the GIL in AuthMetdataPlugin
(gh#grpc/grpc#26009).
- Introduce new Python package 'xds_protos'
(gh#grpc/grpc#25975).
- Remove async mark for set_trailing_metadata interface
(gh#grpc/grpc#25814).
-
Update to version 1.37.1:
-
Changes from version 1.37.0:
- Clarify Guarantees about grpc.Future Interface
(gh#grpc/grpc#25383).
- [Aio] Add time_remaining method to ServicerContext
(gh#grpc/grpc#25719).
- Standardize all environment variable boolean configuration in
python's setup.py (gh#grpc/grpc#25444).
- Fix Signal Safety Issue (gh#grpc/grpc#25394).
-
Update to version 1.36.1:
- Core: back-port: add env var protection for google-c2p
resolver (gh#grpc/grpc#25569).
-
Update to version 1.35.0:
- Implement Python Client and Server xDS Creds.
(gh#grpc/grpc#25365)
- Add %define _lto_cflags %{nil} (bsc#1182659) (rh#1893533)
- Link roots.pem to ca-bundle.pem from ca-certificates package
-
Update to version 1.34.1:
- Backport 'Lazily import grpc_tools when using runtime
stub/message generation' to 1.34.x (gh#grpc/grpc#25011).
-
Update to version 1.34.0:
- Incur setuptools as an dependency for grpcio_tools
(gh#grpc/grpc#24752).
- Stop the spamming log generated by ctrl-c for AsyncIO server
(gh#grpc/grpc#24718).
- [gRPC Easy] Make Well-Known Types Available to Runtime Protos
(gh#grpc/grpc#24478).
- Bump MACOSX_DEPLOYMENT_TARGET to 10.10 for Python
(gh#grpc/grpc#24480).
- Make Python 2 an optional dependency for Bazel build
(gh#grpc/grpc#24407).
- [Linux] [macOS] Support pre-compiled Python 3.9 wheels
(gh#grpc/grpc#24356).
-
Update to version 1.33.2:
- [Backport] Implement grpc.Future interface in
SingleThreadedRendezvous (gh#grpc/grpc#24574).
-
Update to version 1.33.1:
- [Backport] Make Python 2 an optional dependency for Bazel
build (gh#grpc/grpc#24452).
- Allow asyncio API to be imported as grpc.aio.
(gh#grpc/grpc#24289).
- [gRPC Easy] Fix import errors on Windows (gh#grpc/grpc#24124).
- Make version check for importlib.abc in grpcio-tools more
stringent (gh#grpc/grpc#24098).
Added re2 package in version 2024-02-01.