Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Comments

Migrate sdk platform java#11961

Draft
chingor13 wants to merge 6471 commits intomainfrom
migrate-sdk-platform-java
Draft

Migrate sdk platform java#11961
chingor13 wants to merge 6471 commits intomainfrom
migrate-sdk-platform-java

Conversation

@chingor13
Copy link
Contributor

No description provided.

diegomarquezpand others added30 commitsMarch 20, 2025 10:53
…g property (#3711)This ties the google-java-format.jar version to the one [declared injava-shared-config](https://github.com/googleapis/java-shared-config/blob/a315cf154ffb2dfd77ff7ce9892f8bb8a40ec7cc/java-shared-config/pom.xml#L31)The purpose is to later upgrade this version to avoid the old Guavadependency.I moved the download step to ggj-build so the final image only copiesartifacts from "build related" stages.---------Co-authored-by: Tomo Suzuki <suztomo@gmail.com>
Follow up fromgoogleapis/sdk-platform-java#3674Context: Some local changes were not pushed to that PR before it wasmerged.Main changes:  - include `src/test/.../native-image.properties` in testlib jar- include java-storage-nio related classes for initialization at buildtime
In this PR:- Remove the logging module per go/debug-logging-proposal.
…nfig update (#3726)[ContextDoc](https://docs.google.com/document/d/1Fqb4lXZ0FEpkJoSUvUp7Ow-z0fdcLyLE30lDDsGaRY0/edit?resourcekey=0-IueNnA7qMxmyWH6bGE9bsw&tab=t.0#heading=h.pi1uh78box27)This replacesgoogleapis/sdk-platform-java#3724in order to manually prepare the repo for this update. The preparationincludes: - Update google-cloud-shared-config to `1.15.1`.- Configure pom.xml files to reference the `fmt` plugin using the`com.spotify.fmt` groupId instead of `com.coveo`. The group ID in [since2022](https://github.com/spotify/fmt-maven-plugin/blame/main/README.md#L7).Some pom.xml explicitly referenced the `2.9.1` version, but I removed itso it's [controlled bygoogle-cloud-shared-config](https://github.com/googleapis/java-shared-config/blob/bc8f22d02511c0467271698acf340874ed987160/java-shared-config/pom.xml#L172-L174).- Update our `ci.yaml` to either run the `mvn` tasks using java 17 orrunning the task with the `-Dfmt.skip` flag. - Update `java_compatibility_check.yaml` from java 11 to java 17. - Update our docker image to use java 17 instead of 11.- Format the codebase using `mvn fmt:format` (seegoogleapis/sdk-platform-java@36d9ee4for format changes).### Review instructionsYou will see that the checks are failing because I did not include fileformatting in the latest commit of this PR for the sake of browserperformance. However, I ran the checks ingoogleapis/sdk-platform-java@36d9ee4with formatted files and they were all green except for the integrationtest, which is failing because I haven't updated the golden branch (see[this branchcomparison](chore/test-hermetic-build...chore/test-hermetic-build-update-sharedconfig-and-lint)for upcoming changes), which I plan to do before merging this PR.#### Before merging: - [x] Update golden branch - [x] Restore hermetic_library_generation workflow - [x] Restore formatted java files---------Co-authored-by: Mend Renovate <bot@renovateapp.com>Co-authored-by: cloud-java-bot <cloud-java-bot@google.com>
b/406556155---------Co-authored-by: Min Zhu <zhumin@google.com>
…i/majorversion (#3712)This change allow generator to generate for a specified api-path. When"--api-path" is not specified, fallback to "--library-names", and__behavior for existing command usages should not change__.For now, api-path should only take in path to api/version, e.g.google/cloud/functions/v2
…neration (#3723)Part of the fix forgoogleapis/sdk-platform-java#3701 ☕### ApproachThe templates come fromhttps://github.com/googleapis/synthtool/tree/bf182cd41d9a7de56092cafcc7befe6b398332f6.The only update was to include `generated-files-bot`, which is alreadyup to date in all the HW repos.The `.kokoro` folder will be a separate follow up task. We will nowfocus on solving the update of `update_generation_config` `yaml` and`sh` files.The fix to include the `.github` folder follows fromhttps://setuptools.pypa.io/en/latest/userguide/datafiles.html:```Glob patterns do not automatically match dotfiles, i.e., directory or file names starting with a dot (.).To include such files, you must explicitly start the pattern with a dot, e.g. .* to match .gitignore.```Interestingly, this is also the reason `cpsynthool/gcp/templates/java_library/* ...` did not bring foldersstarting with dot (such as .kokoro) intogoogleapis/sdk-platform-java#2884### Confirming effects in downstream reposDemos show the results as ofgoogleapis/sdk-platform-java@b66af92in -googleapis/java-storage#3012 -googleapis/java-logging#1787 -googleapis/java-pubsub#2384 -googleapis/java-bigtable#2546 -googleapis/java-spanner#3711 -googleapis/java-firestore#2065 -googleapis/java-datastore#1810 -googleapis/java-bigquerystorage#2929 -googleapis/java-pubsublite#1837There were no regressions on templated files that were manuallymodified.
Full context in [GraalVM 17 migrationdoc](https://docs.google.com/document/d/1bOeGtVFLsq5ts71If5pFXCvHIeNpbtBRvF6XQfavLZs/edit?tab=t.loipy7ydvwga)Confirmation that this works:googleapis/java-shared-config@9530494### ProblemJDK 17 `InputStreamReader` produces different bytes from JDK 18+. Thisaffects `ITHttpAnnotation#testComplianceGroup` because of the way`compliance_suite.json` is parsed.### CauseJDK 18 was released including commit[7fc854](openjdk/jdk@7fc8540)which enables usage of UTF-8 by default. Before this commit, each JVMwill produce their own default Charset (_likely the reason we don't seethis error in other CI setups using java 17_). As a confirmation, if wecreate an experiment test to print the default charset as in:```java@test  void verifyByteSizeOfExtremePayload() throws IOException {    System.out.println(System.getProperty("file.encoding"));}```When using openjdk 17 we get the value `Cp1252`, and on openjdk 18 weget the value `UTF-8`.Solution### SolutionFinally, the solution is to explicitly use UTF-8 with the`InputStreamReader`
…image` (#3732)This marks the images as infrastructure-related and will not apply forthe customer-facing VM scanning tools. Context in b/395190324 and[internalg3doc](https://g3doc.corp.google.com/security/g3doc/isa/autovm/vmprograms/public_image_scanning.md?cl=head#common_vocab)
Context: [we will introduce a new GraalVMjob](https://docs.google.com/document/d/1bOeGtVFLsq5ts71If5pFXCvHIeNpbtBRvF6XQfavLZs/edit?tab=t.dcjxhf429j6t#bookmark=id.3s7d4dj247hr)and will leverage the hermetic build templates to propagate this changeto some of the repositories. Each PR will be followed with ad-hocchanges such as sync-repo-settings (the cannot be templated).Demo PRs *googleapis/java-bigtable#2558 *googleapis/java-bigquerystorage#2937 *googleapis/java-storage#3029 *googleapis/java-datastore#1816* There are manual changes in `build.sh`. We will add this file to the[ignored files inowlbot.py](https://github.com/googleapis/java-datastore/blob/8ceb62b5182e30b4f771d6c1b586a22fb084c9ac/owlbot.py#L48-L57)and will raise an issue to move this logic elsewhere (if feasible). *googleapis/java-firestore#2074 *googleapis/java-logging#1789 *googleapis/java-pubsub#2389 *googleapis/java-pubsublite#1839 *googleapis/java-spanner#3821
…onfig to v1.15.4 (#3742)This PR contains the following updates:| Package | Change | Age | Adoption | Passing | Confidence ||---|---|---|---|---|---||[com.google.cloud:google-cloud-shared-config](https://redirect.github.com/googleapis/java-shared-config)| `1.15.1` -> `1.15.4` |[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.cloud:google-cloud-shared-config/1.15.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)|[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.cloud:google-cloud-shared-config/1.15.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)|[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.cloud:google-cloud-shared-config/1.15.1/1.15.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)|[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.cloud:google-cloud-shared-config/1.15.1/1.15.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)|---> [!WARNING]> Some dependencies could not be looked up. Check the DependencyDashboard for more information.---### Release Notes<details><summary>googleapis/java-shared-config(com.google.cloud:google-cloud-shared-config)</summary>###[`v1.15.4`](https://redirect.github.com/googleapis/java-shared-config/blob/HEAD/CHANGELOG.md#1154-2025-04-15)[CompareSource](https://redirect.github.com/googleapis/java-shared-config/compare/v1.15.1...v1.15.4)##### Bug Fixes- Use recommended variable expansion syntax([#&#8203;1016](https://redirect.github.com/googleapis/java-shared-config/issues/1016))([6ff6dc4](https://redirect.github.com/googleapis/java-shared-config/commit/6ff6dc48b8d92604164da7c68e268476b5a16578))</details>---### Configuration📅 **Schedule**: Branch creation - At any time (no schedule defined),Automerge - At any time (no schedule defined).🚦 **Automerge**: Disabled by config. Please merge this manually once youare satisfied.♻ **Rebasing**: Whenever PR becomes conflicted, or you tick therebase/retry checkbox.🔕 **Ignore**: Close this PR and you won't be reminded about theseupdates again.---- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, checkthis box---This PR was generated by [Mend Renovate](https://mend.io/renovate/).View the [repository joblog](https://developer.mend.io/github/googleapis/sdk-platform-java).<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
To be merged after cl/747626774[contextdoc](https://docs.google.com/document/d/1bOeGtVFLsq5ts71If5pFXCvHIeNpbtBRvF6XQfavLZs/edit?tab=t.dcjxhf429j6t)TL;DR: we are introducing testing infra for GraalVM for JDK 17
## Implement Selective GAPIC Generation (Phase II)This PR implements Phase II of selective GAPIC generation within the`gapic-generator-java` project. This allows for finer control over theintended usage of generated client methods (public, internal, or hidden)by providing selective gapic generation configuration in service yaml.### Key Changes:#### 1. Model Updates* Added a `isInternalApi` attribute to the internal representation ofmethods to track their intended visibility (e.g., public, internal).#### 2. Parser Logic* Introduced the `getMethodSelectiveGapicType()` method responsible forparsing the selective generation configuration for each method.* Modified service filtering logic: Service classes will not begenerated if the service definition contains no methods or includes onlymethods marked as **`HIDDEN`**.* Enhanced `parseService()` to determine and assign the appropriate`SelectiveGapicType` to each service method and its correspondinggenerated variants (e.g., overloaded methods).#### 3. Composer (Code Generation) Updates* **Method Annotations:** For all method variants designated as`INTERNAL`, generate an `@InternalApi` annotation accompanied by awarning message discouraging external use.* **Method Header Comments:** For methods marked as `INTERNAL`, generatea specific comment in the method's header indicating its intendedinternal-only usage.* **Sample Generation:** Adjusted the logic for generating`package-info.java` samples to prevent the usage of any methods markedas `INTERNAL`.#### 4. Tests* Added **unit tests** covering the new parser logic and commentgeneration changes related to selective generation types.* Added/updated **golden unit/integration tests** to verify the correctcode output for various selective generation scenarios, includingservices with:    * All public methods.    * A mix of public, `INTERNAL`, and/or `HIDDEN` methods.* No public methods (verifying that the service class is not generated).
Error:```Error: Exception in thread "main" java.lang.UnsupportedClassVersionError: com/google/cloud/datastore/emulator/CloudDatastore has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0```This error seemed to show up ~3 weeks ago, but it doesn't look likeanything changed in java-datastore. Cloud Datastore Emulator seems tohave required JRE 11 since ~late 2022. We have been compiling with JDK11 and running with Java 8.Successful run:https://github.com/googleapis/sdk-platform-java/actions/runs/14522553161
`Empty commit messages, skip creating pull request description.`Fixesgoogleapis/sdk-platform-java#3745---------Co-authored-by: cloud-java-bot <cloud-java-bot@google.com>
🤖 I have created a release *beep* *boop*---<details><summary>2.56.0</summary>##[2.56.0](googleapis/sdk-platform-java@v2.55.1...v2.56.0)(2025-04-18)### Features* Selective gapic generation phase II([#3730](googleapis/sdk-platform-java#3730))([64ac2c1](googleapis/sdk-platform-java@64ac2c1))### Bug Fixes* **hermetic-build:** use correct image name in templated graalvm jobs([#3743](googleapis/sdk-platform-java#3743))([29a78d3](googleapis/sdk-platform-java@29a78d3))* plumb mtls endpoint to TransportChannelProvider([#3673](googleapis/sdk-platform-java#3673))([a961459](googleapis/sdk-platform-java@a961459))### Dependencies* add opentelemetry gcp-resources to shared deps([#3722](googleapis/sdk-platform-java#3722))([b1b075d](googleapis/sdk-platform-java@b1b075d))</details>---This PR was generated with [ReleasePlease](https://github.com/googleapis/release-please). See[documentation](https://github.com/googleapis/release-please#release-please).Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Additionally: we use cloud-java-bot to create the flakiness issues.
Prepares downstream repos for the linter upgrade from java-shared-config(googleapis/java-shared-config#1003)
Fixes error fromhttps://fusion2.corp.google.com/invocations/e3010c7e-ee63-4a12-ae04-e2dae7766bbe/targets/cloud-devrel%2Fclient-libraries%2Fjava%2Fjava-storage%2Fpresubmit%2Fgraalvm-native-a/logThis is due to the name of the jobs not matching what was submitted incl/750211040```[09:45:52 PDT] Job config validated![09:45:52 PDT] Resolving Github Scm Revision State[09:45:56 PDT] Running git -c core.hooksPath=/dev/null clonehttps://github.com/googleapis/java-storage.git /tmp/workspace/workspace/src/github/java-storage[09:45:57 PDT] Fetching GitHub java-storage@PR#3050.  This code is considered not submitted as it's coming from a pull request.[09:45:57 PDT] Running git -c core.hooksPath=/dev/null fetch origin pull/3050/merge:pull_branch[09:45:58 PDT] Running git -c core.hooksPath=/dev/null checkout pull_branch --[09:45:58 PDT] Running git -c core.hooksPath=/dev/null rev-parse --verify HEAD[09:45:58 PDT][ERROR] Build failed due to an errorcom.google.devtools.kokoro.controller.UserException: An error happened while reading and parsing the build configat com.google.devtools.kokoro.jenkins.plugin.executor.BuilderStepsProvider.provide(BuilderStepsProvider.java:55)at com.google.devtools.kokoro.controller.build.PipelineBuildExecutor.runPipeline(PipelineBuildExecutor.java:92)at com.google.devtools.kokoro.controller.build.PipelineBuildExecutor.lambda$start$0(PipelineBuildExecutor.java:67)at java.base/java.util.concurrent.FutureTask.run(Unknown Source)at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)at java.base/java.lang.Thread.run(Unknown Source)Caused by: com.google.devtools.kokoro.controller.UserException: APPLICATION_ERROR;devtools.kokoro.executor.proto/KokoroExecutorWorker.ReadBuildConfig;no file found at path 'src/github/java-storage/.kokoro/presubmit/graalvm-native-a' or with allowed extensions invalid argument;AppErrorCode=3;StartTimeMs=1745340358647;tcp;Deadline(sec)=300.0;ResFormat=uncompressed;interceptors={[com.google.frameworks.debug.sherlog.core.rpcutil.Stubby3ClientInterceptor];overrides={}};ServerTimeSec=5.21036E-4;LogBytes=256;FailFast;EffSecLevel=none;ReqFormat=uncompressed;ReqID=3534e3e8629380d4;GlobalID=0;Server=[2002:a4f:c6c1:0:b0:422:a3e6:c419]:14001at com.google.devtools.kokoro.jenkins.shared.worker.ExecutorHelperClient.mapRpcException(ExecutorHelperClient.java:638)at com.google.devtools.kokoro.jenkins.shared.worker.ExecutorHelperClient.readBuildConfig(ExecutorHelperClient.java:529)at com.google.devtools.kokoro.jenkins.plugin.kokorojob.store.ConfigStore.getKokoroBuildConfigFromScm(ConfigStore.java:124)at com.google.devtools.kokoro.jenkins.plugin.kokorojob.store.ConfigStore.getKokoroBuildConfig(ConfigStore.java:93)at com.google.devtools.kokoro.jenkins.plugin.executor.BuilderStepsProvider.provide(BuilderStepsProvider.java:45)... 6 more```
🤖 I have created a release *beep* *boop*---<details><summary>2.56.1-SNAPSHOT</summary>### Updating meta-information for bleeding-edge SNAPSHOT release.</details>---This PR was generated with [ReleasePlease](https://github.com/googleapis/release-please). See[documentation](https://github.com/googleapis/release-please#release-please).Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>Co-authored-by: Diego Marquez <diegomarquezp@google.com>
🤖 I have created a release *beep* *boop*---<details><summary>2.56.1</summary>##[2.56.1](googleapis/sdk-platform-java@v2.56.0...v2.56.1)(2025-04-23)### Bug Fixes* match graalvm job names with internal configs([#3755](googleapis/sdk-platform-java#3755))([23b4b12](googleapis/sdk-platform-java@23b4b12))* use java 17 in samples.yaml([#3754](googleapis/sdk-platform-java#3754))([2d5c5e2](googleapis/sdk-platform-java@2d5c5e2))* use spotify formatter in hermetic build templates([#3752](googleapis/sdk-platform-java#3752))([65e29da](googleapis/sdk-platform-java@65e29da))</details>---This PR was generated with [ReleasePlease](https://github.com/googleapis/release-please). See[documentation](https://github.com/googleapis/release-please#release-please).---------Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>Co-authored-by: Diego Alonso Marquez Palacios <diegomarquezp@google.com>
This ensures the templates are up to date with the latest releasedversion of sdk-platform-java-config
🤖 I have created a release *beep* *boop*---<details><summary>2.56.2-SNAPSHOT</summary>### Updating meta-information for bleeding-edge SNAPSHOT release.</details>---This PR was generated with [ReleasePlease](https://github.com/googleapis/release-please). See[documentation](https://github.com/googleapis/release-please#release-please).---------Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>Co-authored-by: Diego Marquez <diegomarquezp@google.com>
🤖 I have created a release *beep* *boop*---<details><summary>2.56.2</summary>##[2.56.2](googleapis/sdk-platform-java@v2.56.1...v2.56.2)(2025-04-23)### Bug Fixes* inline version update in kokoro templates([#3762](googleapis/sdk-platform-java#3762))([050aeab](googleapis/sdk-platform-java@050aeab))* keep native image templates up to date([#3759](googleapis/sdk-platform-java#3759))([7dffab1](googleapis/sdk-platform-java@7dffab1))</details>---This PR was generated with [ReleasePlease](https://github.com/googleapis/release-please). See[documentation](https://github.com/googleapis/release-please#release-please).Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
blakeli0and others added30 commitsJanuary 22, 2026 12:28
Protobuf-java[v4.33.x](https://github.com/protocolbuffers/protobuf/releases/tag/v33.0)restored gen code compatibility to 3.0.0. Upgrade protobuf runtime andgen code to 4.33.x should have minimum risks now. See[go/cloud-java:protobuf-4.x-upgrade](http://goto.google.com/cloud-java:protobuf-4.x-upgrade)for details.---------Co-authored-by: cloud-java-bot <cloud-java-bot@google.com>Co-authored-by: Diego Marquez <diegomarquezp@google.com>
chore: update googleapis commit at Wed Jan 21 02:42:16 UTC 2026
…y tensorflow (#4082)Add protobuf 3.x compatibility tests with a third party librarytensorflow in showcase module.Tensorflow depends on [protobuf-javav3.21.9](https://github.com/tensorflow/java/blob/cbf942051d55291ba9bdb019b2f207f013889bba/tensorflow-core/pom.xml#L45)gen code and runtime. This proves that client libraries with 4.33runtime and gen code are compatible with a third party library thatcontains 3.x gen code and runtime.Co-authored-by: cloud-java-bot <cloud-java-bot@google.com>
This PR contains the following updates:| Package | Update | Change ||---|---|---||[com.google.auth:google-auth-library-bom](https://togithub.com/googleapis/google-auth-library-java)| minor | `1.41.0` -> `1.42.0` ||[com.google.http-client:google-http-client](https://togithub.com/googleapis/google-http-java-client)| minor | `2.0.3` -> `2.1.0` || [io.grpc:grpc-bom](https://togithub.com/grpc/grpc-java) | minor |`1.76.2` -> `1.78.0` |---### Release Notes<details><summary>googleapis/google-auth-library-java(com.google.auth:google-auth-library-bom)</summary>###[`v1.42.0`](https://togithub.com/googleapis/google-auth-library-java/blob/HEAD/CHANGELOG.md#1420-2026-01-23)[CompareSource](https://togithub.com/googleapis/google-auth-library-java/compare/v1.41.0...v1.42.0)##### Features- Update protobuf version to 4.33.2([#&#8203;1875](https://togithub.com/googleapis/google-auth-library-java/issues/1875))([13ddbd1](https://togithub.com/googleapis/google-auth-library-java/commit/13ddbd1744fb908fb51e8866e5aac291f0e9bada))##### Bug Fixes- Simplify call to directly retrieve the default service account fromMDS([#&#8203;1844](https://togithub.com/googleapis/google-auth-library-java/issues/1844))([6efda0b](https://togithub.com/googleapis/google-auth-library-java/commit/6efda0bc2063b1d1b30de43785d08ec86da1791c))</details><details><summary>googleapis/google-http-java-client(com.google.http-client:google-http-client)</summary>###[`v2.1.0`](https://togithub.com/googleapis/google-http-java-client/blob/HEAD/CHANGELOG.md#210-2026-01-23)[CompareSource](https://togithub.com/googleapis/google-http-java-client/compare/v2.0.3...v2.1.0)##### Features- Update protobuf-java to 4.33.2([d48c443](https://togithub.com/googleapis/google-http-java-client/commit/d48c443cf9b872be4872ed6801c4edf70d5be7ac))</details><details><summary>grpc/grpc-java (io.grpc:grpc-bom)</summary>###[`v1.78.0`](https://togithub.com/grpc/grpc-java/releases/tag/v1.78.0)[CompareSource](https://togithub.com/grpc/grpc-java/compare/v1.77.1...v1.78.0)##### Bug Fixes- core: Fix shutdown failing accepted RPCs during channel startup([`02e98a8`](https://togithub.com/grpc/grpc-java/commit/02e98a806)).This fixes a race where RPCs could fail with "UNAVAILABLE: Channelshutdown invoked" even though they were created beforechannel.shutdown()- okhttp: Fix race condition overwriting MAX_CONCURRENT_STREAMS([#&#8203;12548](https://togithub.com/grpc/grpc-java/issues/12548))([`8d49dc1`](https://togithub.com/grpc/grpc-java/commit/8d49dc1c9))- binder: Stop leaking `this` from BinderServerTransport's ctor([#&#8203;12453](https://togithub.com/grpc/grpc-java/issues/12453))([`89d77e0`](https://togithub.com/grpc/grpc-java/commit/89d77e062))- rls: Avoid missed config update from reentrancy([`55ae1d0`](https://togithub.com/grpc/grpc-java/commit/55ae1d054)).This fixes a regression since 1.75.0 triggered by CdsLb being convertedto XdsDepManager. Without this fix, a second channel to the same targetmay hang when starting, causing DEADLINE_EXCEEDED, and unhang when thecontrol plane delivers an update (e.g., endpoint address update)##### Improvements- xds: gRFC A88 - Changes to XdsClient Watcher APIs([#&#8203;12446](https://togithub.com/grpc/grpc-java/issues/12446))([`f385add`](https://togithub.com/grpc/grpc-java/commit/f385add31)). Wenow have improved xDS error handling and this provides a clearermechanism for the xDS server to report per-resource errors to theclient, resulting in better error messages for debugging and fasterdetection of non-existent resources. This also improves the handling ofall xDS-related data errors and the behavior of the xDS resource timer.- rls: Control plane channel monitor state and back off handling([#&#8203;12460](https://togithub.com/grpc/grpc-java/issues/12460))([`26c1c13`](https://togithub.com/grpc/grpc-java/commit/26c1c1341)).Resets RLS request backoff timers when the Control plane channel statetransitions to READY. Also when the backoff timer expires, instead ofmaking a RLS request immediately, it just causes a picker update toallow making rpc again to the RLS target.- core: simplify DnsNameResolver.resolveAddresses()([`4843256`](https://togithub.com/grpc/grpc-java/commit/4843256af))- netty: Run handshakeCompleteRunnable in success cases([`283f103`](https://togithub.com/grpc/grpc-java/commit/283f1031f))- api,netty: Add custom header support for HTTP CONNECT proxy([`bbc0aa3`](https://togithub.com/grpc/grpc-java/commit/bbc0aa369))- binder: Pre-factor out the guts of the BinderClientTransporthandshake.([`9313e87`](https://togithub.com/grpc/grpc-java/commit/9313e87df))- compiler: Add RISC-V 64-bit architecture support to compiler buildconfiguration([`725ab22`](https://togithub.com/grpc/grpc-java/commit/725ab22f3))- core: Release lock before closing shared resource([`cb73f21`](https://togithub.com/grpc/grpc-java/commit/cb73f217e)).Shared resources are internal to gRPC for sharing expensive objectsacross channels and servers, like threads. This reduces the chances offorming a deadlock, like seen with s2a in[`d50098f`](https://togithub.com/grpc/grpc-java/commit/d50098f)- Upgrade gson to 2.12.1([`6dab2ce`](https://togithub.com/grpc/grpc-java/commit/6dab2ceab))- Upgrade dependencies([`f36defa`](https://togithub.com/grpc/grpc-java/commit/f36defa2d)).proto-google-common-protos to 2.63.1, google-auth-library to 1.40.0,error-prone annotations to 2.44.0, guava to 33.5.0-android,opentelemetry to 1.56.0- compiler: Update maximum supported protobuf edition to EDITION\_2024([`2f64092`](https://togithub.com/grpc/grpc-java/commit/2f64092b8))- binder: Introduce server authorization strategy v2([`d971072`](https://togithub.com/grpc/grpc-java/commit/d9710725d)).Adds support for `android:isolatedProcess` Services and moves allsecurity checks to the handshake, making subsequent transactions moreefficient.##### New Features- compiler: Upgrade to C++ protobuf 33.1([#&#8203;12534](https://togithub.com/grpc/grpc-java/issues/12534))([`58ae5f8`](https://togithub.com/grpc/grpc-java/commit/58ae5f808)).- util: Add gRFC A68 random subsetting LB([`48a4288`](https://togithub.com/grpc/grpc-java/commit/48a42889d)). Thepolicy uses the name `random_subsetting_experimental`. If it is workingfor you, tell us so we can gauge marking it stable. While the xDSportions haven’t yet landed, it is possible to use with xDS withJSON-style Structs as supported by gRFC A52- xds: Support for System Root Certs([#&#8203;12499](https://togithub.com/grpc/grpc-java/issues/12499))([`51611ba`](https://togithub.com/grpc/grpc-java/commit/51611bad1)).Most service mesh workloads use mTLS, as described in gRFC A29. However,there are cases where it is useful for applications to use normal TLSrather than using certificates for workload identity, such as when amesh wants to move some workloads behind a reverse proxy. The xDS`CertificateValidationContext` message (see[envoyproxy/envoy#34235](https://togithub.com/envoyproxy/envoy/pull/34235))has a `system_root_certs` field. In the gRPC client, if this field ispresent and the `ca_certificate_provider_instance` field is unset,system root certificates will be used for validation. This implements[gRFCA82](https://togithub.com/grpc/proposal/blob/master/A82-xds-system-root-certs.md).- xds: Support for GCP Authentication Filter([#&#8203;12499](https://togithub.com/grpc/grpc-java/issues/12499))([`51611ba`](https://togithub.com/grpc/grpc-java/commit/51611bad1)). Inservice mesh environments, there are cases where intermediate proxiesmake it impossible to rely on mTLS for end-to-end authentication. Thesecases can be addressed instead by the use of service account identityJWT tokens. The xDS [GCP Authenticationfilter](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/gcp_authn_filter)provides a mechanism for attaching such JWT tokens as gRPC callcredentials on GCP. gRPC already supports a framework for xDS HTTPfilters, as described in [gRFCA39](https://togithub.com/grpc/proposal/blob/master/A39-xds-http-filters.md).This release supports the GCP Authentication filter under this frameworkas described in [gRFCA83](https://togithub.com/grpc/proposal/blob/master/A83-xds-gcp-authn-filter.md).- xds: Support for xDS-based authority rewriting([#&#8203;12499](https://togithub.com/grpc/grpc-java/issues/12499))([`51611ba`](https://togithub.com/grpc/grpc-java/commit/51611bad1)).gRPC supports getting routing configuration from an xDS server, asdescribed in gRFCs[A27](https://togithub.com/grpc/proposal/blob/master/A27-xds-global-load-balancing.md)and[A28](https://togithub.com/grpc/proposal/blob/master/A28-xds-traffic-splitting-and-routing.md).The xDS configuration can configure the client to rewrite the authorityheader on requests. This functionality can be useful in cases where theserver is using the authority header to make decisions about how toprocess the request, such as when multiple hosts are handled via areverse proxy. Note that this feature is solely about rewriting theauthority header on data plane RPCs; it does not affect the authorityused in the TLS handshake.\As mentioned in [gRFCA29](https://togithub.com/grpc/proposal/blob/master/A29-xds-tls-security.md),there are use-cases for gRPC that prohibit trusting the xDS server tocontrol security-centric configuration. The authority rewriting featurefalls under the same umbrella as mTLS configuration. As a result, theauthority rewriting feature will only be enabled when the bootstrapconfig for the xDS server has `trusted_xds_server` in the`server_features` field.- xds: xDS based SNI setting and SAN validation([#&#8203;12378](https://togithub.com/grpc/grpc-java/issues/12378))([`0567531`](https://togithub.com/grpc/grpc-java/commit/0567531)). Whenusing xDS credentials make SNI for the Tls handshake to be configuredvia xDS, rather than use the channel authority as the SNI, and make SANvalidation to be able to use the SNI sent when so instructed via xDS.Implements gRFC[A101](https://togithub.com/grpc/proposal/blob/master/A101-SNI-setting-and-SNI-SAN-validation.md).##### Documentation- api: Document gRFC A18 TCP_USER_TIMEOUT handling for keepalive([`da70387`](https://togithub.com/grpc/grpc-java/commit/da7038782))- core: Fix AbstractClientStream Javadoc([`28a6130`](https://togithub.com/grpc/grpc-java/commit/28a6130e8))- examples: Document how to preserve META-INF/services in uber jars([`97695d5`](https://togithub.com/grpc/grpc-java/commit/97695d523))##### Thanks to-   [@&#8203;panchenko](https://togithub.com/panchenko)-   [@&#8203;Dayuxiaoshui](https://togithub.com/Dayuxiaoshui)-   [@&#8203;becomeStar](https://togithub.com/becomeStar)-   [@&#8203;kssumin](https://togithub.com/kssumin)-   [@&#8203;marcindabrowski](https://togithub.com/marcindabrowski)-   [@&#8203;MariusVolkhart](https://togithub.com/MariusVolkhart)-   [@&#8203;Zgoda91](https://togithub.com/Zgoda91)-   [@&#8203;devalkone](https://togithub.com/devalkone)###[`v1.77.1`](https://togithub.com/grpc/grpc-java/releases/tag/v1.77.1)[CompareSource](https://togithub.com/grpc/grpc-java/compare/v1.77.0...v1.77.1)##### Bug Fixes- rls: Avoid missed config update from reentrancy([https://github.com/grpc/grpc-java/pull/12549](https://togithub.com/grpc/grpc-java/pull/12549)).This fixes a regression since 1.75.0 triggered by CdsLb being convertedto XdsDepManager. Without this fix, a second channel to the same targetmay hang when starting, causing DEADLINE_EXCEEDED, and unhang when thecontrol plane delivers an update (e.g., endpoint address update)###[`v1.77.0`](https://togithub.com/grpc/grpc-java/releases/tag/v1.77.0)[CompareSource](https://togithub.com/grpc/grpc-java/compare/v1.76.2...v1.77.0)##### API Changes- binder: Remove experimental `BinderChannelBuilder.bindAsUser()`method, deprecated since 1.69([#&#8203;12401](https://togithub.com/grpc/grpc-java/issues/12401))([`f96ce06`](https://togithub.com/grpc/grpc-java/commit/f96ce0670))##### Bug Fixes- api: Fix name resolver bridge listener handling for address resolutionerrors for custom name resolvers([#&#8203;12441](https://togithub.com/grpc/grpc-java/issues/12441))([`acbbf86`](https://togithub.com/grpc/grpc-java/commit/acbbf869a)).This fixes regression introduced in v1.68.1 causing a“IllegalStateException: No value present.” exception- core: Fix NullPointerException during address update with HappyEyeballs([`5e8af56`](https://togithub.com/grpc/grpc-java/commit/5e8af564e)).This should not impact many people as the code is disabled by default,behind two experimental environment variables- okhttp: Fix bidirectional keep-alive causing spurious GOAWAY([`6fc3fd0`](https://togithub.com/grpc/grpc-java/commit/6fc3fd046)).This fixes the grpc-okhttp server incorrectly closing the connectionwith `GOAWAY: too_many_pings`- xds: SslContext updates handling when using system root certs([#&#8203;12340](https://togithub.com/grpc/grpc-java/issues/12340))([`63fdaac`](https://togithub.com/grpc/grpc-java/commit/63fdaaccc)).Since `FileWatcherCertificateProvider` isn't used when using system roottrust store, the SslContext update for the handshake that depended on itwasn't happening. This fix creates a separate `CertificateProvider` forhandling system root certs that doesn't rely on the`FileWatcherCertificateProvider.`- xds: Make cluster selection interceptor run before other filters([#&#8203;12381](https://togithub.com/grpc/grpc-java/issues/12381))([`82f9b8e`](https://togithub.com/grpc/grpc-java/commit/82f9b8ec0)).This is needed when there is `GcpAuthenticationFilter` in the filterchain to make available the cluster resource in `CallOption`s.- xds: Handle wildcards in DNS SAN exact matching([#&#8203;12345](https://togithub.com/grpc/grpc-java/issues/12345))([`5b876cc`](https://togithub.com/grpc/grpc-java/commit/5b876cc86))- android: Fix UdsChannelBuilder with WiFi Proxy([`349a35a`](https://togithub.com/grpc/grpc-java/commit/349a35a9b))- binder: Avoid potential deadlock when canceling AsyncSecurityPolicyfutures([#&#8203;12283](https://togithub.com/grpc/grpc-java/issues/12283))([`4725ced`](https://togithub.com/grpc/grpc-java/commit/4725ced99))- binder: Fix a BinderServerTransport crash in the rareshutdown-before-start case([#&#8203;12440](https://togithub.com/grpc/grpc-java/issues/12440))([`91f3f4d`](https://togithub.com/grpc/grpc-java/commit/91f3f4dc1))##### Improvements- Improve status messages by including causal error details in configparsing errors for outlier detection and xds’s wrr locality policies([`86e8b56`](https://togithub.com/grpc/grpc-java/commit/86e8b5617))- xds: Detect negative ref count for xds client([`21696cd`](https://togithub.com/grpc/grpc-java/commit/21696cd3d)). Anegative reference count could cause NullPointerExceptions, so when toomany unrefs are detected it produces a SEVERE warning and prevents thereference count from going negative- xds: Support deprecated xDS TLS fields for Istio compat([#&#8203;12435](https://togithub.com/grpc/grpc-java/issues/12435))([`53cd1a2`](https://togithub.com/grpc/grpc-java/commit/53cd1a225)).This fixes a regression with Istio introduced in v1.73.0. This givestime for [Istio’s new xDS fieldsupport](https://togithub.com/istio/istio/pull/58257) to roll out- googleapis: Allow wrapping NameResolver to inject XdsClient([#&#8203;12450](https://togithub.com/grpc/grpc-java/issues/12450))([`27d1508`](https://togithub.com/grpc/grpc-java/commit/27d150890)).This allows googleapis to inject an xDS bootstrap to use with itschannels even if one is already specified in the environment variable orsystem property. When the code was originally written there was a singleglobal XdsClient, but since gRFC A71 Xds Fallback each target string hasits own XdsClient and thus can have its own bootstrap- alts: Allow overriding metadata server address with env variable([`9ac12ef`](https://togithub.com/grpc/grpc-java/commit/9ac12ef89))([`498f717`](https://togithub.com/grpc/grpc-java/commit/498f717fc))- binder: Let the server know when the client fails to authorize it.([#&#8203;12445](https://togithub.com/grpc/grpc-java/issues/12445))([`599a0a1`](https://togithub.com/grpc/grpc-java/commit/599a0a146)) Thisavoids the server needing to wait for the handshake timeout beforerealizing the handshake failed##### New Features- opentelemetry: Implement otel retry metrics from gRFC A96([#&#8203;12064](https://togithub.com/grpc/grpc-java/issues/12064))([`d380191`](https://togithub.com/grpc/grpc-java/commit/d380191be))- opentelemetry: propagate baggage to server metrics for customattributes([#&#8203;12389](https://togithub.com/grpc/grpc-java/issues/12389))([`155308d`](https://togithub.com/grpc/grpc-java/commit/155308db2))- xds: Allow EC Keys in SPIFFE Bundle Map parsing([#&#8203;12399](https://togithub.com/grpc/grpc-java/issues/12399))([`559e3ba`](https://togithub.com/grpc/grpc-java/commit/559e3ba41))- xds: Enable authority rewriting (gRFC A81), system root cert support(gRFC A82), GCP authentication filter (gRFC A83), and SNI (gRFC A101)([#&#8203;12499](https://togithub.com/grpc/grpc-java/issues/12499))([`246c2b1`](https://togithub.com/grpc/grpc-java/commit/246c2b1ea)).Authority rewriting requires the control plane to be labeled`trusted_xds_server` in the bootstrap. System root cert support and SNIrequire using XdsChannelCredentials- rls: Add route lookup reason to request whether it is due to a cachemiss or stale cache entry([#&#8203;12442](https://togithub.com/grpc/grpc-java/issues/12442))([`795ce02`](https://togithub.com/grpc/grpc-java/commit/795ce0280))##### Dependencies- compiler: C++ protobuf used by codegen upgraded to 26.1([#&#8203;12330](https://togithub.com/grpc/grpc-java/issues/12330))([`55aefd5`](https://togithub.com/grpc/grpc-java/commit/55aefd5b8))- alts: Remove dep on grpclb([`b769f96`](https://togithub.com/grpc/grpc-java/commit/b769f966a)).ALTS is no longer used with grpclb, so this removes dead code- Upgrade netty to 4.1.127.Final([`b37ee67`](https://togithub.com/grpc/grpc-java/commit/b37ee67cf))##### Thanks to[@&#8203;panchenko](https://togithub.com/panchenko)[@&#8203;benjaminp](https://togithub.com/benjaminp)[@&#8203;HyunSangHan](https://togithub.com/HyunSangHan)[@&#8203;becomeStar](https://togithub.com/becomeStar)[@&#8203;ZachChuba](https://togithub.com/ZachChuba)[@&#8203;oliviamariacodes](https://togithub.com/oliviamariacodes)[@&#8203;kssumin](https://togithub.com/kssumin)[@&#8203;laz-canva](https://togithub.com/laz-canva)</details>---### Configuration📅 **Schedule**: Branch creation - At any time (no schedule defined),Automerge - At any time (no schedule defined).🚦 **Automerge**: Disabled by config. Please merge this manually once youare satisfied.♻ **Rebasing**: Whenever PR becomes conflicted, or you tick therebase/retry checkbox.👻 **Immortal**: This PR will be recreated if closed unmerged. Get[config help](https://togithub.com/renovatebot/renovate/discussions) ifthat's undesired.---- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, checkthis box---This PR has been generated by [RenovateBot](https://togithub.com/renovatebot/renovate).<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
Add a new module java-showcase-3.21.0. This is a copy of thejava-showcase module with a different version (3.21.0) of protobuf gencode. This is intended to test the compatibility between protobufruntime v4.33.x and gen code 3.21.0.The [gen code contains makeExtensionsImmutablemethod](https://github.com/googleapis/sdk-platform-java/blob/c80004ad3fdafbf43aa9adf4e8069ac3b4fefaa4/java-showcase-3.21.0/proto-gapic-showcase-v1beta1/src/main/java/com/google/showcase/v1beta1/AttemptSequenceRequest.java#L90)which proves that it is generated with a protoc version prior to 3.21.7.Add [a newstep](https://github.com/googleapis/sdk-platform-java/blob/c80004ad3fdafbf43aa9adf4e8069ac3b4fefaa4/.github/workflows/ci.yaml#L313-L319)in CI to test this module.
Add a new module java-showcase-3.25.8. This is a copy of thejava-showcase module with a different version (3.25.8) of protobuf gencode. This is intended to test the compatibility between protobufruntime v4.33.x and gen code 3.25.8.Add [a new step](https://github.com/googleapis/sdk-platform-java/blob/bccc9ded96f5313c22cd4543c25e49fb673792f6/.github/workflows/ci.yaml#L306-L312)in CI to test this module.
🤖 I have created a release *beep* *boop*---<details><summary>2.66.0</summary>##[2.66.0](googleapis/sdk-platform-java@v2.65.1...v2.66.0)(2026-01-23)### Features* Upgrade protobuf runtime and gen code to 4.33.x([#4000](googleapis/sdk-platform-java#4000))([#4074](googleapis/sdk-platform-java#4074))([3e37376](googleapis/sdk-platform-java@3e37376))### Dependencies* Downgrade opentelemetry to 1.51.0([#4075](googleapis/sdk-platform-java#4075))([cf65482](googleapis/sdk-platform-java@cf65482))* update auth library to 1.42.0([#4087](googleapis/sdk-platform-java#4087))([ad9ee07](googleapis/sdk-platform-java@ad9ee07))* update googleapis/java-cloud-bom digest to ef3656d([#3630](googleapis/sdk-platform-java#3630))([790bcf0](googleapis/sdk-platform-java@790bcf0))* update http-client to 2.1.0([#4086](googleapis/sdk-platform-java#4086))([d8bc8f5](googleapis/sdk-platform-java@d8bc8f5))</details>---This PR was generated with [ReleasePlease](https://github.com/googleapis/release-please). See[documentation](https://github.com/googleapis/release-please#release-please).Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
🤖 I have created a release *beep* *boop*---<details><summary>2.66.1-SNAPSHOT</summary>### Updating meta-information for bleeding-edge SNAPSHOT release.</details>---This PR was generated with [ReleasePlease](https://github.com/googleapis/release-please). See[documentation](https://github.com/googleapis/release-please#release-please).Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
This PR contains the following updates:| Package | Change |[Age](https://docs.renovatebot.com/merge-confidence/) |[Confidence](https://docs.renovatebot.com/merge-confidence/) ||---|---|---|---||[commons-codec:commons-codec](https://commons.apache.org/proper/commons-codec/)([source](https://redirect.github.com/apache/commons-codec)) | `1.20.0`→ `1.21.0` |![age](https://developer.mend.io/api/mc/badges/age/maven/commons-codec:commons-codec/1.21.0?slim=true)|![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/commons-codec:commons-codec/1.20.0/1.21.0?slim=true)||[io.opentelemetry.semconv:opentelemetry-semconv](https://redirect.github.com/open-telemetry/semantic-conventions-java)| `1.37.0` → `1.39.0` |![age](https://developer.mend.io/api/mc/badges/age/maven/io.opentelemetry.semconv:opentelemetry-semconv/1.39.0?slim=true)|![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.opentelemetry.semconv:opentelemetry-semconv/1.37.0/1.39.0?slim=true)|---### Release Notes<details><summary>apache/commons-codec (commons-codec:commons-codec)</summary>###[`v1.21.0`](https://redirect.github.com/apache/commons-codec/blob/HEAD/RELEASE-NOTES.txt#Apache-Commons-Codec-1210-Release-Notes)The Apache Commons Codec team is pleased to announce the release ofApache Commons Codec 1.21.0.The Apache Commons Codec component contains encoders and decoders forformats such as Base16, Base32, Base64, digest, and Hexadecimal. Inaddition to thesewidely used encoders and decoders, the codec package also maintains acollection of phonetic encoding utilities.This is a feature and maintenance release. Java 8 or later is required.</details><details><summary>open-telemetry/semantic-conventions-java(io.opentelemetry.semconv:opentelemetry-semconv)</summary>###[`v1.39.0`](https://redirect.github.com/open-telemetry/semantic-conventions-java/blob/HEAD/CHANGELOG.md#Version-1390-2026-01-28)[CompareSource](https://redirect.github.com/open-telemetry/semantic-conventions-java/compare/v1.38.0...v1.39.0)- Bump to semconv v1.39.0([#&#8203;396](https://redirect.github.com/open-telemetry/semantic-conventions-java/pull/396))###[`v1.38.0`](https://redirect.github.com/open-telemetry/semantic-conventions-java/blob/HEAD/CHANGELOG.md#Version-1380-2026-01-27)[CompareSource](https://redirect.github.com/open-telemetry/semantic-conventions-java/compare/v1.37.0...v1.38.0)- Bump to semconv v1.38.0([#&#8203;384](https://redirect.github.com/open-telemetry/semantic-conventions-java/pull/384))</details>---### Configuration📅 **Schedule**: Branch creation - At any time (no schedule defined),Automerge - At any time (no schedule defined).🚦 **Automerge**: Disabled by config. Please merge this manually once youare satisfied.♻ **Rebasing**: Whenever PR becomes conflicted, or you tick therebase/retry checkbox.👻 **Immortal**: This PR will be recreated if closed unmerged. Get[confighelp](https://redirect.github.com/renovatebot/renovate/discussions) ifthat's undesired.---- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, checkthis box---This PR has been generated by [RenovateBot](https://redirect.github.com/renovatebot/renovate).<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4zLjAiLCJ1cGRhdGVkSW5WZXIiOiI0My4zLjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
This pull request is generated with proto changes between[googleapis/googleapis@6406df7](googleapis/googleapis@6406df7)(exclusive) and[googleapis/googleapis@7a57066](googleapis/googleapis@7a57066)(inclusive).BEGIN_COMMIT_OVERRIDEBEGIN_NESTED_COMMITdocs: [common-protos] update reference documentation for`SelectionInput.DROPDOWN` to include dynamic data sources andautosuggestiondocs: [common-protos] update copyright to 2026PiperOrigin-RevId: 864941572Source Link:[googleapis/googleapis@2ca9449](googleapis/googleapis@2ca9449)END_NESTED_COMMITEND_COMMIT_OVERRIDE
🤖 I have created a release *beep* *boop*---<details><summary>2.66.1</summary>##[2.66.1](googleapis/sdk-platform-java@v2.66.0...v2.66.1)(2026-02-04)### Documentation* [common-protos] update reference documentation for`SelectionInput.DROPDOWN` to include dynamic data sources andautosuggestion([9960262](googleapis/sdk-platform-java@9960262))</details>---This PR was generated with [ReleasePlease](https://github.com/googleapis/release-please). See[documentation](https://github.com/googleapis/release-please#release-please).Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Remove 3.25.8 from protobuf compatibility testing because the gen codehas already been upgraded to 4.x.
We received vulnerability report for logback v1.5.21. Even though it isonly used in tests and does not affect customers, it is still good toupgrade logback to 1.5.25 in tests.
🤖 I have created a release *beep* *boop*---<details><summary>2.66.2-SNAPSHOT</summary>### Updating meta-information for bleeding-edge SNAPSHOT release.</details>---This PR was generated with [ReleasePlease](https://github.com/googleapis/release-please). See[documentation](https://github.com/googleapis/release-please#release-please).Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
## SummaryThis PR introduces a new tracing mechanism in GAX that allows recordingtraces using OpenTelemetry. It provides a way of recording spans andattributes, following the existing `ApiTracer` class pattern with a fewtracing-specific additions. The implementation is meant to be extensibleto support other implementations.## New Classes- **`TraceManager`**: An interface for managing spans and attributes;can be implemented by observability frameworks.- **`OpenTelemetryTraceManager`**: An implementation of `TraceManager`that uses the OpenTelemetry API.- **`AppCentricTracer`**: An `ApiTracer` implementation that delegatesspan management to a `TraceManager`.- **`AppCentricTracerFactory`**: A factory for creating`AppCentricTracer` instances.- **`ApiTracerContext`**: A context object that carries information(like `EndpointContext`'s server address property) used to infer commonattributes for all tracers.- **`Span`**: A handle returned by `TraceManager` to manage thelifecycle of a specific span (ending it, recording errors, or settingattributes).## Approach### Connecting Tracer with ManagerThe implementation aims to decouple `AppCentricTracer` from`TraceManager`. When a tracer starts an operation or an attempt, itrequests a `Span` from the recorder. This handle allows the tracer toupdate the span (e.g., adding attributes or recording errors) to keep`AppCentricTracer` separated from specific recorder implementations(like OpenTelemetry's `Span` object).### Attribute Inference via `ApiTracerContext`To provide a source of Span Attributes that are common to alloperations, we introduced `ApiTracerContext`. This context is passed to`ApiTracerFactory` and contains information such as serverAddress(provided by `EndpointContext`). It is operated by `ClientContext`.Initially, only `serverAddress` is contained in this class and it'smeant to obtain the `server.address` attribute.The class is ultimately operated by `AppCentricTracer` to extract thenecessary attributes.### Integration TestsA new integration test, `ITOtelTracing`, was added to the`java-showcase` module:- It validates that the expected spans (operation and attempt spans) arerecorded with the correct names, parent-child relationships, andattributes (including `server.address` and `gcp.client.language`).#### Note on java-bigtable downstream checkSince[SkipTrailersTest](https://github.com/googleapis/java-bigtable/blob/49fe7692c55747714ada4296ff0f856b1109eba5/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/SkipTrailersTest.java#L97)mocks the tracer factory, the `EndpointContext` call to`apiTracerFactory.withContext()` returns a null factory, causing a nullpointer exception when building the client context.We expect the test to be adjusted with this change with the nextrelease.### Confirmation in Cloud Trace<img width="1801" height="843" alt="image"src="https://github.com/user-attachments/assets/dfccf278-7bfc-43fe-bf64-51cae21494ea"/>---------Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
chore: update googleapis commit at Thu Feb  5 03:00:22 UTC 2026
This PR contains the following updates:| Package | Update | Change ||---|---|---||[com.google.auth:google-auth-library-bom](https://togithub.com/googleapis/google-auth-library-java)| minor | `1.42.1` -> `1.43.0` ||[com.google.errorprone:error_prone_annotations](https://errorprone.info)([source](https://togithub.com/google/error-prone)) | minor | `2.46.0`-> `2.47.0` ||[com.google.protobuf:protobuf-java](https://developers.google.com/protocol-buffers/)([source](https://togithub.com/protocolbuffers/protobuf)) | patch |`4.33.4` -> `4.33.5` || [io.grpc:grpc-bom](https://togithub.com/grpc/grpc-java) | minor |`1.78.0` -> `1.79.0` ||[io.opentelemetry:opentelemetry-bom](https://togithub.com/open-telemetry/opentelemetry-java)| minor | `1.58.0` -> `1.59.0` || [org.apache.httpcomponents.core5:httpcore5](https://hc.apache.org/) |patch | `5.4` -> `5.4.1` |---### Release Notes<details><summary>googleapis/google-auth-library-java(com.google.auth:google-auth-library-bom)</summary>###[`v1.43.0`](https://togithub.com/googleapis/google-auth-library-java/blob/HEAD/CHANGELOG.md#1430-2026-02-10)[CompareSource](https://togithub.com/googleapis/google-auth-library-java/compare/v1.42.1...v1.43.0)##### Features- Next release from main branch is 1.43.0([#&#8203;1887](https://togithub.com/googleapis/google-auth-library-java/issues/1887))([bec0ece](https://togithub.com/googleapis/google-auth-library-java/commit/bec0ecea8d1064a3467c4329a0d09f7d5705f84d))##### Bug Fixes- Deserialization checks valid class types for HttpTransportFactory([#&#8203;1882](https://togithub.com/googleapis/google-auth-library-java/issues/1882))([76ff74e](https://togithub.com/googleapis/google-auth-library-java/commit/76ff74e4c810d54763ca34d4f483730c43c329a8))</details><details><summary>google/error-prone(com.google.errorprone:error_prone_annotations)</summary>###[`v2.47.0`](https://togithub.com/google/error-prone/releases/tag/v2.47.0):Error Prone 2.47.0[CompareSource](https://togithub.com/google/error-prone/compare/v2.46.0...v2.47.0)New checks:-[`InterruptedInCatchBlock`](https://errorprone.info/bugpattern/InterruptedInCatchBlock):Detect accidental calls to `Thread.interrupted()` inside of`catch(InterruptedException e)` blocks.- [`RefactorSwitch`](https://errorprone.info/bugpattern/RefactorSwitch):Refactorings to simplify arrow switches-[`UnnamedVariable`](https://errorprone.info/bugpattern/UnnamedVariable):Rename unused variables to `_`Closed issues:[#&#8203;1811](https://togithub.com/google/error-prone/issues/1811),[#&#8203;4168](https://togithub.com/google/error-prone/issues/4168),[#&#8203;5459](https://togithub.com/google/error-prone/issues/5459),[#&#8203;5460](https://togithub.com/google/error-prone/issues/5460)Full changelog:google/error-prone@v2.46.0...v2.47.0</details><details><summary>grpc/grpc-java (io.grpc:grpc-bom)</summary>###[`v1.79.0`](https://togithub.com/grpc/grpc-java/releases/tag/v1.79.0)[CompareSource](https://togithub.com/grpc/grpc-java/compare/v1.78.0...v1.79.0)**API Changes**- core: Delete the never-usedio.grpc.internal.ReadableBuffer.readBytes(ByteBuffer)([#&#8203;12580](https://togithub.com/grpc/grpc-java/issues/12580))([`738782f`](https://togithub.com/grpc/grpc-java/commit/738782fb0)).This is deeply internal and not accessible, so shouldn’t impactanything. However, Apache Arrow Java [uses reflection to access privatefields](https://togithub.com/apache/arrow-java/blob/96156ccc2bf933c75c852ca7c04418a61f87defd/flight/flight-core/src/main/java/org/apache/arrow/flight/grpc/GetReadableBuffer.java#L44-L45);[GH-939: Remove reflection for gRPCbuffers](https://togithub.com/apache/arrow-java/pull/954) is swapping togRPC’s public zero-copy APIs- opentelemetry: Add target attribute filter for metrics([#&#8203;12587](https://togithub.com/grpc/grpc-java/issues/12587)).Introduce an optional Predicate targetAttributeFilter to control howgrpc.target is recorded in OpenTelemetry client metrics. When a filteris provided, targets rejected by the predicate are normalized to "other"to reduce grpc.target metric cardinality, while accepted targets arerecorded as-is. If no filter is set, existing behavior is preserved.This change adds a new Builder API on GrpcOpenTelemetry to allowapplications to configure the filter. **Behavior Changes**- core: Convert AutoConfiguredLB to an actual LB([`4bbf8ee`](https://togithub.com/grpc/grpc-java/commit/4bbf8eee5)).This is an internal refactoring, but it does improve how errors arehandled for broken binaries. Previously, not being able to loadpick_first would result in a channel panic. Now it is handled as aregular load balancing error- okhttp: Assert no pending streams before transport READY([#&#8203;12566](https://togithub.com/grpc/grpc-java/issues/12566))([`ed6d175`](https://togithub.com/grpc/grpc-java/commit/ed6d175fc)). Nopending streams should exist when the transport transitions to READY.This PR adds an assertion to help verify this invariant.**Bug Fixes**- core: PickFirstLB should not return a subchannel during CONNECTING([`228fc8e`](https://togithub.com/grpc/grpc-java/commit/228fc8ecd)).Pick-first in grpc-java has behaved this way since it was created, andit was of no consequence. However, now there are some load balancingpolicies (mainly RLS) that will do a pick() and hope the result to bereasonably accurate for metrics.**Improvements**- core: Improve DEADLINE_EXCEEDED message for CallCreds delays([`ead532b`](https://togithub.com/grpc/grpc-java/commit/ead532b39)).Previously the error message contained “buffered_nanos” and“waiting_for_connection” for connection delays. However, we discoveredthe same strings were also used if waiting on CallCredentials. Nowyou’ll see details like “connecting_and_lb_delay”,“call_credentials_delay”, and “was_still_waiting”.- opentelemetry: Add Android API checking([`a9f73f4`](https://togithub.com/grpc/grpc-java/commit/a9f73f4c0)).Previously we assumed OpenTelemetry support would not be used onAndroid. It did happen to be compatible with Android, but sinceOpenTelemetry does have some Android support, we now have a check thatit remains compatible- core: Catch Errors when calling complex config parsing code([`a535ed7`](https://togithub.com/grpc/grpc-java/commit/a535ed799)).Error (and any other Throwable) is now caught and handled when parsingconfiguration (e.g., service config, xds). This will cause such failuresto be handled gracefully instead of panicking the channel- core: Implement LoadBalancer.Helper.createOobChannel() with theinternals of createResolvingOobChannel()([`3915d02`](https://togithub.com/grpc/grpc-java/commit/3915d029c)).This API is only expected to be relevant to the gRPC-LB lookaside loadbalancer, and is not believed to have behavior changes. Out-of-bandchannel had been implemented with its own stripped-down Channel withoutload balancing. Reimplementing using the resolving oob channel makes ita full-fledged channel and reduces the burden when integrating newfeatures and allows us to have a ManagedChannelBuilder to use withefforts like [gRFC A110: Child ChannelOptions](https://togithub.com/grpc/proposal/pull/529).- xds: Implement the proactive connection logic in RingHashLoadBalanceras outlined in gRFC A61([#&#8203;12596](https://togithub.com/grpc/grpc-java/issues/12596)).Previously, the Java implementation only initialized child balancerswhen a ring-chosen endpoint was in TRANSIENT_FAILURE during a picker'spickSubchannel call. This PR adds the missing logic: when a childbalancer reports TRANSIENT_FAILURE, the LoadBalancer now proactivelyinitializes the first available IDLE child if no other children arecurrently connecting or ready.This ensures a backup subchannel starts warming up immediately outsidethe RPC flow, reducing failover latency and improving overallresilience. This behavior was previously present but was inadvertentlylost after[#&#8203;10610](https://togithub.com/grpc/grpc-java/pull/10610).- api: Add RFC 3986 support to DnsNameResolverProvider([#&#8203;12602](https://togithub.com/grpc/grpc-java/issues/12602))([`f65127c`](https://togithub.com/grpc/grpc-java/commit/f65127cf7))Experimental RFC 3986 target URI parsing mode (disabled by default)**New Features**- opentelemetry: Actual reason for the disconnects in subchannelmetrics([`6b2f758`](https://togithub.com/grpc/grpc-java/commit/6b2f7580c)),completing the remaining work in [gRFC A96: OTel metrics forSubchannels](https://togithub.com/grpc/proposal/pull/485/files)**Dependencies** - protobuf: Upgrade Bazel protobuf to 33.1([#&#8203;12553](https://togithub.com/grpc/grpc-java/issues/12553))([`b61a8f4`](https://togithub.com/grpc/grpc-java/commit/b61a8f49c)) andload java_proto_library from the protobuf repo([`c7f3cdb`](https://togithub.com/grpc/grpc-java/commit/c7f3cdbc3))- protobuf: Fix build with Bazel 9 by upgrading bazel_jar_jar andgrpc-proto versions([#&#8203;12569](https://togithub.com/grpc/grpc-java/issues/12569))- Upgrade dependencies([#&#8203;12588](https://togithub.com/grpc/grpc-java/issues/12588))([`6422092`](https://togithub.com/grpc/grpc-java/commit/6422092e3))Netty to 4.1.130, error-prone annotations to 2.45.0, google-auth-libraryto 1.41.0, tomcat-embed-core9 to 9.0.113, tomcat-embed-core to 10.1.50,opentelemetry to 1.57.0, jetty-ee10-servlet to 12.1.5,jetty-http2-server to 12.1.5, google-cloud-logging to 3.23.9,google-auth to 1.41.0, proto-google-common-protos to 2.63.2.**Thanks to**-   [@&#8203;benjaminp](https://togithub.com/benjaminp)-   [@&#8203;becomeStar](https://togithub.com/becomeStar)-   [@&#8203;meteorcloudy](https://togithub.com/meteorcloudy)</details><details><summary>open-telemetry/opentelemetry-java(io.opentelemetry:opentelemetry-bom)</summary>###[`v1.59.0`](https://togithub.com/open-telemetry/opentelemetry-java/blob/HEAD/CHANGELOG.md#Version-1590-2026-02-06)[CompareSource](https://togithub.com/open-telemetry/opentelemetry-java/compare/v1.58.0...v1.59.0)##### API-   Stabilize complex attributes([#&#8203;7973](https://togithub.com/open-telemetry/opentelemetry-java/pull/7973))-   Limit init valid hex array to range that can be true([#&#8203;7809](https://togithub.com/open-telemetry/opentelemetry-java/pull/7809))##### Extensions-   Trace propagators: Deprecate OtTracePropagator([#&#8203;8020](https://togithub.com/open-telemetry/opentelemetry-java/pull/8020))-   Trace propagators: Deprecate JaegerPropagator([#&#8203;8019](https://togithub.com/open-telemetry/opentelemetry-java/pull/8019))##### SDK- Move io.opentelemetry.sdk.internal toio.opentelemetry.sdk.common.internal([#&#8203;8003](https://togithub.com/open-telemetry/opentelemetry-java/pull/8003))-   Always return ExtendedOpenTelemetry when incubator is available([#&#8203;7991](https://togithub.com/open-telemetry/opentelemetry-java/pull/7991))##### Traces-   Fix memory leak in SdkSpan#spanEndingThread([#&#8203;7984](https://togithub.com/open-telemetry/opentelemetry-java/pull/7984))##### Metrics-   Rework and publish metric benchmarks([#&#8203;8000](https://togithub.com/open-telemetry/opentelemetry-java/pull/8000))-   Update LongLastValueAggregator algo to avoid allocations([#&#8203;8017](https://togithub.com/open-telemetry/opentelemetry-java/pull/8017))##### Testing-   Fix OTel JUnit5 Extension cleanup when using Nested test classes([#&#8203;7999](https://togithub.com/open-telemetry/opentelemetry-java/pull/7999))-   Add assertion support for Span hasException(null)([#&#8203;8033](https://togithub.com/open-telemetry/opentelemetry-java/pull/8033))##### Exporters- **DEPRECATION**: `opentelemetry-exporter-zipkin` is now deprecatedwith the    last release planned for 1.65.0 (August 2026)([#&#8203;7974](https://togithub.com/open-telemetry/opentelemetry-java/pull/7974))-   Refactor http, grpc senders and promote to public API([#&#8203;7782](https://togithub.com/open-telemetry/opentelemetry-java/pull/7782))##### Extensions-   Jaeger remote sampler: Remove unused code([#&#8203;7970](https://togithub.com/open-telemetry/opentelemetry-java/pull/7970))-   Incubator: Add AlwaysRecordSampler([#&#8203;7877](https://togithub.com/open-telemetry/opentelemetry-java/pull/7877))##### Project tooling-   Align generate release contributors([#&#8203;8023](https://togithub.com/open-telemetry/opentelemetry-java/pull/8023))</details>---### Configuration📅 **Schedule**: Branch creation - At any time (no schedule defined),Automerge - At any time (no schedule defined).🚦 **Automerge**: Disabled by config. Please merge this manually once youare satisfied.♻ **Rebasing**: Whenever PR becomes conflicted, or you tick therebase/retry checkbox.👻 **Immortal**: This PR will be recreated if closed unmerged. Get[config help](https://togithub.com/renovatebot/renovate/discussions) ifthat's undesired.---- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, checkthis box---This PR has been generated by [RenovateBot](https://togithub.com/renovatebot/renovate).<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
🤖 I have created a release *beep* *boop*---<details><summary>2.67.0</summary>##[2.67.0](googleapis/sdk-platform-java@v2.66.1...v2.67.0)(2026-02-18)### Features* **observability:** introduce minimal tracing implementation([#4105](googleapis/sdk-platform-java#4105))([e4e5e89](googleapis/sdk-platform-java@e4e5e89))### Dependencies* Upgrade Google-Auth-Library to v1.43.0([#4114](googleapis/sdk-platform-java#4114))([825298b](googleapis/sdk-platform-java@825298b))* Upgrade grpc to 1.76.3([#4106](googleapis/sdk-platform-java#4106))([c6555f5](googleapis/sdk-platform-java@c6555f5))</details>---This PR was generated with [ReleasePlease](https://github.com/googleapis/release-please). See[documentation](https://github.com/googleapis/release-please#release-please).Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
🤖 I have created a release *beep* *boop*---<details><summary>2.67.1-SNAPSHOT</summary>### Updating meta-information for bleeding-edge SNAPSHOT release.</details>---This PR was generated with [ReleasePlease](https://github.com/googleapis/release-please). See[documentation](https://github.com/googleapis/release-please#release-please).Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

20 participants

@chingor13@diegomarquezp@lqiu96@Neenu1995@JoeWang1127@JesseLovelace@zhumin8@renovate-bot@cindy-peng@mpeddada1@jinseopkim0@cloud-java-bot@ldetmer@rmehta19@PhongChuong@eamonnmcmanus@andyrzhao@blakeli0@meltsufin@suztomo

[8]ページ先頭

©2009-2026 Movatter.jp