)]}'
{
  "log": [
    {
      "commit": "b15e5f47d405170c8496b6073938174e2b4cef1e",
      "tree": "d4724ef3875327d3d10ae79f79e337af8ad7c5ad",
      "parents": [
        "a3703d381007c54a0464bc2182559fe17b927e09"
      ],
      "author": {
        "name": "SreeramaYeshwanthGowd",
        "email": "yeshwanthgowdsreerama@gmail.com",
        "time": "Fri Jul 24 00:36:20 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 12:06:20 2026 -0700"
      },
      "message": "Add equal_to_approx matcher for approximate numeric assertions (#39443)\n\n* Add equal_to_approx matcher for approximate numeric assertions\n\nequal_to only supports exact equality, so tests over floating point pipeline\noutput had to supply a custom equals_fn. Add equal_to_approx, which compares\nreal number elements (including numbers nested in tuples or lists) with\nmath.isclose using configurable rel_tol and abs_tol, reusing the existing\nequal_to matching. Includes unit tests and a CHANGES.md entry.\n\nFixes #18028\n\n* Address review feedback: show int inputs and expand equal_to_approx docstring\n\nApply reviewer suggestions on #39443: mix an int into the equal_to_approx\ntests to show integer inputs are accepted, and expand the equal_to_approx\ndocstring with an Args section and an example."
    },
    {
      "commit": "a3703d381007c54a0464bc2182559fe17b927e09",
      "tree": "5a0e4c20f072d70e498fd9ddcb06b903ede77521",
      "parents": [
        "eb9e7a3dacdeea074b22d833cb1fda789d09d6f4"
      ],
      "author": {
        "name": "Arun Pandian",
        "email": "pandiana@google.com",
        "time": "Thu Jul 23 12:05:25 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 21:05:25 2026 +0200"
      },
      "message": "[Dataflow Streaming][Multikey] Support MultiKey commits in windmill clients (#38768)\n\n* [Dataflow Streaming][Multikey] Support MultiKey commits in windmill clients\n- Add MultiKeyWorkItemCommitRequest to windmill.proto.\n- Support MultiKey commits in Commit model and StreamingEngineWorkCommitter.\n- Update GrpcCommitWorkStream to batch and stream MultiKey commit requests."
    },
    {
      "commit": "eb9e7a3dacdeea074b22d833cb1fda789d09d6f4",
      "tree": "8bee8c6da12e3f9105c48bf51867254a93b20a93",
      "parents": [
        "9c3f51e56e09f9b5dd7e1b30c5f78dc55d51142b"
      ],
      "author": {
        "name": "Shunping Huang",
        "email": "shunping@google.com",
        "time": "Thu Jul 23 14:34:15 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 14:34:15 2026 -0400"
      },
      "message": "Override default fadvise to fix regression from gcs-connector v3 upgrade (#39445)\n\n* Support serialization and deserialization for GoogleCloudStorageReadOptions\n\nFixes an issue where GoogleCloudStorageReadOptions set on GcsOptions\nwas annotated with @JsonIgnore, causing it to be omitted when serializing\nPipelineOptions for remote workers (e.g., Dataflow) and falling back to\ndefaults.\n\n* Add a unit test\n\n* Override default fadvice to SEQUENTIAL\n\nThis fixes the regression introduced by gcs-connector v3.\n\n* Spotless\n\n* Only support a subset of fields in GoogleCloudStorageReadOptions.\n\n* Refactor"
    },
    {
      "commit": "9c3f51e56e09f9b5dd7e1b30c5f78dc55d51142b",
      "tree": "ce44ce14a9926bb85661c323631fefcab32f5495",
      "parents": [
        "9833974946cb382aa3ea61d30591805d9da1243f"
      ],
      "author": {
        "name": "Elia Liu",
        "email": "Elialiu760317@outlook.com",
        "time": "Fri Jul 24 04:17:55 2026 +1000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 14:17:55 2026 -0400"
      },
      "message": "[Python] Add Watch transform with growth_of polling SDF (#39023)\n\n* [Python] Add Watch transform with growth_of polling SDF"
    },
    {
      "commit": "9833974946cb382aa3ea61d30591805d9da1243f",
      "tree": "baf23e5d44617a8bd9fa4ef465f853cc814fcb73",
      "parents": [
        "0140552d6d5fe028c6256f29ad7f10c1e8365274"
      ],
      "author": {
        "name": "Jack McCluskey",
        "email": "34928439+jrmccluskey@users.noreply.github.com",
        "time": "Thu Jul 23 13:05:46 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 13:05:46 2026 -0400"
      },
      "message": "Remove legacy HttpError usage in Bigtable I/O IT test (#39441)"
    },
    {
      "commit": "0140552d6d5fe028c6256f29ad7f10c1e8365274",
      "tree": "176f3e133cc65affeb2b9f523bdbe42b1d525019",
      "parents": [
        "a72d6cba37ad8c741005edd477ade137f9454b19"
      ],
      "author": {
        "name": "Jack McCluskey",
        "email": "34928439+jrmccluskey@users.noreply.github.com",
        "time": "Thu Jul 23 11:50:20 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 11:50:20 2026 -0400"
      },
      "message": "[#30019] Fix type checking failures around unions with nested complex types (#39413)"
    },
    {
      "commit": "a72d6cba37ad8c741005edd477ade137f9454b19",
      "tree": "1710aee4e51671506086e2ed2f62ad579a369db7",
      "parents": [
        "d688e1b950587f8043990742b2718a652718a55c"
      ],
      "author": {
        "name": "Steven van Rossum",
        "email": "sjvanrossum@google.com",
        "time": "Thu Jul 23 16:33:20 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 10:33:20 2026 -0400"
      },
      "message": "[KafkaIO] Use consumer position and lag to estimate end offsets (#39285)\n\n* Use currentLag and position to set end offset estimate\n\n* Ensure that end offset estimate can\u0027t precede consumed offset"
    },
    {
      "commit": "d688e1b950587f8043990742b2718a652718a55c",
      "tree": "6da27487510258ca744cac1b7d07f2731f1bd1a6",
      "parents": [
        "c8aa28f7e2e9ce0d1af3b88d4f75f001882d5759"
      ],
      "author": {
        "name": "ZIHAN DAI",
        "email": "99155080+PDGGK@users.noreply.github.com",
        "time": "Fri Jul 24 00:20:16 2026 +1000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 10:20:16 2026 -0400"
      },
      "message": "[Java SDK] Warn when ValueState contains collection types (#37530)\n\nWhen users declare ValueState\u003cMap\u003e, ValueState\u003cList\u003e, or ValueState\u003cSet\u003e,\nlog a warning suggesting they use MapState, BagState, or SetState instead.\n\nStoring collections in ValueState requires reading and writing the entire\ncollection on each access, which can cause performance issues for large\ncollections. The specialized state types provide better performance."
    },
    {
      "commit": "c8aa28f7e2e9ce0d1af3b88d4f75f001882d5759",
      "tree": "d554161b3ecef35b840ec2f7b415406151c77b68",
      "parents": [
        "1c9fd1bc1b92d71d3283520d09339ad47b36c8cd"
      ],
      "author": {
        "name": "Danny McCormick",
        "email": "dannymccormick@google.com",
        "time": "Thu Jul 23 09:45:14 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 06:45:14 2026 -0700"
      },
      "message": "docs: Document Fn Execution API protos (#39293)\n\n* Document Fn Execution API protos\n\nAdd documentation comments to previously undocumented messages and fields\nin the Beam Fn API protos:\n\nbeam_fn_api.proto: ProcessBundleResponse, ProcessBundleProgressResponse,\n  FinalizeBundleRequest/Response, Elements.DrainMode, StateRequest/Response,\n  BeamFnState service, StateKey, StateAppendResponse, StateClearRequest/Response,\n  OrderedListRange, LogControl, StartWorkerRequest/Response,\n  StopWorkerRequest/Response, BeamFnExternalWorkerPool service.\nbeam_provision_api.proto: Consistency fix on dependencies field.\n\n* Feedback fixes"
    },
    {
      "commit": "1c9fd1bc1b92d71d3283520d09339ad47b36c8cd",
      "tree": "a6a8871b6cda5c7ca89e45ae0d5cb9a37fd38761",
      "parents": [
        "b0a7099e1f1fba976bd01e90ac3bbe6b041fd9cf"
      ],
      "author": {
        "name": "Jack McCluskey",
        "email": "34928439+jrmccluskey@users.noreply.github.com",
        "time": "Thu Jul 23 09:15:42 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 09:15:42 2026 -0400"
      },
      "message": "Remove isort dependency, migrate to ruff equivalent (#39411)\n\n* Remove isort dependency, migrate to ruff equivalent\n\n* Clean up old gen clients from the ignore list"
    },
    {
      "commit": "b0a7099e1f1fba976bd01e90ac3bbe6b041fd9cf",
      "tree": "e857dee471f59bb00ea69a06897078f9724c6dc3",
      "parents": [
        "c7ab90ebad3e572c73c0e02d4ecb101affd4f206"
      ],
      "author": {
        "name": "Vitaly Terentyev",
        "email": "vitaly.terentyev.akv@gmail.com",
        "time": "Thu Jul 23 16:28:32 2026 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 08:28:32 2026 -0400"
      },
      "message": "Fix lz4 conflicts (#39454)"
    },
    {
      "commit": "c7ab90ebad3e572c73c0e02d4ecb101affd4f206",
      "tree": "de8a345a91cb247f2bedf28598d53e99546405ea",
      "parents": [
        "4f0044b5de9151b67b748b71a6332990d168db66"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Jul 23 07:41:20 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 07:41:20 2026 -0400"
      },
      "message": "Bump google.golang.org/api from 0.289.0 to 0.290.0 in /sdks (#39449)\n\nBumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.289.0 to 0.290.0.\n- [Release notes](https://github.com/googleapis/google-api-go-client/releases)\n- [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md)\n- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.289.0...v0.290.0)\n\n---\nupdated-dependencies:\n- dependency-name: google.golang.org/api\n  dependency-version: 0.290.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "4f0044b5de9151b67b748b71a6332990d168db66",
      "tree": "af76744d893e9dc5258ee82ac1f30e30fa95a68e",
      "parents": [
        "5e499388670c269bea1aa52d584d1adfb76036c2",
        "7356d4be85052ac30174067441bb4854ceb10a3c"
      ],
      "author": {
        "name": "Vitaly Terentyev",
        "email": "vitaly.terentyev.akv@gmail.com",
        "time": "Thu Jul 23 12:47:54 2026 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 12:47:54 2026 +0400"
      },
      "message": "Merge pull request #39438 from sjvanrossum/testing-kafka-service-fix\n\nReplace port with listeners in LocalKafka configuration"
    },
    {
      "commit": "5e499388670c269bea1aa52d584d1adfb76036c2",
      "tree": "ef3acf058c3faad0f6169065211ec3a952af1b05",
      "parents": [
        "adbb11ddb465fc68ff6d09351ba1b5fe7c1ba12f"
      ],
      "author": {
        "name": "Ryan Wigglesworth",
        "email": "wigglesworth.ryan@gmail.com",
        "time": "Wed Jul 22 19:21:48 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 22:21:48 2026 -0400"
      },
      "message": "KeyCommitTooLarge logging improvements (#39316)\n\n* Support logging the key during a KeyCommitTooLarge if EnableHotKeyLogging is turned on. Also switch to logging the dfe name instead of the computation name and fix an overflow in logging the sharding key\n\n* Update runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/streaming/KeyCommitTooLargeException.java\n\nCo-authored-by: gemini-code-assist[bot] \u003c176961590+gemini-code-assist[bot]@users.noreply.github.com\u003e\n\n* Update runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/windmill/work/processing/StreamingWorkScheduler.java\n\nCo-authored-by: gemini-code-assist[bot] \u003c176961590+gemini-code-assist[bot]@users.noreply.github.com\u003e\n\n* Update runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/StreamingDataflowWorkerTest.java\n\nCo-authored-by: gemini-code-assist[bot] \u003c176961590+gemini-code-assist[bot]@users.noreply.github.com\u003e\n\n* gemini review responses\n\n* Fix imports\n\n* one more\n\n* one more attempt\n\n* one more attempt\n\n* formatting fix\n\n* Bump actions/checkout from 6 to 7 (#39335)\n\nBumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/v6...v7)\n\n---\nupdated-dependencies:\n- dependency-name: actions/checkout\n  dependency-version: \u00277\u0027\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\n\n* Bump cloud.google.com/go/datastore from 1.24.0 to 1.25.0 in /sdks (#39333)\n\nBumps [cloud.google.com/go/datastore](https://github.com/googleapis/google-cloud-go) from 1.24.0 to 1.25.0.\n- [Release notes](https://github.com/googleapis/google-cloud-go/releases)\n- [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/documentai/CHANGES.md)\n- [Commits](https://github.com/googleapis/google-cloud-go/compare/kms/v1.24.0...kms/v1.25.0)\n\n---\nupdated-dependencies:\n- dependency-name: cloud.google.com/go/datastore\n  dependency-version: 1.25.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\n\n* Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager in /sdks (#39334)\n\nBumps [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2) from 1.22.32 to 1.22.33.\n- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)\n- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.22.32...feature/s3/manager/v1.22.33)\n\n---\nupdated-dependencies:\n- dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/manager\n  dependency-version: 1.22.33\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\n\n* Fix DataflowV1 test failure by fixing getSimpleName access (#39330)\n\n* add jdkAddOpenModules for Dataflow V2 (#39306)\n\n* Add Spark JVM --add-opens for (Nexmark, TPC-DS, PortableJar) (#39337)\n\n* add Spark job-server --add-opens (#39339)\n\n* fix: add retries and query parameter encoding for GitHub API requests (closes #39188)\n\n* fix: add Apache license header to test_sending.py\n\n* Move validation to StreamingModeExecutionContext\n\n* remove unused import\n\n* respond to comments\n\n* bugfix\n\n* Update runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StreamingModeExecutionContext.java\n\nCo-authored-by: Arun Pandian \u003carunpandianp@gmail.com\u003e\n\n* respond to comments\n\n---------\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: gemini-code-assist[bot] \u003c176961590+gemini-code-assist[bot]@users.noreply.github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: Yi Hu \u003cyathu@google.com\u003e\nCo-authored-by: Abdelrahman Ibrahim \u003cabdoibrahim1017@gmail.com\u003e\nCo-authored-by: raman118 \u003crcho38706@gmail.com\u003e\nCo-authored-by: Arun Pandian \u003carunpandianp@gmail.com\u003e"
    },
    {
      "commit": "adbb11ddb465fc68ff6d09351ba1b5fe7c1ba12f",
      "tree": "f5bfd120e6e158ad8a9e9400546f43f846bcae71",
      "parents": [
        "f1d9c3e122e210dc1a5dc09beaa2e2d3cc14197b"
      ],
      "author": {
        "name": "Yi Hu",
        "email": "yathu@google.com",
        "time": "Wed Jul 22 20:44:13 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 20:44:13 2026 -0400"
      },
      "message": "Fix gcs endpoint pipeline option wiring (#39435)"
    },
    {
      "commit": "f1d9c3e122e210dc1a5dc09beaa2e2d3cc14197b",
      "tree": "db16339f4880a7436cd48f5d24174b62fe498d28",
      "parents": [
        "da7693c3dd17679d1e9493a33e7e526053365ce4"
      ],
      "author": {
        "name": "Danny McCormick",
        "email": "dannymccormick@google.com",
        "time": "Wed Jul 22 14:36:02 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 14:36:02 2026 -0400"
      },
      "message": "docs: Document pipeline runner API protos (#39292)\n\n* Document pipeline runner API protos\n\nAdd documentation comments to previously undocumented messages and fields\nin the Beam Runner API pipeline model protos:\n\nbeam_runner_api.proto: State specs (ReadModifyWrite, Bag, Combining, Map,\n  Multimap, Set, TimerFamily), environment payloads (Docker, Process,\n  External, AnyOf), artifact messages, triggers, RedistributePayload,\n  IsBounded, LabelledPayload, and more.\nmetrics.proto: MonitoringInfo, MonitoringInfoSpecs, labels, type URNs.\nschema.proto: Schema, Field, FieldType, all type variants, Row, FieldValue.\nexternal_transforms.proto: ManagedTransforms, Annotations.\nendpoints.proto: AuthenticationSpec.\n\n* Minor fixes\n\nCo-authored-by: Danny McCormick \u003cdannymccormick@google.com\u003e"
    },
    {
      "commit": "da7693c3dd17679d1e9493a33e7e526053365ce4",
      "tree": "faf820d8c4b928950b0f5a7c5a7a9beed1b1f1d5",
      "parents": [
        "c8a689f7c0d8a1a9a9efe00c91ba13f60dadc025"
      ],
      "author": {
        "name": "Jack McCluskey",
        "email": "34928439+jrmccluskey@users.noreply.github.com",
        "time": "Wed Jul 22 13:07:32 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 13:07:32 2026 -0400"
      },
      "message": "[Gemini] Fix pyrefly check invalid-yield (#39417)\n\n* Fix pyrefly check invalid-yield\n\n* yapf"
    },
    {
      "commit": "c8a689f7c0d8a1a9a9efe00c91ba13f60dadc025",
      "tree": "3af1299448c7acfeae3c4ec373b72561610ae0a1",
      "parents": [
        "b04ca1e0cee17751fc2d9255af6b8c5f9b402f68"
      ],
      "author": {
        "name": "Jack McCluskey",
        "email": "34928439+jrmccluskey@users.noreply.github.com",
        "time": "Wed Jul 22 12:15:38 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 12:15:38 2026 -0400"
      },
      "message": "Fix pyrefly check bad-argument-count (#39416)"
    },
    {
      "commit": "b04ca1e0cee17751fc2d9255af6b8c5f9b402f68",
      "tree": "d04e287059bfb49d8a24e67e493ea6494a901dfd",
      "parents": [
        "a15b880c53c6d7f4bc6533ebce778881edb6e532"
      ],
      "author": {
        "name": "Jack McCluskey",
        "email": "34928439+jrmccluskey@users.noreply.github.com",
        "time": "Wed Jul 22 12:14:06 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 12:14:06 2026 -0400"
      },
      "message": "Fix pyrefly check bad-specialization (#39419)"
    },
    {
      "commit": "a15b880c53c6d7f4bc6533ebce778881edb6e532",
      "tree": "5bb8b6dd99302c36731ac4068b7a9cddd6fa95b0",
      "parents": [
        "abe3fc77c3d1ae2b666b2d9bd467ace0f8b39e09"
      ],
      "author": {
        "name": "ADITYA RAJ",
        "email": "139373669+adityaRaj369@users.noreply.github.com",
        "time": "Wed Jul 22 21:41:19 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 12:11:19 2026 -0400"
      },
      "message": "Merge pull request #39043: Improve WithKeys coder inference context"
    },
    {
      "commit": "7356d4be85052ac30174067441bb4854ceb10a3c",
      "tree": "915bee1fd1d0f61220642cb541acde5c247c58c3",
      "parents": [
        "aaad9b4b8e69a272b6e6a6fa4df516b93bdd1506"
      ],
      "author": {
        "name": "Steven van Rossum",
        "email": "sjvanrossum@google.com",
        "time": "Wed Jul 22 14:36:35 2026 +0200"
      },
      "committer": {
        "name": "Steven van Rossum",
        "email": "sjvanrossum@google.com",
        "time": "Wed Jul 22 17:55:33 2026 +0200"
      },
      "message": "Replace port with listeners in LocalKafka configuration\n"
    },
    {
      "commit": "abe3fc77c3d1ae2b666b2d9bd467ace0f8b39e09",
      "tree": "78174261344d717a8eb3ece9f311cab2fccbcf3a",
      "parents": [
        "aaad9b4b8e69a272b6e6a6fa4df516b93bdd1506"
      ],
      "author": {
        "name": "Chris Qiu",
        "email": "churchqq030@hotmail.com",
        "time": "Wed Jul 22 23:54:29 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 11:54:29 2026 -0400"
      },
      "message": "Fix silent per-char iteration when DoFn returns str/bytes/dict (#38429)\n\n* Fix silent per-char iteration when DoFn returns str/bytes/dict\n\n* Use %r in error message for correct repr of dict/bytes\n\n* Address review: \u0027is not allowed\u0027 wording, move entry to Breaking Changes\n\n* Address review: check only first output, skip generator DoFns\n\n---------\n\nCo-authored-by: Jack McCluskey \u003c34928439+jrmccluskey@users.noreply.github.com\u003e"
    },
    {
      "commit": "aaad9b4b8e69a272b6e6a6fa4df516b93bdd1506",
      "tree": "10a2213e56cd8df9fc90f731ff23e627e25733c8",
      "parents": [
        "583601b13bf592ccb5a3ba9d910239e493f36ac8"
      ],
      "author": {
        "name": "Jack McCluskey",
        "email": "34928439+jrmccluskey@users.noreply.github.com",
        "time": "Wed Jul 22 09:08:37 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 09:08:37 2026 -0400"
      },
      "message": "[Experimental] Use zstd compression in Docker builds (#39409)\n\n* [Experimental] Use zstd compression in Docker builds\n\n* fix load errors"
    },
    {
      "commit": "583601b13bf592ccb5a3ba9d910239e493f36ac8",
      "tree": "05fa031893d5a1c339d438ce2725a4a2a6d462a7",
      "parents": [
        "aa8869c633d23598337977556393414bba51049f"
      ],
      "author": {
        "name": "Jack McCluskey",
        "email": "34928439+jrmccluskey@users.noreply.github.com",
        "time": "Wed Jul 22 09:07:34 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 09:07:34 2026 -0400"
      },
      "message": "Fix pyrefly check bad-context-manager (#39418)"
    },
    {
      "commit": "aa8869c633d23598337977556393414bba51049f",
      "tree": "03b851e831ce9ca9a90aece984aa657b25b4d627",
      "parents": [
        "3f3f18a8ce0073cdf036f541f48eb8f3bd930426"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jul 22 08:23:56 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 08:23:56 2026 -0400"
      },
      "message": "Bump cloud.google.com/go/storage from 1.63.1 to 1.64.0 in /sdks (#39422)\n\nBumps [cloud.google.com/go/storage](https://github.com/googleapis/google-cloud-go) from 1.63.1 to 1.64.0.\n- [Release notes](https://github.com/googleapis/google-cloud-go/releases)\n- [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md)\n- [Commits](https://github.com/googleapis/google-cloud-go/compare/storage/v1.63.1...compute/v1.64.0)\n\n---\nupdated-dependencies:\n- dependency-name: cloud.google.com/go/storage\n  dependency-version: 1.64.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: Derrick Williams \u003cderrickaw@google.com\u003e"
    },
    {
      "commit": "3f3f18a8ce0073cdf036f541f48eb8f3bd930426",
      "tree": "f629d655f6662683dcd1231f02b1be3f1e7e6900",
      "parents": [
        "d2d7ef88eac2f37ef5f0403d3a9ab2a4906577e7"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jul 22 08:23:28 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 08:23:28 2026 -0400"
      },
      "message": "Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager in /sdks (#39421)\n\nBumps [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2) from 1.22.34 to 1.22.35.\n- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)\n- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.22.34...feature/s3/manager/v1.22.35)\n\n---\nupdated-dependencies:\n- dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/manager\n  dependency-version: 1.22.35\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: Derrick Williams \u003cderrickaw@google.com\u003e"
    },
    {
      "commit": "d2d7ef88eac2f37ef5f0403d3a9ab2a4906577e7",
      "tree": "894aafbbc0e71d16eb1396b6407038073e54d6b8",
      "parents": [
        "22a595161680ed170ebc196deb30f8f7adbbd2e3"
      ],
      "author": {
        "name": "Abdelrahman Ibrahim",
        "email": "abdoibrahim1017@gmail.com",
        "time": "Wed Jul 22 15:18:21 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 08:18:21 2026 -0400"
      },
      "message": "Prefer binary wheels when installing Python container dependencies (#39402)\n\n* Speed up Python container builds with prefer-binary and registry cache\n\n* Address review\n\n* Drop docker registry cache\n\n---------\n\nCo-authored-by: Abdelrahman Ibrahim \u003caeldsouky.c\u003e"
    },
    {
      "commit": "22a595161680ed170ebc196deb30f8f7adbbd2e3",
      "tree": "485f94c4aac12e2c5f3e4b2f3967d6c3fae3e7d3",
      "parents": [
        "0dd47882822fb58cd8ba2b0612031c99351cbeac"
      ],
      "author": {
        "name": "Danny McCormick",
        "email": "dannymccormick@google.com",
        "time": "Wed Jul 22 07:57:50 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 07:57:50 2026 -0400"
      },
      "message": "Document job management and interactive API protos (#39294)\n\nAdd documentation comments to previously undocumented messages and fields\nin the Beam job management and interactive API protos:\n\nbeam_artifact_api.proto: ArtifactRetrievalService, ArtifactStagingService,\n  ArtifactRequestWrapper, ProxyManifest, PutArtifactMetadata, and more.\nbeam_expansion_api.proto: ExpansionRequest/Response,\n  DiscoverSchemaTransformRequest/Response, SchemaTransformConfig.\nbeam_job_api.proto: JobService, JobInfo, JobStateEvent, JobMessage,\n  GetJobMetricsRequest/Response, MetricResults, PipelineOptionType.\nbeam_interactive_api.proto: TestStreamService, EventsRequest."
    },
    {
      "commit": "0dd47882822fb58cd8ba2b0612031c99351cbeac",
      "tree": "7a87d308600d53d213d3df27640bb91140e1e62c",
      "parents": [
        "ee44102d01bb2769ac9e0e9648424300cffbf8dd"
      ],
      "author": {
        "name": "janaom",
        "email": "83917694+janaom@users.noreply.github.com",
        "time": "Wed Jul 22 14:57:05 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 07:57:05 2026 -0400"
      },
      "message": "Interview with Raj Katakam from Intuit Credit Karma (#39412)\n\n* Create beam-summit-2026-interview-with-raj-katakam.md\n\nInterview with Raj Katakam\n\n* Update authors.yml\n\nAdded my info to authors.yml\n\n* Update beam-summit-2026-interview-with-raj-katakam.md\n\n* Update website/www/site/content/en/blog/beam-summit-2026-interview-with-raj-katakam.md\n\n---------\n\nCo-authored-by: Danny McCormick \u003cdannymccormick@google.com\u003e"
    },
    {
      "commit": "ee44102d01bb2769ac9e0e9648424300cffbf8dd",
      "tree": "10941aeed3768caa9da4d16b2494536ba2003cf8",
      "parents": [
        "51b2ad6bc084a65cd5af24d267b9c5c863d1aa52"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jul 22 07:35:47 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 07:35:47 2026 -0400"
      },
      "message": "Bump github.com/aws/aws-sdk-go-v2/credentials in /sdks (#39425)\n\nBumps [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) from 1.19.29 to 1.19.30.\n- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)\n- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.19.29...credentials/v1.19.30)\n\n---\nupdated-dependencies:\n- dependency-name: github.com/aws/aws-sdk-go-v2/credentials\n  dependency-version: 1.19.30\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "51b2ad6bc084a65cd5af24d267b9c5c863d1aa52",
      "tree": "31bce09310467ef690bf9c09813c1f8f1dd388a8",
      "parents": [
        "55e1ecbb138ccf8a8ce423f68b618db22bc0b23d"
      ],
      "author": {
        "name": "Lalit Yadav",
        "email": "lalityadav.x17@gmail.com",
        "time": "Wed Jul 22 03:24:01 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 10:24:01 2026 +0200"
      },
      "message": "Add drain states to PipelineResult (#39020)\n\n* Add drain states to PipelineResult\n\n* Fix draining job lookup for Dataflow updates"
    },
    {
      "commit": "55e1ecbb138ccf8a8ce423f68b618db22bc0b23d",
      "tree": "c759f5dfe639a85a79705135b76b9bb871d16a14",
      "parents": [
        "83fcb2f9cdfa630f63743bde1c48c88c49812e59"
      ],
      "author": {
        "name": "KRITI MITTAL",
        "email": "218429678+Kriti-dev07@users.noreply.github.com",
        "time": "Wed Jul 22 01:36:50 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 21 16:06:50 2026 -0400"
      },
      "message": "Add metric for Kafka offset commit failures (#38889)\n\n* Add metric for Kafka offset commit failures\n\n* Apply suggestions from code review\n\nCo-authored-by: gemini-code-assist[bot] \u003c176961590+gemini-code-assist[bot]@users.noreply.github.com\u003e\n\n---------\n\nCo-authored-by: Jack McCluskey \u003c34928439+jrmccluskey@users.noreply.github.com\u003e\nCo-authored-by: gemini-code-assist[bot] \u003c176961590+gemini-code-assist[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "83fcb2f9cdfa630f63743bde1c48c88c49812e59",
      "tree": "a215738123a2f65283d83ea01b0c1f348ee43112",
      "parents": [
        "414b48ad644d7fda3db4d2b81f9931f6a40d0394"
      ],
      "author": {
        "name": "Jack McCluskey",
        "email": "34928439+jrmccluskey@users.noreply.github.com",
        "time": "Tue Jul 21 13:34:07 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 21 13:34:07 2026 -0400"
      },
      "message": "[Gemini] Add Java GeminiModelHandler class (#39245)\n\n* [Gemini] Add Java GeminiModelHandler class\n\n* Remove model scratch files\n\n* address review comments\n\n* checkstyle issue\n\n* unit test fix\n\n* Fix weird coder UX\n\n* fix altered base class signatures"
    },
    {
      "commit": "414b48ad644d7fda3db4d2b81f9931f6a40d0394",
      "tree": "833f8dc7b705b2c830701ef0c0b2d50d3513f58f",
      "parents": [
        "0c151d8ddb23df45b96d660bb8b7e644bece7068"
      ],
      "author": {
        "name": "Derrick Williams",
        "email": "derrickaw@google.com",
        "time": "Tue Jul 21 13:23:12 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 21 13:23:12 2026 -0400"
      },
      "message": "add Apache third party allow list check and doc (#39392)\n\n* add third party allow list check and doc\n\n* add python action and shift validate further down\n\n* fix two workflow/action issues caught during test run\n\n* reuse setup environment step per comment"
    },
    {
      "commit": "0c151d8ddb23df45b96d660bb8b7e644bece7068",
      "tree": "11b5595c458dcaec7b6fc42bc2ef6b8feed61843",
      "parents": [
        "9baa19ad5caa7f334d2d6ecbce62a1f28ca6a2ff"
      ],
      "author": {
        "name": "Yi Hu",
        "email": "yathu@google.com",
        "time": "Tue Jul 21 12:41:46 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 21 12:41:46 2026 -0400"
      },
      "message": "Fix gRPC stream observer leak on ProcessBundleHandler shutdown (#39390)\n\n* Fix gRPC stream observer leak on ProcessBundleHandler shutdown\n\n* tears down active gRPC multiplexers on ProcessBundleHandler shutdown\n\n* Update sdks/java/harness/src/main/java/org/apache/beam/fn/harness/data/BeamFnDataGrpcClient.java\n\nCo-authored-by: gemini-code-assist[bot] \u003c176961590+gemini-code-assist[bot]@users.noreply.github.com\u003e\n\n---------\n\nCo-authored-by: gemini-code-assist[bot] \u003c176961590+gemini-code-assist[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "9baa19ad5caa7f334d2d6ecbce62a1f28ca6a2ff",
      "tree": "b818e58351b3dff6b92aba9019314c008ae8ade9",
      "parents": [
        "eccd9b78d508ffcf60faeea93e307a8644069edf"
      ],
      "author": {
        "name": "Abdelrahman Ibrahim",
        "email": "abdoibrahim1017@gmail.com",
        "time": "Tue Jul 21 19:40:41 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 21 12:40:41 2026 -0400"
      },
      "message": "Increase CI timeouts for Python 3.14 multiarch container jobs (#39401)\n\nCo-authored-by: Abdelrahman Ibrahim \u003caeldsouky.c\u003e"
    },
    {
      "commit": "eccd9b78d508ffcf60faeea93e307a8644069edf",
      "tree": "a67c9477a9d40c4189a50be48e9bde53e79c4797",
      "parents": [
        "c54595b4b9f893a2bc87b516e18a765836006fc7",
        "ab142e93fb6421eca06a6136bd770b95445782b7"
      ],
      "author": {
        "name": "Vitaly Terentyev",
        "email": "vitaly.terentyev.akv@gmail.com",
        "time": "Tue Jul 21 20:21:39 2026 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 21 20:21:39 2026 +0400"
      },
      "message": "Merge pull request #39270 from apache/icerbergio-benchmark\n\nIcerbergIO Load test and benchmarking"
    },
    {
      "commit": "c54595b4b9f893a2bc87b516e18a765836006fc7",
      "tree": "56ff8987c47b2a5c95acb13b45f21e86a8f80bf2",
      "parents": [
        "5b441f270828cdc2796058e623e352da5a13a153",
        "202d339ad9f13b13c03bafab5509c2ed64487f81"
      ],
      "author": {
        "name": "Kenn Knowles",
        "email": "klk@google.com",
        "time": "Tue Jul 21 11:40:32 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 21 11:40:32 2026 -0400"
      },
      "message": "Merge pull request #39111: Fix OpenSearch username/password env fallback in examples"
    },
    {
      "commit": "5b441f270828cdc2796058e623e352da5a13a153",
      "tree": "50a4908e7f63218efef4c4003ccfd2cfcd3e698f",
      "parents": [
        "7bc2fb49f8dcadb035b4a6caad3da4a6e6f00ab8"
      ],
      "author": {
        "name": "tvalentyn",
        "email": "tvalentyn@users.noreply.github.com",
        "time": "Tue Jul 21 07:58:00 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 21 07:58:00 2026 -0700"
      },
      "message": "Update CHANGES.md to document a memory growth issue. (#39407)\n\n* Update CHANGES.md\n\n* Fix AI review comments"
    },
    {
      "commit": "7bc2fb49f8dcadb035b4a6caad3da4a6e6f00ab8",
      "tree": "ff913adbd6bdd96f67ce19fb385b57c809f049b8",
      "parents": [
        "dca1253c7e3886d125c526aa830b7945daef16ce"
      ],
      "author": {
        "name": "tvalentyn",
        "email": "tvalentyn@users.noreply.github.com",
        "time": "Tue Jul 21 07:54:39 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 21 07:54:39 2026 -0700"
      },
      "message": "Fix a memory leak in the failed instruction id cache. (#39405)\n\n* Sanitize the exception message stored for failed instructions to avoid inadvertently capturing the content of stack frames in the heap and limit RAM growth due to cache size.\n\n* Use Py3.10 syntax"
    },
    {
      "commit": "dca1253c7e3886d125c526aa830b7945daef16ce",
      "tree": "e89d2ae44c271be9153c2e91f2f28a0f550f6b3b",
      "parents": [
        "ab36569659ac2423c39c5fe9da6ef200aa153837"
      ],
      "author": {
        "name": "Yi Hu",
        "email": "yathu@google.com",
        "time": "Tue Jul 21 09:47:05 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 21 09:47:05 2026 -0400"
      },
      "message": "Fix CdapIO dependency (#39393)"
    },
    {
      "commit": "ab36569659ac2423c39c5fe9da6ef200aa153837",
      "tree": "dc294ed38d9fb997965693feaa52c898e42dce77",
      "parents": [
        "7735b396afb4f56625b4fc22dfba732c8ef64dc2"
      ],
      "author": {
        "name": "Abdelrahman Ibrahim",
        "email": "abdoibrahim1017@gmail.com",
        "time": "Tue Jul 21 16:30:11 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 21 09:30:11 2026 -0400"
      },
      "message": "fix GCP_PATH expansion (#39400)\n\nCo-authored-by: Abdelrahman Ibrahim \u003caeldsouky.c\u003e"
    },
    {
      "commit": "7735b396afb4f56625b4fc22dfba732c8ef64dc2",
      "tree": "afc0a5c69550f4979b962e2869dc904f8e517701",
      "parents": [
        "f80294498cf6ebc2da24b825445dea83b5c51767"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Jul 21 07:09:02 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 21 07:09:02 2026 -0400"
      },
      "message": "Bump pillow (#39395)\n\nBumps [pillow](https://github.com/python-pillow/Pillow) from 10.2.0 to 12.3.0.\n- [Release notes](https://github.com/python-pillow/Pillow/releases)\n- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)\n- [Commits](https://github.com/python-pillow/Pillow/compare/10.2.0...12.3.0)\n\n---\nupdated-dependencies:\n- dependency-name: pillow\n  dependency-version: 12.3.0\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "f80294498cf6ebc2da24b825445dea83b5c51767",
      "tree": "521dde66dc2110dd1b8fdc04f455233da396353f",
      "parents": [
        "f4b13a08539639a488dbda48c75fdca56c3ed350"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Jul 21 07:07:33 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 21 07:07:33 2026 -0400"
      },
      "message": "Bump actions/checkout from 4 to 7 (#39399)\n\nBumps [actions/checkout](https://github.com/actions/checkout) from 4 to 7.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/v4...v7)\n\n---\nupdated-dependencies:\n- dependency-name: actions/checkout\n  dependency-version: \u00277\u0027\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "f4b13a08539639a488dbda48c75fdca56c3ed350",
      "tree": "ca79604805e047e0d04aebcdd973c97cb1ff21e2",
      "parents": [
        "0df7069adac0ee01e9064e3726db9c492d5bb145"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jul 20 22:50:56 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 20 22:50:56 2026 -0400"
      },
      "message": "Bump pillow (#39396)\n\nBumps [pillow](https://github.com/python-pillow/Pillow) from 10.2.0 to 12.3.0.\n- [Release notes](https://github.com/python-pillow/Pillow/releases)\n- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)\n- [Commits](https://github.com/python-pillow/Pillow/compare/10.2.0...12.3.0)\n\n---\nupdated-dependencies:\n- dependency-name: pillow\n  dependency-version: 12.3.0\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "0df7069adac0ee01e9064e3726db9c492d5bb145",
      "tree": "7d60bb21b794fd0989f924d5991cdc6b42b6ac70",
      "parents": [
        "ec397ce5003b40f05aaa1a56683211aaf942905c"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jul 20 22:49:20 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 20 22:49:20 2026 -0400"
      },
      "message": "Bump protobufjs from 8.6.0 to 8.6.6 in /sdks/typescript (#39394)\n\nBumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 8.6.0 to 8.6.6.\n- [Release notes](https://github.com/protobufjs/protobuf.js/releases)\n- [Changelog](https://github.com/protobufjs/protobuf.js/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-v8.6.0...protobufjs-v8.6.6)\n\n---\nupdated-dependencies:\n- dependency-name: protobufjs\n  dependency-version: 8.6.6\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "ec397ce5003b40f05aaa1a56683211aaf942905c",
      "tree": "f878c7b6997dd90977a72297b48cc37c134dfb6e",
      "parents": [
        "804b12725f0a633bc4871917c17a72e7e9f52aa1"
      ],
      "author": {
        "name": "Steven van Rossum",
        "email": "sjvanrossum@google.com",
        "time": "Mon Jul 20 20:32:50 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 20 14:32:50 2026 -0400"
      },
      "message": "[KafkaIO] Remove build support for Kafka clients before 3.9.2 (#39284)\n\n* Remove support for Kafka clients older than 3.9.2\n\n* Resolve capability conflicts for Flink 1.x, Flink 2.0, Spark 3 and Spark 4\n\n* Resolve capability conflicts for load tests and watermarks\n\n* Replace obsolete signature of overridden method close in mock consumer\n\n* Replace obsolete class KafkaServerStartable with KafkaServer\n\n* Fix type ambiguity of method argument in test\n\n* Handle Kafka and executor timeouts the same"
    },
    {
      "commit": "804b12725f0a633bc4871917c17a72e7e9f52aa1",
      "tree": "79ef1d27d19aae9e84fcec986f5a5b4d97273732",
      "parents": [
        "023ca6d9a638750ea76e0b63cb6aa366d7bc6204"
      ],
      "author": {
        "name": "Derrick Williams",
        "email": "derrickaw@google.com",
        "time": "Mon Jul 20 13:53:48 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 20 13:53:48 2026 -0400"
      },
      "message": "add language filtering for codeql (#39327)\n\n* add language filtering for codeql\n\n* fix workflow file\n\n* remove third party dorny action\n\n* add comments\n\n* use approved SHA of dorny/paths-filter to dynamically filter matrix\n\n* add checkout step before paths-filter\n\n* compact ALL_MATRIX JSON to a single line before writing to GITHUB_OUTPUT\n\n* update path filters to use file extensions and build configuration files\n\n* remove uncessary checks"
    },
    {
      "commit": "023ca6d9a638750ea76e0b63cb6aa366d7bc6204",
      "tree": "2484ca205a87c5299254fb1a7994c5569c13fd7d",
      "parents": [
        "39c60f087fe74a119823d5133cac8263970c9600"
      ],
      "author": {
        "name": "Alexander Kolb",
        "email": "alex.kolb@hey.com",
        "time": "Mon Jul 20 19:42:22 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 20 13:42:22 2026 -0400"
      },
      "message": "[Java] Cache DoFn invoker constructors per instance (#39310)\n\n* Cache DoFn invoker constructors per instance\n\nCo-Authored-By: Codex \u003cnoreply@openai.com\u003e\n\n* Add DoFn invoker cache fix to changelog\n\nCo-Authored-By: Codex \u003cnoreply@openai.com\u003e\n\n* Clarify DoFn cache performance improvement\n\nCo-Authored-By: Codex \u003cnoreply@openai.com\u003e\n\n---------\n\nCo-authored-by: Codex \u003cnoreply@openai.com\u003e"
    },
    {
      "commit": "39c60f087fe74a119823d5133cac8263970c9600",
      "tree": "850e01c2b3ce13535718cf70bfd467f17e68f6ff",
      "parents": [
        "78261e7af2dee7f3739e05e0e731fe4bd9658ac1"
      ],
      "author": {
        "name": "Yi Hu",
        "email": "yathu@google.com",
        "time": "Mon Jul 20 13:11:06 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 20 13:11:06 2026 -0400"
      },
      "message": "Support ACKNOWLEDGE_MODE for JmsIO (#39253)\n\n* Support ACKNOWLEDGEMENT_MODE for JmsIO\n\n* CheckpointMark behavior in alignment with different ACKNOWLEDGEMENT_MODE\n\n* Ref count active checkpoint for quicker onClose that releases session\n\n* Fix hanging checkpoint when no incoming data in direct runner. This\n  allows us to do an exact assert\n\n* Optimize long running unit test usign a short retry\n\n* Re-enable AMQP integration test after stuck unack messages resolved\n\n* Address comments\n\n* Loose withCloseTimeout to fix flaky integration test; fix label\n\n* Fix javadoc"
    },
    {
      "commit": "78261e7af2dee7f3739e05e0e731fe4bd9658ac1",
      "tree": "b3183cfc7a93acfc8407fb3c755aaabe9cde2432",
      "parents": [
        "4b3fff3f4a2b11936119f7507bd031c1b9f1c0ed"
      ],
      "author": {
        "name": "Abdelrahman Ibrahim",
        "email": "abdoibrahim1017@gmail.com",
        "time": "Mon Jul 20 18:33:03 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 20 11:33:03 2026 -0400"
      },
      "message": "Add --add-opens test JVM args for HCatalog and Dataflow worker tests (#39351)\n\n* Add --add-opens test JVM args for HCatalog and Dataflow worker tests\n\n* add more --add-opens for Dataflow\n\n* document --add-opens for WindmillStateTestUtils cache\n\n* \u0027--add-opens\u003djava.base/java.util.concurrent.locks\u003dALL-UNNAMED\u0027\n\n* Add remaining --add-opens for WindmillStateTestUtils\n\n* fix worker tests for JDK 21 Thread.toString format"
    },
    {
      "commit": "4b3fff3f4a2b11936119f7507bd031c1b9f1c0ed",
      "tree": "81b5c7526606889517130644ab217809b05feaef",
      "parents": [
        "d150fd00d8829548c0fd6ff02a5512d47f43bd60",
        "45d1daccfe93fe82a0bfb061c571526c00461b5e"
      ],
      "author": {
        "name": "Vitaly Terentyev",
        "email": "vitaly.terentyev.akv@gmail.com",
        "time": "Mon Jul 20 16:57:11 2026 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 20 16:57:11 2026 +0400"
      },
      "message": "Merge pull request #39388 from apache/fix-credentials\n\nFix pr-bot-new-prs"
    },
    {
      "commit": "45d1daccfe93fe82a0bfb061c571526c00461b5e",
      "tree": "81b5c7526606889517130644ab217809b05feaef",
      "parents": [
        "d150fd00d8829548c0fd6ff02a5512d47f43bd60"
      ],
      "author": {
        "name": "Vitaly Terentyev",
        "email": "vitaly.terentyev@akvelon.com",
        "time": "Mon Jul 20 16:20:31 2026 +0400"
      },
      "committer": {
        "name": "Vitaly Terentyev",
        "email": "vitaly.terentyev@akvelon.com",
        "time": "Mon Jul 20 16:20:31 2026 +0400"
      },
      "message": "Set persist-credentials true\n"
    },
    {
      "commit": "d150fd00d8829548c0fd6ff02a5512d47f43bd60",
      "tree": "d8a9e2edb9188fccaebc08599e5aa61f36ba0def",
      "parents": [
        "f3ef8491a843893cfe23b963772c70946e995823"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jul 20 07:45:59 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 20 07:45:59 2026 -0400"
      },
      "message": "Bump github.com/fsouza/fake-gcs-server from 1.52.3 to 1.55.1 in /sdks (#39385)\n\nBumps [github.com/fsouza/fake-gcs-server](https://github.com/fsouza/fake-gcs-server) from 1.52.3 to 1.55.1.\n- [Release notes](https://github.com/fsouza/fake-gcs-server/releases)\n- [Commits](https://github.com/fsouza/fake-gcs-server/compare/v1.52.3...v1.55.1)\n\n---\nupdated-dependencies:\n- dependency-name: github.com/fsouza/fake-gcs-server\n  dependency-version: 1.55.1\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "f3ef8491a843893cfe23b963772c70946e995823",
      "tree": "873c57ec39d0e2bea36966fe85cf7d0c7d92b0c6",
      "parents": [
        "bef9ef19056632ed3a15e60ba5202478a668ac80"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jul 20 07:45:12 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 20 07:45:12 2026 -0400"
      },
      "message": "Bump actions/setup-python from 4 to 7 (#39386)\n\nBumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 7.\n- [Release notes](https://github.com/actions/setup-python/releases)\n- [Commits](https://github.com/actions/setup-python/compare/v4...v7)\n\n---\nupdated-dependencies:\n- dependency-name: actions/setup-python\n  dependency-version: \u00277\u0027\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "bef9ef19056632ed3a15e60ba5202478a668ac80",
      "tree": "5b2afc8a4ccece0ae190fe131a7bcbf16ca8e242",
      "parents": [
        "0643150c9c35b3ed424f39c10a4a87262c5582b7"
      ],
      "author": {
        "name": "Venkata Bharath Malapati",
        "email": "9440110838bharath@gmail.com",
        "time": "Sun Jul 19 15:35:12 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 19 15:35:12 2026 -0400"
      },
      "message": "[Python] Reuse Milvus client in RAG vector sink write path (#39378)\n\n* Reuse Milvus client in vector sink write path\n\n_MilvusSink.write() constructed a new MilvusClient on every call, which\ndiscarded the retry-wrapped client created in __enter__. This bypassed the\nconnection retry/backoff and left the initial client unclosed (leaked),\nwhile __exit__ only closed the last client. The write() docstring also\nincorrectly claimed the collection was flushed for durability.\n\nReuse the client established in __enter__ for the upsert, and correct the\ndocstring to describe the actual (no-flush) visibility semantics. Add a\nunit test asserting write() reuses the __enter__ client instead of\nreconstructing one per call.\n\nCo-authored-by: Cursor \u003ccursoragent@cursor.com\u003e\n\n* Clear Milvus client after close in sink __exit__\n\nSet self._client to None after closing so a reused sink instance does\nnot keep a stale closed client. Address review feedback.\n\nCo-authored-by: Cursor \u003ccursoragent@cursor.com\u003e\n\n---------\n\nCo-authored-by: Cursor \u003ccursoragent@cursor.com\u003e"
    },
    {
      "commit": "0643150c9c35b3ed424f39c10a4a87262c5582b7",
      "tree": "f16500d7eca9aa8d256e2f4c51e1da1030179c04",
      "parents": [
        "1d6b4540ff2dda00ab19ebb432ab0c633cca30c1"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Jul 17 18:40:51 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 17 18:40:51 2026 -0400"
      },
      "message": "Bump torch (#39374)\n\nBumps [torch](https://github.com/pytorch/pytorch) from 2.12.0 to 2.13.0.\n- [Release notes](https://github.com/pytorch/pytorch/releases)\n- [Changelog](https://github.com/pytorch/pytorch/blob/main/RELEASE.md)\n- [Commits](https://github.com/pytorch/pytorch/compare/v2.12.0...v2.13.0)\n\n---\nupdated-dependencies:\n- dependency-name: torch\n  dependency-version: 2.13.0\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "1d6b4540ff2dda00ab19ebb432ab0c633cca30c1",
      "tree": "2b552d903604896b138e0f303fadfb4384fd9733",
      "parents": [
        "7eef1304b19c5a47c12354476c4319df5183908d"
      ],
      "author": {
        "name": "Derrick Williams",
        "email": "derrickaw@google.com",
        "time": "Fri Jul 17 18:37:43 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 17 18:37:43 2026 -0400"
      },
      "message": "Revert \"remove zizmor (#39355)\" (#39368)\n\nThis reverts commit 7aa1eaac120ff9fd48ae414f58068be643846d05."
    },
    {
      "commit": "7eef1304b19c5a47c12354476c4319df5183908d",
      "tree": "5b05fbd7182780804868e65586f2cea1d6246216",
      "parents": [
        "b6cf0e9e17e4db6995a1afa44fbb32927ee53cda"
      ],
      "author": {
        "name": "Elia Liu",
        "email": "Elialiu760317@outlook.com",
        "time": "Sat Jul 18 00:23:02 2026 +1000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 17 10:23:02 2026 -0400"
      },
      "message": "Fix beamTestPipelineOptions quote loss on Windows for ValidatesRunner tasks (#39365)\n\nOn Windows, Gradle passes -DbeamTestPipelineOptions\u003d\u003ccompact JSON\u003e to the\nforked test JVM unquoted, so the Windows C runtime strips the JSON quotes\nand TestPipeline fails to parse the options; every test in the task fails\nat TestPipeline.create(). Consolidate the existing Windows quoting\ntreatment (BEAM-10682, BEAM-11365) into a shared helper and use it in\ncreatePortableValidatesRunnerTask and createCrossLanguageValidatesRunnerTask.\nOn non-Windows platforms the emitted JSON is unchanged.\n\nFixes #39332"
    },
    {
      "commit": "b6cf0e9e17e4db6995a1afa44fbb32927ee53cda",
      "tree": "b4069bcd2a89aec8e4054990903316ea9086a045",
      "parents": [
        "7a0b711ebe7fa5b27d2a29ebe4ef625b989ca8c0"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Jul 17 09:57:39 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 17 09:57:39 2026 -0400"
      },
      "message": "Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager in /sdks (#39361)\n\nBumps [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2) from 1.22.33 to 1.22.34.\n- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)\n- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.22.33...feature/s3/manager/v1.22.34)\n\n---\nupdated-dependencies:\n- dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/manager\n  dependency-version: 1.22.34\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: Derrick Williams \u003cderrickaw@google.com\u003e"
    },
    {
      "commit": "7a0b711ebe7fa5b27d2a29ebe4ef625b989ca8c0",
      "tree": "8b7f2396a1e25e086bc48fb85c26ccae40434ec1",
      "parents": [
        "40326a34261b789f64031ceef44a2027aa76e88c"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Jul 17 09:57:06 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 17 09:57:06 2026 -0400"
      },
      "message": "Bump github.com/aws/smithy-go from 1.27.3 to 1.27.4 in /sdks (#39359)\n\nBumps [github.com/aws/smithy-go](https://github.com/aws/smithy-go) from 1.27.3 to 1.27.4.\n- [Release notes](https://github.com/aws/smithy-go/releases)\n- [Changelog](https://github.com/aws/smithy-go/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/aws/smithy-go/compare/v1.27.3...v1.27.4)\n\n---\nupdated-dependencies:\n- dependency-name: github.com/aws/smithy-go\n  dependency-version: 1.27.4\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: Derrick Williams \u003cderrickaw@google.com\u003e"
    },
    {
      "commit": "40326a34261b789f64031ceef44a2027aa76e88c",
      "tree": "b5eb28467df3f04a00f1ea3a8d6d473834d7b04a",
      "parents": [
        "2f094f58ef18653ce917a9d819a61a3af39f5cef"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Jul 17 08:13:05 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 17 08:13:05 2026 -0400"
      },
      "message": "Bump google.golang.org/api from 0.288.0 to 0.289.0 in /sdks (#39360)\n\nBumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.288.0 to 0.289.0.\n- [Release notes](https://github.com/googleapis/google-api-go-client/releases)\n- [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md)\n- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.288.0...v0.289.0)\n\n---\nupdated-dependencies:\n- dependency-name: google.golang.org/api\n  dependency-version: 0.289.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "2f094f58ef18653ce917a9d819a61a3af39f5cef",
      "tree": "21b2d06ac74c01a842207a13b06b34dd3f8ee819",
      "parents": [
        "5e19557e5b5430ef9ca4428cd0492bd9f177be41"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Jul 17 08:11:45 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 17 08:11:45 2026 -0400"
      },
      "message": "Bump github.com/aws/aws-sdk-go-v2/service/s3 in /sdks (#39358)\n\nBumps [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2) from 1.105.1 to 1.105.2.\n- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)\n- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.105.1...service/s3/v1.105.2)\n\n---\nupdated-dependencies:\n- dependency-name: github.com/aws/aws-sdk-go-v2/service/s3\n  dependency-version: 1.105.2\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "5e19557e5b5430ef9ca4428cd0492bd9f177be41",
      "tree": "e1737f50ac425c601d9e7ebb6ab27c7a001e96d1",
      "parents": [
        "c102eb4c32169d724c1d51a4f36e2925a0714203"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Jul 17 08:11:22 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 17 08:11:22 2026 -0400"
      },
      "message": "Bump cloud.google.com/go/spanner from 1.92.0 to 1.93.0 in /sdks (#39357)\n\nBumps [cloud.google.com/go/spanner](https://github.com/googleapis/google-cloud-go) from 1.92.0 to 1.93.0.\n- [Release notes](https://github.com/googleapis/google-cloud-go/releases)\n- [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md)\n- [Commits](https://github.com/googleapis/google-cloud-go/compare/spanner/v1.92.0...spanner/v1.93.0)\n\n---\nupdated-dependencies:\n- dependency-name: cloud.google.com/go/spanner\n  dependency-version: 1.93.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "c102eb4c32169d724c1d51a4f36e2925a0714203",
      "tree": "ad6f69d890e05137b3bebe018fbb46e1d9c2f57f",
      "parents": [
        "e83876e98141c21cd34ab7dfeb6ad873d79a9e22"
      ],
      "author": {
        "name": "Vitaly Terentyev",
        "email": "vitaly.terentyev.akv@gmail.com",
        "time": "Fri Jul 17 15:49:23 2026 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 17 07:49:23 2026 -0400"
      },
      "message": "ML pipelines: RunInference - OSS Image Object detection,  OSS Image Captioning, OSS Image Classification (#37186)\n\n* ML pipelines: RunInference - OSS Image Object detection\n\n* Refactoring\n\n* Add PyTorch Image Captioning BLIP + CLIP Batch\n\n* Refactoring\n\n* Add PyTorch Image Classification EfficientNet-B0 Streaming (Right-fitting) ML pipeline\n\n* Fix lint\n\n* Rename files\n\n* Add project argument\n\n* Fix inference_fn\n\n* Fix inference result\n\n* Update torch for image captioning\n\n* Fix inference\n\n* Add Looker ids\n\n* Fix float for imagenet rightfit\n\n* Add all pipelines to separate workflow\n\n* Fix streaming mode\n\n* Fix clip blip\n\n* Fix quotes\n\n* Fix formatting\n\n* Fix lint\n\n* Add Looker IDs\n\n* Resolve comments [1]\n\n* Resolve comments [2]\n\n* Resolve comments [3]\n\n* Resolve comments [4]\n\n* Fix conflicts\n\n* Fix formatting\n\n* Remove rate limit\n\n* Refactor model and process init\n\n* Add beam_Inference_Python_Benchmarks_Dataflow_2 to README.md\n\n* Refactoring\n\n* Move to one yml file\n\n* Resolve comments\n\n* Resolve conflicts\n\n* Resolve comments\n\n* Fix formatter\n\n* Resolve comments\n\n* Change default batch size\n\n* Fix formatting"
    },
    {
      "commit": "e83876e98141c21cd34ab7dfeb6ad873d79a9e22",
      "tree": "23b8d37a1d9033bb4c3ffcbfaa2f44528a0bb29a",
      "parents": [
        "c323a7c5de9e883d005e75f4a749972cbf463b5b"
      ],
      "author": {
        "name": "Derrick Williams",
        "email": "derrickaw@google.com",
        "time": "Thu Jul 16 18:50:32 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 16 18:50:32 2026 -0400"
      },
      "message": "Initial workflows static analysis fixes (#39097)\n\n* Initial zizmor findings\n\n* add rule about action hashes\n\n* add comment\n\n* fix another workflow\n\n* redo build release candidate workflow after change\n\n* another fix\n\n* add more initial findings\n\n* fix more zizmor initial issues after merge conflict resolution\n\n* chore: empty commit"
    },
    {
      "commit": "c323a7c5de9e883d005e75f4a749972cbf463b5b",
      "tree": "0d5aac02b9416999c2de530399840d0792bb1e2b",
      "parents": [
        "7aa1eaac120ff9fd48ae414f58068be643846d05",
        "6dfc2debdd65083e6b1006bfef77416f8fe1b7c0"
      ],
      "author": {
        "name": "Vitaly Terentyev",
        "email": "vitaly.terentyev.akv@gmail.com",
        "time": "Fri Jul 17 00:18:11 2026 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 17 00:18:11 2026 +0400"
      },
      "message": "Merge pull request #39354 from apache/Abacn-patch-1\n\nFix typo in Java version key in workflow file"
    },
    {
      "commit": "7aa1eaac120ff9fd48ae414f58068be643846d05",
      "tree": "b0c694be6463ff4bdc27f37a0eb6fd8387ab8eb3",
      "parents": [
        "b56b0e4987b833a315395c56dfae27ae6d8f9da9"
      ],
      "author": {
        "name": "Derrick Williams",
        "email": "derrickaw@google.com",
        "time": "Thu Jul 16 15:54:31 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 16 15:54:31 2026 -0400"
      },
      "message": "remove zizmor (#39355)"
    },
    {
      "commit": "6dfc2debdd65083e6b1006bfef77416f8fe1b7c0",
      "tree": "1da67412ed7d787a667c39e3cdcfa46338eabe27",
      "parents": [
        "b56b0e4987b833a315395c56dfae27ae6d8f9da9"
      ],
      "author": {
        "name": "Yi Hu",
        "email": "yathu@google.com",
        "time": "Thu Jul 16 15:32:59 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 16 15:32:59 2026 -0400"
      },
      "message": "Fix typo in Java version key in workflow file"
    },
    {
      "commit": "b56b0e4987b833a315395c56dfae27ae6d8f9da9",
      "tree": "5e62ec42c36ecb9844e861a4901ae4af6ecf992f",
      "parents": [
        "2cd12e5968c496df7ec31bba05bfe3ad1bc7297a"
      ],
      "author": {
        "name": "Derrick Williams",
        "email": "derrickaw@google.com",
        "time": "Thu Jul 16 10:37:37 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 16 10:37:37 2026 -0400"
      },
      "message": "fix flakey fileiotest (#39174)\n\n* fix flakey fileiotest\n\n* fix gemini\n\n* more gemini fixes"
    },
    {
      "commit": "2cd12e5968c496df7ec31bba05bfe3ad1bc7297a",
      "tree": "52c0fd9dee01a01637514bf0e66e72e06fedccf2",
      "parents": [
        "5ca8f5a5be972fa29affc9e52b9b0497e2c26619"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Jul 16 07:38:15 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 16 07:38:15 2026 -0400"
      },
      "message": "Bump actions/setup-go from 6 to 7 (#39349)\n\nBumps [actions/setup-go](https://github.com/actions/setup-go) from 6 to 7.\n- [Release notes](https://github.com/actions/setup-go/releases)\n- [Commits](https://github.com/actions/setup-go/compare/v6...v7)\n\n---\nupdated-dependencies:\n- dependency-name: actions/setup-go\n  dependency-version: \u00277\u0027\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "5ca8f5a5be972fa29affc9e52b9b0497e2c26619",
      "tree": "c83ace2ee31b545b4564d277277bf6c30e6fb6c0",
      "parents": [
        "68b492aa50ba774778532e052599f3450d4e32e5"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Jul 16 07:37:44 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 16 07:37:44 2026 -0400"
      },
      "message": "Bump zizmorcore/zizmor-action from 0.5.7 to 0.6.0 (#39348)\n\nBumps [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action) from 0.5.7 to 0.6.0.\n- [Release notes](https://github.com/zizmorcore/zizmor-action/releases)\n- [Commits](https://github.com/zizmorcore/zizmor-action/compare/192e21d79ab29983730a13d1382995c2307fbcaa...6599ee8b7a49aef6a770f63d261d214911a7ce02)\n\n---\nupdated-dependencies:\n- dependency-name: zizmorcore/zizmor-action\n  dependency-version: 0.6.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "68b492aa50ba774778532e052599f3450d4e32e5",
      "tree": "c92820da499ba3b7775e474ffae5eafda9d88fc8",
      "parents": [
        "9b534c041b6b73fa61872e217475e8b992bea0f9"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Jul 16 07:37:15 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 16 07:37:15 2026 -0400"
      },
      "message": "Bump cloud.google.com/go/pubsub from 1.50.4 to 1.51.0 in /sdks (#39347)\n\nBumps [cloud.google.com/go/pubsub](https://github.com/googleapis/google-cloud-go) from 1.50.4 to 1.51.0.\n- [Release notes](https://github.com/googleapis/google-cloud-go/releases)\n- [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md)\n- [Commits](https://github.com/googleapis/google-cloud-go/compare/pubsub/v1.50.4...pubsub/v1.51.0)\n\n---\nupdated-dependencies:\n- dependency-name: cloud.google.com/go/pubsub\n  dependency-version: 1.51.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "9b534c041b6b73fa61872e217475e8b992bea0f9",
      "tree": "a15b4aee93b38fbbc8e4ce0b8bb0740b89fc64b8",
      "parents": [
        "1e4bd73cbc44d87ff0e159b3ce8f7820046e667a"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Jul 16 07:36:49 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 16 07:36:49 2026 -0400"
      },
      "message": "Bump google.golang.org/grpc from 1.82.0 to 1.82.1 in /sdks (#39346)\n\nBumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.82.0 to 1.82.1.\n- [Release notes](https://github.com/grpc/grpc-go/releases)\n- [Commits](https://github.com/grpc/grpc-go/compare/v1.82.0...v1.82.1)\n\n---\nupdated-dependencies:\n- dependency-name: google.golang.org/grpc\n  dependency-version: 1.82.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "1e4bd73cbc44d87ff0e159b3ce8f7820046e667a",
      "tree": "8110505fb1e3f6746fb066a92e734439b346f791",
      "parents": [
        "24a6dbd67e645892652380c2f6a8c19cf80089ed",
        "27071755dddcfe5388a371ce11687eeb47e43118"
      ],
      "author": {
        "name": "Vitaly Terentyev",
        "email": "vitaly.terentyev.akv@gmail.com",
        "time": "Wed Jul 15 23:27:01 2026 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 15 23:27:01 2026 +0400"
      },
      "message": "Merge pull request #39328 from shunping/fix-test-get-python-sdk-name\n\nFix test_get_python_sdk_name to use supported Python version"
    },
    {
      "commit": "24a6dbd67e645892652380c2f6a8c19cf80089ed",
      "tree": "9628f189dfec3e81a7abf027921269a453ccdb69",
      "parents": [
        "0c61055eb85328d7b6d24f215642c78dbc969f65"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jul 15 15:10:15 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 15 15:10:15 2026 -0400"
      },
      "message": "Bump distlib from 0.4.2 to 0.4.3 in /sdks/python (#38959)\n\nBumps [distlib](https://github.com/pypa/distlib) from 0.4.2 to 0.4.3.\n- [Release notes](https://github.com/pypa/distlib/releases)\n- [Changelog](https://github.com/pypa/distlib/blob/master/CHANGES.rst)\n- [Commits](https://github.com/pypa/distlib/compare/0.4.2...0.4.3)\n\n---\nupdated-dependencies:\n- dependency-name: distlib\n  dependency-version: 0.4.3\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "0c61055eb85328d7b6d24f215642c78dbc969f65",
      "tree": "975a67a476a3a4deeea03908b04834ea1cde4127",
      "parents": [
        "8e63c0775a92f6d0a3eb56ce7ef4a7cb2a0cf17e"
      ],
      "author": {
        "name": "Yi Hu",
        "email": "yathu@google.com",
        "time": "Wed Jul 15 14:54:34 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 15 14:54:34 2026 -0400"
      },
      "message": "Fix PreCommit IOs with Java11 (#39343)"
    },
    {
      "commit": "8e63c0775a92f6d0a3eb56ce7ef4a7cb2a0cf17e",
      "tree": "ccec1328f63d1e359e4f4d5827bfddd59fc71151",
      "parents": [
        "0d1f25d982d9014dc5136da316eef4ea92aa7033"
      ],
      "author": {
        "name": "Yi Hu",
        "email": "yathu@google.com",
        "time": "Wed Jul 15 14:40:56 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 15 14:40:56 2026 -0400"
      },
      "message": "Fix cloud_build_machine_type option (#39342)"
    },
    {
      "commit": "0d1f25d982d9014dc5136da316eef4ea92aa7033",
      "tree": "486ac57f76d07cb1497302602e1373e2399b9cfb",
      "parents": [
        "d32207058b0554411b45231280d26fcb0355d459",
        "7a16876ae37f57126bda32682c749a3e8eeae9e5"
      ],
      "author": {
        "name": "Vitaly Terentyev",
        "email": "vitaly.terentyev.akv@gmail.com",
        "time": "Wed Jul 15 17:48:11 2026 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 15 17:48:11 2026 +0400"
      },
      "message": "Merge pull request #39196 from raman118/fix/issue-39188-github-api-retries\n\nfix: add retries and URL encoding to Unmanaged Keys Audit workflow (#39188)"
    },
    {
      "commit": "d32207058b0554411b45231280d26fcb0355d459",
      "tree": "c8ae90b5100d513ad6a5353d7e59391f8a749953",
      "parents": [
        "48eab4f526289a49e1483a3935b758a6b9f84a19"
      ],
      "author": {
        "name": "Abdelrahman Ibrahim",
        "email": "abdoibrahim1017@gmail.com",
        "time": "Wed Jul 15 15:28:53 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 15 08:28:53 2026 -0400"
      },
      "message": "add Spark job-server --add-opens (#39339)"
    },
    {
      "commit": "48eab4f526289a49e1483a3935b758a6b9f84a19",
      "tree": "388b1707c8c8d73a3d2bba46156664c263c3327a",
      "parents": [
        "4de8bde8f49c75c9acea3e2977a71382e8e25f2c"
      ],
      "author": {
        "name": "Abdelrahman Ibrahim",
        "email": "abdoibrahim1017@gmail.com",
        "time": "Wed Jul 15 15:27:09 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 15 08:27:09 2026 -0400"
      },
      "message": "Add Spark JVM --add-opens for (Nexmark, TPC-DS, PortableJar) (#39337)"
    },
    {
      "commit": "4de8bde8f49c75c9acea3e2977a71382e8e25f2c",
      "tree": "f6112d635f60f173dddc75897c4659666e301a21",
      "parents": [
        "37cac0603bc69b5a9c4f643a0a6ea842fc9f0096"
      ],
      "author": {
        "name": "Abdelrahman Ibrahim",
        "email": "abdoibrahim1017@gmail.com",
        "time": "Wed Jul 15 15:04:21 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 15 08:04:21 2026 -0400"
      },
      "message": "add jdkAddOpenModules for Dataflow V2 (#39306)"
    },
    {
      "commit": "37cac0603bc69b5a9c4f643a0a6ea842fc9f0096",
      "tree": "7f149d3971897c055a12cd33db710f45320e5402",
      "parents": [
        "477a47fbeff61ce03b4f5b85fdbbb11c738ba2cd"
      ],
      "author": {
        "name": "Yi Hu",
        "email": "yathu@google.com",
        "time": "Wed Jul 15 08:02:11 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 15 08:02:11 2026 -0400"
      },
      "message": "Fix DataflowV1 test failure by fixing getSimpleName access (#39330)"
    },
    {
      "commit": "477a47fbeff61ce03b4f5b85fdbbb11c738ba2cd",
      "tree": "2b85a931b2d1cae4ad2299cc1ccb45d5c33a9ac6",
      "parents": [
        "1437711c969f8487cc05b3cb9bb1aeba46047c34"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jul 15 07:47:01 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 15 07:47:01 2026 -0400"
      },
      "message": "Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager in /sdks (#39334)\n\nBumps [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2) from 1.22.32 to 1.22.33.\n- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)\n- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.22.32...feature/s3/manager/v1.22.33)\n\n---\nupdated-dependencies:\n- dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/manager\n  dependency-version: 1.22.33\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "1437711c969f8487cc05b3cb9bb1aeba46047c34",
      "tree": "50bf80648e908017fbc64864e66f836f6f4eabff",
      "parents": [
        "de47138d5cd5c38dc83cc9d484d5d861710885e3"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jul 15 07:46:35 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 15 07:46:35 2026 -0400"
      },
      "message": "Bump cloud.google.com/go/datastore from 1.24.0 to 1.25.0 in /sdks (#39333)\n\nBumps [cloud.google.com/go/datastore](https://github.com/googleapis/google-cloud-go) from 1.24.0 to 1.25.0.\n- [Release notes](https://github.com/googleapis/google-cloud-go/releases)\n- [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/documentai/CHANGES.md)\n- [Commits](https://github.com/googleapis/google-cloud-go/compare/kms/v1.24.0...kms/v1.25.0)\n\n---\nupdated-dependencies:\n- dependency-name: cloud.google.com/go/datastore\n  dependency-version: 1.25.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "de47138d5cd5c38dc83cc9d484d5d861710885e3",
      "tree": "dddf4d5dd7a1b12358f402db31bb1d05dd3af135",
      "parents": [
        "de21b1ce3c567fe061d340d7e1dba0828dd18818"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jul 15 07:46:09 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 15 07:46:09 2026 -0400"
      },
      "message": "Bump actions/checkout from 6 to 7 (#39335)\n\nBumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/v6...v7)\n\n---\nupdated-dependencies:\n- dependency-name: actions/checkout\n  dependency-version: \u00277\u0027\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "27071755dddcfe5388a371ce11687eeb47e43118",
      "tree": "34610f953e34678d10b7b0b544e892c367e26d8b",
      "parents": [
        "d824065b7913d2b5912d0bf2aeb6338e0108444c"
      ],
      "author": {
        "name": "Shunping Huang",
        "email": "shunping@google.com",
        "time": "Tue Jul 14 15:40:49 2026 -0400"
      },
      "committer": {
        "name": "Shunping Huang",
        "email": "shunping@google.com",
        "time": "Tue Jul 14 15:42:43 2026 -0400"
      },
      "message": "Add a note and reformat\n"
    },
    {
      "commit": "d824065b7913d2b5912d0bf2aeb6338e0108444c",
      "tree": "24ccee5de73a593b0ec6ff3cc20e6e8d241ff315",
      "parents": [
        "227bcded5aa2007cfb496378c876a75766f73b0d"
      ],
      "author": {
        "name": "Shunping Huang",
        "email": "shunping@google.com",
        "time": "Tue Jul 14 15:28:09 2026 -0400"
      },
      "committer": {
        "name": "Shunping Huang",
        "email": "shunping@google.com",
        "time": "Tue Jul 14 15:28:09 2026 -0400"
      },
      "message": "Fix test_get_python_sdk_name to use supported Python version\n\nUpdate sys.version_info mock from 3.9 to 3.11 in test_get_python_sdk_name\nand format version check error message using sys.version_info for consistency.\n"
    },
    {
      "commit": "de21b1ce3c567fe061d340d7e1dba0828dd18818",
      "tree": "0c233a5fd14526ffb312d3a0350224e06cae663b",
      "parents": [
        "d4c11ccd53637ec5ef37acb4235c3819fd63da65"
      ],
      "author": {
        "name": "Shunping Huang",
        "email": "shunping@google.com",
        "time": "Tue Jul 14 15:07:09 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 14 15:07:09 2026 -0400"
      },
      "message": "Fix republish container workflow as #39181 (#39326)"
    },
    {
      "commit": "d4c11ccd53637ec5ef37acb4235c3819fd63da65",
      "tree": "c34eb77db473cee436b4482e7dde22de69aa3bc9",
      "parents": [
        "a317020356cf73306a90eaf12570b67f7db997ae"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Jul 14 14:31:39 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 14 14:31:39 2026 -0400"
      },
      "message": "Bump cloud.google.com/go/storage from 1.63.0 to 1.63.1 in /sdks (#39319)\n\nBumps [cloud.google.com/go/storage](https://github.com/googleapis/google-cloud-go) from 1.63.0 to 1.63.1.\n- [Release notes](https://github.com/googleapis/google-cloud-go/releases)\n- [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md)\n- [Commits](https://github.com/googleapis/google-cloud-go/compare/compute/v1.63.0...storage/v1.63.1)\n\n---\nupdated-dependencies:\n- dependency-name: cloud.google.com/go/storage\n  dependency-version: 1.63.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "a317020356cf73306a90eaf12570b67f7db997ae",
      "tree": "f336c8453c776deb5a20d46ad0585641f6d86fed",
      "parents": [
        "92b92a1682eb2811456c4c0c7caf37ada7eb584c"
      ],
      "author": {
        "name": "Chamikara Jayalath",
        "email": "chamikaramj@gmail.com",
        "time": "Tue Jul 14 10:42:35 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 14 10:42:35 2026 -0700"
      },
      "message": "Adds a Dataflow integration test suite for Delta Lake (#38954)"
    },
    {
      "commit": "92b92a1682eb2811456c4c0c7caf37ada7eb584c",
      "tree": "03dc0fb9fd7bf2d653b41ce6b4f1fe35e0e1a070",
      "parents": [
        "a6f2ff42e9e6c6e14c81693f3f9643be506719dd"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Jul 14 13:30:00 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 14 13:30:00 2026 -0400"
      },
      "message": "Bump soupsieve from 2.5 to 2.8.4 in /.test-infra/mock-apis (#39315)\n\nBumps [soupsieve](https://github.com/facelessuser/soupsieve) from 2.5 to 2.8.4.\n- [Release notes](https://github.com/facelessuser/soupsieve/releases)\n- [Commits](https://github.com/facelessuser/soupsieve/compare/2.5...2.8.4)\n\n---\nupdated-dependencies:\n- dependency-name: soupsieve\n  dependency-version: 2.8.4\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "a6f2ff42e9e6c6e14c81693f3f9643be506719dd",
      "tree": "77406eb8b6fa610ab7d5efe3222682aa7531f070",
      "parents": [
        "f8e4de0c634926dd37066ca8ce1d6ef37d9b76ca"
      ],
      "author": {
        "name": "tvalentyn",
        "email": "tvalentyn@users.noreply.github.com",
        "time": "Tue Jul 14 07:43:14 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 14 07:43:14 2026 -0700"
      },
      "message": "Remove google-perftools from the default image. (#39323)"
    },
    {
      "commit": "f8e4de0c634926dd37066ca8ce1d6ef37d9b76ca",
      "tree": "ddb5d1760e645f9098c67ed62aa00d72a53de48a",
      "parents": [
        "db6686992c82be565e3c86444ec024a882df8f86"
      ],
      "author": {
        "name": "Danny McCormick",
        "email": "dannymccormick@google.com",
        "time": "Tue Jul 14 09:11:34 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 14 09:11:34 2026 -0400"
      },
      "message": "Improve BigQueryIO Storage Write API error messages (#38948)\n\n* Improve BigQueryIO Storage Write API error messages\n\n* Surface the root cause in the RuntimeException when AppendRows retries are exhausted.\n* Elevate the final failure logging to ERROR level.\n* Provide actionable advice for PERMISSION_DENIED and NOT_FOUND errors, suggesting to check if the destination table exists and if the service account has the TABLES_UPDATE_DATA permission.\n* Add a unit test to verify the improved error messages on retry exhaustion.\n\n* Address PR feedback: Use null-safe \u003d\u003d operator for enum comparison\n\n* Address PR feedback: remove duplicate logging, simplify status extraction, and preserve exception chain\n\n* Address PR feedback: handle InterruptedException properly and use official IAM permission name\n\n* Address PR feedback: handle InterruptedException and use official permission name in source files\n\n* Fix NotSerializableException: mark appendRowsError as transient in FakeDatasetService\n\n* Fix NotSerializableException: store error as serializable Strings and reconstruct at runtime\n\nThe previous transient fix prevented the serialization error but caused\nthe error to be lost on deserialization, so the test never actually\ntriggered the error path. Instead, store the gRPC status code and\ndescription as serializable Strings and reconstruct the\nStatusRuntimeException at runtime in appendRows.\n\n* Fix CI failure: create table in FakeDatasetService before pipeline run\n\nThe test was failing because no table was created in the fake dataset\nservice, causing createWriteStream to fail with NOT_FOUND before the\npipeline ever reached appendRows. Now we create the table first so the\npipeline reaches the appendRows call where the PERMISSION_DENIED error\nis actually injected.\n\n* Fix CI failure: remove withTriggeringFrequency for bounded PCollection\n\nParameterizations [3] and [4] (useStreaming\u003dtrue) were failing because\nwithTriggeringFrequency requires an unbounded PCollection, but the test\nuses Create.of which is bounded. Removed the withTriggeringFrequency\nblock since the Storage Write API is still exercised via useStorageApi.\n\n* Fix CI failure: skip streaming parameterizations that cause timeout\n\nStreaming parameterizations [3] and [4] (useStreaming\u003dtrue) cause the\npipeline to hang indefinitely with a bounded PCollection, resulting in\na 600s timeout. The streaming path uses triggering frequency which\nrequires an unbounded source. Since the error handling code is identical\nin both sharded and unsharded paths, testing the non-streaming path\n(useStorageApi\u003dtrue, useStreaming\u003dfalse) is sufficient."
    },
    {
      "commit": "db6686992c82be565e3c86444ec024a882df8f86",
      "tree": "dcff43749fbca9d56b37461ad1d2499abf9d8d87",
      "parents": [
        "73162ce3e3b5f7aae8a310534c195ba64ef0aa00"
      ],
      "author": {
        "name": "tvalentyn",
        "email": "tvalentyn@users.noreply.github.com",
        "time": "Tue Jul 14 05:47:59 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 14 05:47:59 2026 -0700"
      },
      "message": "Log temp/staging location options parsing errors. (#39305)\n\n* Log temp/staging location options parsing errors.\n\n* yapf"
    },
    {
      "commit": "ab142e93fb6421eca06a6136bd770b95445782b7",
      "tree": "9a77b7f217115cb675a621af7a19cf26ad6138c5",
      "parents": [
        "9432acebb2b9b34a852da4e1bdf1de9f43e94b53"
      ],
      "author": {
        "name": "Vitaly Terentyev",
        "email": "vitaly.terentyev@akvelon.com",
        "time": "Tue Jul 14 16:31:18 2026 +0400"
      },
      "committer": {
        "name": "Vitaly Terentyev",
        "email": "vitaly.terentyev@akvelon.com",
        "time": "Tue Jul 14 16:31:18 2026 +0400"
      },
      "message": "Fix conflict\n"
    },
    {
      "commit": "73162ce3e3b5f7aae8a310534c195ba64ef0aa00",
      "tree": "7992bb539b28f6f21f3746bc95a357f5d909eb8a",
      "parents": [
        "8e588f6fa962fd606541488ddaeda492edf150f3"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Jul 14 08:11:05 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 14 08:11:05 2026 -0400"
      },
      "message": "Bump github.com/aws/aws-sdk-go-v2/config in /sdks (#39321)\n\nBumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.32.29 to 1.32.30.\n- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)\n- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.32.29...config/v1.32.30)\n\n---\nupdated-dependencies:\n- dependency-name: github.com/aws/aws-sdk-go-v2/config\n  dependency-version: 1.32.30\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "8e588f6fa962fd606541488ddaeda492edf150f3",
      "tree": "d90f47a50d6a1c1d687f9bebe916161b60641ad3",
      "parents": [
        "0c2a58c27a62dc47b27ee2a4c8ba24a4846ce182"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Jul 14 08:10:15 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 14 08:10:15 2026 -0400"
      },
      "message": "Bump github.com/aws/aws-sdk-go-v2/service/s3 in /sdks (#39318)\n\nBumps [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2) from 1.105.0 to 1.105.1.\n- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)\n- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.105.0...service/s3/v1.105.1)\n\n---\nupdated-dependencies:\n- dependency-name: github.com/aws/aws-sdk-go-v2/service/s3\n  dependency-version: 1.105.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "0c2a58c27a62dc47b27ee2a4c8ba24a4846ce182",
      "tree": "f85554da376a0304baae9c5e9d95aa95c4001b93",
      "parents": [
        "d53b0b176ca70c57c7ad0ac1f2254a3d83bee1ac"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Jul 14 08:09:46 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 14 08:09:46 2026 -0400"
      },
      "message": "Bump actions/setup-node from 6 to 7 (#39317)\n\nBumps [actions/setup-node](https://github.com/actions/setup-node) from 6 to 7.\n- [Release notes](https://github.com/actions/setup-node/releases)\n- [Commits](https://github.com/actions/setup-node/compare/v6...v7)\n\n---\nupdated-dependencies:\n- dependency-name: actions/setup-node\n  dependency-version: \u00277\u0027\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "9432acebb2b9b34a852da4e1bdf1de9f43e94b53",
      "tree": "f0f209592b9366814b7ea9c79abc3e0cf9aecbdc",
      "parents": [
        "7fb07784bf2c7b01480d65cc1d8319599982f58b"
      ],
      "author": {
        "name": "Vitaly Terentyev",
        "email": "vitaly.terentyev@akvelon.com",
        "time": "Tue Jul 14 16:01:52 2026 +0400"
      },
      "committer": {
        "name": "Vitaly Terentyev",
        "email": "vitaly.terentyev@akvelon.com",
        "time": "Tue Jul 14 16:01:52 2026 +0400"
      },
      "message": "Refactoring\n"
    }
  ],
  "next": "d53b0b176ca70c57c7ad0ac1f2254a3d83bee1ac"
}
