diff --git a/requirements-tests.txt b/requirements-tests.txt index 57b8477f02d0..11107de60cd5 100644 --- a/requirements-tests.txt +++ b/requirements-tests.txt @@ -16,7 +16,7 @@ ruff==0.5.4 # must match .pre-commit-config.yaml aiohttp==3.10.2 # grpc install only fails on Windows, but let's avoid building sdist on other platforms # https://github.com/grpc/grpc/issues/36201 -grpcio-tools; python_version < "3.13" +grpcio-tools; python_version < "3.13" # For grpc_tools.protoc mypy-protobuf==3.6.0 packaging==24.1 pathspec>=0.11.1 diff --git a/scripts/sync_protobuf/google_protobuf.py b/scripts/sync_protobuf/google_protobuf.py index ba9109008d54..818706431484 100644 --- a/scripts/sync_protobuf/google_protobuf.py +++ b/scripts/sync_protobuf/google_protobuf.py @@ -18,7 +18,7 @@ # Whenever you update PACKAGE_VERSION here, version should be updated # in stubs/protobuf/METADATA.toml and vice-versa. -PACKAGE_VERSION = "27.1" +PACKAGE_VERSION = "28.2" STUBS_FOLDER = REPO_ROOT / "stubs" / "protobuf" ARCHIVE_FILENAME = f"protobuf-{PACKAGE_VERSION}.zip" diff --git a/stubs/protobuf/METADATA.toml b/stubs/protobuf/METADATA.toml index f08d51e7fcab..2a3e69f74eb2 100644 --- a/stubs/protobuf/METADATA.toml +++ b/stubs/protobuf/METADATA.toml @@ -1,8 +1,8 @@ # Whenever you update version here, PACKAGE_VERSION should be updated # in scripts/sync_proto/google_protobuf.py and vice-versa. -version = "5.27.*" +version = "5.28.*" upstream_repository = "https://github.com/protocolbuffers/protobuf" -extra_description = "Partially generated using [mypy-protobuf==3.6.0](https://github.com/nipunn1313/mypy-protobuf/tree/v3.6.0) and libprotoc 26.1 on [protobuf v27.1](https://github.com/protocolbuffers/protobuf/releases/tag/v27.1) (python `protobuf==5.27.1`)." +extra_description = "Partially generated using [mypy-protobuf==3.6.0](https://github.com/nipunn1313/mypy-protobuf/tree/v3.6.0) and libprotoc 26.1 on [protobuf v28.2](https://github.com/protocolbuffers/protobuf/releases/tag/v28.2) (python `protobuf==5.28.2`)." partial_stub = true [tool.stubtest] diff --git a/stubs/protobuf/google/protobuf/descriptor_pb2.pyi b/stubs/protobuf/google/protobuf/descriptor_pb2.pyi index 020c3fcccb06..48d88f0b07e5 100644 --- a/stubs/protobuf/google/protobuf/descriptor_pb2.pyi +++ b/stubs/protobuf/google/protobuf/descriptor_pb2.pyi @@ -1304,12 +1304,13 @@ class FieldOptions(google.protobuf.message.Message): FEATURE_SUPPORT_FIELD_NUMBER: builtins.int UNINTERPRETED_OPTION_FIELD_NUMBER: builtins.int ctype: global___FieldOptions.CType.ValueType - """The ctype option instructs the C++ code generator to use a different + """NOTE: ctype is deprecated. Use `features.(pb.cpp).string_type` instead. + The ctype option instructs the C++ code generator to use a different representation of the field than it normally would. See the specific options below. This option is only implemented to support use of [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of - type "bytes" in the open source release -- sorry, we'll try to include - other types in a future version! + type "bytes" in the open source release. + TODO: make ctype actually deprecated. """ packed: builtins.bool """The packed option can be enabled for repeated primitive fields to enable diff --git a/stubs/protobuf/google/protobuf/internal/well_known_types.pyi b/stubs/protobuf/google/protobuf/internal/well_known_types.pyi index 6192d64ae19b..5013ea53fc03 100644 --- a/stubs/protobuf/google/protobuf/internal/well_known_types.pyi +++ b/stubs/protobuf/google/protobuf/internal/well_known_types.pyi @@ -73,7 +73,6 @@ _StructValueArg: TypeAlias = _StructValue | Mapping[str, _StructValueArg] | Sequ class Struct: def __getitem__(self, key: str) -> _StructValue: ... - def __contains__(self, item: object) -> bool: ... def __setitem__(self, key: str, value: _StructValueArg) -> None: ... def __delitem__(self, key: str) -> None: ... def __len__(self) -> int: ...