Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/scripts/validate_yaml.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""Validate the YAML files for GitHub Actions workflows.

TODO: b/359303016 - convert to use unittest
TODO: convert to use unittest
"""

import os
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test_cpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ jobs:
- config: { name: "aarch64", flags: "--platforms=//build_defs:aarch64_linux" }
cache_key: aarch64-bazel8
targets: "//src/... //src/google/protobuf/compiler:protoc_aarch64_test //third_party/utf8_range/..."
image: "us-docker.pkg.dev/protobuf-build/containers/test/linux/emulation:7.6.1-aarch64-f0d1e209ed9369f69d93ce418990ecff3aa08d6f" #TODO: b/409557730 - upgrade to bazel 8
image: "us-docker.pkg.dev/protobuf-build/containers/test/linux/emulation:7.6.1-aarch64-f0d1e209ed9369f69d93ce418990ecff3aa08d6f" #TODO: upgrade to bazel 8
name: ${{ matrix.config.continuous-only && inputs.continuous-prefix || '' }} Linux ${{ matrix.config.name }}
runs-on: ${{ matrix.config.runner || 'ubuntu-latest' }}
steps:
Expand Down Expand Up @@ -126,7 +126,7 @@ jobs:
id: cross-compile
uses: protocolbuffers/protobuf-ci/cross-compile-protoc@v5
with:
image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:7.6.1-e0df73e51131ccaf53451355d22577f377357604 #TODO: b/409557730 - upgrade to bazel 8
image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:7.6.1-e0df73e51131ccaf53451355d22577f377357604 #TODO: upgrade to bazel 8
credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
architecture: linux-${{ matrix.arch }}
- name: Setup sccache
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test_csharp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
with:
ref: ${{ inputs.safe-checkout }}

# TODO Run this with Bazel once codegen is handled properly.
# TODO(b/327464009) Run this with Bazel once codegen is handled properly.
- name: Run tests
uses: protocolbuffers/protobuf-ci/docker@v5
with:
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/test_java.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
- name: OpenJDK 8
cache_key: '8'
image: us-docker.pkg.dev/protobuf-build/containers/test/linux/java:8.0.1-8-b77fdae6d4771789dfc66a56bf8d806354e8011a
# TODO: b/318555165 - enable the layering check. Currently it does
# TODO: enable the layering check. Currently it does
# not work correctly with the toolchain in this Docker image.
targets: //java/... //java/internal:java_version --features=-layering_check
flags: --java_language_version=8
Expand All @@ -53,7 +53,7 @@ jobs:
image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:7.6.1-e0df73e51131ccaf53451355d22577f377357604
targets: //java/... //java/internal:java_version //compatibility/...
flags: --noenable_bzlmod
# TODO: b/395623141 - restore this test once runtime uses / emulates aarch64.
# TODO: restore this test once runtime uses / emulates aarch64.
# - name: aarch64
# cache_key: 'aarch64'
# image: us-docker.pkg.dev/protobuf-build/containers/test/linux/emulation:7.6.1-aarch64-f0d1e209ed9369f69d93ce418990ecff3aa08d6f
Expand All @@ -76,7 +76,7 @@ jobs:
bazel-cache: java_linux/${{ matrix.cache_key }}
bazel: test ${{ matrix.targets }} ${{ matrix.flags }} --test_env=KOKORO_JAVA_VERSION

# TODO restore this test (or a better one) when gRPC has rebuilt with 26.x
# TODO(b/311232187) restore this test (or a better one) when gRPC has rebuilt with 26.x
# linkage-monitor:
# name: Linux Linkage Monitor
# runs-on: ubuntu-latest
Expand All @@ -91,7 +91,7 @@ jobs:
# image: us-docker.pkg.dev/protobuf-build/containers/test/linux/java:8-1fdbb997433cb22c1e49ef75ad374a8d6bb88702
# credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
# bazel-cache: java_linux/8
# # TODO: b/318555165 - enable the layering check. Currently it does
# # TODO: enable the layering check. Currently it does
# # not work correctly with the toolchain in this Docker image.
# bazel: test --test_output=all //java:linkage_monitor --spawn_strategy=standalone --features=-layering_check

Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/test_php.yml
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ jobs:
id: cross-compile
uses: protocolbuffers/protobuf-ci/cross-compile-protoc@v5
with:
image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:7.6.1-e0df73e51131ccaf53451355d22577f377357604 #TODO: b/409557730 - upgrade to bazel 8.0.1
image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:7.6.1-e0df73e51131ccaf53451355d22577f377357604 #TODO: upgrade to bazel 8.0.1
credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
architecture: linux-i386

Expand Down Expand Up @@ -147,7 +147,7 @@ jobs:
id: cross-compile
uses: protocolbuffers/protobuf-ci/cross-compile-protoc@v5
with:
image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:7.6.1-e0df73e51131ccaf53451355d22577f377357604 #TODO: b/409557730 - upgrade to bazel 8.0.1
image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:7.6.1-e0df73e51131ccaf53451355d22577f377357604 #TODO: upgrade to bazel 8.0.1
credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
architecture: linux-aarch64

Expand Down Expand Up @@ -205,7 +205,7 @@ jobs:
with:
credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
bazel-version: 8.0.1
# TODO this shouldn't be necessary, remove it
# TODO(b/467211650) this shouldn't be necessary, remove it
bazel-flags: --xcode_version_config=//.github:host_xcodes_macos15
command: |
pushd php
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test_python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ jobs:
- type: C++
version: aarch64
targets: //python/... //python:aarch64_test
# TODO Enable this once conformance tests are fixed.
# TODO(b/262628111) Enable this once conformance tests are fixed.
flags: --define=use_fast_cpp_protos=true --test_tag_filters=-conformance
image: us-docker.pkg.dev/protobuf-build/containers/test/linux/emulation:7.6.1-aarch64-f0d1e209ed9369f69d93ce418990ecff3aa08d6f

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test_ruby.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ jobs:
id: cross-compile
uses: protocolbuffers/protobuf-ci/cross-compile-protoc@v5
with:
image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:7.6.1-e0df73e51131ccaf53451355d22577f377357604 #TODO: b/409557730 - upgrade to bazel 8.0.1
image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:7.6.1-e0df73e51131ccaf53451355d22577f377357604 #TODO: upgrade to bazel 8.0.1
credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
architecture: linux-i386

Expand Down Expand Up @@ -110,7 +110,7 @@ jobs:
id: cross-compile
uses: protocolbuffers/protobuf-ci/cross-compile-protoc@v5
with:
image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:7.6.1-e0df73e51131ccaf53451355d22577f377357604 #TODO: b/409557730 - upgrade to bazel 8.0.1
image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:7.6.1-e0df73e51131ccaf53451355d22577f377357604 #TODO: upgrade to bazel 8.0.1
credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
architecture: linux-aarch64

Expand Down
2 changes: 1 addition & 1 deletion ci/common.bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ build:dbg --compilation_mode=dbg
build:opt --compilation_mode=opt

build:san-common --config=dbg --strip=never --copt=-O1 --copt=-fno-omit-frame-pointer
# TODO ASAN hits ODR violations with shared linkage due to
# TODO(b/392921707) ASAN hits ODR violations with shared linkage due to
# cc_proto_library cyclic dependency.
build:san-common --dynamic_mode=off

Expand Down
2 changes: 1 addition & 1 deletion cmake/upb_generators.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ foreach(generator upb upbdefs upb_minitable)
protobuf_configure_target(protoc-gen-${generator})
target_include_directories(protoc-gen-${generator} PRIVATE ${bootstrap_cmake_dir})
if(protobuf_BUILD_SHARED_LIBS)
# TODO These binaries should depend on libprotoc.
# TODO(b/419096242) These binaries should depend on libprotoc.
target_compile_definitions(protoc-gen-${generator}
PRIVATE LIBPROTOC_EXPORTS PROTOBUF_USE_DLLS)
endif()
Expand Down
2 changes: 1 addition & 1 deletion conformance/testee.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
// .SerializeText({.print_unknown_fields = true}),
// ParsedPayload(EqualsProto("pb(1: "foo")pb")));

// TODO Possible future APIs to expand conformance coverage:
// TODO(b/410123876) Possible future APIs to expand conformance coverage:
// - Add ClearUnknownFields() to InMemoryMessage
// - Add MergeFrom() method to InMemoryMessage to merge raw binary
// - Remove && qualifiers on Parse* and add InMemoryMessage::Merge that merges
Expand Down
2 changes: 1 addition & 1 deletion conformance/text_format_conformance_suite.cc
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ TextFormatConformanceTestSuiteImpl<MessageType>::
if (MessageType::GetDescriptor()->name() == "TestAllTypesProto3") {
RunAnyTests();
RunOpenEnumTests();
// TODO Run these over proto2 also.
// TODO(b/302593317) Run these over proto2 also.
RunAllTests();
}
}
Expand Down
2 changes: 1 addition & 1 deletion csharp/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ compile_edition_defaults(
minimum_edition = "PROTO2",
)

# TODO Make bazel tests use this output instead of the checked-in one
# TODO(b/376829856) Make bazel tests use this output instead of the checked-in one
embed_edition_defaults(
name = "embedded_csharp_edition_defaults_generate",
defaults = "csharp_edition_defaults",
Expand Down
2 changes: 1 addition & 1 deletion csharp/src/Google.Protobuf/CodedInputStream.cs
Original file line number Diff line number Diff line change
Expand Up @@ -638,7 +638,7 @@ internal byte[] ReadRawBytes(int size)
/// <summary>
/// Reads a top-level message or a nested message after the limits for this message have been pushed.
/// (parser will proceed until the end of the current limit)
/// NOTE: this method needs to be public because it's invoked by the generated code - e.g. msg.MergeFrom(CodedInputStream input) method
/// NOTE: e.g. msg.MergeFrom(CodedInputStream input) method
/// </summary>
public void ReadRawMessage(IMessage message)
{
Expand Down
2 changes: 1 addition & 1 deletion csharp/src/Google.Protobuf/Google.Protobuf.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
</ItemGroup>

<ItemGroup Condition=" '$(TargetFramework)' == 'net45' OR '$(TargetFramework)' == 'netstandard1.1' ">
<!-- TODO -->
<!-- TODO(b/352329755) -->
<PackageReference Include="System.Memory" Version="4.5.3"/>
</ItemGroup>

Expand Down
2 changes: 1 addition & 1 deletion hpb/backend/upb/extension.h
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ struct UpbExtensionTrait<absl::string_view> {
}
};

// TODO: b/375460289 - flesh out non-promotional msg support that does
// TODO: flesh out non-promotional msg support that does
// not return an error if missing but the default msg
template <typename T>
struct UpbExtensionTrait<T> {
Expand Down
6 changes: 3 additions & 3 deletions hpb/backend/upb/interop.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ namespace hpb::interop::upb {
* Warning: any minitable skew will incur arbitrary memory access. Ensuring
* minitable compatibility is the responsibility of the caller.
*/
// TODO: b/365824801 - consider rename to OwnMessage
// TODO: consider rename to OwnMessage
template <typename T>
T MoveMessage(upb_Message* msg, upb_Arena* arena) {
return internal::PrivateAccess::InvokeConstructor<T>(msg, arena);
Expand Down Expand Up @@ -84,8 +84,8 @@ upb_Arena* UnwrapArena(T&& arena) {
* The upb message must not be mutated directly while the handle is alive.
*
* T must match actual type of `msg`.
* TODO: b/361596328 - revisit GetArena for CHandles
* TODO: b/362743843 - consider passing in MiniTable to ensure match
* TODO: revisit GetArena for CHandles
* TODO: consider passing in MiniTable to ensure match
*/
// REMARK: This overload will be deleted soon. Prefer the overloads that take in
// the CMessageType or MiniTable.
Expand Down
2 changes: 1 addition & 1 deletion hpb/backend/upb/repeated_field.h
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ class RepeatedFieldProxy
(upb_Message*)message_value.msg_val, this->arena_);
}

// TODO : Audit/Finalize based on Iterator Design.
// TODO(b:/280069986) : Audit/Finalize based on Iterator Design.
// T::Proxy [] operator specialization.
template <int&... DeductionBarrier, bool b = !kIsConst,
typename = std::enable_if_t<b>>
Expand Down
2 changes: 1 addition & 1 deletion hpb/extension.h
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ class ExtensionRegistry {
const ExtensionRegistry& extension_registry);
upb_ExtensionRegistry* registry_;
#endif
// TODO: b/379100963 - Introduce ShutdownHpbLibrary
// TODO: Introduce ShutdownHpbLibrary
static const ExtensionRegistry* NewGeneratedRegistry() {
#if HPB_INTERNAL_BACKEND == HPB_INTERNAL_BACKEND_UPB
static const upb_GeneratedRegistryRef* registry_ref =
Expand Down
2 changes: 1 addition & 1 deletion hpb_generator/context.h
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ class Context final {
upb::DefPool pool_;
};

// TODO: b/373438292 - re-house these 4 legacy funcs post io::Printer move
// TODO: re-house these 4 legacy funcs post io::Printer move
inline std::string ToCIdent(absl::string_view str) {
return absl::StrReplaceAll(str, {{".", "_"}, {"/", "_"}, {"-", "_"}});
}
Expand Down
6 changes: 3 additions & 3 deletions hpb_generator/gen_accessors.cc
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ void WriteFieldAccessorsInHeader(const google::protobuf::Descriptor* desc, Conte
WriteMapFieldAccessors(desc, field, resolved_field_name,
resolved_upbc_name, ctx);
} else if (desc->options().map_entry()) {
// TODO Implement map entry
// TODO(b/237399867) Implement map entry
} else if (field->is_repeated()) {
WriteRepeatedFieldsInMessageHeader(desc, field, resolved_field_name,
resolved_upbc_name, ctx);
Expand Down Expand Up @@ -245,7 +245,7 @@ void WriteAccessorsInSource(const google::protobuf::Descriptor* desc, Context& c
WriteMapAccessorDefinitions(desc, field, resolved_field_name, class_name,
ctx);
} else if (desc->options().map_entry()) {
// TODO Implement map entry
// TODO(b/237399867) Implement map entry
} else if (field->is_repeated()) {
if (field->cpp_type() == google::protobuf::FieldDescriptor::CPPTYPE_MESSAGE) {
WriteRepeatedMessageAccessor(desc, field, resolved_field_name,
Expand Down Expand Up @@ -699,7 +699,7 @@ void WriteUsingAccessorsInHeader(const google::protobuf::Descriptor* desc,
}
}
} else if (desc->options().map_entry()) {
// TODO Implement map entry
// TODO(b/237399867) Implement map entry
} else if (field->is_repeated()) {
WriteRepeatedFieldUsingAccessors(field, class_name, resolved_field_name,
ctx, read_only);
Expand Down
2 changes: 1 addition & 1 deletion hpb_generator/gen_utils.cc
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ std::string DefaultValue(const FieldDescriptor* field) {
"\"", EscapeTrigraphs(absl::CEscape(field->default_value_string())),
"\"");
default:
// TODO: b/375460289 - implement rest of scalars
// TODO: implement rest of scalars
ABSL_LOG(WARNING) << "Unsupported default value type (in-progress): <"
<< field->cpp_type_name()
<< "> For field: " << field->full_name();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,7 @@ void setUnknownFields(UnknownFieldSet unknownFields) {
/**
* Called by subclasses to parse an unknown field.
*
* <p>TODO remove this method
* <p>TODO(b/248153893) remove this method
*
* @return {@code true} unless the tag is an end-group tag.
*/
Expand All @@ -298,7 +298,7 @@ protected boolean parseUnknownField(
* Delegates to parseUnknownField. This method is obsolete, but we must retain it for
* compatibility with older generated code.
*
* <p>TODO remove this method
* <p>TODO(b/248153893) remove this method
*/
protected boolean parseUnknownFieldProto3(
CodedInputStream input,
Expand Down Expand Up @@ -1201,7 +1201,7 @@ public void writeUntil(final int end, final CodedOutputStream output) throws IOE
/**
* For compatibility with older gencode.
*
* <p>TODO Remove this in the next breaking release.
* <p>TODO(b/346588832) Remove this in the next breaking release.
*
* @deprecated Use {@link newExtensionSerializer()} instead.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
* Wrappers around {@link Buffer} methods that are covariantly overridden in Java 9+. See
* https://github.com/protocolbuffers/protobuf/issues/11393
*
* <p>TODO remove when Java 8 support is no longer needed.
* <p>TODO(b/270454719) remove when Java 8 support is no longer needed.
*/
final class Java8Compatibility {
static void clear(Buffer b) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ public int hashCode() {
* Determines whether this LazyFieldLite instance represents the default instance of this type.
*/
public boolean containsDefaultInstance() {
// TODO: b/473034710 - ByteString can be empty but not the same as ByteString.EMPTY. Use
// TODO: ByteString can be empty but not the same as ByteString.EMPTY. Use
// `isEmpty()` instead for both `delayedBytes` and `memoizedBytes`.
return memoizedBytes == ByteString.EMPTY
|| (value == null && (delayedBytes == null || delayedBytes == ByteString.EMPTY))
Expand Down Expand Up @@ -319,7 +319,7 @@ public void merge(LazyFieldLite other) {
// this may result in some extensions being lost that shouldn't have been, but its the
// best that we can do if we reach this point and is not expected to occur in real use.
if (defaultInstance == null) {
// TODO: b/467739361 - Consider throwing an exception here.
// TODO: Consider throwing an exception here.
this.delayedBytes = this.delayedBytes.concat(other.delayedBytes);
return;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3420,7 +3420,7 @@ private <UT, UB, ET extends FieldDescriptorLite<ET>> void mergeFromHelper(

@SuppressWarnings("ReferenceEquality")
static UnknownFieldSetLite getMutableUnknownFields(Object message) {
// TODO decide if we're keeping support for Full in schema classes and handle this
// TODO(b/248560713) decide if we're keeping support for Full in schema classes and handle this
// better.
UnknownFieldSetLite unknownFields = ((GeneratedMessageLite) message).unknownFields;
if (unknownFields == UnknownFieldSetLite.getDefaultInstance()) {
Expand Down Expand Up @@ -4314,7 +4314,7 @@ public void makeImmutable(T message) {
return;
}

// TODO decide if we're keeping support for Full in schema classes and handle this
// TODO(b/248560713) decide if we're keeping support for Full in schema classes and handle this
// better.
if (message instanceof GeneratedMessageLite) {
GeneratedMessageLite<?, ?> generatedMessage = ((GeneratedMessageLite<?, ?>) message);
Expand Down Expand Up @@ -4690,7 +4690,7 @@ private static boolean isMutable(Object message) {
return false;
}

// TODO decide if we're keeping support for Full in schema classes and handle this
// TODO(b/248560713) decide if we're keeping support for Full in schema classes and handle this
// better.
if (message instanceof GeneratedMessageLite<?, ?>) {
return ((GeneratedMessageLite<?, ?>) message).isMutable();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ static <T> MessageSetSchema<T> newSchema(
@SuppressWarnings("unchecked")
@Override
public T newInstance() {
// TODO decide if we're keeping support for Full in schema classes and handle this
// TODO(b/248560713) decide if we're keeping support for Full in schema classes and handle this
// better.
if (defaultInstance instanceof GeneratedMessageLite) {
return (T) ((GeneratedMessageLite<?, ?>) defaultInstance).newMutableInstance();
Expand Down Expand Up @@ -116,7 +116,7 @@ private <UT, UB> void writeUnknownFieldsHelper(
public void mergeFrom(
T message, byte[] data, int position, int limit, ArrayDecoders.Registers registers)
throws IOException {
// TODO decide if we're keeping support for Full in schema classes and handle this
// TODO(b/248560713) decide if we're keeping support for Full in schema classes and handle this
// better.
UnknownFieldSetLite unknownFields = ((GeneratedMessageLite) message).unknownFields;
if (unknownFields == UnknownFieldSetLite.getDefaultInstance()) {
Expand Down Expand Up @@ -166,7 +166,7 @@ public void mergeFrom(
if (wireType == WireFormat.WIRETYPE_VARINT) {
position = ArrayDecoders.decodeVarint32(data, position, registers);
typeId = registers.int1;
// TODO decide if we're keeping support for Full in schema classes and
// TODO(b/248560713) decide if we're keeping support for Full in schema classes and
// handle this better.
extension =
(GeneratedMessageLite.GeneratedExtension<?, ?>)
Expand Down
Loading
Loading