)]}'
{
  "log": [
    {
      "commit": "29f5a54305736661164efc7f77be65261a7521ef",
      "tree": "769076b5ba49e0654dbdf9ca20a30cf7796b012f",
      "parents": [
        "7e45a38366f7cc69256251599f74782cca877091"
      ],
      "author": {
        "name": "Adam Rice",
        "email": "ricea@chromium.org",
        "time": "Thu May 14 07:04:57 2026"
      },
      "committer": {
        "name": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu May 14 07:29:23 2026"
      },
      "message": "Roll Abseil and QUICHE\n\nQUICHE needs to be rolled to Open Screen in order to permit removing the\nobsolete QuicSession::CreateIncomingStream() method.\n\nThe new version of QUICHE requires absl::down_cast, so Abseil needs to\nbe rolled to permit QUICHE to be rolled.\n\nThe new version of Abseil no longer includes a definition of memcpy()\nin string_view.h, which makes compilation fail on GCC with older\nversions of QUICHE. For this reason, QUICHE and Abseil need to be\nupdated in the same CL.\n\nRoll third_party/quiche/src/ d54ca111b..a849d35c9 (299 commits)\n\nhttps://quiche.googlesource.com/quiche.git/+log/d54ca111b108..a849d35c908d\n\n$ git log d54ca111b..a849d35c9 --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2026-05-07 ianswett Update CWND calculations to match the latest BBR draft. https://www.ietf.org/archive/id/draft-ietf-ccwg-bbr-05.html\n2026-05-07 rch No public description\n2026-05-06 ricea Temporarily add a dummy definition of CreateIncomingStream() to quic::QuicSession\n2026-05-06 haoyuewang Increase the QUIC_BUG threshold.\n2026-05-06 vasilvv Add functions to interop between absl::Cord and QuicheMemSlice.\n2026-05-05 rch No public description\n2026-05-04 rch Deprecate QUIC reloadable flag quic_close_connection_on_underflow.\n2026-05-04 vasilvv Rewrite MOQT control message parser.\n2026-05-02 ianswett Update BBR3 to more closely align with the BBRv3 draft.\n2026-05-01 ianswett Remove tests for the deprecated kB201 connection option from BBR2 and BBR3 simulator tests.\n2026-04-29 ianswett Enable gfe2_reloadable_flag_quic_reject_empty_cid_in_ncid in Chrome.\n2026-04-29 ianswett Deprecate gfe2_reloadable_flag_quic_no_path_degrading_before_handshake_confirmed.\n2026-04-28 ripere Add gzip response decompression support to Masque OHTTP client.\n2026-04-28 dschinazi MasqueOhttpClient: Print chunked body to stdout\n2026-04-27 dschinazi Deprecate quic_stop_sending_legacy_version_info and quic_stop_parsing_legacy_version_info\n2026-04-27 ianswett BBR3: Update startup pacing gain, drain gain, and max ack height window to match the BBR IETF draft: https://datatracker.ietf.org/doc/draft-ietf-ccwg-bbr/\n2026-04-23 rch Additional PendingStream cleanup * Remove unused constructors * Pass PendingStream by reference in CreateIncomingStream\n2026-04-23 rch Remove unused QuicSession::CreateIncomingStream(PendingStream*). Remove overrides in subclasses which considered it an error to call this method. Move from override to virtual in those subclasses which actually use this method.\n2026-04-22 wub No public description\n2026-04-22 rch Refactor QuicSession PendingStream methods to take references.\n2026-04-22 ianswett Refactor: Cache Bbr2DebugState in simulator tests.\n2026-04-22 rch Refactor QuicStream constructor to take PendingStream by reference.\n2026-04-21 martinduke Allow MoqtClient and MoqtServer to control session parameters.\n2026-04-21 martinduke Move some non-message-related data structures out of moqt_messages.h\n2026-04-21 ianswett Refactor BBR2/BBR3 initialization and inline some methods.\n2026-04-21 rch Convert quic::PendingStream constructor to take QuicSession reference.\n2026-04-20 ianswett Refactor BBR2/BBR3 parameters by moving kDefaultMinimumCongestionWindow and kInitialPacingGain into Bbr2Params.\n2026-04-20 quiche-dev Add ohttp_ping_pong_mode_{gateway_name} to test ping-pong interactive chunking. It guarantees there is no buffering between the client and server, bidirectionally.\n2026-04-20 ianswett Refactor: Extract DebugState from Bbr2Sender and Bbr3Sender to a common header.\n2026-04-20 martinduke Get rid of moqt::SubscribeWindow.\n2026-04-20 ianswett Refactor and simplify BBR3.\n2026-04-20 quiche-dev Add support for sending OHTTP request bodies in multiple chunks.\n2026-04-17 ianswett Branch Bbr2Sender to create Bbr3Sender and no long have modes extend from Bbr2ModeBase.\n2026-04-16 martinduke Permanently cancel subgroups if the stream has STOP_SENDING.\n2026-04-16 haoyuewang QUIC_BUG on the size of connection_state_map_.\n2026-04-16 ianswett Move Bbr2ProbeBwMode::CyclePhase to bbr2_misc.h and rename it to ProbePhase.\n2026-04-15 reubent Reset streams which surpass MAX_HEADER_LIST_SIZE\n2026-04-15 ianswett Deprecate --gfe2_reloadable_flag_quic_send_connection_close_on_max_age.\n2026-04-14 birenroy Enabling rolled out flags.\n2026-04-14 martinduke Deprecate gfe2_reloadable_flag_quic_disconnect_early_exit.\n2026-04-14 vasilvv Merge QuicStreamSendBufferBase into QuicStreamSendBufferInlining.\n2026-04-14 martinduke Limit Joining FETCH to largest_object at time of SUBSCRIBE.\n2026-04-13 dmcardle Deprecate MASQUE PerRequestConfig::SetExpectedEncapsulatedResponseBody()\n2026-04-10 dmcardle Add encapsulated response body callback to MASQUE client\u0027s PerRequestConfig\n2026-04-10 ripere Add `num_ohttp_chunks` flag and remove `chunked` flag.\n2026-04-10 ripere Add `num_bhttp_chunks` flag and remove `indeterminate_length` flag.\n2026-04-10 ianswett Reject NEW_CONNECTION_ID frames with empty connection IDs and close the connection, per RFC9000.  Based on cr/896368856\n2026-04-10 wub No public description\n2026-04-09 reubent Enforce a limit on the amount of total, uncompressed header bytes\n2026-04-09 dschinazi Improve connection logging in OHTTP toy client\n(...)\n2026-01-15 ripere Refactor HttpHeaderBlock tests to use const-qualified functors.\n2026-01-15 birenroy One more fix for the case of a nulled out pending frame.\n2026-01-14 martinduke Consolidate MOQT *_ERROR message into REQUEST_ERROR.\n2026-01-14 haoyuewang Add QuicServerSessionBase::enable_reset_ssl_after_handshake that reset SSL after handshake is done to save connection level memory on the server side.\n2026-01-13 quiche-dev Add UpdateMaxSize to QuicLRUCache.\n2026-01-13 birenroy Fixes behavior in OgHttp2Session::CloseStream when frames have been removed from the pending frames queue.\n2026-01-12 dschinazi Unblock quic_stop_sending_legacy_version_info\n2026-01-12 martinduke Rename MoqtRequestError to MoqtErrorPair.\n2026-01-12 vasilvv Implement bandwidth probing in MoQ bitrate adjuster.\n2026-01-12 ripere Refactor BHTTP test constants.\n2026-01-12 dmcardle Deprecate gfe2_reloadable_flag_quic_delay_connection_close_on_invalid_sni\n2026-01-12 wangsteve Automated g4 rollback of changelist 840297420.\n2026-01-09 martinduke Update MoQT malformed track detection to draft-16.\n2026-01-09 ripere Refactor BHTTP content terminated sections decoding.\n2026-01-09 dmcardle Add --request_trust_anchors to the QUIC toy client\n2026-01-09 ripere Return absl::Status from test helper functions\n2026-01-09 ripere Refine IndeterminateLengthMessageSection enum for BinaryHttpResponse encoding.\n2026-01-09 ripere Refactor OHTTP client, gateway, and BHTTP decoder creation methods to pass the retained parameter as pointer instead of a reference.\n2026-01-08 vasilvv Add missing QUICHE_EXPORT directives.\n2026-01-08 martinduke Implement MOQT draft-16 version negotiation.\n2026-01-08 martinduke Change MOQT key-value pair lists to have diff-encoded keys.\n2026-01-07 diannahu Mark --gfe2_restart_flag_quic_stop_sending_legacy_version_info as enabling_blocked_by.\n2026-01-07 birenroy No public description\n2026-01-07 quiche-dev Fix gap filling ACK logic in QuicReceivedPacketManager.\n2026-01-06 haoyuewang Do not instantiate QpackSendStream if qpack_maximum_dynamic_table_capacity_ is 0 in QuicSpdySession.\n2026-01-06 vasilvv Implement a dedicated WebTransport-only dispatcher.\n2026-01-06 vasilvv Ensure WebTransport QUIC streams are always set to level-triggered mode.\n2026-01-06 ianswett Deprecate --gfe2_reloadable_flag_quic_bbr2_probe_two_rounds.\n2026-01-06 ripere Refactor BinaryHttpRequest IndeterminateLengthDecoder to use a local checkpoint.\n2026-01-06 danzh Rename methods in QuicConnectionMigrationManager for readability. Callback methods like FinishFoo() are renamed to ContinueFoo() if Foo() is async or DoneWithFoo() if it merely does clean up.\n2026-01-06 ripere Wrap chunk handler errors in InternalError.\n2026-01-05 ianswett Deprecate quic_bbr2_simplify_inflight_hi.\n2026-01-05 rch Remove unreachable return in quic_spdy_session_test.cc\n2026-01-05 birenroy Uses `quiche::QuicheCircularDeque` as the type backing the pending frame queue, rather than `std::list`.\n2026-01-05 vasilvv Move moqt::TrackNamespace and friends into a separate header.\n2025-12-30 quiche-dev No public description\n2025-12-29 rch Fix unused parameter warning in quic_session.h\n2025-12-23 rch Add support for sending immediate GOAWAYs in HTTP/3.\n2025-12-23 quiche-dev QBONE ICMP reachable: eliminate last usage of `SOCK_RAW`.\n2025-12-23 quiche-dev Make the masque client return a special error when it gets an expected failure\n2025-12-23 quiche-dev Move balsa_fuzz_util to a separate quiche_fuzz_support glob.\n2025-12-22 quiche-dev QBONE ICMP reachable: convert to \"ping sockets\" to avoid the need for `SOCK_RAW` permissions.\n2025-12-20 dschinazi Allow content-type parameters in MASQUE/OHTTP test code\n2025-12-20 dschinazi Properly handle TLS error in MasqueH2Connection\n2025-12-20 dschinazi Allow key fetch and key proxy requests without the Accept header in masque_tcp_server\n2025-12-20 dschinazi Properly handle query parameters in MASQUE/OHTTP test code\n2025-12-20 dschinazi Only respond to key requests on gateway path in masque_tcp_server\n2025-12-20 dschinazi Add --key_proxy option to masque_tcp_server\n2025-12-20 dschinazi Increase connection-level flow control in MasqueH2Connection\n2025-12-19 dschinazi Make gateway actually proxy requests in masque_tcp_server\n\nCreated with:\n  roll-dep third_party/quiche/src\n\nRoll third_party/abseil/src/ 987c57f32..8a6b6ae90 (332 commits)\n\nhttps://chromium.googlesource.com/external/github.com/abseil/abseil-cpp.git/+log/987c57f325f7..8a6b6ae902ac\n\n$ git log 987c57f32..8a6b6ae90 --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2026-04-21 absl-team Automated rollback of commit 34e723033bf6e31b196258451c6cdc684804a88d.\n2026-04-21 absl-team Change abseil hardening assertions in types directory from macros to functions\n2026-04-21 absl-team Change abseil hardening assertions in types directory from macros to functions\n2026-04-21 ckennelly Replace ABSL_INTERNAL_LOG with ABSL_RAW_LOG in ReadMonotonicClockNanos.\n2026-04-21 goldvitaly Introduce HashtableCapacity wrapper for capacity_ and rename HashtableSize to HashtableInlineData and move capacity into it.\n2026-04-20 ckennelly Use if constexpr around allocator type check for hashtable sampling.\n2026-04-20 mkruskal Add a friendship for gloop testing\n2026-04-16 absl-team Optimzie crc32 on AMD Milan+\n2026-04-16 tokarip Optimzie crc32 on AMD Milan+\n2026-04-16 dmauro Stop exporting internal Base64 escaping functions that do not need to be exported. The one function that is currently using it is easily implemented with absl::Base64Escape().\n2026-04-14 absl-team Add additional bounds check functions to cover most ABSL_HARDENING_ASSERTs.\n2026-04-13 absl-team Undo unintended inlining of absl::void_t -- the inlining didn\u0027t actually replace it with std::void_t\n2026-04-10 ckennelly Consume result from various SampleRecorder methods.\n2026-04-09 absl-team Remove unnecessary usages of absl::void_t\n2026-04-09 akraman StrFormat: format %g without heap allocation\n2026-04-09 absl-team Remove unnecessary namespace bracketing for an internal nullability macro.\n2026-04-08 dmauro Introduce ABSL_OPTION_INLINE_HW_ACCEL_STRATEGY in absl/base/options.h to provide a centralized policy for hardware-accelerated implementations in headers.\n2026-04-07 sbenza Refactor error factories to propagate static knowledge to the compiler, where supported.\n2026-04-07 absl-team Inline absl::void_t to std::void_t wherever possible\n2026-04-06 absl-team Deprecate and inline a lot of C++17 Abseil type traits\n2026-04-06 absl-team Remove more lingering C++17 type traits polyfill usages\n2026-04-06 absl-team nullstream: fix a header guard comment\n2026-04-06 absl-team Add SKIP_ABSL_INLINE_NAMESPACE_CHECK to absl/base/internal/exception_safety_testing.h as it doesn\u0027t use the absl namespace at all\n2026-04-06 mkruskal Expose gloop peer friendship for testing\n2026-04-03 absl-team Stop using C++17 type traits polyfills\n2026-04-03 dmauro Remove the forward declaration of base::scheduling::Schedulable from thread_identity by using a void*, and fix callers to use base::scheduling::Schedulable::GetBoundSchedulable().\n2026-03-31 absl-team Support passing I/O manipulators such as std::endl to StringifyStream\n2026-03-31 absl-team Add absl::Status::MakeNonOkStatusWithOkCode() and absl::status_internal::StatusPrivateAccessor for private/internal use\n2026-03-30 dmauro Add cleanup dependency\n2026-03-28 dmauro Prepare to move callers away from get_bound_schedulable() to remove the forward declaration of base::scheduling::Schedulable.\n2026-03-26 absl-team Prevent users of absl::AnySpan::subspan(pos, len) from relying on truncation behavior while the migration from this nonstandard function is in progress.\n2026-03-26 absl-team Add support for [[clang::annotate(\"clang-tidy\", \"bugprone-use-after-move\", \"null_after_move\")]] annotations.\n2026-03-25 lar Reduce duplication in absl/random/internal.\n2026-03-25 cramertj Use absl::SourceLocation for Rust source locations in Status\n2026-03-24 absl-team Avoid using lambdas in Abseil assertion macros\n2026-03-23 dmauro Minor changes to #includes\n2026-03-23 cmihelic Document that DemangleRustSymbolEncoding omits some details on purpose.\n2026-03-20 mvels Add gloop/perftools/tracing visibility\n2026-03-18 mkruskal Add //gloop/util/status:status_macros to Gloop\n2026-03-17 absl-team Remove the legacy stateless symbol decorator API.\n2026-03-16 dmauro Add additional tests in str_split_test.cc\n2026-03-13 absl-team Add absl::strings_internal::AbslStringifyStream\n2026-03-13 absl-team Add supporting code for absl::SourceLocation\n2026-03-13 absl-team Open-source absl::AnySpan\n2026-03-12 mkruskal Add //gloop/util/gtl:iterator_range to Gloop\n2026-03-12 mkruskal Internal functionality\n2026-03-12 goldvitaly Fix sampling for the insert into a non-SOO table with capacity\u003d\u003d1.\n2026-03-12 goldvitaly Add benchmark for string erase/emplace.\n2026-03-11 dmauro Minor reformatting\n2026-03-11 sbenza Prepare GenericPrinter for the rename of ArenaSafeUniquePtr.\n(...)\n2025-09-30 absl-team Remove unnecessary dep on `core_headers` from the `nullability` cc_library\n2025-09-29 jmr type_traits: Add type_identity and type_traits_t backfills\n2025-09-26 ezb Refactor raw_hash_set range insertion to call private insert_range function.\n2025-09-25 absl-team Fix bug in absl::FunctionRef conversions from non-const to const\n2025-09-24 anton.klaren PR #1937: Simplify ConvertSpecialToEmptyAndFullToDeleted\n2025-09-23 absl-team Improve absl::FunctionRef compatibility with C++26\n2025-09-23 dmauro Add a workaround for unused variable warnings inside of not-taken if-constexpr codepaths in older versions of GCC\n2025-09-23 absl-team Annotate ABSL_DIE_IF_NULL\u0027s return type with `absl_nonnull`\n2025-09-22 goldvitaly Move insert index computation into `PrepareInsertLarge` in order to reduce inlined part of insert/emplace operations.\n2025-09-21 absl-team Automated Code Change\n2025-09-20 keithbsmiley PR #1939: Add missing rules_cc loads\n2025-09-19 durandal Expose (internally) a LogMessage constructor taking file as a string_view for (internal, upcoming) FFI integration.\n2025-09-15 absl-team Fixed up some #includes in mutex.h\n2025-09-15 absl-team Make absl::FunctionRef support non-const callables, aligning it with std::function_ref from C++26\n2025-09-15 goldvitaly Move capacity update in `Grow1To3AndPrepareInsert` after accessing `common.infoz()` to prevent assertion failure in `control()`.\n2025-09-13 sohaibiftikhar Fix check_op(s) compilation failures on gcc 8 which eagerly tries to instantiate std::underlying_type for non-num types.\n2025-09-12 goldvitaly Use `ABSL_ATTRIBUTE_ALWAYS_INLINE`for lambda in `find_or_prepare_insert_large`.\n2025-09-12 derekbailey Mark the implicit floating operators as constexpr for `absl::int128` and `absl::uint128`\n2025-09-09 self PR #1931: raw_hash_set: fix instantiation for recursive types on MSVC with /Zc:__cplusplus\n2025-09-09 absl-team Add std::pair specializations for IsOwner and IsView\n2025-09-09 durandal Cast ABSL_MIN_LOG_LEVEL to absl::LogSeverityAtLeast instead of absl::LogSeverity.\n2025-09-08 absl-team Fix a corner case in the aarch64 unwinder\n2025-09-04 absl-team Fix inconsistent nullability annotation in ReleasableMutexLock\n2025-09-04 absl-team Remove support for Native Client\n2025-09-03 absl-team Rollback f040e96b93dba46e8ed3ca59c0444cbd6c0a0955\n2025-09-02 durandal When printing CHECK_XX failures and both types are unprintable, don\u0027t bother printing \" (UNPRINTABLE vs. UNPRINTABLE)\".\n2025-09-02 rsworktech PR #1929: Fix shorten-64-to-32 warning in stacktrace_riscv-inl.inc\n2025-09-02 ezb Refactor `find_or_prepare_insert_large` to use a single return statement using a lambda.\n2025-09-02 ckennelly Use possible CPUs to identify NumCPUs() on Linux.\n2025-09-02 qrczak Fix incorrect nullability annotation of `absl::Cord::InlineRep::set_data()`.\n2025-09-02 goldvitaly Move SetCtrl* family of functions to cc file.\n2025-09-01 dmauro Change absl::InlinedVector::clear() so that it does not deallocate any allocated space. This allows allocations to be reused and matches the behavior specification of std::vector::clear().\n2025-08-27 avassalotti Mark Abseil container algorithms as `constexpr` for C++20.\n2025-08-27 dmauro Fix `CHECK_\u003cOP\u003e` ambiguous overload for `operator\u003c\u003c` in older versions of GCC when C-style strings are compared\n2025-08-27 absl-team stacktrace_test: avoid spoiling errno in the test signal handler.\n2025-08-26 nafi Optimize `CRC32AcceleratedX86ARMCombinedMultipleStreams::Extend` by interleaving the `CRC32_u64` calls at a lower level.\n2025-08-26 absl-team stacktrace_test: avoid spoiling errno in the test signal handler.\n2025-08-26 absl-team stacktrace_test: avoid spoiling errno in the test signal handler.\n2025-08-26 bgraur std::multimap::find() is not guaranteed to return the first entry with the requested key. Any may be returned if many exist.\n2025-08-26 derekbailey Mark `/`, `%`, and `*` operators as constexpr when intrinsics are available.\n2025-08-26 dmauro Add the C++20 string_view contructor that uses iterators\n2025-08-22 absl-team Implement absl::erase_if for absl::InlinedVector\n2025-08-20 absl-team Adjust software prefetch to fetch 5 cachelines ahead, as benchmarking suggests this should perform better.\n2025-08-20 goldvitaly Reduce maximum load factor to 27/32 (from 28/32).\n2025-08-19 dmauro Remove unused include\n2025-08-18 absl-team Remove unused include statement\n2025-08-18 30942300+past-due PR #1921: Fix ABSL_BUILD_DLL mode (absl_make_dll) with mingw\n2025-08-18 zebreus PR #1922: Enable mmap for WASI if it supports the mman header\n2025-08-14 absl-team Rollback C++20 string_view constructor that uses iterators due to broken builds\n2025-08-14 dmauro Add the C++20 string_view contructor that uses iterators\n\nCreated with:\n  roll-dep third_party/abseil/src\n\nManual changes:\n- Update abseil/BUILD.gn. Only add new source files that are actually\n  used, for consistency with existing practice.\n- Add -Wno-deprecated to the protobuf BUILD.gn, as protobuf uses\n  absl::disjunction, which is deprecated in the newer versions of\n  Abseil.\n\nBug: b:508413463\nChange-Id: Iadaacdc024231789f7c9c62ade695fadc10596c2\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7831666\nCommit-Queue: Adam Rice \u003cricea@chromium.org\u003e\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\n"
    },
    {
      "commit": "7e45a38366f7cc69256251599f74782cca877091",
      "tree": "62f06e212b4803289ec4d3a322e5f6eb545375b4",
      "parents": [
        "bfda699482ce4c6bf938de8486498e28f62cd15c"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Fri May 08 21:09:56 2026"
      },
      "committer": {
        "name": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed May 13 23:23:23 2026"
      },
      "message": "[openscreen] Implement TLS session resumption\n\nImplement both client-side and server-side TLS session resumption to\nreduce reconnection latency on Wi-Fi drops. This brings the standalone\nimplementation more in parity with Chromium\u0027s platform implementation,\nwhich has a robust SSL cache.\n\nThis change:\n- Enables server-side session caching using BoringSSL\u0027s native\n  SSL_SESS_CACHE_SERVER mode, and configures a unique session ID context.\n- Implements a client-side session cache in TlsConnectionFactoryPosix\n  using a std::map keyed by IPEndpoint.\n- Saves successfully established client sessions after handshake\n  completion using SSL_get1_session().\n- Reuses saved sessions for subsequent client connections to the same\n  IPEndpoint using SSL_set_session() before handshake initiation.\n\nFixed: 281741213\nBug: 492683133\nChange-Id: I9f641c7d68d68c0cd11f7165ea829eb0122ae4f0\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7814329\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "bfda699482ce4c6bf938de8486498e28f62cd15c",
      "tree": "54f3b7298084728373081653a1c7627719b60a6b",
      "parents": [
        "40cff120bc9e270f18804718ba2219e4f62786fb"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Fri May 08 20:01:41 2026"
      },
      "committer": {
        "name": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri May 08 20:52:41 2026"
      },
      "message": "[codehealth] Fix licenses.py presubmit failures\n\nThis commit addresses the presubmit failures caused by the recent\ntransition to Chromium\u0027s upstream `licenses.py` script.\n\n- Renamed `README.openscreen` files to `README.chromium` in\n  `third_party/getopt`, `third_party/libc++`, and\n  `third_party/libc++abi` as the upstream script only looks for\n  `README.chromium`.\n- Removed duplicate `README.openscreen` from `third_party/ninja`.\n- Added `third_party/googletest/README.chromium` to store metadata\n  that was previously hardcoded in the old `licenses.py` script\u0027s\n  `SPECIAL_CASES` dictionary.\n- Updated `licenses.PRUNE_PATHS` in `PRESUBMIT.py` to ignore nested\n  `third_party` directories within our dependencies (e.g.\n  `boringssl`, `googleurl`, `perfetto`, etc.) since the upstream\n  script now recursively checks subdirectories.\n\nChange-Id: I8322ca0557688f84ffbc9bbbc9598edf6defb2f1\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7833399\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\nCommit-Queue: Mark Foltz \u003cmfoltz@chromium.org\u003e\n"
    },
    {
      "commit": "40cff120bc9e270f18804718ba2219e4f62786fb",
      "tree": "cf9224db02c8f813c19dc09ca069e7c2d5d3b921",
      "parents": [
        "6395018de98f444477758286ff5a9e1b8db2dcea"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue May 05 00:22:38 2026"
      },
      "committer": {
        "name": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue May 05 21:24:32 2026"
      },
      "message": "[codehealth] Automate syncing of Chrome tools\n\nThis commit replaces the manually maintained copies of Chromium\u0027s\n`licenses.py` and `protoc_wrapper.py` scripts with an automated\nsolution via DEPS hooks, ensuring these scripts remain up-to-date\nwith Chromium\u0027s trunk.\n\n- Created a generic `tools/download-chrome-file.py` (based on\n  the former `download-clang-update-script.py`).\n- Updated `DEPS` hooks to use the new downloader script to\n  fetch `licenses.py`, `spdx_writer.py`, and `protoc_wrapper.py`\n  directly from Chromium matching the existing `chrome_version`.\n- Replaced the deprecated `ScanThirdPartyDirs()` call in\n  `PRESUBMIT.py` with the modern `_DiscoverMetadatas()` API\n  from `licenses.py`.\n- Removed tracked copies of the scripts from git and added their\n  paths to `.gitignore`.\n\nBypass-Check-License: moved file.\nChange-Id: I7363d45252be702c75c0aeb5b9d51f42038100b4\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7815044\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\n"
    },
    {
      "commit": "6395018de98f444477758286ff5a9e1b8db2dcea",
      "tree": "d4f4b2e89e8b076fddf45cacb2dc589239dec688",
      "parents": [
        "290419dbd0be64f1cd136146ee1f0a8e0dcfa7ed"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue May 05 00:47:53 2026"
      },
      "committer": {
        "name": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue May 05 17:45:43 2026"
      },
      "message": "[openscreen] Resolve SSL_shutdown test coverage TODO and document verification\n\nAcknowledge and document that SSL_shutdown is already robustly verified\nby CastSocket E2ETests, resolving b/169966671.\n\nThis change:\n- Adds an explicit comment in cast_socket_e2e_test.cc (inside\n  CloseSocketsFromOneEnd) explaining why the kSocketClosedFailure assertion\n  explicitly verifies SSL_shutdown correctness (i.e., if the peer did not call\n  SSL_shutdown, BoringSSL would report a protocol error mapped to\n  kFatalSSLError instead).\n- Removes the stale TODO comment from tls_connection_posix.cc since\n  E2E coverage is the correct and most robust way to verify this behavior\n  and is already fully implemented.\n\nBug: 169966671\nBug: 492683133\nChange-Id: I49ddc19165f2eac3eaafabf44a71479ad1cc035b\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7815047\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "290419dbd0be64f1cd136146ee1f0a8e0dcfa7ed",
      "tree": "1d5fc4a6ee889ddb06d2bdade571882f5b8ae3c9",
      "parents": [
        "ef187a48a39ec778c705a415a254433ee8c24d67"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue May 05 00:07:34 2026"
      },
      "committer": {
        "name": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue May 05 17:45:08 2026"
      },
      "message": "[openscreen] Implement OSP_GUARDED_BY and audit all std::mutex usages\n\nIntroduce Abseil-style thread safety annotations (OSP_GUARDED_BY, etc.)\nto enable static analysis of mutex-guarded variables during compilation.\nThis resolves b/322734860.\n\nThis change:\n- Creates \u0027util/thread_annotations.h\u0027 containing the Clang-specific macro\n  definitions for thread safety analysis.\n- Audits and annotates all \u0027std::mutex\u0027 usages in Open Screen production\n  code:\n  - TlsDataRouterPosix (accept_socket_mappings_, connections_)\n  - TaskRunnerImpl (tasks_, delayed_tasks_)\n  - SocketHandleWaiter (handles_being_deleted_, handle_mappings_)\n  - UdpSocketReaderPosix (sockets_)\n  - StreamingAv1Encoder (needs_key_frame_, target_bitrate_, encode_queue_)\n  - StreamingVpxEncoder (needs_key_frame_, target_bitrate_, encode_queue_)\n- Refactors all \u0027std::unique_lock\u0027 usages to \u0027std::lock_guard\u0027 where\n  possible to resolve Clang static analysis limitations.\n- Fixes a real concurrency bug in video encoders where GetTargetBitrate()\n  was reading \u0027target_bitrate_\u0027 without holding \u0027mutex_\u0027.\n- Makes \u0027mutex_\u0027 mutable in encoders and socket reader to allow locking\n  in const methods.\n- Safe-bypasses Clang\u0027s lambda-condvar-loop analysis limitations by\n  using standard \u0027while\u0027 loops or \u0027OSP_NO_THREAD_SAFETY_ANALYSIS\u0027 where\n  manually verified to be safe.\n\nFixed: 322734860\nBug: 492683133\nChange-Id: I9a86c0848267c2893ddba9ff319cdce8b02a5812\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7814327\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "ef187a48a39ec778c705a415a254433ee8c24d67",
      "tree": "326e5e0f1c7aae198fddd379d46f758b4a59089b",
      "parents": [
        "3425b09241dc65be9a6d4c17f0518970fd6e88dc"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Mon May 04 23:12:14 2026"
      },
      "committer": {
        "name": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue May 05 17:44:42 2026"
      },
      "message": "[openscreen] Consolidate standalone FFMPEG glue code into standalone_common\n\nDeduplicate FFMPEG and avcodec unique pointer helpers, compatibility\nmacros, and the AvErrorToString implementation between standalone_sender\nand standalone_receiver.\n\nThis change:\n- Creates a new shared \u0027cast/standalone_common\u0027 component.\n- Moves and consolidates ffmpeg_glue.h/cc and avcodec_glue.h into the\n  new component.\n- Refactors both standalone_sender and standalone_receiver to depend on\n  this new shared component.\n- Simplifies OnError in decoder.cc to use AvErrorToString.\n\nBug: 224642520\nBug: 492683133\nChange-Id: I93d9dd862fdf8c885929ba23d89803c3e92cc09f\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7814281\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "3425b09241dc65be9a6d4c17f0518970fd6e88dc",
      "tree": "647f79fd2fbbccb288b9bca5fab398884a9656a6",
      "parents": [
        "ba0ff1488e9ecae7ba21605f66ebb8827bef1bd6"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Mon May 04 22:51:04 2026"
      },
      "committer": {
        "name": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue May 05 17:44:35 2026"
      },
      "message": "[codehealth] Migrate protobuf roll script to Python and modernize tools\n\nMigrates the bash-based `tools/roll_protobuf.sh` script to Python\n(`tools/roll_protobuf.py`) to conform with the Google Shell Style Guide,\nwhich mandates Python for scripts exceeding 100 lines.\n\nThe new roll_protobuf script offers:\n- Standardized cross-platform execution (eliminating bash dependencies like perl, curl, and awk).\n- Robust error handling and a structured `ProtobufVersion` dataclass.\n- Rich terminal output utilizing the newly abstracted `tools/cli_utils.py`.\n- A dedicated unit test suite (`tools/roll_protobuf_test.py`).\n\nAdditionally, this change performs a sweep of Python tooling across the\nrepository (`tools/*`, `cast/standalone_e2e.py`, and `PRESUBMIT.py`) to\nalign with the modern Google Python Style Guide:\n- Applied PEP-8 compliant type hinting.\n- Refactored internal implementation details from `CamelCase` to\n  `_snake_case` to properly enforce private module boundaries.\n- Re-formatted all scripts using `git cl format`\n\nChange-Id: Ib4ec003716e2857f259e9d50db062467de14d554\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7809783\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "ba0ff1488e9ecae7ba21605f66ebb8827bef1bd6",
      "tree": "6f33bc2215c3b431cb24c69d7e9045663710812e",
      "parents": [
        "6c9289d322b648f5d837a9cfe744a6f555f48f61"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue May 05 00:52:32 2026"
      },
      "committer": {
        "name": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue May 05 17:43:06 2026"
      },
      "message": "[openscreen] Add robust dynamic thread checks to UdpSocketPosix\n\nAdd OSP_CHECK(task_runner_.IsRunningOnTaskRunner()) to all public API\nentry-points of UdpSocketPosix.\n\nThis change:\n- Enforces the documented UdpSocketPosix threading model: \"All public\n  methods must be called on the same thread--the one executing the\n  TaskRunner.\"\n- Adds checks to Bind(), SetMulticastOutboundInterface(),\n  JoinMulticastGroup(), SendMessage(), and SetDscp().\n- Prevents dynamic race conditions and memory corruptions if an embedder\n  invokes these APIs from the wrong thread.\n\nBug: 492683133\nChange-Id: I8010ee0e21df3a7a09728fb904167fbaba9b3084\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7814331\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "6c9289d322b648f5d837a9cfe744a6f555f48f61",
      "tree": "7fad130cc330a1d66d97b2e083b19e3e7206f765",
      "parents": [
        "9fe6f6b15d32559e0b551f2dee5e956b33093860"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Mon May 04 21:39:16 2026"
      },
      "committer": {
        "name": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon May 04 23:55:22 2026"
      },
      "message": "[openscreen] Use NoDestructor for static singletons to avoid exit-time destructors\n\nRefactor static singletons in SenderSession and CastNonce to use\nopenscreen::NoDestructor instead of manually leaking them on the heap\nusing \u0027new\u0027 to avoid exit-time destructors.\n\nThis change:\n- Refactors 5 static Error singletons in sender_session.cc to use\n  NoDestructor\u003cError\u003e.\n- Refactors the CastNonce singleton in cast_auth_util.cc to use\n  NoDestructor\u003cCastNonce\u003e.\n- Makes the CastNonce constructor public so NoDestructor can access it\n  (safe as the class is in an anonymous namespace).\n\nBug: 40031409\nBug: 492683133\nChange-Id: Ie26adbbc83a4ed0f08cbb3cf7bfe7821d742a08d\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7813205\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "9fe6f6b15d32559e0b551f2dee5e956b33093860",
      "tree": "4f6f3266d6e8e030c332302144052bfd3f0182e2",
      "parents": [
        "684bcd767271a21f3e5d475b17a0fd862f16c65e"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Mon May 04 22:39:03 2026"
      },
      "committer": {
        "name": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon May 04 23:47:52 2026"
      },
      "message": "[openscreen] Implement TLS write flow control (WANT_READ handling)\n\nImplement proper write flow control in TlsConnectionPosix to prevent\nevent loop busy-waiting when SSL_write is blocked by a read operation\n(e.g., during renegotiation, returning SSL_ERROR_WANT_READ).\n\nThis change:\n- Adds `is_write_blocked_by_read_` state to TlsConnectionPosix.\n- Updates `HasPendingWrite()` to return false when the write path is\n  blocked by read, preventing SocketHandleWaiter from polling for\n  writability.\n- Sets the flag when SSL_write returns SSL_ERROR_WANT_READ.\n- Resets the flag when TryReceiveMessage() is called (socket is\n  readable), allowing the write path to retry after the read path makes\n  progress.\n\nBug: 492683133\nChange-Id: Ie44060036f6446f30f483110496270f0b7813b28\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7814283\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\n"
    },
    {
      "commit": "684bcd767271a21f3e5d475b17a0fd862f16c65e",
      "tree": "b9098e64aba77ed8225e0c8edd484993c1622770",
      "parents": [
        "d88340c36f8ccc764d8deaa250433d19b268ba77"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Fri May 01 21:40:05 2026"
      },
      "committer": {
        "name": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri May 01 22:35:11 2026"
      },
      "message": "[security,codehealh] Roll protobuf to 33.6 to patch vulnerability\n\nThis patch rolls protobuf to 33.6 to patch some vulnerabilities. A new\n`tools/roll_protobuf.sh` script is also added to make rolling protobuf\nmuch easier. This roll required zero manual intervention after running\nthe script.\n\nThe script also now prunes obviously not needed directories (such as the\ngithub directory and not supported languages), reducing the checkout\nsize by 465 KiB / \u003e half a million lines of code.\n\nBug: b/507096835\nChange-Id: I9d75f398f96b88fb5f6d7694443c0cc36e375c73\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7808806\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\nSLSA-Policy-Verified: SLSA Policy Verification Service \u003cdevtools-gerritcodereview-exitgate@google.com\u003e\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\n"
    },
    {
      "commit": "d88340c36f8ccc764d8deaa250433d19b268ba77",
      "tree": "aa9e18243ce09d4854825cb79967d4b8f5d97310",
      "parents": [
        "89840585b88e697b5fcce4e6a2bb7cd65b5502a8"
      ],
      "author": {
        "name": "Edgar Aguilar",
        "email": "eledgar@google.com",
        "time": "Fri Apr 24 18:23:39 2026"
      },
      "committer": {
        "name": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Apr 30 16:47:16 2026"
      },
      "message": "Fix GN visibility for openscreen_cast_auth_util_fuzzer\n\nThis updates the visibility list for certificate_boringssl to allow all\ntargets within //components/media_router/common/providers/cast/channel\nto depend on it.\n\nThis is necessary because a change to the fuzzer_test template in\nChromium for android causes intermediate generated targets to inherit\nthe fuzzer\u0027s dependencies. This breaks the strict target-name visibility\ncheck\n\nBug: 506174854\nChange-Id: I83702f3e353d9f76aedf3ede9387de987bca937b\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7793868\nCommit-Queue: Edgar Aguilar \u003celedgar@google.com\u003e\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\nReviewed-by: Titouan Rigoudy \u003ctitouan@chromium.org\u003e\n"
    },
    {
      "commit": "89840585b88e697b5fcce4e6a2bb7cd65b5502a8",
      "tree": "8e505d8d93acb500ad9bb79713e52977dc631636",
      "parents": [
        "63a447cc350c42c88cf1004c03807e00f6b7e15e"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue Apr 28 23:18:37 2026"
      },
      "committer": {
        "name": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 29 17:59:26 2026"
      },
      "message": "[cast_streaming][security] Prevent JSON parsing aborts with non-objects\n\nSenderMessage::Parse and other message parsing functions index into\nconst Json::Value\u0026 references with string keys without verifying the\nroot is an object. If the parsed JSON resolves to a scalar or an array,\njsoncpp aborts the process instead of returning a null value because\nOpenScreen builds with JSON_USE_EXCEPTION\u003d0.\n\nThis CL adds explicit .isObject() validation steps to json parsing\nfunctions across the cast/streaming and cast/sender namespaces to\nproperly reject malformed arrays/scalars before querying them.\n\nBug: b/505947418, b/505902444\nChange-Id: Ife4d19bfb592656a48773e9e7069571b617ce7df\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7801091\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "63a447cc350c42c88cf1004c03807e00f6b7e15e",
      "tree": "e3a7422fba73bc9f8e90895b719394cc1522ec73",
      "parents": [
        "af9d06967a0a47f63815aff397162caad9d0bc6d"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue Apr 28 04:56:44 2026"
      },
      "committer": {
        "name": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Apr 28 21:15:21 2026"
      },
      "message": "[codehealth] fix static initializer test failure\n\nThis patch fixes a macos specific static initalizer issue by\nreverting a recent refactor in ScopedWakeLockMac.\n\nChange-Id: Ib3e4a8c43d37af57acb677d19203843520028165\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7797504\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\n"
    },
    {
      "commit": "af9d06967a0a47f63815aff397162caad9d0bc6d",
      "tree": "c5b391a95c4b935ceaba98d5fbfbb17400a78265",
      "parents": [
        "be79dbc567b38d0b3d98d196cd361b6c8aa56add"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Mon Apr 27 20:46:57 2026"
      },
      "committer": {
        "name": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Apr 28 00:15:53 2026"
      },
      "message": "Fix potential UAF in Cast streaming sessions\n\nThis CL ensures that ReceiverSession and SenderSession unregister themselves\n(and their components) from the Environment upon destruction. Previously,\nEnvironment would hold dangling raw pointers to these objects, leading to\na Use-After-Free when socket events or statistics collection occurred\nafter a session was destroyed.\n\nBug: b/505815444\nChange-Id: I4b3874d0b9f40ea2e7eab940bd3c83f7d08c42ab\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7797696\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\n"
    },
    {
      "commit": "be79dbc567b38d0b3d98d196cd361b6c8aa56add",
      "tree": "17996cae3e21e571c4529fb7b438484b9f6f510a",
      "parents": [
        "adca75ad5d978fde166d18efedee039e36394c8f"
      ],
      "author": {
        "name": "Taesun Yeoum",
        "email": "taesuny@google.com",
        "time": "Fri Apr 17 00:26:14 2026"
      },
      "committer": {
        "name": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 20 19:13:34 2026"
      },
      "message": "Support custom namespace\n\nMirroringApplication supports two namespaces, kCastWebrtcNamespace and kCastRemotingNamespace.\nTo support custom namespaces, a custom message callback is added to SessionMessenger, where non-standard namespace messages are sent to.\n\n\nChange-Id: I78b7f501aee339047627b96a01fa15265c29cf78\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7731037\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nCommit-Queue: Taesun Yeoum \u003ctaesuny@google.com\u003e\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "adca75ad5d978fde166d18efedee039e36394c8f",
      "tree": "397d317339ddc8754f6936c01ea853bead1a6e62",
      "parents": [
        "41a10a370330cf8c211f3bf80c128bf50a22985e"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Thu Apr 09 22:47:52 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Apr 10 22:10:17 2026"
      },
      "message": "[codehealth] Fix standalone E2E scripts and flat_map teardown crashes\n\n- Fixes a bug in the E2E tests where fatal logs were ignored due to incorrect tuple unpacking.\n\n- Fixes a race condition where cast_receiver could crash during teardown because flat_map::erase_key used OSP_CHECK when a key was not found.\n\n- Improves E2E error outputs when a fatal log is encountered.\n\n- Fixes Python argument parsing in standalone_e2e.py so the unittest module does not complain.\n\nChange-Id: Ia6ba4420990f3edc2af213c0d1b9f0580c367e12\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7746325\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\n"
    },
    {
      "commit": "41a10a370330cf8c211f3bf80c128bf50a22985e",
      "tree": "96a9537c65ef080ca42cd3d100651bbe5c8a30a9",
      "parents": [
        "c8117813dfbf04615dcd0d36bcfdc8492376c7c9"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Wed Apr 08 18:17:23 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Apr 10 19:25:45 2026"
      },
      "message": "[codehealth] Enable no exit time destructors check\n\nThis patch enables the no exit time destructors clang check, and fixes\nviolations of this check. A new `NoDestructor` class is added to avoid\nlittering the codebase with `static Foo* kStaticFoo \u003d new Foo()` to avoid\ndeclaring exit time destructors.\n\nBug: 40031409\nChange-Id: I7b94ee90f810ab8848d85b6548793232c5f65176\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7732861\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\n"
    },
    {
      "commit": "c8117813dfbf04615dcd0d36bcfdc8492376c7c9",
      "tree": "1e04b1fabe30e0671d149a4264349ab4d4529273",
      "parents": [
        "10a412544c61178e03a65a6092a94a4b82ab4532"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue Mar 31 05:56:54 2026"
      },
      "committer": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Wed Apr 01 01:08:54 2026"
      },
      "message": "[Cast Streaming] Support kNumFramesDroppedByEncoder\n\nAdded ReportFrameDropEvent to Sender to align with the Receiver\u0027s\nReportPlayoutEvent. This new event captures the details of the frame\ndropped by the encoder and wires it up to the statistics analyzer for\ntracking kNumFramesDroppedByEncoder.\n\nBug: b/298205111\nChange-Id: I176b3a539c7682ba08912492447243f5ebbde231\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7709359\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\n"
    },
    {
      "commit": "10a412544c61178e03a65a6092a94a4b82ab4532",
      "tree": "abf322e150d0d39037d2a1ce1305fec2553dfa02",
      "parents": [
        "9d626c1c16cbaf46d9232ec034d3fac395b4f31f"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue Mar 31 05:42:20 2026"
      },
      "committer": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue Mar 31 22:28:54 2026"
      },
      "message": "[Code Health] Cleanup Sender, Receiver ownership\n\nThis patch does some significant cleanups of the Sender and\nReceiver classes, in order to make embedder\u0027s lives easier (and\nideally our own) around testing and reasoning about these classes.\n\nSender and Receiver are now virtual abstract base classes, making\nmocking easy and making it possible for tests in libcast and\ntests in the embedder to not have to worry about implementation\ndetails.\n\nPreviously, it was impossible to for embedders to appropriately\ntest classes they write that depend on the Receiver interface --\nsince you can\u0027t construct a receiver without a packet router,\nand including the packet router header is banned by GN check.\n\nBypass-Check-License: moved some files around\nBug: 255632830\nChange-Id: I2347bf370c392e2f663872c49f6fb9f8a94ee20d\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7594201\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\n"
    },
    {
      "commit": "9d626c1c16cbaf46d9232ec034d3fac395b4f31f",
      "tree": "6ecb958243b36614bd1577e5739a5a59105bb926",
      "parents": [
        "448a19d1f24e0f8ce85ad0c1c6a50cf370ae69d7"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue Mar 31 03:23:36 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 31 20:30:09 2026"
      },
      "message": "[OWNERS] Add Taesun Yeoum as an additional reviewer\n\nThis patch adds taesuny@ to the OWNERS list as an additional\nreviewer. Taesun has made some significant CLs for Open Screen:\n\nhttps://chromium-review.googlesource.com/c/openscreen/+/7108400\nhttps://chromium-review.googlesource.com/c/openscreen/+/7247255\nhttps://chromium-review.googlesource.com/c/openscreen/+/7283925\n\nAs well as some smaller, single / few line changes:\nhttps://chromium-review.googlesource.com/c/openscreen/+/6917871\nhttps://chromium-review.googlesource.com/c/openscreen/+/7128520\nhttps://chromium-review.googlesource.com/c/openscreen/+/7517644\nhttps://chromium-review.googlesource.com/c/openscreen/+/7598315\n\nIn addition, Taesun manages the downstream integration of libcast into\nthe Android Cast implementation, so has extensive experience with the\nlibrary as a consumer.\n\nI believe that, in conjuction, this makes him a great candidate for\ninclusion in our OWNERS list.\n\nChange-Id: Ia623d54e61ed0852adf85c13541c313887e2b4b6\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7714244\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "448a19d1f24e0f8ce85ad0c1c6a50cf370ae69d7",
      "tree": "6885f085ddf8414f63b3d921c4e5091cd38c60df",
      "parents": [
        "a7565718688c6d08282384b3f99c7aafcd2b07f7"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue Mar 31 19:29:42 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 31 20:10:12 2026"
      },
      "message": "[codehealth] Delete Url class and unittests\n\nThis patch deletes the Url class, which is currently unused and causing\nmaintenance headaches downstream.\n\nBug: 495648329\nChange-Id: Ifae5b5d7e1097d3807542f0c176bc1bbe4ed9a07\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7719179\nCommit-Queue: Mark Foltz \u003cmfoltz@chromium.org\u003e\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "a7565718688c6d08282384b3f99c7aafcd2b07f7",
      "tree": "5dd67a7c32bed067786b2869edd5c92330b52330",
      "parents": [
        "0ea815eb4b7663c824bf5aeeec80607d483dabb2"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue Mar 31 03:41:33 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 31 04:31:27 2026"
      },
      "message": "[cast_streaming] Implement zero-copy decryption in ReceiverImpl\n\nRefactor the Cast Streaming Receiver to eliminate redundant memory copies during frame decryption. Previously, the Receiver assembled encrypted RTP packets into a single contiguous buffer before decryption. Now, decryption is performed piecewise directly from the original network buffers (PayloadChunks) into the consumer\u0027s output buffer.\n\nKey changes:\n- Refactored FrameCollector to avoid contiguous buffer assembly and expose raw chunks.\n- Refactored FrameCrypto to support streaming/chunked decryption via a unified Crypt method.\n- Updated Receiver::ConsumeNextFrame to use the new zero-copy decryption path.\n- Benchmarking showed a ~83% reduction in overhead for 2MB frames (saving ~13.5ms per frame on typical development hardware).\n- Updated related unit tests to match the new chunk-based APIs.\n\nChange-Id: Icddb22f33706ce441d664dc24666a6e6cf63b2b8\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7705668\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\n"
    },
    {
      "commit": "0ea815eb4b7663c824bf5aeeec80607d483dabb2",
      "tree": "e63079351e57e92e5b2697418b4c61abec3b780f",
      "parents": [
        "f43c0504abf573f904bb600266ffaeea2ba4b774"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Sat Mar 28 03:27:09 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 30 20:46:45 2026"
      },
      "message": "[codehealth] Clean up and organize .gitignore\n\n- Grouped and alphabetized existing ignore entries by category.\n- Added ignores for common AI assistants (Gemini, Claude, Cursor, Aider, Copilot).\n- Added ignore for Perfetto trace files (*.pftrace).\n\nChange-Id: Ib29ceef1c378bb5a658b81fc4f85bedad7b1b674\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7709363\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "f43c0504abf573f904bb600266ffaeea2ba4b774",
      "tree": "df60f545f4c3f02effd259f6de241653d8476cd6",
      "parents": [
        "53fbb74457d9332a96aa5ad14c1d0a035eb3003d"
      ],
      "author": {
        "name": "Jason Leo",
        "email": "cgqaq@chromium.org",
        "time": "Thu Mar 26 04:38:03 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 27 10:37:38 2026"
      },
      "message": "[util] Move URL impl to Chromium-side platform_impl\n\nWhen build_with_chromium\u003dtrue, exclude url.cc and the googleurl dep from\nthe util target. Instead, depend on a Chromium-side platform_impl that\nprovides the URL implementation via //url directly. Standalone builds\ncontinue using the bundled googleurl.\n\nAlso guard url_unittest.cc with !build_with_chromium, since the test\nlinks against the bundled googleurl implementation which is not\navailable in Chromium builds. The Chromium-side equivalent test lives in\ncomponents/openscreen_platform:unittests.\n\nChanges in main repo:\nhttps://chromium-review.googlesource.com/c/chromium/src/+/7696516\n\nBug: 495648329, 351564777\nChange-Id: Ia69951eabc6d0d788d0a97ae6b586da14aa29365\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7696713\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\nCommit-Queue: Jason Leo \u003ccgqaq@chromium.org\u003e\n"
    },
    {
      "commit": "53fbb74457d9332a96aa5ad14c1d0a035eb3003d",
      "tree": "42a8b303a13aa639959e0989f467cd5730fcce76",
      "parents": [
        "31390edcd0cd4dfe1d5675cec8b28d8e2ec4d7d7"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue Mar 24 02:29:27 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 25 19:13:14 2026"
      },
      "message": "[cast] Refactor Answer message rtpExtensions to array of arrays\n\nThe Answer message previously defined rtp_extensions as a flat\nstd::vector\u003cstd::string\u003e. However, RTP extensions are negotiated\nper-stream (e.g., input_events for video streams).\n\nThis change updates rtp_extensions in the Answer message to\nbe a std::vector\u003cstd::vector\u003cstd::string\u003e\u003e that parallels the\nsend_indexes array. It also introduces JSON helpers to parse and\nserialize array of arrays, updates the schemas and protocol docs,\nrestricts the input_events extension to only apply to video streams,\nand extracts the input_events literal into a shared constant in\ncast/streaming/impl/message_constants.h.\n\nBug: 495577323\nChange-Id: If148f7783d6b1daeb229cd2eac5fc4ed367c0ba0\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7695772\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "31390edcd0cd4dfe1d5675cec8b28d8e2ec4d7d7",
      "tree": "a2401f4d926e2e93786a90dfde203b5cf25fc68a",
      "parents": [
        "cf63e5d2cd33315bbdad0b17e7ba8edf2fd7b4a7"
      ],
      "author": {
        "name": "Jon Toohill",
        "email": "jtoohill@google.com",
        "time": "Mon Mar 23 22:05:05 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 24 18:42:26 2026"
      },
      "message": "[openscreen] Remove unused use_afl GN arg\n\nBug: chromium:492241998\nChange-Id: If567f34e7a86eed44503594ab207850e6a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7695059\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\nCommit-Queue: Jon Toohill \u003cjtoohill@google.com\u003e\n"
    },
    {
      "commit": "cf63e5d2cd33315bbdad0b17e7ba8edf2fd7b4a7",
      "tree": "52889c1fc83396b5f3afae117152705a4db24d80",
      "parents": [
        "2fb653b3359ff25ed2f4456ec77a76c01708896e"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue Mar 10 01:00:18 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 20 22:06:18 2026"
      },
      "message": "[Cast Standalone] Add support for Input Event API\n\nThis patch adds basic Input Event API support to the standalone\nCast sender and receiver binaries. Input event support may be enabled\nin these binaries using the new `--enable-input-events` (`-i`) flag.\n\nIn this initial implementation, the standalone receiver has the ability\nto get mouse and keyboard events through the SDL API, and then report them\nto the standalone sender, which current logs all received events to the\nterminal and supports blitting \"mouse down\" events as an expanding\nconcentric rig with a \u0027ping\u0027 effect.\n\nBug: 482442349\nChange-Id: I9bb86e7a1fd5597594eccc0068246b39e50a4d79\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7551363\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "2fb653b3359ff25ed2f4456ec77a76c01708896e",
      "tree": "8fab5544fd1d83c52e9c2f59166d44dfd35fe823",
      "parents": [
        "540e660af6cc28bdbf82e20fc8c0cc9bf51ac521"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Mon Mar 16 20:07:20 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 16 21:02:22 2026"
      },
      "message": "[codehealth] Cast: Migrate Offer, Answer logic to ErrorOr\n\nI\u0027ve been meaning to do this forever and just got around to it. This\npatch migrates the offer and answer logic to using ErrorOr, instead of\none using Error and one using bool.\n\nChange-Id: If83060740ac21bf5026b2ac2a78b63951f32ba1f\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7670823\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\n"
    },
    {
      "commit": "540e660af6cc28bdbf82e20fc8c0cc9bf51ac521",
      "tree": "2d656b9fd66e5f4544ce6291f274f0819c78d38c",
      "parents": [
        "7b4c36c9bc0193087c5a4a0248162e4995797874"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Fri Mar 13 02:26:45 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 13 22:22:49 2026"
      },
      "message": "Revert^2 \"Use abstract Connection in place of TlsConnection\"\n\nThis reverts commit c2f2047e07f3ac12c07a217f5f1229536492d808.\n\nReland \"Use abstract Connection in place of TlsConnection\"\n\nThis reverts commit c2f2047e07f3ac12c07a217f5f1229536492d808.\n\nReason for revert: decided to fix forward.\n\nOriginal change\u0027s description:\n\u003e Revert \"Use abstract Connection in place of TlsConnection\"\n\u003e\n\u003e This reverts commit 92464b523ee0340dd4b321367a0cdf69a7644290.\n\u003e\n\u003e Reason for revert: breaks the autoroller :(.\n\u003e\n\u003e https://chromium-review.googlesource.com/c/chromium/src/+/7257264\n\u003e\n\u003e Hate to revert but need to do that to enable the QUICHE roll.\n\u003e\n\u003e Happy to prioritize relanding it tomorrow.\n\u003e\n\u003e Example failures:\n\u003e https://ci.chromium.org/ui/p/chromium/builders/try/android-x64-rel/726580/overview\n\u003e\n\u003e [28250/51502] CXX obj/components/openscreen_platform/unittests/tls_client_connection_unittest.o\n\u003e ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/components/openscreen_platform/unittests/tls_client_connection_unittest....(too long)\n\u003e ../../components/openscreen_platform/tls_client_connection_unittest.cc:134:3: error: non-virtual member function marked \u0027override\u0027 hides virtual member function\n\u003e   134 |   MOCK_METHOD(void, OnError, (TlsConnection*, const Error\u0026), (override));\n\u003e       |   ^\n\u003e ../../third_party/googletest/src/googlemock/include/gmock/gmock-function-mocker.h:115:3: note: expanded from macro \u0027MOCK_METHOD\u0027\n\u003e   115 |   GMOCK_PP_VARIADIC_CALL(GMOCK_INTERNAL_MOCK_METHOD_ARG_, __VA_ARGS__) \\\n\u003e       |   ^\n\u003e ../../third_party/googletest/src/googlemock/include/gmock/internal/gmock-pp.h:49:7: note: expanded from macro \u0027GMOCK_PP_VARIADIC_CALL\u0027\n\u003e    49 |       GMOCK_PP_CAT(_Macro, GMOCK_PP_NARG(__VA_ARGS__))(__VA_ARGS__))\n\u003e       |       ^\n\u003e\n\u003e\n\u003e Original change\u0027s description:\n\u003e \u003e Use abstract Connection in place of TlsConnection\n\u003e \u003e\n\u003e \u003e Bug: 445928621\n\u003e \u003e Change-Id: I485228f0e56ecd736f661194bb0e72d2682344db\n\u003e \u003e Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7247255\n\u003e \u003e Reviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\n\u003e \u003e Commit-Queue: Taesun Yeoum \u003ctaesuny@google.com\u003e\n\u003e \u003e Reviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\n\u003e\n\u003e Bug: 445928621\n\u003e Change-Id: Ia3369a687a06547aea26a7f99ac48d986eddc567\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7303817\n\u003e Reviewed-by: Nidhi Jaju \u003cnidhijaju@chromium.org\u003e\n\u003e Bot-Commit: Rubber Stamper \u003crubber-stamper@appspot.gserviceaccount.com\u003e\n\nBug: 445928621\nChange-Id: Iafd794e11a644b33ef6b86433eab4f3f2f20d0a1\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7663781\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\n"
    },
    {
      "commit": "7b4c36c9bc0193087c5a4a0248162e4995797874",
      "tree": "f6f675316d9b881d5202a00430a35692ca9130c4",
      "parents": [
        "4cfe3121c2703eb58e4b67c135e64cfe20ed9f71"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue Mar 10 06:32:32 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 10 17:59:59 2026"
      },
      "message": "[codehealth] Replace YetAnotherBitVector with modernized BitVector\n\nNow that Open Screen has moved to C++20, this change replaces the custom\ntwiddling in YetAnotherBitVector with a modernized BitVector class using\nthe \u003cbit\u003e header (std::popcount, std::countr_zero).\n\nKey changes:\n- Renamed YetAnotherBitVector to BitVector.\n- Switched to size_t for sizes and positions.\n- Simplified API to only include methods used by the Sender.\n- Preserved file history via git mv.\n\nChange-Id: I933af7501e565a5fc30438051dba665f0f5f4a5f\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7648931\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "4cfe3121c2703eb58e4b67c135e64cfe20ed9f71",
      "tree": "4605b7f6413d2b8c7af01e1ea4b070770304c088",
      "parents": [
        "571620ad60afc9f317d77605c65335f5412aada2"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Mon Mar 09 18:27:27 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 09 19:17:50 2026"
      },
      "message": "[Cast Streaming] Add Input event API for unidirectional flow\n\nImplements the Input event API to support unidirectional flow from\nReceiver to Sender, using idiomatic C++20 data handling with ByteView.\n\n* Create InputProducer (Receiver-side) and InputConsumer (Sender-side)\n  into their respective targets.\n* Use ByteView for ProcessMessageFromRemote and SendMessageToRemote\n  to avoid raw pointer/size pairs.\n* Tie InputProducer lifecycle to specific negotiation sessions via\n  ConfiguredReceivers.\n* Ensure ANSWER is dispatched before OnNegotiated to maintain correct\n  message ordering in tests.\n\nBug: 482442349\nChange-Id: Ie65c0eb96939c08f3ca0017a1e31c7cab57ff260\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7553551\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "571620ad60afc9f317d77605c65335f5412aada2",
      "tree": "05d6fdaa9db64d98056c90e3e079e815341cc089",
      "parents": [
        "89fa62bbbe45c5cc87c6a5e84ff3f2d03a3656c8"
      ],
      "author": {
        "name": "Taesun Yeoum",
        "email": "taesuny@google.com",
        "time": "Sat Feb 21 02:36:45 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 02 23:50:52 2026"
      },
      "message": "Update URL of the sample video clip\n\nChange-Id: Ied405ba10db73ac3f43d1fdfb910700df38d3418\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7598315\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\nCommit-Queue: Taesun Yeoum \u003ctaesuny@google.com\u003e\n"
    },
    {
      "commit": "89fa62bbbe45c5cc87c6a5e84ff3f2d03a3656c8",
      "tree": "b122153072955ad59ae2ce44ca50a82c26ca9f4d",
      "parents": [
        "d55bd311eb9a970a8e4fb25cbe5ae016d4d3d812"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Thu Feb 26 19:55:47 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Feb 27 23:38:20 2026"
      },
      "message": "[OSP] Delete Go implementation\n\nThis patch removes the experimental Open Screen Protocol implementation\nwritten in Go, which was located entirely within the `osp/go/` directory.\n\nChange-Id: I8f619126bb2dcc67a7355d6c593624490913ddcb\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7614193\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "d55bd311eb9a970a8e4fb25cbe5ae016d4d3d812",
      "tree": "65980dcba771410fb5e8d5b76630c2138a97a559",
      "parents": [
        "bae1f28100070bf41ed7e3f9075ce9152553bf66"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Sat Feb 21 00:50:29 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sat Feb 21 02:33:34 2026"
      },
      "message": "[Code Health] Remove Abseil usages\n\nThis patch removes the remaining Abseil usages outside\nof the protobuf messaging dependencies.\n\nSome C++20 modernizations are included, espeically in the CDDL\ncode.\n\nBug: 158433927\nChange-Id: Ibcb865e6ae712f905e8453df8e9a30f7a5291dca\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7585316\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "bae1f28100070bf41ed7e3f9075ce9152553bf66",
      "tree": "dd2651d530b9a63fa492e64b17639d27fb281e17",
      "parents": [
        "f8e2c010f73f552fb2c73003ac71378459997dbb"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue Feb 17 22:55:44 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Feb 17 23:49:51 2026"
      },
      "message": "[Cast Streaming] Add Input message support and input_events extension\n\nAdds a new `INPUT` message type to the Cast Streaming protocol to\nsupport sending input events (touch, mouse, key) from receiver to\nsender.\n\n*   Adds `cast/streaming/input.proto` defining `InputMessage` and `InputEvent`.\n*   Updates Sender/Receiver message handling to parse/serialize `INPUT` messages.\n*   Adds `SendInputMessage` to `SessionMessenger`.\n*   Negotiates support via `rtp_extensions` (\"input_events\") in the OFFER/ANSWER.\n*   Updates documentation and JSON schema.\n\nBug: 482442349\nChange-Id: I19d631f10eb70bc3e5c47a1197e7ec338fcb7eeb\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7553176\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\n"
    },
    {
      "commit": "f8e2c010f73f552fb2c73003ac71378459997dbb",
      "tree": "2196eab82474f0839892c35bc33281a32dd49249",
      "parents": [
        "67cac118873cb41fd19e3fc8b1b4010b3eecf683"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Thu Feb 05 19:59:26 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Feb 11 19:53:32 2026"
      },
      "message": "[Tracing] Add Perfetto support to Open Screen\n\nThis patch adds Perfetto support to Open Screen, and the standalone\ncast sender and receiver binaries. This should help make diagnosing\nissues with Cast and other components easier.\n\nWith this patch, you can now run Open Screen binaries, such as the\nCast standalone sender and receiver, with Perfetto enabled by passing\nthe `-P` or `--perfetto` flag. A pftrace file is automatically generated\nupon application exit that can be loaded in the Perfetto UI.\n\nBug: 479649464\nChange-Id: I45e44017a88cf5b8ef95fe894a417b01d34c4d85\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7530400\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "67cac118873cb41fd19e3fc8b1b4010b3eecf683",
      "tree": "70f7f23a297643dc86ad09184416f474645e0d16",
      "parents": [
        "a4fca12c50044b0e279a37e042b8bfa89acd9a1a"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Fri Feb 06 22:01:47 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sat Feb 07 00:08:17 2026"
      },
      "message": "[codehealth] Cleanup + Spanify IPAddress\n\nThis patch spanifies the IPAddress class and related usages, with\ngeneral C++20 modernization of this class.\n\nChange-Id: Icaf78c4cf92d0059878ec07b74354cc7fc9016ce\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7540873\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\n"
    },
    {
      "commit": "a4fca12c50044b0e279a37e042b8bfa89acd9a1a",
      "tree": "98b153bdad9fea80dc1159e92b58b2eb5e9e2ce2",
      "parents": [
        "69b062543b0a5f97d8591e7c1a865d30b90b0a99"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Thu Feb 05 07:58:06 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Feb 06 21:55:45 2026"
      },
      "message": "Fix flaky MdnsProbeTests and re-enable them\n\nRefactors TestNoCancelationFlow and TestNoCancelationOnUnrelatedMessages to be resilient to random initial probe delays (0-250ms).\nPreviously, when the initial delay was 0, the first clock advance of 250ms would trigger two probes instead of one, causing expectation failures.\nThe tests now verify the total number of probe packets and final success state over a sufficient duration.\n\nBug: 243611087\nChange-Id: Icffdad147d87fce39740a4eb20bee6ea02b5650a\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7547580\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\nCommit-Queue: Mark Foltz \u003cmfoltz@chromium.org\u003e\n"
    },
    {
      "commit": "69b062543b0a5f97d8591e7c1a865d30b90b0a99",
      "tree": "a9c2b4b0681c99873dce2f53e7a1add386038947",
      "parents": [
        "54b7a63b647194946efb4456249293e521e22fb5"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Fri Feb 06 04:25:19 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Feb 06 21:36:18 2026"
      },
      "message": "[platform] Fix discovery on macOS\n\nPreviously, I assumed that we needed to connect to Bonjour on macOS to\ndo discovery. Turns out, that not true, and only a minor adjust to how\nwe join a multicast group on macOS is necessary.\n\nUsing IP_ADD_MEMBERSHIP previously failed because macOS ignores the\nimr_ifindex field in struct ip_mreqn when the address is INADDR_ANY.\n\nThis CL updates UdpSocketPosix::JoinMulticastGroup to explicitly look up\nthe interface\u0027s IPv4 address and use it for the membership request on\nApple platforms.\n\nAlso includes:\n- Removal of outdated comments in standalone_receiver claiming mDNS incompatibility.\n\nChange-Id: If745a89dc756ce57bf3e5576be4a1371571b89c2\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7550051\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\n"
    },
    {
      "commit": "54b7a63b647194946efb4456249293e521e22fb5",
      "tree": "596effc678aa504223aab09e2009c0848c38d0cb",
      "parents": [
        "256aa750c3b95a0df88f4a60d2440ae442b2799e"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Fri Feb 06 05:31:03 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Feb 06 21:29:42 2026"
      },
      "message": "[Cast] Handle SIGPIPE and SIGHUP for graceful teardown\n\nIgnores SIGPIPE in standalone sender/receiver to prevent crashes on network teardown. Handles SIGHUP in TaskRunner to allow graceful shutdown on terminal disconnect.\n\nChange-Id: Ibd975051fea4642985670aac4613d4e46c201da8\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7549473\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\nCommit-Queue: Mark Foltz \u003cmfoltz@chromium.org\u003e\n"
    },
    {
      "commit": "256aa750c3b95a0df88f4a60d2440ae442b2799e",
      "tree": "6e5e25cf97a82eb40e5574aaab08914897db9587",
      "parents": [
        "93e6b8de7a6156f2e06ecceea2c505c3fd73aed9"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Fri Feb 06 04:11:34 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Feb 06 06:03:26 2026"
      },
      "message": "[cast_receiver] Fix crash when generating credentials without interface\n\nThe cast_receiver tool was crashing when invoked with the -g flag\n(generate-credentials) because it was unconditionally checking for a\nmandatory interface argument. This check is only relevant when running\nthe actual service, not when generating credentials.\n\nThis CL updates ParseArgs to only enforce the interface name requirement\nwhen credential generation is not requested.\n\nChange-Id: Ideb4b4b30d1e414e75011db8238d58e0683eabd2\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7550050\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "93e6b8de7a6156f2e06ecceea2c505c3fd73aed9",
      "tree": "ff99d450d2c99e713828f89eb8073034f6d91c81",
      "parents": [
        "d4ec59a625e06159b4d07ee82af833ebb9370d49"
      ],
      "author": {
        "name": "Ted Meyer",
        "email": "tmathmeyer@chromium.org",
        "time": "Mon Dec 22 22:26:07 2025"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Feb 04 18:57:47 2026"
      },
      "message": "Allow install commands to be copyable\n\nChange-Id: Ieaac7c192590cfa0de2800618e4cbae7c0bf4fe2\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7301262\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "d4ec59a625e06159b4d07ee82af833ebb9370d49",
      "tree": "77c6a55b39d8fdd33f5198e0da6d21b3c207a137",
      "parents": [
        "29dc74c3103feb9b7ed42bd6399b99c415e62209"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Fri Jan 30 23:20:04 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Feb 02 21:28:05 2026"
      },
      "message": "[Docs] Open source the streaming session protocol doc\n\nChange-Id: Id2d74f1a077d2d40eaa6b8beed497fe663a3f804\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7331214\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "29dc74c3103feb9b7ed42bd6399b99c415e62209",
      "tree": "9499504cf7e60a9115bec124b83e594515ae7e63",
      "parents": [
        "40ada9e69fa9a67795631b8aa7303036536d7283"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Fri Jan 30 01:52:50 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Feb 02 21:13:53 2026"
      },
      "message": "[Tracing] Add support for trace flows in Cast\n\nThis patch is the initial implementation of trace flow support\nin libcast. Currently libcast does not implement Perfetto support\ndirectly, but integrates with Perfetto if the embedder uses it,\nand flows are a powerful way to improve tracing in Perfetto.\n\nBug: 479316209\nChange-Id: I5ced0b3f07eee79d1fdfc0072af89c59726e7f56\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7528628\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "40ada9e69fa9a67795631b8aa7303036536d7283",
      "tree": "b02861fdf05e32c8bd36f663c598ac74ebc6bf24",
      "parents": [
        "1be8cb0425cb3033e54f6eb7158f847ecfd4e721"
      ],
      "author": {
        "name": "Jordan",
        "email": "rop@google.com",
        "time": "Fri Jan 23 07:11:22 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jan 28 00:11:54 2026"
      },
      "message": "Set Update Mechanism to Manual\n\nThis CL sets the Update Mechanism to Manual in README files.\n\nBug: 445311061\nChange-Id: I2fa7318dcbf637f6d4452af7a95ea7815f66e406\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7509849\nOwners-Override: Jordan Brown \u003crop@google.com\u003e\nReviewed-by: Jiewei Qian \u003cqjw@chromium.org\u003e\nReviewed-by: Rachael Newitt \u003crenewitt@google.com\u003e\nCommit-Queue: Jordan Brown \u003crop@google.com\u003e\n"
    },
    {
      "commit": "1be8cb0425cb3033e54f6eb7158f847ecfd4e721",
      "tree": "6342b0cb012a3919ad8c3c5f08b41185831c8e6a",
      "parents": [
        "1f070e8b01b063fd1dcc6827a9ea1b62301c3d1a"
      ],
      "author": {
        "name": "Taesun Yeoum",
        "email": "taesuny@google.com",
        "time": "Mon Jan 26 19:31:50 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jan 27 03:52:50 2026"
      },
      "message": "Add a missing net/if.h to network_interface_linux\n\nChange-Id: Iac6139277a2052702d76e2053d3b61ab70f5db57\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7517644\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "1f070e8b01b063fd1dcc6827a9ea1b62301c3d1a",
      "tree": "fd5cb0f516c86547c80e4e6978e04fb5653309c0",
      "parents": [
        "de256437f9453afe76bde7a9bc5b65e7131062c7"
      ],
      "author": {
        "name": "Taesun Yeoum",
        "email": "taesuny@google.com",
        "time": "Wed Jan 21 22:41:18 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Jan 23 22:39:27 2026"
      },
      "message": "Add IPv6 Link-Local Address support\n\nChange-Id: Id5274f386aa8f3167476cc07fc333d582d486346\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7283925\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\nCommit-Queue: Taesun Yeoum \u003ctaesuny@google.com\u003e\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\n"
    },
    {
      "commit": "de256437f9453afe76bde7a9bc5b65e7131062c7",
      "tree": "70f04c5217e609e1da42eddb71bf53f6da285a45",
      "parents": [
        "d364847b924b1a4425e81be4b56827f1b1c6e68d"
      ],
      "author": {
        "name": "Rachael Newitt",
        "email": "renewitt@google.com",
        "time": "Mon Jan 19 00:40:30 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jan 20 22:14:18 2026"
      },
      "message": "Add N/A version field for README.chromium files.\n\nThese are versioned by their revision, which should be updated\nwhen the library is autorolled, but the README is still expected\nto set the version field for now.\n\nBug: 460542206, 460543990\nChange-Id: I7051f28b1231b47a112fc1d31be979a53d289878\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7487621\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nCommit-Queue: Rachael Newitt \u003crenewitt@google.com\u003e\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "d364847b924b1a4425e81be4b56827f1b1c6e68d",
      "tree": "774c06a669ef0bfb83a8db841adc1f5f0ce5aec7",
      "parents": [
        "6b34a8af1a8d5bbec8e4256a5c6f6c59c4c7d523"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Thu Jan 15 22:11:26 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Jan 16 00:13:04 2026"
      },
      "message": "[libcast] Update bot config to ignore receiver deps\n\nCurrently, the `linux_arm64_cast_receiver` bot fails on run because\nwe don\u0027t have SDL2 (and probably still FFmpeg) built on the bot.\n\nThese dependencies are technically optional, since they are only\nrequired to decode frames on the receiver.\n\nWe should be able to have more primitive end to end tests just\nwith encoded frames coming from the sender, which should hopefully\nunblock this bot while we have larger discussions around the future\nof end to end testing for libcast.\n\nBug: 337080120\nChange-Id: I40f53ca8d8c3ff35811bfe142015ad8c63bb17ef\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7488131\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "6b34a8af1a8d5bbec8e4256a5c6f6c59c4c7d523",
      "tree": "5db6dd48ef036575e51990012e9a975c31d2a4bd",
      "parents": [
        "b928d295ffd5ef2a953ac8d2f687d8b045008123"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Thu Jan 15 23:18:48 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Jan 16 00:01:48 2026"
      },
      "message": "[exit-time-destructors] Exclude warning from targets\n\nThis CL is part of number of CLs disabling `-Wexit-time-destructors`in\nplaces where this warning is going off. This will allow having this\nwarning enabled-by-default across the codebase, whilst documenting the\nplaces where corrections for this warning are necessary.\n\nBug: 40031409\nChange-Id: I18ea672daa006774a8ebfb80aecaebb38c5566f3\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/6819693\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "b928d295ffd5ef2a953ac8d2f687d8b045008123",
      "tree": "be590d5488fe3cb8c7be00f56737fdf0c72cd05c",
      "parents": [
        "75cbabb562425e0130efec78f86114d9f5a1b2f3"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Thu Jan 15 22:11:49 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Jan 15 23:07:24 2026"
      },
      "message": "Replace ToString() with operator\u003c\u003c in logging\n\nAdheres to the Open Screen style guide by replacing explicit ToString()\ncalls with operator\u003c\u003c overloads for the following classes:\n- Location\n- ServiceInfo\n- TraceEvent\n- SenderStats\n- SimpleHistogram\n\nAlso cleans up redundant ToString() calls on Error and IPEndpoint objects\nin logging statements.\n\nBug: 155487640\nChange-Id: I260770649b892846a21c6a6bd98866ae79a865b3\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7468100\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\n"
    },
    {
      "commit": "75cbabb562425e0130efec78f86114d9f5a1b2f3",
      "tree": "a79ff31d3dc5b2b1e74f6048e21232c58e8bebfe",
      "parents": [
        "32021f19f221b6a54b65d52b29fb7c31b20c6f94"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue Jan 13 02:57:11 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Jan 15 22:48:04 2026"
      },
      "message": "Ctrl+C, Ctrl+V googleurl\u0027s git hash to its README\n\nBug: 460543990\nChange-Id: I1e2cbfde5c0062d0188c42f0c808d602ae5de0ac\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7455834\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\n"
    },
    {
      "commit": "32021f19f221b6a54b65d52b29fb7c31b20c6f94",
      "tree": "c9d2e195996c46f9150ad147760b4159c7aef5d7",
      "parents": [
        "43bf97a1aa11283388b92eeb6ba978cf04f3fd0d"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue Jan 13 02:52:45 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Jan 15 22:47:40 2026"
      },
      "message": "copy paste boringssl hash to its readme\n\nBug: 460542206\nChange-Id: I3b4f806f475485ec77011ef3959de8a6d648552b\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7455833\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "43bf97a1aa11283388b92eeb6ba978cf04f3fd0d",
      "tree": "197fd4b0942324e3e8947fbd967b20c14ea3a77a",
      "parents": [
        "8fc39671507f53d4c81fee9f7880b55ce21d9b10"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue Jan 13 02:46:03 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Jan 15 22:43:18 2026"
      },
      "message": "Cleanup googletest GN, Migrate to MOCK_METHOD\n\nCleans up the googletest BUILD.gn and removes an unnecessary compile\nflag that allows for using MOCK_METHODx macros without specifying\noverride correctly.\n\nUpdates various unit tests and mock classes to use the new MOCK_METHOD\nmacro syntax from Google Mock, replacing legacy MOCK_METHODn macros.\nAlso adds the \u0027override\u0027 specifier to mock methods that override virtual\nfunctions, ensuring consistency and enabling compiler checks.\n\nChange-Id: I9d00813b7ba48a235679ae6696ab045b2d3feba3\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7458432\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "8fc39671507f53d4c81fee9f7880b55ce21d9b10",
      "tree": "89efbca888a6b82e83e6d4ea4de6b4cebdfe0616",
      "parents": [
        "2f7bcb51f0434121f3bcd2f70bd5a3df878b9721"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Thu Jan 08 23:42:10 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Jan 12 20:23:38 2026"
      },
      "message": "[Cast] Delete header forwards\n\nSince we have had our headers for public cast streaming dependencies\nmoved to the public/ subfolder for about a year now, it should hopefully\nbe safe to delete the forwards.\n\nBug: 154090565\nChange-Id: I8d34e4f02c6bad21733c7ef6a226629465f89d19\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7417697\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "2f7bcb51f0434121f3bcd2f70bd5a3df878b9721",
      "tree": "78da03efb90af2bc146fb689a218f120733e93f5",
      "parents": [
        "20a76c1b607a0c09f30142b4e1a2d4be4df3eaf3"
      ],
      "author": {
        "name": "Junji Watanabe",
        "email": "jwata@google.com",
        "time": "Fri Jan 09 05:46:47 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Jan 09 17:14:57 2026"
      },
      "message": "infra: Remove metrics_project:chromium-reclient-metrics Siso property\n\nchromium-reclient-metrics has been deprecated.\n\nBug: 446561233\nChange-Id: I6c0d2b72ddcee74546c78f8db04376f46bb2779e\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7413837\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\nCommit-Queue: Mark Foltz \u003cmfoltz@chromium.org\u003e\nReviewed-by: Junji Watanabe \u003cjwata@google.com\u003e\n"
    },
    {
      "commit": "20a76c1b607a0c09f30142b4e1a2d4be4df3eaf3",
      "tree": "1b857a52ec6e12cb08d6470bb7e38de2e6209270",
      "parents": [
        "255319a1bab9fcf4d60a399c37fdc5620e1a0bc0"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Thu Jan 08 22:29:33 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Jan 09 00:49:44 2026"
      },
      "message": "[Cast] Implement support for DSCP\n\nThis patch adds support for DSCP to the Cast Streaming project,\nincluding both the standalone sender and receiver.\n\nBug: 472512389\n\nChange-Id: Icb7c835d7f41cb3cb02fffb7656fc659560b3900\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7331033\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "255319a1bab9fcf4d60a399c37fdc5620e1a0bc0",
      "tree": "888b35a44c633bbcccf5c36827c58ccf7b317fc6",
      "parents": [
        "8bd62f3eda20a9cb65e0f6f1a95bf22f928eeb6c"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Thu Jan 08 05:31:16 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Jan 08 21:44:14 2026"
      },
      "message": "[Docs] Apply feedback\n\nThis patch applies some code review feedback from\nthe \"Improve the docs!!\" patch submitted here:\n\nhttps://chromium-review.googlesource.com/c/openscreen/+/7306838\n\nBug: 471093169\nChange-Id: I5b9f11b0d0886cc09490de5525633d6b094c7dbc\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7400634\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "8bd62f3eda20a9cb65e0f6f1a95bf22f928eeb6c",
      "tree": "5d456e69036867d73da90f4873a66dc976027b4e",
      "parents": [
        "f8e7aacb0ea704a33df3343f64b1724104a9ee22"
      ],
      "author": {
        "name": "Danil Chapovalov",
        "email": "danilchap@google.com",
        "time": "Wed Jan 07 16:51:13 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Jan 08 05:19:18 2026"
      },
      "message": "Fix IWYU issue in tools/cddl/sema.cc\n\nThe file uses std::all_of, so it must include \u003calgorithm\u003e\n\nBug: 472445608\nChange-Id: Ic72cbc86afe63f83e04499f6ffbcbb5498cfd154\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7368614\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "f8e7aacb0ea704a33df3343f64b1724104a9ee22",
      "tree": "9fcf54a03c18f83c76ed31d7b94d5aa726518ed0",
      "parents": [
        "c099326c5eed2e82099d88e0a8fbedba1eb50660"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Wed Dec 31 10:56:08 2025"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Jan 05 21:42:58 2026"
      },
      "message": "[Cleanup] Apply C++17, C++20 modernizations\n\nThis relatively large patch is a pile of C++17 and C++20\nmodernizations, mostly found by searching C(xx|\\+\\+)\\d\\d in the\ncode base and making reasonable adjustments for modern standards.\n\nIt could probably be split up more but since it\u0027s cleanup only it\u0027s\nbundled a little bit aggressively.\n\nBug: 364687926\nChange-Id: Ifad4414a7da47879d27ddabe5bb1e8b8fa632416\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7364388\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "c099326c5eed2e82099d88e0a8fbedba1eb50660",
      "tree": "0d8f67cb6f21e1d2fd4a2867d63af6ffcbf25b16",
      "parents": [
        "a5534fcdea7fb3227c8001526bf299d7bb191b65"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Mon Jan 05 04:38:22 2026"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Jan 05 11:32:03 2026"
      },
      "message": "Fix IWYU issue in src/tools/cddl/parse.cc\n\nThe file uses std::back_inserter, so it must include \u003citerator\u003e.\nhttps://source.chromium.org/chromium/chromium/src/+/main:third_party/openscreen/src/tools/cddl/parse.cc;l\u003d218;drc\u003d6b69ff0c0eb4ac177ea2971088e756b6be3391b2\n\nChange-Id: Ic606bd8f37107cd665f259d30062189ade9ebc66\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7380094\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "a5534fcdea7fb3227c8001526bf299d7bb191b65",
      "tree": "7317f7eaf6b6d254da4c577b3a8cf627be6fe0f0",
      "parents": [
        "86ea0e8c9b0ddb466e4667687374a44f9708a808"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue Dec 30 01:46:27 2025"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Dec 31 09:39:36 2025"
      },
      "message": "[Platform] Alias Span to std::span\n\nNow that we are on C++20, we don\u0027t need our own span implementation,\nsince std::span is plenty adequate.\n\nBug: 364687926\nChange-Id: Iba30e2fadddb82cca47670146b5103ed9f1369a8\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7353607\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "86ea0e8c9b0ddb466e4667687374a44f9708a808",
      "tree": "26e11c5087f1a5de9b4ef7601701193c3be7d470",
      "parents": [
        "2c2fe8edf2c61185e93fcd4f7023d1c376d96294"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Sat Dec 27 05:42:18 2025"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Dec 29 20:19:25 2025"
      },
      "message": "[Docs] add note on compile commands\n\nChange-Id: If523bfaf5a14ad373d07dfd3df0fc07e2b129e5b\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7331034\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "2c2fe8edf2c61185e93fcd4f7023d1c376d96294",
      "tree": "eb912af2bb3f8b7f844889bc7b1e6406fc136160",
      "parents": [
        "69acb337fceff14a919086f8a609047a856f627a"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Sat Dec 27 05:38:49 2025"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Dec 29 20:17:42 2025"
      },
      "message": "[Docs] Improve the docs!!\n\nThis patch is a relatively comprehensive initial attempt to modernize\nand update the documentation, especially in regards to the libcast\ncomponent.\n\nSome included changes:\n\n1. Some anonymous `TODO`s have been removed and or fulfilled.\n\n2. More comprehensive documentation on how to use libcast has been added.\n\n3. Documentation referencing dead packages, out of date workflows, or\nsuboptimal Markdown style have been updated.\n\nBug: 471093169\n\nChange-Id: I2cc601e2578ec06d61015b3ac04b3c3cb0a1a64e\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7306838\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "69acb337fceff14a919086f8a609047a856f627a",
      "tree": "b2febe00f648d2be227b0433ebfae09bf4a5f6f3",
      "parents": [
        "c2f2047e07f3ac12c07a217f5f1229536492d808"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue Dec 23 04:55:46 2025"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Dec 23 22:26:52 2025"
      },
      "message": "[Docs] Update dead links referencing old HEAD\n\nThis patch updates patches that refer to the old\nHEAD name to its current name, `main`.\n\nBug: 471093169\nChange-Id: I09c9a9c9e2ef1d8e20215c8826827d2219336481\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7306839\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\n"
    },
    {
      "commit": "c2f2047e07f3ac12c07a217f5f1229536492d808",
      "tree": "351e98982a380d7d84634ffc7c37401dff4fc702",
      "parents": [
        "aaa065859cf7389632e9b0a969fc0dd4696bce3c"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue Dec 23 05:28:29 2025"
      },
      "committer": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue Dec 23 05:54:33 2025"
      },
      "message": "Revert \"Use abstract Connection in place of TlsConnection\"\n\nThis reverts commit 92464b523ee0340dd4b321367a0cdf69a7644290.\n\nReason for revert: breaks the autoroller :(.\n\nhttps://chromium-review.googlesource.com/c/chromium/src/+/7257264\n\nHate to revert but need to do that to enable the QUICHE roll.\n\nHappy to prioritize relanding it tomorrow.\n\nExample failures:\nhttps://ci.chromium.org/ui/p/chromium/builders/try/android-x64-rel/726580/overview\n\n[28250/51502] CXX obj/components/openscreen_platform/unittests/tls_client_connection_unittest.o\n../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/components/openscreen_platform/unittests/tls_client_connection_unittest....(too long)\n../../components/openscreen_platform/tls_client_connection_unittest.cc:134:3: error: non-virtual member function marked \u0027override\u0027 hides virtual member function\n  134 |   MOCK_METHOD(void, OnError, (TlsConnection*, const Error\u0026), (override));\n      |   ^\n../../third_party/googletest/src/googlemock/include/gmock/gmock-function-mocker.h:115:3: note: expanded from macro \u0027MOCK_METHOD\u0027\n  115 |   GMOCK_PP_VARIADIC_CALL(GMOCK_INTERNAL_MOCK_METHOD_ARG_, __VA_ARGS__) \\\n      |   ^\n../../third_party/googletest/src/googlemock/include/gmock/internal/gmock-pp.h:49:7: note: expanded from macro \u0027GMOCK_PP_VARIADIC_CALL\u0027\n   49 |       GMOCK_PP_CAT(_Macro, GMOCK_PP_NARG(__VA_ARGS__))(__VA_ARGS__))\n      |       ^\n\n\nOriginal change\u0027s description:\n\u003e Use abstract Connection in place of TlsConnection\n\u003e\n\u003e Bug: 445928621\n\u003e Change-Id: I485228f0e56ecd736f661194bb0e72d2682344db\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7247255\n\u003e Reviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\n\u003e Commit-Queue: Taesun Yeoum \u003ctaesuny@google.com\u003e\n\u003e Reviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\n\nBug: 445928621\nChange-Id: Ia3369a687a06547aea26a7f99ac48d986eddc567\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7303817\nReviewed-by: Nidhi Jaju \u003cnidhijaju@chromium.org\u003e\nBot-Commit: Rubber Stamper \u003crubber-stamper@appspot.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "aaa065859cf7389632e9b0a969fc0dd4696bce3c",
      "tree": "68d90f3a88511d27470e91013aed6c11a86935b4",
      "parents": [
        "5be8d8c6c1be8f0543271d9c650ac8d7da8f541b"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue Dec 23 01:45:02 2025"
      },
      "committer": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue Dec 23 05:20:03 2025"
      },
      "message": "Roll QUICHE, Googleurl\n\nThis patch rolls Quiche and Googleurl, with some fixes due to\nbreaking changes and a new Python script for generating gurl sources\n(I generally prefer to not do that manually).\n\nChange-Id: I0e6416f337b660a923e038c80d53bc375d3e9114\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7281718\nReviewed-by: Nidhi Jaju \u003cnidhijaju@chromium.org\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\n"
    },
    {
      "commit": "5be8d8c6c1be8f0543271d9c650ac8d7da8f541b",
      "tree": "d55690e2516385df1c2c6556889269817531eea8",
      "parents": [
        "41d974e1eed29fa1ca347598dadae724cb062572"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Wed Dec 10 03:44:38 2025"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Dec 17 03:19:34 2025"
      },
      "message": "Roll build/ 3c58005ad..c53d22a39 (15 commits)\n\nhttps://chromium.googlesource.com/chromium/src/build/+log/3c58005adf6e..c53d22a398b8\n\n$ git log 3c58005ad..c53d22a39 --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2025-12-09 victorvianna [build] Remove gnu++2a special casing for gcc bots\n2025-12-09 ajgo Delayload userenv\n2025-12-09 anandrv [build] Enable Java location rewrite by default on Canary\n2025-12-08 smaier Javaless renderer: update to latest Android impl\n2025-12-08 inglorion build: Introduce cros_target_cpu_arch GN arg\n2025-12-08 drott Update visibility of FreeType component\n2025-12-08 drott Sync build configuration enable_freetype with PDF\n2025-12-07 msta Rerun modularize.py --os\u003dwindows\n2025-12-05 linyuh Reland (attempt #2): \"Make test APK the default browser app if it has APP_BROWSER category\"\n2025-12-05 machenbach [build] Enable building arm with coverage instrumentation\n2025-12-05 brunobraga [AutofillAi - M4] Add required java classes for c++ communication\n2025-12-04 zijiehe [fuchsia] --bp-compression-sort\u003dfunction in size-optimized\n2025-12-04 ajgo Delayload secur32, winhttp, winspool \u0026 wintrust\n2025-12-04 msta Remove extern_c from clang modules.\n2025-12-04 anandrv [base/android] Add location attribution to ThreadUtils methods\n\nCreated with:\n  roll-dep build\n\nChange-Id: I559ef720d6d91ae17e305a616898e3b718829c48\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7244690\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "41d974e1eed29fa1ca347598dadae724cb062572",
      "tree": "aa514adfae57c1de2a7968ca676e1221490402c5",
      "parents": [
        "92464b523ee0340dd4b321367a0cdf69a7644290"
      ],
      "author": {
        "name": "Taesun Yeoum",
        "email": "taesuny@google.com",
        "time": "Sat Dec 13 00:11:31 2025"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Dec 16 19:09:49 2025"
      },
      "message": "Add a few more cast messages to the receiver\n\nThese messages are expected from Android Cast clients.\n\nBug: 451001698\nChange-Id: I6e4e564ac2b2549ba2a43a76027c75928a5040b5\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7108400\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nCommit-Queue: Taesun Yeoum \u003ctaesuny@google.com\u003e\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "92464b523ee0340dd4b321367a0cdf69a7644290",
      "tree": "e5de83f6dbc8dc5dd3326250a7a33305f853ae2a",
      "parents": [
        "592c8867ca7ff2be80c2ab0af244642f602f8647"
      ],
      "author": {
        "name": "Taesun Yeoum",
        "email": "taesuny@google.com",
        "time": "Thu Dec 11 23:29:00 2025"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sat Dec 13 01:19:24 2025"
      },
      "message": "Use abstract Connection in place of TlsConnection\n\nBug: 445928621\nChange-Id: I485228f0e56ecd736f661194bb0e72d2682344db\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7247255\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nCommit-Queue: Taesun Yeoum \u003ctaesuny@google.com\u003e\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "592c8867ca7ff2be80c2ab0af244642f602f8647",
      "tree": "288415393ac4e26bbe85a47313898b83d9d9a391",
      "parents": [
        "49566a8bf83e30b80379582b44185f73b874ff85"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Fri Dec 12 21:55:10 2025"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Dec 12 22:59:18 2025"
      },
      "message": "[Util] Add Uuid class for generating, parsing UUIDs\n\nThis patch adds a Uuid implementation to the util/ directory, based\non the Chromium base/ version with significant changes to work with our\nlibrary types.\n\nSome cleanup of dependent methods, like the crypto random bytes\nfunctions, is included.\n\nChange-Id: Ibe562e700c2156414063f9337deab3546e8db158\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7256767\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "49566a8bf83e30b80379582b44185f73b874ff85",
      "tree": "43f84ae67b46218db5f7498b2f47d295f0458927",
      "parents": [
        "21e4a1968ad0327343f3c35ab3d3d5c904e42117"
      ],
      "author": {
        "name": "Victor Vianna",
        "email": "victorvianna@google.com",
        "time": "Tue Dec 09 06:55:42 2025"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Dec 10 20:22:38 2025"
      },
      "message": "Revert \"Add linux_x64_cxx23 bot to openscreen\"\n\nThis reverts commit 21e4a1968ad0327343f3c35ab3d3d5c904e42117.\n\nReason for revert: The chromium_* bots already compile with cpp23, so adding a new one is unnecessary.\nhttps://ci.chromium.org/ui/p/openscreen/builders/try/chromium_linux_x64/b8695982130097501937/overview\n\nOriginal change\u0027s description:\n\u003e Add linux_x64_cxx23 bot to openscreen\n\u003e\n\u003e Bug: 467020994\n\u003e Change-Id: I5c6f0b7f4a8fa2c7e0b4d3d6abbc8d18e29b1e42\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7238012\n\u003e Reviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\n\u003e Commit-Queue: Victor Vianna \u003cvictorvianna@google.com\u003e\n\nBug: 467020994\nChange-Id: Id3b4074a8c79b565d92b3cb598ffb5d6a3fcee58\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7239171\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "21e4a1968ad0327343f3c35ab3d3d5c904e42117",
      "tree": "cbbc82a712b72a74f4007776ab1df19e1fc2b2a3",
      "parents": [
        "4ce4d61114ea9803f9e5fa4a8308de8071371c75"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Tue Dec 09 05:44:38 2025"
      },
      "committer": {
        "name": "Victor Vianna",
        "email": "victorvianna@google.com",
        "time": "Tue Dec 09 05:49:08 2025"
      },
      "message": "Add linux_x64_cxx23 bot to openscreen\n\nBug: 467020994\nChange-Id: I5c6f0b7f4a8fa2c7e0b4d3d6abbc8d18e29b1e42\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7238012\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\nCommit-Queue: Victor Vianna \u003cvictorvianna@google.com\u003e\n"
    },
    {
      "commit": "4ce4d61114ea9803f9e5fa4a8308de8071371c75",
      "tree": "43f84ae67b46218db5f7498b2f47d295f0458927",
      "parents": [
        "8a7ae70952b96b779f957c723c00b465dd6b19a5"
      ],
      "author": {
        "name": "mark a. foltz",
        "email": "mfoltz@chromium.org",
        "time": "Fri Dec 05 00:00:31 2025"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sat Dec 06 01:06:40 2025"
      },
      "message": "Update roll_deps.md\n\nChange-Id: I13702ffea80087ebc8f67cc30e1c3481a11af2a8\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7229879\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "8a7ae70952b96b779f957c723c00b465dd6b19a5",
      "tree": "e040f72f49831c8a722d5d2e2cae3916bd185bfc",
      "parents": [
        "0c2782221509306fc22310ddf8df352e87fcdc2a"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Thu Dec 04 19:28:00 2025"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Dec 05 00:02:17 2025"
      },
      "message": "[Modernization] Remove outdated constructor macros\n\nThis patch removes some outdated constructor macros, such as\nOSP_DISALLOW_COPY_AND_ASSIGN, in favor of specifying the constructor and\nassignment operators directly. The macros.h header is also renamed\nto compiler_specific.h, as it now only contains `OSP_NOINLINE`, which\nis compiler specific.\n\n\nBypass-Check-License: file was renamed.\nChange-Id: Id8f80cc31f3abc0781203b83efd717dc9bab2671\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7219089\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "0c2782221509306fc22310ddf8df352e87fcdc2a",
      "tree": "9f970bccc70bd34fc4c63570e4fb5b1c3ead8fe5",
      "parents": [
        "6ea8f18577165bbe339933f15ee62e509873cb64"
      ],
      "author": {
        "name": "mark a. foltz",
        "email": "mfoltz@chromium.org",
        "time": "Thu Dec 04 00:23:11 2025"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Dec 04 18:45:56 2025"
      },
      "message": "Roll buildtools/ 5df641722..eca5f0685 (13 commits)\n\nhttps://chromium.googlesource.com/chromium/src/buildtools/+log/5df641722f2e..eca5f0685c48\n\n$ git log 5df641722..eca5f0685 --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2025-12-01 chromium-autoroll Roll libc++ from fa224989fd9c to 07572e7b1692 (1 revision)\n2025-11-29 chromium-autoroll Roll libc++ from 878734a6161d to fa224989fd9c (4 revisions)\n2025-11-28 chromium-autoroll Roll libc++ from 9fcc9571e6c2 to 878734a6161d (2 revisions)\n2025-11-28 thakis Roll libc++ from 13cfd0942dfd to 9fcc9571e6c2 (16 revisions)\n2025-11-27 chromium-autoroll Roll libc++ and libcxxabi across aligned_alloc.h change\n2025-11-27 thakis Roll libc++ from 25731e23e3aa to 91c45fc28459 (2 revisions)\n2025-11-26 chromium-autoroll Roll libc++ from 99d9ab2603b0 to 25731e23e3aa (20 revisions)\n2025-11-21 chromium-autoroll Roll libc++ from 4cba0fa3571b to 99d9ab2603b0 (9 revisions)\n2025-11-21 jj [buildtools] Remove unrar exception from checkdeps/cpp_checker\n2025-11-20 thakis Roll libc++ from 0e3285ac398e to 4cba0fa3571b (1 revision)\n2025-11-20 chromium-autoroll Roll libc++ from be279eb793eb to 0e3285ac398e (10 revisions)\n2025-11-19 thakis Roll libc++ from 29d97bf40ff6 to be279eb793eb (20 revisions)\n2025-11-19 thakis Roll libc++ from 454a561737fb to 29d97bf40ff6 (12 revisions)\n\nCreated with:\n  roll-dep buildtools\n\n\nRoll third_party/libc++/src/ 454a56173..07572e7b1 (99 commits)\n\nhttps://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/454a561737fb..07572e7b1692\n\n$ git log 454a56173..07572e7b1 --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2025-12-01 nikolasklauser [Clang] Add __builtin_common_reference (#121199)\n2025-11-28 vturanskyy [libc++] Add support for picolibc and newlib in RUNTIMES_USE_LIBC (#147956)\n2025-11-28 de34 [libc++][NFC] Simplify SFINAE detections in `weak_result_type.h` (#169870)\n2025-11-28 nikolasklauser [libc++][NFC] Simplify string.bench.cpp a bit (#169791)\n2025-11-28 github [libcxx] Unwrap iterators in __find_segment (#161274)\n2025-11-28 nikolasklauser Revert \"[libc++] Fix the locale base API on Linux with musl\" (#169884)\n2025-11-27 reactive-firewall [libc++] Fix the locale base API on Linux with musl (#167980)\n2025-11-27 nikolasklauser [libc++] Merge the implementations of ranges::copy_n and std::copy_n and fix vector::insert to assign (#157444)\n2025-11-27 nikolasklauser [libc++][C++03] Remove code in the C++03-specific tests that is guarded on the language version (#169354)\n2025-11-27 hghristov.rmm [libc++][flat_set] Applied `[[nodiscard]]` (#169739)\n2025-11-27 hghristov.rmm [libc++][deque] Applied `[[nodiscard]]` (#169745)\n2025-11-27 wtranviet [libc++] Reformat `optional` constructor tests (#169231)\n2025-11-27 hghristov.rmm [libc++][mdspan] Applied `[[nodiscard]]` (#169326)\n2025-11-27 hghristov.rmm [libc++][queue] Applied `[[nodiscard]]` (#169469)\n2025-11-27 hghristov.rmm [libc++] Applied `[[nodiscard]]` to concurrency (partially) (#169463)\n2025-11-26 hghristov.rmm [libc++] Applied `[[nodiscard]]` to Language Support (partially) (#169611)\n2025-11-26 hghristov.rmm [libc++][flat_map] Applied `[[nodiscard]]` (#169453)\n2025-11-25 hghristov.rmm [libc++][stack] Applied `[[nodiscard]]` (#169468)\n2025-11-25 hghristov.rmm [libc++] Applied `[[nodiscard]]` to some general utilities (#169322)\n2025-11-25 nikolasklauser [libc++] Introduce __specialized_algorithms (#167295)\n2025-11-25 nikolasklauser [libc++] Always define _LIBCPP_GLIBC_PREREQ (#169405)\n2025-11-25 nikolasklauser [libc++][C++03] Fix ODR tests (#169349)\n2025-11-25 hghristov.rmm [libc++][string] Applied `[[nodiscard]]` to non-member functions (#169330)\n2025-11-24 49250218+googlewalt Fix path to aligned_alloc.h in #include statement (#169418)\n2025-11-24 nikolasklauser [libc++][NFC] Move __memory/aligned_alloc.h into src/ (#166172)\n2025-11-24 martin [libcxx] [test] Fix the gets-removed.verify.cpp test with Clang 21 (#169235)\n2025-11-24 hghristov.rmm [libc++][string_view] Applied `[[nodiscard]]` (#169010)\n2025-11-24 nikolasklauser [libc++] Disable header deprecations until #168041 is landed (#169305)\n2025-11-24 david.spickett Revert \"[libcxx][ci] Temporarily disable ARM jobs\" (#169352)\n2025-11-24 nikolasklauser [libc++] Optimize num_get integral functions (#121795)\n2025-11-24 hghristov.rmm [libc++][forward_list] Applied `[[nodiscard]]` (#169019)\n2025-11-24 david.spickett [libcxx][ci] Temporarily disable ARM jobs (#169318)\n2025-11-24 hghristov.rmm [libc++][list] Applied `[[nodiscard]]` (#169015)\n2025-11-24 hghristov.rmm [libc++][array] Applied `[[nodiscard]]` (#168829)\n2025-11-24 nikolasklauser [libc++] Forward std::all_of and std::none_of to std::any_of (#167670)\n2025-11-24 nikolasklauser [libc++] Introduce basic_string::__allocate_long_buffer_for_growing (#162633)\n2025-11-22 hghristov.rmm [libc++][any] Applied `[[nodiscard]]` (#168826)\n2025-11-21 fmayer [NFC] [test] [libcxx] Fix invalid escape sequences (#168636)\n2025-11-22 hghristov.rmm [libc++][any][NFC] Reformat and refactor any_cast tests (#169057)\n2025-11-21 rupprecht [libc++] Revert fstream::read optimizations (#168894)\n2025-11-21 floating [libc++] Optimize std::has_single_bit (#133063)\n2025-11-21 bizwen [libc++][Windows] Enable thread::hardware_concurrency to support more than 64 processors (#168229)\n2025-11-20 hristo.goshev.hristov [libc++][memory] Applied `[[nodiscard]]` to smart pointers (#168483)\n2025-11-19 nikolasklauser [libc++] Remove is_signed\u003cT\u003e use from \u003climits\u003e (#168334)\n2025-11-19 saugustine Add test case for xsgetn in basic_filebuf (#167937)\n2025-11-19 nikolasklauser [libc++] Make views::iota aware of __int128 (#167869)\n2025-11-18 nikolasklauser [libc++] Fix header deprecations (#163356)\n2025-11-18 hghristov.rmm [libc++][span] Mark functions as `[[nodiscard]]` (#168033)\n2025-11-17 ldionne.2 [libc++] Replace a few .compile.fail.cpp tests by proper clang-verify tests (#167346)\n2025-11-17 ldionne.2 [libc++] Enable compiler-rt when performing a bootstrapping build (#167065)\n2025-11-17 nikolasklauser [libc++] Fix __hash_table::erase(iterator, iterator) to update the bucket list correctly when erasing the last bucket (#167865)\n2025-11-17 nikolasklauser [libc++] Refactor basic_string::__recommend (#162631)\n2025-11-16 aidengrossman [libcxx] Install ninja in CI container from system repo (#168225)\n2025-11-16 hui.xie1990 [libc++][test] re-enable the inference test for clang (#168258)\n2025-11-15 de34 [libc++] Make `std::numeric_limits\u003cNonPromoted\u003e::traps` `false` (#166724)\n2025-11-15 hghristov.rmm [libc++] Apply `[[nodiscard]]` to `in/out_ptr` (#167097)\n2025-11-14 varconsteq [libc++][hardening] Allow setting the assertion semantic via CMake. (#167636)\n2025-11-14 molenoch [libc++] proper guarding for locale usage in filesystem on Windows (#165470)\n2025-11-14 ldionne.2 [libc++] Reorganize and fix the libc++ CI dockerfiles (#167530)\n2025-11-14 martin [libcxx] [doc] Document the supported target versions of Windows (#167845)\n2025-11-14 martin [libcxx] [doc] Update the docs about LIBCXX_ENABLE_FILESYSTEM (#167843)\n2025-11-14 hghristov.rmm [libc++][ranges] LWG3505: `split_view::outer-iterator::operator++` misspecified (#155160)\n2025-11-13 michaelrj [libcxx] Fix xsgetn in basic_filebuf (#167779)\n2025-11-13 nikolasklauser [libc++] Merge is_{,un}bounded_array.h into is_array.h (#167479)\n2025-11-13 nikolasklauser [libc++] Add an initial modulemap for the test support headers (#162800)\n2025-11-13 sanders_roger [libc++] Improve performance of std::atomic_flag on Windows (#163524)\n2025-11-13 nikolasklauser [libc++] Simplify the implementation of the unique_ptr -\u003e shared_ptr converting constructor (#165619)\n2025-11-13 nikolasklauser [libc++] Implement our own is{,x}digit functions for the C locale (#165467)\n2025-11-12 hnrklssn [utils] revamp options controlling lit\u0027s output (#167192)\n2025-11-12 nikolasklauser [libc++] Simplify the implementation of aligned_storage (#162459)\n2025-11-12 w3cing [libc++] Guard fileno() and isatty() usage correctly for Newlib. (#166668)\n2025-11-12 nikolasklauser [libc++] Optimize __tree copy/move constructor/assignment with allocator (#163558)\n2025-11-12 nikolasklauser [libc++] Mark string functions as [[nodiscard]] (#166524)\n2025-11-12 nikolasklauser [libc++] Use variable templates in is_floating_point (#167141)\n2025-11-11 wtranviet [libc++] Implement P2988R12: `std::optional\u003cT\u0026\u003e` (#155202)\n2025-11-11 nikolasklauser [libc++] Remove \u003cstdbool.h\u003e (#164595)\n2025-11-11 ldionne.2 [libc++] Split features.py into multiple files (#167353)\n2025-11-11 ldionne.2 [libc++] Remove __is_replaceable emulation (#167355)\n2025-11-11 nikolasklauser [libc++][NFC] Make the exception implementation files self-contained (#164377)\n2025-11-11 nikolasklauser [libc++] Remove some of the uses of aligned_storage inside the library (#161635)\n2025-11-10 nikolasklauser [libc++] Inline vector::__append into resize (#162086)\n2025-11-10 ldionne.2 [libc++] Split macros related to hardening into their own header (#167069)\n2025-11-10 ldionne.2 [libc++][NFC] Remove unused imports from generate_feature_test_macro_components.py (#159591)\n2025-11-11 de34 [libc++][docs] Update to refer to P3355R2 (#167267)\n2025-11-10 de34 [libc++] Avoid overloaded `operator,` for (`T`, `Iter`) cases (#161049)\n2025-11-10 nikolasklauser [libc++] Merge insert/emplace(const_iterator, Args...) implementations (#166470)\n2025-11-10 nikolasklauser [libc++] Replace __libcpp_is_final with a variable template (#167137)\n2025-11-10 nikolasklauser [libc++] Replace the last uses of __tuple_types with __type_list (#167214)\n2025-11-09 hghristov.rmm [libc++][numeric] Marked saturation artithmetic functions as `[[nodiscard]]` (#166898)\n2025-11-09 de34 [libc++] Treat P0513R0 as a defect report against C++11 (#166690)\n2025-11-08 ldionne.2 [libc++] Run macOS buildbot under xcrun (#167072)\n2025-11-08 de34 [libc++][test] Fix-up tests for `is_clock(_v)` (#166888)\n2025-11-07 nikolasklauser [libc++] Optimize fstream::read (#165223)\n2025-11-07 nikolasklauser [libc++] Simplify most of the segmented iterator optimizations (#164797)\n2025-11-06 ych [libcxx] Implement C++20 std::chrono::is_clock, std::chrono::is_clock_v (#160607)\n2025-11-05 mark.danial [AIX] Enable libc++ bots on AIX (#166650)\n2025-11-05 nikolasklauser [libc++][NFC] Make __type_info_implementations a namespace (#166339)\n2025-11-05 nikolasklauser [libc++] Remove \u003ccstdlib\u003e include from \u003cexception\u003e (#166340)\n2025-11-05 hghristov.rmm [libc++][NFC] Removed unsupported compilers from tests (#166403)\n\nCreated with:\n  roll-dep third_party/libc++/src\n\n\nRoll third_party/libc++abi/src/ de02e5d57..83a852080 (1 commit)\n\n    https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/de02e5d57052..83a852080747\n\n    $ git log de02e5d57..83a852080 --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n    2025-11-24 nikolasklauser [libc++][NFC] Move __memory/aligned_alloc.h into src/ (#166172)\n\nCreated with:\n      roll-dep third_party/libc++abi/src\n\n\nChange-Id: I149626ae7e8f6121d1711f71e15994f20c8e1b5f\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7226339\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "6ea8f18577165bbe339933f15ee62e509873cb64",
      "tree": "8c832fdf1a5c68959bf6769618dc054e24151c28",
      "parents": [
        "99840ea845d0b98e93a178263c22388d3bcdb916"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Thu Dec 04 17:12:37 2025"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Dec 04 18:45:49 2025"
      },
      "message": "Roll build/ f2bcd9276..3c58005ad (28 commits)\n\nhttps://chromium.googlesource.com/chromium/src/build/+log/f2bcd9276005..3c58005adf6e\n\n$ git log f2bcd9276..3c58005ad --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2025-12-04 drott Update FreeType comment in freetype.gni\n2025-12-04 victorvianna [build] Set use_cxx23 to true by default (new features not allowed yet!)\n2025-12-04 victorvianna Revert \"[build] Allow other repos to control use_cxx23 with build_overrides\"\n2025-12-04 anandrv [base/android] Attribute source code location for AsyncTask\n2025-12-04 ziegltrum Revert \"Enable BTI for Linux on Arm targets\"\n2025-12-04 tarcisio.fischer Enable BTI for Linux on Arm targets\n2025-12-03 zijiehe [Fuchsia] Disable size optimization for perf-optimized builder\n2025-12-03 chromium-internal-autoroll Roll Fuchsia Internal Images from 30.20251125.103.1 to 30.20251203.101.1\n2025-12-03 agrieve Android: Mention siso_failed_commands.sh in the deps suggester failure hint\n2025-12-03 ashleynewson Revert \"Reland \"Make test APK the default browser app if it has APP_BROWSER category\"\"\n2025-12-03 kubo ios_app_bundle: Allow intents_target to work with testonly\u003dtrue\n2025-12-02 msta Prefix disable-diagnostic-validation with -Xclang.\n2025-12-02 linyuh Reland \"Make test APK the default browser app if it has APP_BROWSER category\"\n2025-12-02 bsheedy Reland \"Run GPU TSAN tests on SwiftShader\"\n2025-12-02 ayumiohno PA: Restrict use_sized_deallocation’s assertion to Clang\n2025-12-02 bungeman Remove FreeType dependency from Fuchsia builds\n2025-12-02 bjoyce Add module scheme support for components_perftests\n2025-12-01 tasak Reland \"[1/4] Implement AsanRawPtrService V2\"\n2025-12-01 nya Revert \"[1/4] Implement AsanRawPtrService V2\"\n2025-12-01 clhager Revert \"Make test APK the default browser app if it has APP_BROWSER category\"\n2025-12-01 tasak [1/4] Implement AsanRawPtrService V2\n2025-12-01 linyuh Make test APK the default browser app if it has APP_BROWSER category\n2025-12-01 jwata bench: List up .json.N trace files in build/bench/ftime.py\n2025-11-30 ayumiohno PA: Enable use_sized_deallocation if not optimize_for_size\n2025-11-27 lehoangquyen Revert \"[Android] Configure GBoard in Android 15 to disable stylus\"\n2025-11-27 hnakashima [Android] Configure GBoard in Android 15 to disable stylus\n2025-11-26 ukai use msan instrumented libs if host_toolchain_is_msan\n2025-11-26 ukai Revert \"mitigate codesearch-gen-chromium-fuchsia\"\n\nCreated with:\n  roll-dep build\n\nChange-Id: If8a4969f315af63cbbd5c401ac4ac20a8adf1074\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7228766\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "99840ea845d0b98e93a178263c22388d3bcdb916",
      "tree": "babd720bef9cd06c5289303f99b307896adad793",
      "parents": [
        "2f501fd6f616e647b8f3f4af2e8decfc91151a49"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Wed Dec 03 19:59:25 2025"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Dec 03 21:09:44 2025"
      },
      "message": "Override use_cxx23 to false in openscreen\n\nOpenscreen generally has the same consumers as WebRTC. So while WebRTC\nstays in C++20, so should openscreen.\n\nBug: 388070065\nChange-Id: If7ed4b5beaa59999377a74b4acd362d7a18de993\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7225673\nCommit-Queue: Victor Vianna \u003cvictorvianna@google.com\u003e\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "2f501fd6f616e647b8f3f4af2e8decfc91151a49",
      "tree": "0ae792da727d9a21a03136573cb062b9e8ad6c9d",
      "parents": [
        "734877394201dcfcc786b3c8ea057b7607a56993"
      ],
      "author": {
        "name": "mark a. foltz",
        "email": "mfoltz@chromium.org",
        "time": "Wed Nov 26 22:17:24 2025"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Dec 01 22:46:41 2025"
      },
      "message": "Roll build/ 371ecb089..f2bcd9276 (34 commits)\n\nhttps://chromium.googlesource.com/chromium/src/build/+log/371ecb089d96..f2bcd9276005\n\n$ git log 371ecb089..f2bcd9276 --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2025-11-26 wnwen android: Update docs to use ChromePublic/Trichrome\n2025-11-26 zijiehe [fuchsia] Move permission control to web_engine_config\n2025-11-26 tikuta build: Do not include buildtools directory in clang modules build\n2025-11-25 chromium-internal-autoroll Roll Fuchsia Internal Images from 30.20251118.102.1 to 30.20251125.103.1\n2025-11-25 msta Write a script to analyze the amount of time spent #including each file.\n2025-11-25 ajgo Delayload iphlpapi \u0026 dhcpcsvc\n2025-11-25 justincohen ios: Enforce EarlyMallocZoneRegistration load order in Chrome\n2025-11-21 gulfem [build] Balanced partitioning for section ordering\n2025-11-21 agrieve Revert \"build: Speed up JUnit test listing\"\n2025-11-21 victorvianna [build] Remove use_cxx17 support\n2025-11-21 victorvianna [build] Allow other repos to control use_cxx23 with build_overrides\n2025-11-21 pkaplan wrap the privileged helper executable identifier string in quotes\n2025-11-21 jmarc Enable checking system_headers for windows compile.\n2025-11-21 zequanwu Reland \"Roll clang+rust llvmorg-22-init-12326-g8a5f1533-2 : llvmorg-22-init-14273-gea10026b-1 / ab925646fae038b02bd462cd328ae9eef1639236-1 : 11339a0ef5ed586bb7ea4f85a9b7287880caac3a-1\"\n2025-11-21 luci-bisection Revert \"Roll clang+rust llvmorg-22-init-12326-g8a5f1533-2 : llvmorg-22-init-14273-gea10026b-1 / ab925646fae038b02bd462cd328ae9eef1639236-1 : 11339a0ef5ed586bb7ea4f85a9b7287880caac3a-1\"\n2025-11-20 ukai mitigate codesearch-gen-chromium-fuchsia\n2025-11-20 msta Write a script to generate a database of performance metrics.\n2025-11-20 wnwen build: Speed up JUnit test listing\n2025-11-20 ollel Disable sanitizer in gn instead of passing around an ignorelist\n2025-11-20 thestig Include \u003cfeatures.h\u003e directly in build_config.h on Linux\n2025-11-20 agrieve Android: Suppress androidx roll tracereferences failure\n2025-11-20 wnwen android: Use merged manifest for lint targets\n2025-11-19 msta Fix some minor issues with the run_action benchmark.\n2025-11-19 victorvianna Add autoconf to install-build-deps.py\n2025-11-19 drubery Fix line-ending in build/config/fuchsia/gn_configs.gni\n2025-11-19 beainsa [TDR] Remove TODOs linked to issue 40616187.\n2025-11-19 wnwen build: Move Android lint target from bundle to apk\n2025-11-19 zbikowski Remove old-style Android ARM64 PGO profile roller artifacts\n2025-11-18 jwata build: forward configs to compiled_action_foreach\n2025-11-18 jmarc Fix the hardcoded -MMD compile command on Mac.\n2025-11-18 msta Add a tool to benchmark the speed of building a specific file locally.\n2025-11-18 zijiehe [fuchsia] Update default Fuchsia target API level to 29\n2025-11-18 chromium-internal-autoroll Roll Fuchsia Internal Images from 30.20251110.103.1 to 30.20251118.102.1\n2025-11-18 agrieve Android: Change default target_cpu from \"arm\" to \"arm64\"\n\nCreated with:\n  roll-dep build\nR\u003djophba@chromium.org\n\nChange-Id: If7c213b47a3fb61b3eaee1f8f568db6f5ac0379d\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7206857\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "734877394201dcfcc786b3c8ea057b7607a56993",
      "tree": "1881a6273ee6a508241cbf1f4e0cca95642876ee",
      "parents": [
        "8af5e085b87db81be11c6457d6dcc4149d78a48b"
      ],
      "author": {
        "name": "Jordan",
        "email": "rop@google.com",
        "time": "Fri Nov 14 04:28:20 2025"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 28 06:39:06 2025"
      },
      "message": "Fix metadata for jsoncpp in openscreen\n\nAdded revision 9059f5cad030ba11d37818847443a53918c327b1.\nCommands run to determine revision:\ncd jsoncpp \u0026\u0026 git rev-parse 1.9.4\n\nBug: 460543159\nChange-Id: Idf8bc327357c2cff6f6e7e5c2bc5a93225eaae42\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7154241\nCommit-Queue: Jordan Brown \u003crop@google.com\u003e\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nOwners-Override: Jordan Brown \u003crop@google.com\u003e\nReviewed-by: Jiewei Qian \u003cqjw@chromium.org\u003e\n"
    },
    {
      "commit": "8af5e085b87db81be11c6457d6dcc4149d78a48b",
      "tree": "290e3628924e1d6c302ab7b7adf07d8b9d7e8990",
      "parents": [
        "6eda0c9075d8dd767c07c98e0e2e0b5dfe57e4c9"
      ],
      "author": {
        "name": "Martin Duke",
        "email": "martinduke@google.com",
        "time": "Thu Nov 20 17:30:07 2025"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 20 23:57:29 2025"
      },
      "message": "Update QuicVersionsAPI. handshake_protocol is redundant and being eliminated.\n\nR\u003dmartinduke@google.com\n\nChange-Id: I871285c3d0f87b168e39c71b7a1971cae2696ca7\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7179540\nCommit-Queue: Mark Foltz \u003cmfoltz@chromium.org\u003e\nReviewed-by: Ryan Hamilton \u003crch@chromium.org\u003e\nReviewed-by: Mark Foltz \u003cmfoltz@chromium.org\u003e\n"
    },
    {
      "commit": "6eda0c9075d8dd767c07c98e0e2e0b5dfe57e4c9",
      "tree": "be4bebb06891c5fc9fff92d048f6ffd06efa7827",
      "parents": [
        "39fa0ff22414b59df16a6d8f032b2595c73c6d59"
      ],
      "author": {
        "name": "Victor Vianna",
        "email": "victorvianna@google.com",
        "time": "Thu Nov 20 16:40:22 2025"
      },
      "committer": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Thu Nov 20 20:07:04 2025"
      },
      "message": "Revert \"Update to Xcode 26 in Mac bots\"\n\nThis reverts commit bb51ae14435646f7dc7d30cbb86fd4a290404d98.\n\nReason for revert: following crrev.com/c/7171485, openscreen should be able to rely on the default xcode version of the bots\n\nOriginal change\u0027s description:\n\u003e Update to Xcode 26 in Mac bots\n\u003e\n\u003e This is needed to unblock rolling //build.\n\u003e\n\u003e Change-Id: I15f686c47523e63bd91c569d87bf519d926eb7ab\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7153718\n\u003e Reviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\n\u003e Commit-Queue: Victor Vianna \u003cvictorvianna@google.com\u003e\n\nBug: 461757070\nChange-Id: I089d67c22c22a92d9eff5fec6c92535b5b45d212\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7177781\nBot-Commit: Rubber Stamper \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "39fa0ff22414b59df16a6d8f032b2595c73c6d59",
      "tree": "8af05a585b0455e6d4c890153604f6fcad920cc5",
      "parents": [
        "c8446eee6867b21c905b159472b667addd9cd961"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Tue Nov 18 16:52:35 2025"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 18 19:48:40 2025"
      },
      "message": "Roll various build dependencies\n\ngn, buildtools, build, this_party/jsoncpp, quiche, libfuzzer,\nlibc++, libc++abi, llvm-libc, googleurl and clang. This roll required replacing use of src/tools/clang/scripts/update.py with explicit GCS\ndependencies (like chromium/src does), in order to fetch llvm-otool for\nMac.\n* https://gn.googlesource.com/gn.git/+log/487f8353f154..c5a0003bcc2a\n* https://chromium.googlesource.com/chromium/src/buildtools/+log/077a66f30fcf..5df641722f2e\nhttps://chromium.googlesource.com/chromium/src/build/+log/526c6cbd6a32..371ecb089d9\n* https://chromium.googlesource.com/external/github.com/open-source-parsers/jsoncpp/+log/89e2973c754a9c02a49974d839779b151e95afd6..9af09c4a4abe5928d1f7a6e7ec1c73a565bb362e\n* https://quiche.googlesource.com/quiche/+log/810b9a7bc88326591de298c381ab2cf92037768f..2b80e306994b02b4bdb067166960d3550fcb9430\n* https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt/lib/fuzzer/+log/e31b99917861f891308269c36a32363b120126bb..bea408a6e01f0f7e6c82a43121fe3af4506c932e\n* https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx/+log/11c38d901d29bc91aee3efb53652f7141f72f47f..454a561737fb62e75ba82bfae9fb07ee64acdd68\n* https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi/+log/83dfa1f5bfce32d5f75695542468e37ead8163b8..de02e5d57052b3b6d5fcd76dccde9380bca39360\n* https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc/+log/2222607a3ea3d5f65338d3b36a4cc5fb563169ab..74b25173cba70124bff5da97cc339d90c516c5f6\n* https://quiche.googlesource.com/googleurl/+log/dfe8ef6164f8b4e3e9a9cbe8521bb81359918393..94ff147fe0b96b4cca5d6d316b9af6210c0b8051\n\nBug: None\nChange-Id: Ifbad25f82f898f0cf5a096f45c4867a8f7397ba7\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7116905\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "c8446eee6867b21c905b159472b667addd9cd961",
      "tree": "ccc11126fbd7a032cfc1bcc075dcf9359585d2b6",
      "parents": [
        "3fbbb548aa18f2fb2b5c4453377cafe48f782bcc"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Tue Nov 18 16:52:16 2025"
      },
      "committer": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue Nov 18 18:52:14 2025"
      },
      "message": "Fix `git cl presubmit --all` errors/warnings\n\nFormat one BUILD.gn file, and avoid a false positive from checkdeps.py\n\nChange-Id: I52398fff63e9bda4b2f5bd658c3ff0b4fb51e28b\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7169123\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "3fbbb548aa18f2fb2b5c4453377cafe48f782bcc",
      "tree": "9bdfb7b9abb74c919192cba7ccd91fc7d0e321c0",
      "parents": [
        "24eb94cc80c4a86cb8ad281d249fd7afd85f7f3e"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Mon Nov 17 11:13:27 2025"
      },
      "committer": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue Nov 18 07:08:36 2025"
      },
      "message": "Allow using led in openscreen\n\n`led` is a tool that allows testing infra changes ahead of submission.\nIt needs dedicated setup, handled by this CL. No-Try because the mac\nbot is broken.\n\nNo-Try: true\nChange-Id: Ic37d701dc8e887eac092678c878eafe084444cb3\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7157554\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "24eb94cc80c4a86cb8ad281d249fd7afd85f7f3e",
      "tree": "84126fb25712b53a27f1d31e364bdd20fe7344b6",
      "parents": [
        "619fcbf419e16605ab44102164b64032f00aff22"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Fri Nov 14 10:30:17 2025"
      },
      "committer": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue Nov 18 07:08:05 2025"
      },
      "message": "Reland \"Feat: Implement receiver-side statistics gathering and reporting\"\n\nThis reverts commit 619fcbf419e16605ab44102164b64032f00aff22.\n\nReason for revert: fixed bound error.\n\nOriginal change\u0027s description:\n\u003e Revert \"Feat: Implement receiver-side statistics gathering and reporting\"\n\u003e\n\u003e This reverts commit ea12400ffb8208922a255c5348deb234878ffd4e.\n\u003e\n\u003e Reason for revert: Causing Linux-UBSan test failures\n\u003e https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20UBSan%20Tests/11642/overview\n\u003e\n\u003e Original change\u0027s description:\n\u003e \u003e Feat: Implement receiver-side statistics gathering and reporting\n\u003e \u003e\n\u003e \u003e This commit implements the core logic for gathering and reporting\n\u003e \u003e receiver-side statistics. It integrates `RtpTimeTicks` into\n\u003e \u003e `SDLPlayerBase` for accurate playout event reporting, and adds the\n\u003e \u003e `ReportPlayoutEvent` interface to `ReceiverBase`. The `Receiver`\n\u003e \u003e class is updated to collect packet received, frame ACK, and frame\n\u003e \u003e played out events, which are then sent via RTCP log messages.\n\u003e \u003e\n\u003e \u003e Furthermore, the `StatisticsAnalyzer` is refined to leverage a\n\u003e \u003e dedicated clock offset estimator for network latency, improving the\n\u003e \u003e accuracy of statistics. Extensive unit tests are added to verify the\n\u003e \u003e correctness of the new statistics gathering and reporting mechanisms.\n\u003e \u003e\n\u003e \u003e Bug: 448199360\n\u003e \u003e Change-Id: I5a9b7dd98ac26bd4bff20cb1adc02ccf18092b45\n\u003e \u003e Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7140301\n\u003e \u003e Reviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\n\u003e \u003e Commit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n\u003e\n\u003e Bug: 448199360\n\u003e No-Presubmit: true\n\u003e No-Tree-Checks: true\n\u003e No-Try: true\n\u003e Change-Id: I11d7833c7f6c3ed285f02adb2b3b22bf7f5a3de5\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7154239\n\u003e Bot-Commit: Rubber Stamper \u003crubber-stamper@appspot.gserviceaccount.com\u003e\n\u003e Owners-Override: Jiacheng Guo \u003cgjc@google.com\u003e\n\u003e Commit-Queue: Jiacheng Guo \u003cgjc@google.com\u003e\n\nBug: 448199360\nChange-Id: I569a34144c1646fe852d5a070c0e51ce298d410a\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7156913\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\n"
    },
    {
      "commit": "619fcbf419e16605ab44102164b64032f00aff22",
      "tree": "29390a359197703c75829a7ea0510643681b73bc",
      "parents": [
        "bb51ae14435646f7dc7d30cbb86fd4a290404d98"
      ],
      "author": {
        "name": "Jiacheng Guo",
        "email": "gjc@google.com",
        "time": "Fri Nov 14 01:40:42 2025"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 14 01:42:06 2025"
      },
      "message": "Revert \"Feat: Implement receiver-side statistics gathering and reporting\"\n\nThis reverts commit ea12400ffb8208922a255c5348deb234878ffd4e.\n\nReason for revert: Causing Linux-UBSan test failures\nhttps://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20UBSan%20Tests/11642/overview\n\nOriginal change\u0027s description:\n\u003e Feat: Implement receiver-side statistics gathering and reporting\n\u003e\n\u003e This commit implements the core logic for gathering and reporting\n\u003e receiver-side statistics. It integrates `RtpTimeTicks` into\n\u003e `SDLPlayerBase` for accurate playout event reporting, and adds the\n\u003e `ReportPlayoutEvent` interface to `ReceiverBase`. The `Receiver`\n\u003e class is updated to collect packet received, frame ACK, and frame\n\u003e played out events, which are then sent via RTCP log messages.\n\u003e\n\u003e Furthermore, the `StatisticsAnalyzer` is refined to leverage a\n\u003e dedicated clock offset estimator for network latency, improving the\n\u003e accuracy of statistics. Extensive unit tests are added to verify the\n\u003e correctness of the new statistics gathering and reporting mechanisms.\n\u003e\n\u003e Bug: 448199360\n\u003e Change-Id: I5a9b7dd98ac26bd4bff20cb1adc02ccf18092b45\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7140301\n\u003e Reviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\n\u003e Commit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n\nBug: 448199360\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nChange-Id: I11d7833c7f6c3ed285f02adb2b3b22bf7f5a3de5\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7154239\nBot-Commit: Rubber Stamper \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nOwners-Override: Jiacheng Guo \u003cgjc@google.com\u003e\nCommit-Queue: Jiacheng Guo \u003cgjc@google.com\u003e\n"
    },
    {
      "commit": "bb51ae14435646f7dc7d30cbb86fd4a290404d98",
      "tree": "6b8dbb9e1898008f782db0c27909e9f9bb919222",
      "parents": [
        "2fc2a2e620a5eb6536aa237c9c6628d3db5f3ae7"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Thu Nov 13 21:27:50 2025"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 14 01:20:28 2025"
      },
      "message": "Update to Xcode 26 in Mac bots\n\nThis is needed to unblock rolling //build.\n\nChange-Id: I15f686c47523e63bd91c569d87bf519d926eb7ab\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7153718\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\nCommit-Queue: Victor Vianna \u003cvictorvianna@google.com\u003e\n"
    },
    {
      "commit": "2fc2a2e620a5eb6536aa237c9c6628d3db5f3ae7",
      "tree": "0f23599face6e1e5b74039fff72072b5831fb328",
      "parents": [
        "ea12400ffb8208922a255c5348deb234878ffd4e"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Thu Nov 13 21:26:50 2025"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 14 01:18:20 2025"
      },
      "message": "Remove default parameters for OS and architecture from main.star\n\nThese are too important, it\u0027s best to make them explicit. Also fix\nthe _CheckGeneratedInfraFiles presubmit check I added when CQ was\ncompletely busted. It should use PresubmitPromptWarning, not\nPresubmitWarning.\n\nBug: None\nChange-Id: I81a3f77f64068173d913b43796485c49caccfc89\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7153638\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "ea12400ffb8208922a255c5348deb234878ffd4e",
      "tree": "b522ffc677ad24e5754b35badafd665cd8f318b4",
      "parents": [
        "1bfc25ca8d4d009a1c22a16a2a04b7df02a01d80"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue Nov 11 08:15:40 2025"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 13 05:21:17 2025"
      },
      "message": "Feat: Implement receiver-side statistics gathering and reporting\n\nThis commit implements the core logic for gathering and reporting\nreceiver-side statistics. It integrates `RtpTimeTicks` into\n`SDLPlayerBase` for accurate playout event reporting, and adds the\n`ReportPlayoutEvent` interface to `ReceiverBase`. The `Receiver`\nclass is updated to collect packet received, frame ACK, and frame\nplayed out events, which are then sent via RTCP log messages.\n\nFurthermore, the `StatisticsAnalyzer` is refined to leverage a\ndedicated clock offset estimator for network latency, improving the\naccuracy of statistics. Extensive unit tests are added to verify the\ncorrectness of the new statistics gathering and reporting mechanisms.\n\nBug: 448199360\nChange-Id: I5a9b7dd98ac26bd4bff20cb1adc02ccf18092b45\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7140301\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "1bfc25ca8d4d009a1c22a16a2a04b7df02a01d80",
      "tree": "dddfe6da6336858183ca4a6ae6f8463e56c32508",
      "parents": [
        "f99fa970383546329872d494efbddb7987d3c3a6"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Wed Nov 12 06:01:07 2025"
      },
      "committer": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Wed Nov 12 17:32:08 2025"
      },
      "message": "[Infra] Gate backtrace() on not being Android\n\nThis patch fixes an Android build bug due to backtrace() not\nbeing available on the targeted version of Android.\n\nThe solution is just disabling backtraces on Android.\n\nChange-Id: Iea817622e679447545a16e1161989954a219c582\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7144610\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\n"
    },
    {
      "commit": "f99fa970383546329872d494efbddb7987d3c3a6",
      "tree": "b59a3f12183e82abbe7a2a5eea06851dc1b74dfd",
      "parents": [
        "ea89460c2ffce0e5869e7426c4a8b5bbbbc6b9a3"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Wed Nov 12 05:55:50 2025"
      },
      "committer": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Wed Nov 12 17:31:42 2025"
      },
      "message": "[Infra] Add missing protobuf files\n\nThis patch fixes my local build (and probably just a configuration\nthat is not currently built on the bots) by adding a few\nmissing protobuf related files, following steps listed in the\nprotobuf readme file:\n```\nthird_party/protobuf/README.chromium\n```\n\nBug: 388070065\nChange-Id: I16735ba7dde7da5dd550949a876094f540187f5a\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7144609\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "ea89460c2ffce0e5869e7426c4a8b5bbbbc6b9a3",
      "tree": "08f7a40a6c89cf8bffe69b31f7924543f1ec0b32",
      "parents": [
        "8dd6d6350c239d7a60d0fe933b5bae0fe556e978"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Wed Nov 12 02:06:55 2025"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 12 02:49:14 2025"
      },
      "message": "Fix target_cpu for mac bots\n\nThese bots are arm64 now.\n\nNo-Try: true\nChange-Id: I6e4969b57476ac88d11be5a1f2a4498d122dcd50\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7142899\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "8dd6d6350c239d7a60d0fe933b5bae0fe556e978",
      "tree": "7dedc65b23521fccff3e9269db8cc78177bdc0f4",
      "parents": [
        "64afc1ec96533d51ece5519a77c7e29018d80b84"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Wed Nov 12 01:13:26 2025"
      },
      "committer": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Wed Nov 12 01:21:06 2025"
      },
      "message": "Fix Mac bots architecture\n\nThere are no Mac-15 bots with x86_64, only arm64.\n\nChange-Id: Id99a6b90251ee43a7b506c82f230d75a94d17201\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7141959\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "64afc1ec96533d51ece5519a77c7e29018d80b84",
      "tree": "64d5ca72df74776056ed043dffa3ebfb5a1815e7",
      "parents": [
        "2176dcad8a4a0308fea753e98a3f0dafd72a1e6e"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue Nov 11 07:12:24 2025"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 12 01:17:37 2025"
      },
      "message": "Feat: Add session negotiation and RTCP message for receiver event logs\n\nThis commit introduces the foundational elements for receiver-side\nevent logging. It centralizes the `kCastName` constant, enables\nhandling of the new `kReceiverLog` RTCP subtype, and adds the\nnecessary infrastructure within `CompoundRtcpBuilder` to construct\nand send these log messages. Furthermore, it integrates the\n`are_receiver_event_logs_enabled` flag into `SessionConfig` and\n`OfferMessages`, allowing for negotiation of this feature during\nsession setup.\n\nBug: 448199360\nChange-Id: I648e8c1d071c1865057769e229ab3b406de3fedb\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7140300\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\n"
    },
    {
      "commit": "2176dcad8a4a0308fea753e98a3f0dafd72a1e6e",
      "tree": "0e4fa785a294b4f2b67bf7af3339c77655e3b969",
      "parents": [
        "155829ceec7ac96f4970c03e389fe3b379fa9228"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Tue Nov 11 04:28:13 2025"
      },
      "committer": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Wed Nov 12 01:16:25 2025"
      },
      "message": "Remove use of openscreen standalone bucket\n\nThis patch removes use of our standalone bucket, since it is being audited and we also don\u0027t really need it.\n\nBug: 458097717\nChange-Id: Ic5f33c98eb181690eb687ae93751cb136a299de1\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7140019\nReviewed-by: Muyao Xu \u003cmuyaoxu@google.com\u003e\n"
    },
    {
      "commit": "155829ceec7ac96f4970c03e389fe3b379fa9228",
      "tree": "41d61f760889156e872dc47dd70f16245e7b4fcd",
      "parents": [
        "6c3aa744abf8290c5306c9aa5ff4a6ff740aacbf"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Tue Nov 11 14:03:56 2025"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 12 01:00:53 2025"
      },
      "message": "Roll protobuf, quiche, instrumented_libraries and abseil\n\nFor convenience of review, patchset 1 purely copies\nthird_party/protobuf and tools/protoc_wrapper/protoc_wrapper.py from\nan up-to-date Chromium checkout (while also fixing\nthird_party/.gitignore so that protobuf code is properly checked into\nthe repo). The interesting diff is composed by the remaining patchsets,\nwhich fix build errors. In particular this requires rolling abseil and\nquiche.\n\nDiff:\nhttps://chromium-review.googlesource.com/c/openscreen/+/7124727/1..14\n\nBlamelists:\nhttps://quiche.googlesource.com/quiche/+log/5a433bd7de22c23700d046346bd3d3afe5c9cd07..810b9a7bc88326591de298c381ab2cf92037768f\nhttps://chromium.googlesource.com/chromium/third_party/instrumented_libraries/+log/3cc43119a29158bcde39d288a8def4b8ec49baf8..69015643b3f68dbd438c010439c59adc52cac808\nhttps://chromium.googlesource.com/external/github.com/abseil/abseil-cpp/+log/dd4c89bd657f1e247ce5111a5c89ffe6ccfd0c92..987c57f325f7fa8472fa84e1f885f7534d391b0d\nhttps://chromium.googlesource.com/external/github.com/protocolbuffers/protobuf/+log/fe271ab76f2ad2b2b28c10443865d2af21e27e0e..a79f2d2e9fadd75e94f3fe40a0399bf0a5d90551\n\nNO_IFTTT\u003dSpurious warnings due to iftt within protobuf\n\nBug: 388070065\nChange-Id: Id12de58599922f60e5e74e384accb78ab14738a4\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7124727\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    },
    {
      "commit": "6c3aa744abf8290c5306c9aa5ff4a6ff740aacbf",
      "tree": "74a77c4b5c51dd16eef0ca366c32fc08cf58c9d1",
      "parents": [
        "fed3b704ae67fd4f505e986bd96b99ea0f2fbcbb"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Tue Nov 11 13:14:36 2025"
      },
      "committer": {
        "name": "Openscreen LUCI CQ",
        "email": "openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 12 00:57:59 2025"
      },
      "message": "Regenerate infra cfg files and add a presubmit warning as a reminder\n\nI forgot to regenerate the .cfg files in https://crrev.com/c/7138041,\nso Mac bots didn\u0027t actually get updated.\n\nChange-Id: I8332335f217dd516ea2f25be42ccb3e377532fb5\nReviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7141480\nReviewed-by: Jordan Bayles \u003cjophba@chromium.org\u003e\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\n"
    }
  ],
  "next": "fed3b704ae67fd4f505e986bd96b99ea0f2fbcbb"
}
