Skip to content

Conversation

@quartzmo
Copy link
Member

feat: update image to us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/librarian-go@sha256:c4bb601f466f857040028f81c47ecf808034fcf8463166320f80be761653d167

…prod/images-prod/librarian-go@sha256:c4bb601f466f857040028f81c47ecf808034fcf8463166320f80be761653d167
@quartzmo quartzmo requested review from a team as code owners November 12, 2025 17:17
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @quartzmo, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request encompasses a routine update of the librarian-go image and significant enhancements to various Google Cloud client libraries. The primary functional change is the introduction of a 'returnPartialSuccess' query parameter for 'ListOperations' calls, enabling more flexible handling of long-running operations. Additionally, it includes refactoring of internal routing header logic in some clients and the enablement of hard-bound tokens for MTLS_S2A, contributing to improved client behavior and security.

Highlights

  • Librarian Image Update: The core librarian-go image has been updated to a new SHA256 hash, indicating a new version or build of the underlying tool.
  • New Query Parameter for ListOperations: A new query parameter, 'returnPartialSuccess', has been added to numerous 'ListOperations' REST client calls across various Google Cloud client libraries (e.g., AI Generative Language, AI Platform, AlloyDB, API Hub, Data Catalog, Dialogflow, Discovery Engine, Document AI, etc.). This allows clients to request partial success responses for long-running operations.
  • Routing Header Refactoring: The logic for generating routing headers in the Cloud Build v2 client and Firestore Admin client has been refactored to use a more robust slice-based approach with a 'seen' map, replacing previous string concatenation and map-based methods. This improves how request parameters like 'location', 'project_id', and 'database_id' are handled.
  • MTLS_S2A Hard-Bound Token Support: Several client libraries, including Asset, BigQuery, Cloud Tasks, Dataflow, Error Reporting, Essential Contacts, and Firestore, now explicitly allow hard-bound tokens for MTLS_S2A (Mutual TLS with Secure Session Association) through a new internal option.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request appears to be an automated dependency update from Librarian. It introduces several changes across a large number of files, including updating the builder image, adding a returnPartialSuccess parameter to many ListOperations methods, and enabling MTLS_S2A for several clients.

The PR also refactors how routing headers are constructed in some clients. While the new approach is an improvement, I've noticed a recurring performance issue in the generated code where regular expressions are compiled inside functions on every call. This is inefficient. I've added a few comments with suggestions to optimize this by compiling the regex once and reusing the result. These suggestions should be applied to all similar occurrences to improve performance.

Comment on lines +799 to 806
var routingHeaders []string
seen := make(map[string]bool)
if reg := regexp.MustCompile("projects/[^/]+/locations/(?P<location>[^/]+)"); reg.MatchString(req.GetParent()) && len(url.QueryEscape(reg.FindStringSubmatch(req.GetParent())[1])) > 0 {
routingHeadersMap["location"] = url.QueryEscape(reg.FindStringSubmatch(req.GetParent())[1])
}
for headerName, headerValue := range routingHeadersMap {
routingHeaders = fmt.Sprintf("%s%s=%s&", routingHeaders, headerName, headerValue)
if !seen["location"] {
routingHeaders = append(routingHeaders, fmt.Sprintf("%s=%s", "location", url.QueryEscape(reg.FindStringSubmatch(req.GetParent())[1])))
seen["location"] = true
}
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This block can be made more efficient. regexp.MustCompile is a relatively expensive operation and is being called on every function invocation. For better performance, the compiled regular expression should be defined as a package-level variable.

Additionally, the regular expression is evaluated multiple times against req.GetParent(). This can be optimized by calling FindStringSubmatch once and reusing its result.

A similar pattern of inefficiency is present in other functions within this file that construct routing headers. Applying this feedback across all of them would be beneficial.

	reg := regexp.MustCompile("projects/[^/]+/locations/(?P<location>[^/]+)")
	if matches := reg.FindStringSubmatch(req.GetParent()); len(matches) > 1 && len(url.QueryEscape(matches[1])) > 0 {
		if !seen["location"] {
			routingHeaders = append(routingHeaders, fmt.Sprintf("%s=%s", "location", url.QueryEscape(matches[1])))
			seen["location"] = true
		}
	}

Comment on lines +1645 to 1658
var routingHeaders []string
seen := make(map[string]bool)
if reg := regexp.MustCompile("projects/(?P<project_id>[^/]+)(?:/.*)?"); reg.MatchString(req.GetPitrSnapshot().GetDatabase()) && len(url.QueryEscape(reg.FindStringSubmatch(req.GetPitrSnapshot().GetDatabase())[1])) > 0 {
routingHeadersMap["project_id"] = url.QueryEscape(reg.FindStringSubmatch(req.GetPitrSnapshot().GetDatabase())[1])
if !seen["project_id"] {
routingHeaders = append(routingHeaders, fmt.Sprintf("%s=%s", "project_id", url.QueryEscape(reg.FindStringSubmatch(req.GetPitrSnapshot().GetDatabase())[1])))
seen["project_id"] = true
}
}
if reg := regexp.MustCompile("projects/[^/]+/databases/(?P<database_id>[^/]+)(?:/.*)?"); reg.MatchString(req.GetPitrSnapshot().GetDatabase()) && len(url.QueryEscape(reg.FindStringSubmatch(req.GetPitrSnapshot().GetDatabase())[1])) > 0 {
routingHeadersMap["database_id"] = url.QueryEscape(reg.FindStringSubmatch(req.GetPitrSnapshot().GetDatabase())[1])
}
for headerName, headerValue := range routingHeadersMap {
routingHeaders = fmt.Sprintf("%s%s=%s&", routingHeaders, headerName, headerValue)
if !seen["database_id"] {
routingHeaders = append(routingHeaders, fmt.Sprintf("%s=%s", "database_id", url.QueryEscape(reg.FindStringSubmatch(req.GetPitrSnapshot().GetDatabase())[1])))
seen["database_id"] = true
}
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This block has some performance inefficiencies. regexp.MustCompile is called multiple times within this block, and for each regex, FindStringSubmatch is also called multiple times. For better performance, compiled regular expressions should be defined as package-level variables to avoid recompilation on every call.

Also, req.GetPitrSnapshot().GetDatabase() is called repeatedly, and the regex matching can be simplified to a single FindStringSubmatch call per regex, checking the length of the result.

Here's a suggested refactoring. This feedback also applies to the REST client implementation of this method later in the file.

Suggested change
var routingHeaders []string
seen := make(map[string]bool)
if reg := regexp.MustCompile("projects/(?P<project_id>[^/]+)(?:/.*)?"); reg.MatchString(req.GetPitrSnapshot().GetDatabase()) && len(url.QueryEscape(reg.FindStringSubmatch(req.GetPitrSnapshot().GetDatabase())[1])) > 0 {
routingHeadersMap["project_id"] = url.QueryEscape(reg.FindStringSubmatch(req.GetPitrSnapshot().GetDatabase())[1])
if !seen["project_id"] {
routingHeaders = append(routingHeaders, fmt.Sprintf("%s=%s", "project_id", url.QueryEscape(reg.FindStringSubmatch(req.GetPitrSnapshot().GetDatabase())[1])))
seen["project_id"] = true
}
}
if reg := regexp.MustCompile("projects/[^/]+/databases/(?P<database_id>[^/]+)(?:/.*)?"); reg.MatchString(req.GetPitrSnapshot().GetDatabase()) && len(url.QueryEscape(reg.FindStringSubmatch(req.GetPitrSnapshot().GetDatabase())[1])) > 0 {
routingHeadersMap["database_id"] = url.QueryEscape(reg.FindStringSubmatch(req.GetPitrSnapshot().GetDatabase())[1])
}
for headerName, headerValue := range routingHeadersMap {
routingHeaders = fmt.Sprintf("%s%s=%s&", routingHeaders, headerName, headerValue)
if !seen["database_id"] {
routingHeaders = append(routingHeaders, fmt.Sprintf("%s=%s", "database_id", url.QueryEscape(reg.FindStringSubmatch(req.GetPitrSnapshot().GetDatabase())[1])))
seen["database_id"] = true
}
}
var routingHeaders []string
seen := make(map[string]bool)
databasePath := req.GetPitrSnapshot().GetDatabase()
regProject := regexp.MustCompile("projects/(?P<project_id>[^/]+)(?:/.*)?")
if matches := regProject.FindStringSubmatch(databasePath); len(matches) > 1 && len(url.QueryEscape(matches[1])) > 0 {
if !seen["project_id"] {
routingHeaders = append(routingHeaders, fmt.Sprintf("%s=%s", "project_id", url.QueryEscape(matches[1])))
seen["project_id"] = true
}
}
regDatabase := regexp.MustCompile("projects/[^/]+/databases/(?P<database_id>[^/]+)(?:/.*)?")
if matches := regDatabase.FindStringSubmatch(databasePath); len(matches) > 1 && len(url.QueryEscape(matches[1])) > 0 {
if !seen["database_id"] {
routingHeaders = append(routingHeaders, fmt.Sprintf("%s=%s", "database_id", url.QueryEscape(matches[1])))
seen["database_id"] = true
}
}

Comment on lines +3575 to 3588
var routingHeaders []string
seen := make(map[string]bool)
if reg := regexp.MustCompile("projects/(?P<project_id>[^/]+)(?:/.*)?"); reg.MatchString(req.GetPitrSnapshot().GetDatabase()) && len(url.QueryEscape(reg.FindStringSubmatch(req.GetPitrSnapshot().GetDatabase())[1])) > 0 {
routingHeadersMap["project_id"] = url.QueryEscape(reg.FindStringSubmatch(req.GetPitrSnapshot().GetDatabase())[1])
if !seen["project_id"] {
routingHeaders = append(routingHeaders, fmt.Sprintf("%s=%s", "project_id", url.QueryEscape(reg.FindStringSubmatch(req.GetPitrSnapshot().GetDatabase())[1])))
seen["project_id"] = true
}
}
if reg := regexp.MustCompile("projects/[^/]+/databases/(?P<database_id>[^/]+)(?:/.*)?"); reg.MatchString(req.GetPitrSnapshot().GetDatabase()) && len(url.QueryEscape(reg.FindStringSubmatch(req.GetPitrSnapshot().GetDatabase())[1])) > 0 {
routingHeadersMap["database_id"] = url.QueryEscape(reg.FindStringSubmatch(req.GetPitrSnapshot().GetDatabase())[1])
}
for headerName, headerValue := range routingHeadersMap {
routingHeaders = fmt.Sprintf("%s%s=%s&", routingHeaders, headerName, headerValue)
if !seen["database_id"] {
routingHeaders = append(routingHeaders, fmt.Sprintf("%s=%s", "database_id", url.QueryEscape(reg.FindStringSubmatch(req.GetPitrSnapshot().GetDatabase())[1])))
seen["database_id"] = true
}
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This block has the same performance inefficiencies as its gRPC counterpart earlier in the file. regexp.MustCompile is called multiple times, and for each regex, FindStringSubmatch is also called multiple times. For better performance, compiled regular expressions should be defined as package-level variables.

The regex matching can be simplified to a single FindStringSubmatch call per regex, checking the length of the result.

Suggested change
var routingHeaders []string
seen := make(map[string]bool)
if reg := regexp.MustCompile("projects/(?P<project_id>[^/]+)(?:/.*)?"); reg.MatchString(req.GetPitrSnapshot().GetDatabase()) && len(url.QueryEscape(reg.FindStringSubmatch(req.GetPitrSnapshot().GetDatabase())[1])) > 0 {
routingHeadersMap["project_id"] = url.QueryEscape(reg.FindStringSubmatch(req.GetPitrSnapshot().GetDatabase())[1])
if !seen["project_id"] {
routingHeaders = append(routingHeaders, fmt.Sprintf("%s=%s", "project_id", url.QueryEscape(reg.FindStringSubmatch(req.GetPitrSnapshot().GetDatabase())[1])))
seen["project_id"] = true
}
}
if reg := regexp.MustCompile("projects/[^/]+/databases/(?P<database_id>[^/]+)(?:/.*)?"); reg.MatchString(req.GetPitrSnapshot().GetDatabase()) && len(url.QueryEscape(reg.FindStringSubmatch(req.GetPitrSnapshot().GetDatabase())[1])) > 0 {
routingHeadersMap["database_id"] = url.QueryEscape(reg.FindStringSubmatch(req.GetPitrSnapshot().GetDatabase())[1])
}
for headerName, headerValue := range routingHeadersMap {
routingHeaders = fmt.Sprintf("%s%s=%s&", routingHeaders, headerName, headerValue)
if !seen["database_id"] {
routingHeaders = append(routingHeaders, fmt.Sprintf("%s=%s", "database_id", url.QueryEscape(reg.FindStringSubmatch(req.GetPitrSnapshot().GetDatabase())[1])))
seen["database_id"] = true
}
}
var routingHeaders []string
seen := make(map[string]bool)
databasePath := req.GetPitrSnapshot().GetDatabase()
regProject := regexp.MustCompile("projects/(?P<project_id>[^/]+)(?:/.*)?")
if matches := regProject.FindStringSubmatch(databasePath); len(matches) > 1 && len(url.QueryEscape(matches[1])) > 0 {
if !seen["project_id"] {
routingHeaders = append(routingHeaders, fmt.Sprintf("%s=%s", "project_id", url.QueryEscape(matches[1])))
seen["project_id"] = true
}
}
regDatabase := regexp.MustCompile("projects/[^/]+/databases/(?P<database_id>[^/]+)(?:/.*)?")
if matches := regDatabase.FindStringSubmatch(databasePath); len(matches) > 1 && len(url.QueryEscape(matches[1])) > 0 {
if !seen["database_id"] {
routingHeaders = append(routingHeaders, fmt.Sprintf("%s=%s", "database_id", url.QueryEscape(matches[1])))
seen["database_id"] = true
}
}

shollyman
shollyman previously approved these changes Nov 12, 2025
Copy link
Contributor

@shollyman shollyman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lots of LRO updates, LGTM

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @quartzmo, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request includes several updates to the codebase. It updates the librarian image, adds a new token option to gRPC clients, includes the returnPartialSuccess parameter for REST clients, and refactors routing headers in the Cloud Build API client.

Highlights

  • Image Update: The librarian image has been updated to us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/librarian-go@sha256:c4bb601f466f857040028f81c47ecf808034fcf8463166320f80be761653d167.
  • gRPC Client Options: Added internaloption.AllowHardBoundTokens("MTLS_S2A") to gRPC client options in multiple API clients.
  • REST Client Updates: Modified numerous REST client files to include returnPartialSuccess parameter in ListOperations.
  • Routing Headers: Refactored routing headers in cloudbuild/apiv1/v2/cloud_build_client.go to use a list instead of string concatenation.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

The pull request primarily updates a librarian image in state.yaml and introduces a new returnPartialSuccess query parameter in various Go API client files. Additionally, there are minor refactorings in the cloudbuild and firestore clients to improve how routing headers are constructed, making the code more robust against duplicate parameters. An internal authentication option AllowHardBoundTokens("MTLS_S2A") was also added to some client options. Overall, the changes appear to be routine updates and minor code improvements, with no immediate critical or high-severity issues identified.

@quartzmo quartzmo added the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Nov 12, 2025
@kokoro-team kokoro-team removed the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Nov 12, 2025
@quartzmo quartzmo enabled auto-merge (squash) November 12, 2025 20:53
@quartzmo quartzmo disabled auto-merge November 12, 2025 20:53
@quartzmo quartzmo enabled auto-merge (squash) November 12, 2025 20:59
@quartzmo quartzmo merged commit 29b6c97 into main Nov 12, 2025
273 checks passed
@quartzmo quartzmo deleted the librarian-20251112T170525Z branch November 12, 2025 20:59
JoeWang1127 pushed a commit that referenced this pull request Dec 4, 2025
PR created by the Librarian CLI to initialize a release. Merging this PR
will auto trigger a release.

Librarian Version: v0.0.0-20251113212345-55e52e492404
Language Image:
us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/librarian-go@sha256:718167d5c23ed389b41f617b3a00ac839bdd938a6bd2d48ae0c2f1fa51ab1c3d
<details><summary>aiplatform: 1.110.0</summary>

##
[1.110.0](aiplatform/v1.109.0...aiplatform/v1.110.0)
(2025-12-04)

### Features

* add `gpu_partition_size` in `machine_spec` v1 api (PiperOrigin-RevId:
833901564)
([185951b](185951b3))

* A new field `min_gpu_driver_version` is added to message
`.google.cloud.aiplatform.v1beta1.MachineSpec` (PiperOrigin-RevId:
838969898)
([185951b](185951b3))

* add `ReplicatedVoiceConfig` to `VoiceConfig` to enable Gemini TTS
voice replication (PiperOrigin-RevId: 833560482)
([185951b](185951b3))

* Introduce RagManagedVertexVectorSearch as a new vector db option
(PiperOrigin-RevId: 839431594)
([185951b](185951b3))

* Expose FullFineTunedResources for full fine tuned deployments
(PiperOrigin-RevId: 839371231)
([185951b](185951b3))

* add RagCorpus.satisfies_pzs and RagCorpus.satisfies_pzi
(PiperOrigin-RevId: 839431594)
([185951b](185951b3))

* Expose zone when creating a FeatureOnlineStore (PiperOrigin-RevId:
837256132)
([185951b](185951b3))

* Add support for developer connect based deployment (PiperOrigin-RevId:
833917724)
([185951b](185951b3))

### Documentation

* A comment for field `google_drive_metadata_source` in message
`.google.cloud.aiplatform.v1beta1.RagFileMetadataConfig` is changed
(PiperOrigin-RevId: 839431594)
([185951b](185951b3))

* A comment for field `user_metadata` in message
`.google.cloud.aiplatform.v1beta1.RagFile` is changed
(PiperOrigin-RevId: 839431594)
([185951b](185951b3))

* A comment for field `google_drive_metadata_schema_source` in message
`.google.cloud.aiplatform.v1beta1.RagFileMetadataConfig` is changed
(PiperOrigin-RevId: 839431594)
([185951b](185951b3))

* A comment for message `ReasoningEngineSpec` is changed
(PiperOrigin-RevId: 833917724)
([185951b](185951b3))

* update `ReplicatedVoiceConfig.mime_type` comment (PiperOrigin-RevId:
839364684)
([185951b](185951b3))

* A comment for field `rag_files_count` in message
`.google.cloud.aiplatform.v1beta1.RagCorpus` is changed
(PiperOrigin-RevId: 839431594)
([185951b](185951b3))

* A comment for field `enterprise` in message
`.google.cloud.aiplatform.v1beta1.RagManagedDbConfig` is changed
(PiperOrigin-RevId: 839431594)
([185951b](185951b3))

* A comment for field `gcs_metadata_schema_source` in message
`.google.cloud.aiplatform.v1beta1.RagFileMetadataConfig` is changed
(PiperOrigin-RevId: 839431594)
([185951b](185951b3))

* A comment for field `scaled` in message
`.google.cloud.aiplatform.v1beta1.RagManagedDbConfig` is changed
(PiperOrigin-RevId: 839431594)
([185951b](185951b3))

* A comment for field `gcs_metadata_source` in message
`.google.cloud.aiplatform.v1beta1.RagFileMetadataConfig` is changed
(PiperOrigin-RevId: 839431594)
([185951b](185951b3))

* A comment for field `package_spec` in message
`.google.cloud.aiplatform.v1.ReasoningEngineSpec` is changed
(PiperOrigin-RevId: 833911903)
([185951b](185951b3))

* A comment for message `RagManagedDbConfig` is changed
(PiperOrigin-RevId: 839431594)
([185951b](185951b3))

* A comment for field `package_spec` in message
`.google.cloud.aiplatform.v1beta1.ReasoningEngineSpec` is changed
(PiperOrigin-RevId: 833917724)
([185951b](185951b3))

</details>


<details><summary>artifactregistry: 1.18.0</summary>

##
[1.18.0](artifactregistry/v1.17.2...artifactregistry/v1.18.0)
(2025-12-04)

### Features

* add image_manifest field in DockerImage (PiperOrigin-RevId: 830951552)
([185951b](185951b3))

* add Ruby format in VulnerabilityScanningConfig (PiperOrigin-RevId:
830951552)
([185951b](185951b3))

* add ExportArtifact API (PiperOrigin-RevId: 839457154)
([185951b](185951b3))

* add artifact_type field in DockerImage (PiperOrigin-RevId: 830951552)
([185951b](185951b3))

### Documentation

* A comment for enum value `ENABLEMENT_CONFIG_UNSPECIFIED` in enum
`EnablementConfig` is changed (PiperOrigin-RevId: 830951552)
([185951b](185951b3))

* A comment for field `name` in message
`.google.devtools.artifactregistry.v1.DockerImage` is changed
(PiperOrigin-RevId: 830951552)
([185951b](185951b3))

* A comment for field `satisfies_pzs` in message
`.google.devtools.artifactregistry.v1.Repository` is changed
(PiperOrigin-RevId: 830951552)
([185951b](185951b3))

* A comment for field `satisfies_pzi` in message
`.google.devtools.artifactregistry.v1.Repository` is changed
(PiperOrigin-RevId: 830951552)
([185951b](185951b3))

</details>


<details><summary>backupdr: 1.6.0</summary>

##
[1.6.0](backupdr/v1.5.0...backupdr/v1.6.0)
(2025-12-04)

### Features

* Adding new fields for CMEK and Retention Inheritance features
(PiperOrigin-RevId: 833678865)
([185951b](185951b3))

* Adding `unreachable` field to `ListDataSourceReferences` API
(PiperOrigin-RevId: 828740816)
([185951b](185951b3))

</details>


<details><summary>batch: 1.14.0</summary>

##
[1.14.0](batch/v1.13.0...batch/v1.14.0)
(2025-12-04)

### Features

* added new provisioning models (PiperOrigin-RevId: 833725203)
([185951b](185951b3))

</details>


<details><summary>channel: 1.21.0</summary>

##
[1.21.0](channel/v1.20.0...channel/v1.21.0)
(2025-12-04)

### Bug Fixes

* Changed field behavior for an existing field `entitlement_granularity`
in message `.google.cloud.channel.v1.RepricingConfig`
(PiperOrigin-RevId: 838889186)
([185951b](185951b3))

### Documentation

* A comment for field `event_type` in message
`.google.cloud.channel.v1.EntitlementEvent` is changed
(PiperOrigin-RevId: 838889186)
([185951b](185951b3))

* A comment for field `account` in message
`.google.cloud.channel.v1.RegisterSubscriberRequest` is changed
(PiperOrigin-RevId: 838889186)
([185951b](185951b3))

* A comment for field `next_page_token` in message
`.google.cloud.channel.v1.ListSkuGroupsResponse` is changed
(PiperOrigin-RevId: 838889186)
([185951b](185951b3))

* A comment for field `account` in message
`.google.cloud.channel.v1.ListSubscribersRequest` is changed
(PiperOrigin-RevId: 838889186)
([185951b](185951b3))

* A comment for field `offers` in message
`.google.cloud.channel.v1.ListOffersResponse` is changed
(PiperOrigin-RevId: 838889186)
([185951b](185951b3))

* A comment for field `next_page_token` in message
`.google.cloud.channel.v1.ListSkuGroupBillableSkusResponse` is changed
(PiperOrigin-RevId: 838889186)
([185951b](185951b3))

* A comment for field `owned` in message
`.google.cloud.channel.v1.CloudIdentityCustomerAccount` is changed
(PiperOrigin-RevId: 838889186)
([185951b](185951b3))

* A comment for message `ChangeParametersRequest` is changed
(PiperOrigin-RevId: 838889186)
([185951b](185951b3))

* A comment for field `event_type` in message
`.google.cloud.channel.v1.CustomerEvent` is changed (PiperOrigin-RevId:
838889186)
([185951b](185951b3))

* A comment for field `page_token` in message
`.google.cloud.channel.v1.ListSkuGroupBillableSkusRequest` is changed
(PiperOrigin-RevId: 838889186)
([185951b](185951b3))

* A comment for field `page_token` in message
`.google.cloud.channel.v1.ListSkuGroupsRequest` is changed
(PiperOrigin-RevId: 838889186)
([185951b](185951b3))

* A comment for field `entitlement_granularity` in message
`.google.cloud.channel.v1.RepricingConfig` is changed
(PiperOrigin-RevId: 838889186)
([185951b](185951b3))

* A comment for field `account` in message
`.google.cloud.channel.v1.UnregisterSubscriberRequest` is changed
(PiperOrigin-RevId: 838889186)
([185951b](185951b3))

* A comment for method `RegisterSubscriber` in service
`CloudChannelService` is changed (PiperOrigin-RevId: 838889186)
([185951b](185951b3))

* A comment for method `ListSubscribers` in service
`CloudChannelService` is changed (PiperOrigin-RevId: 838889186)
([185951b](185951b3))

* A comment for method `UnregisterSubscriber` in service
`CloudChannelService` is changed (PiperOrigin-RevId: 838889186)
([185951b](185951b3))

* A comment for enum `CustomerAttestationState` is changed
(PiperOrigin-RevId: 838889186)
([185951b](185951b3))

* A comment for field `customer_attestation_state` in message
`.google.cloud.channel.v1.Customer` is changed (PiperOrigin-RevId:
838889186)
([185951b](185951b3))

</details>


<details><summary>cloudbuild: 1.24.0</summary>

##
[1.24.0](cloudbuild/v1.23.1...cloudbuild/v1.24.0)
(2025-12-04)

### Features

* Update GCB with latest proto changes (PiperOrigin-RevId: 837135318)
([185951b](185951b3))

</details>


<details><summary>compute: 1.50.0</summary>

##
[1.50.0](compute/v1.49.1...compute/v1.50.0)
(2025-12-04)

### Features

* Update Compute Engine v1beta API to revision 20251019
([185951b](185951b3))

</details>


<details><summary>dialogflow: 1.72.0</summary>

##
[1.72.0](dialogflow/v1.71.0...dialogflow/v1.72.0)
(2025-12-04)

### Features

* add support for defining custom actions in code. See
https://cloud.google.com/dialogflow/cx/docs/concept/playbook/code-block
for more information (PiperOrigin-RevId: 830582229)
([185951b](185951b3))

* Service Account Auth in Tools and Webhooks (PiperOrigin-RevId:
830582229)
([185951b](185951b3))

* add agentDesktopSource field to the Participant object
(PiperOrigin-RevId: 830460349)
([185951b](185951b3))

### Documentation

* Add further clarification for when the event Type
CONVERSATION_FINISHED is fired (PiperOrigin-RevId: 830460349)
([185951b](185951b3))

* Update evaluator version from output only to optional.
(PiperOrigin-RevId: 830460349)
([185951b](185951b3))

</details>


<details><summary>eventarc: 1.18.0</summary>

##
[1.18.0](eventarc/v1.17.0...eventarc/v1.18.0)
(2025-12-04)

### Features

* add wide-scope Eventarc GoogleApiSource flags (PiperOrigin-RevId:
836781847)
([185951b](185951b3))

* add Eventarc Trigger RetryPolicy (PiperOrigin-RevId: 836781847)
([185951b](185951b3))

</details>


<details><summary>geminidataanalytics: 0.3.0</summary>

##
[0.3.0](geminidataanalytics/v0.2.1...geminidataanalytics/v0.3.0)
(2025-12-04)

### Features

* Adding a new SchemaRelationship message to define relationships
between table schema (PiperOrigin-RevId: 829449036)
([185951b](185951b3))

* Adding an ExampleQueries message to surface derived and authored
example queries (PiperOrigin-RevId: 829449036)
([185951b](185951b3))

* Adding a GlossaryTerm message to allow users to provide definitions
for domain-specific terms (PiperOrigin-RevId: 829449036)
([185951b](185951b3))

* Adding struct_schema to Datasource to support flexible schemas,
particularly for Looker datasources (PiperOrigin-RevId: 829449036)
([185951b](185951b3))

* Adding DatasourceOptions to provide configuration options for
datasources (PiperOrigin-RevId: 829449036)
([185951b](185951b3))

* Adding client_managed_resource_context to allow clients to manage
their own conversation and agent resources (PiperOrigin-RevId:
829449036)
([185951b](185951b3))

* Adding support for LookerQuery within the DataQuery message for
retrieving data from Looker explores (PiperOrigin-RevId: 829449036)
([185951b](185951b3))

* Adding a new TextType PROGRESS to provide informational messages about
an agent&amp;#39;s progress for supporting more granular Agent RAG tools
(PiperOrigin-RevId: 829449036)
([185951b](185951b3))

* Adding a DeleteConversation RPC to allow for the deletion of
conversations (PiperOrigin-RevId: 829449036)
([185951b](185951b3))

</details>


<details><summary>gkemulticloud: 1.6.0</summary>

##
[1.6.0](gkemulticloud/v1.5.4...gkemulticloud/v1.6.0)
(2025-12-04)

### Features

* added custom tolerations and labels support for Attached Clusters
(PiperOrigin-RevId: 839306772)
([185951b](185951b3))

* mark GKE-on-AWS and GKE-on-Azure protos as being deprecated to
discourage any new usage as these services turn down (PiperOrigin-RevId:
839306772)
([185951b](185951b3))

### Documentation

* A comment for field `requested_cancellation` in message
`.google.cloud.gkemulticloud.v1.OperationMetadata` is changed
(PiperOrigin-RevId: 839306772)
([185951b](185951b3))

* A comment for field `throughput` in message
`.google.cloud.gkemulticloud.v1.AwsVolumeTemplate` is changed
(PiperOrigin-RevId: 839306772)
([185951b](185951b3))

* A comment for field `tags` in message
`.google.cloud.gkemulticloud.v1.AttachedCluster` is changed
(PiperOrigin-RevId: 839306772)
([185951b](185951b3))

</details>


<details><summary>hypercomputecluster: 0.1.0</summary>

##
[0.1.0](hypercomputecluster/v0.0.0...hypercomputecluster/v0.1.0)
(2025-12-04)

### Features

* add new client (#13423) (PiperOrigin-RevId: 823382075)
([945efa9](945efa94))

</details>


<details><summary>netapp: 1.11.0</summary>

##
[1.11.0](netapp/v1.10.1...netapp/v1.11.0)
(2025-12-04)

### Features

* Add Squash Mode to Export Policy This change introduces squash mode
options to the export policy rules. Squash mode determines how user and
group IDs are mapped for NFS volume access. The following squash modes
are added: * **NO_ROOT_SQUASH** Root user retains full access. *
**ROOT_SQUASH** Root user is mapped to the anonymous user ID. *
**ALL_SQUASH** All users are mapped to the anonymous user ID. A new
field anon_uid is also added to specify the anonymous user ID when
ALL_SQUASH is used. The squash_mode field takes precedence over the
existing has_root_access field, which will be deprecated in the future.
(PiperOrigin-RevId: 834629780)
([185951b](185951b3))

</details>


<details><summary>networksecurity: 0.11.0</summary>

##
[0.11.0](networksecurity/v0.10.7...networksecurity/v0.11.0)
(2025-12-04)

### Features

* publish networksecurity v1beta1 api (PiperOrigin-RevId: 838919865)
([185951b](185951b3))

</details>


<details><summary>parallelstore: 0.12.0</summary>

##
[0.12.0](parallelstore/v0.11.4...parallelstore/v0.12.0)
(2025-12-04)

### Features

* add transfer metadata options proto definition (PiperOrigin-RevId:
839132650)
([185951b](185951b3))

### Documentation

* update tickets component number (PiperOrigin-RevId: 839132650)
([185951b](185951b3))

</details>


<details><summary>shopping: 1.4.0</summary>

##
[1.4.0](shopping/v1.3.0...shopping/v1.4.0)
(2025-12-04)

### Features

* A new field `products_management` is added to message
`.google.shopping.merchant.accounts.v1.CreateAndConfigureAccountRequest`
(PiperOrigin-RevId: 832226276)
([185951b](185951b3))

* A new message `VerifySelfRequest` is added (PiperOrigin-RevId:
832226276)
([185951b](185951b3))

* A new field `comparison_shopping` is added to message
`.google.shopping.merchant.accounts.v1.AccountService`
(PiperOrigin-RevId: 832226276)
([185951b](185951b3))

* Added C#, PHP, and Ruby namespace options to LocalInventory and
RegionalInventory proto files for improved client library generation
(PiperOrigin-RevId: 830781339)
([185951b](185951b3))

* Added `VERIFY_BUSINESS_VIDEO_IN_MERCHANT_CENTER` as a new enum value
to `ExternalAction.Type`. This supports redirecting to Merchant Center
for business video verification (PiperOrigin-RevId: 830781240)
([185951b](185951b3))

* A new message `ComparisonShopping` is added (PiperOrigin-RevId:
832226276)
([185951b](185951b3))

* A new field `comparison_shopping` is added to message
`.google.shopping.merchant.accounts.v1.CreateAndConfigureAccountRequest`
(PiperOrigin-RevId: 832226276)
([185951b](185951b3))

* Added the `product_id_base64_url_encoded` field to
`ListLocalInventoriesRequest`, `InsertLocalInventoryRequest`,
`DeleteLocalInventoryRequest`, `ListRegionalInventoriesRequest`,
`InsertRegionalInventoryRequest`, and `DeleteRegionalInventoryRequest`.
This allows for product IDs containing special characters to be
correctly handled when base64url-encoded (PiperOrigin-RevId: 830781339)
([185951b](185951b3))

* Added the `product_id_base64_url_encoded` field to
`InsertProductInputRequest`, `DeleteProductInputRequest`, and
`GetProductRequest`. This allows for product IDs containing special
characters to be correctly handled when unpadded base64url-encoded
(PiperOrigin-RevId: 830818193)
([185951b](185951b3))

* A new message `VerificationMailSettings` is added (PiperOrigin-RevId:
832226276)
([185951b](185951b3))

* A new field `account_management` is added to message
`.google.shopping.merchant.accounts.v1.CreateAndConfigureAccountRequest`
(PiperOrigin-RevId: 832226276)
([185951b](185951b3))

* Add the AccountLimit resource and its service to the quota bundle
(PiperOrigin-RevId: 830811341)
([185951b](185951b3))

* Added `handling_cutoff_time` and `handling_cutoff_timezone` fields to
the `Shipping` message within `Attributes` (PiperOrigin-RevId:
830818171)
([185951b](185951b3))

* A new field `radius_area` is added to message
`.google.shopping.merchant.accounts.v1.Region` (PiperOrigin-RevId:
838817995)
([185951b](185951b3))

* A new field `external_account_id` is added to message
`.google.shopping.merchant.accounts.v1.CreateAndConfigureAccountRequest`
(PiperOrigin-RevId: 832226276)
([185951b](185951b3))

* A new message `SetAliasForRelationship` is added (PiperOrigin-RevId:
832226276)
([185951b](185951b3))

* Added the `product_id_base64_url_encoded` field to
`RenderProductIssuesRequest`. This allows for product IDs containing
special characters to be correctly handled when unpadded
base64url-encoded (PiperOrigin-RevId: 830781240)
([185951b](185951b3))

* Added the `product_id_base64_url_encoded` field to
`ListLocalInventoriesRequest`, `InsertLocalInventoryRequest`,
`DeleteLocalInventoryRequest`, `ListRegionalInventoriesRequest`,
`InsertRegionalInventoryRequest`, and `DeleteRegionalInventoryRequest`.
This allows for product IDs containing special characters to be
correctly handled when unpadded base64url-encoded (PiperOrigin-RevId:
830781196)
([185951b](185951b3))

* A new field `verification_mail_settings` is added to message
`.google.shopping.merchant.accounts.v1.CreateAndConfigureAccountRequest`
(PiperOrigin-RevId: 832226276)
([185951b](185951b3))

* A new field `campaigns_management` is added to message
`.google.shopping.merchant.accounts.v1.CreateAndConfigureAccountRequest`
(PiperOrigin-RevId: 832226276)
([185951b](185951b3))

* A new method `GetAccountForGcpRegistration` is added to service
`DeveloperRegistrationService` (PiperOrigin-RevId: 832226276)
([185951b](185951b3))

* A new method `VerifySelf` is added to service `UserService`
(PiperOrigin-RevId: 832226276)
([185951b](185951b3))

* A new field `set_alias` is added to message
`.google.shopping.merchant.accounts.v1.CreateAndConfigureAccountRequest`
(PiperOrigin-RevId: 832226276)
([185951b](185951b3))

* Added several fields to enhance shipping configurations: -
`handling_cutoff_time` and `handling_cutoff_timezone` within the
`Shipping` message - `ShippingBusinessDaysConfig` message to define
business days for shipping - `shipping_handling_business_days` and
`shipping_transit_business_days` in `ProductAttributes` -
`HandlingCutoffTime` message to configure country-specific handling
cutoffs - `handling_cutoff_times` array in `ProductAttributes`
(PiperOrigin-RevId: 830818193)
([185951b](185951b3))

* Added C#, PHP, and Ruby namespace options to ProductInputs, Products,
and ProductsCommon proto files for improved client library generation
(PiperOrigin-RevId: 830818171)
([185951b](185951b3))

* A new message `GetAccountForGcpRegistrationResponse` is added
(PiperOrigin-RevId: 832226276)
([185951b](185951b3))

### Bug Fixes

* upgrade gRPC service registration func An update to Go gRPC Protobuf
generation will change service registration function signatures to use
an interface instead of a concrete type in generated .pb.go service
files. This change should affect very few client library users. See
release notes advisories in
#11025.
(PiperOrigin-RevId: 833829944)
([185951b](185951b3))

### Documentation

* Updated comments for several fields, including product name formats,
data source creation, destination field descriptions (now also referred
to as Marketing Methods), and the default page size for
`ListProductsRequest` (PiperOrigin-RevId: 830818171)
([185951b](185951b3))

* A comment for message `User` is changed (PiperOrigin-RevId: 832226276)
([185951b](185951b3))

* A comment for enum `State` is changed (PiperOrigin-RevId: 832226276)
([185951b](185951b3))

* A comment for method `DeleteAccount` in service `AccountsService` is
changed (PiperOrigin-RevId: 832226276)
([185951b](185951b3))

* A comment for field `developer_email` in message
`.google.shopping.merchant.accounts.v1.RegisterGcpRequest` is changed
(PiperOrigin-RevId: 832226276)
([185951b](185951b3))

* A comment for enum value `API_DEVELOPER` in enum `AccessRight` is
changed (PiperOrigin-RevId: 832226276)
([185951b](185951b3))

* Updated the API summary and overview in the service configuration
(PiperOrigin-RevId: 830781339)
([185951b](185951b3))

* A comment for message `Program` is changed (PiperOrigin-RevId:
832226276)
([185951b](185951b3))

* Updated various comments, including links to data source creation
guides (PiperOrigin-RevId: 830818193)
([185951b](185951b3))

* A comment for enum `AccessRight` is changed (PiperOrigin-RevId:
832226276)
([185951b](185951b3))

</details>


<details><summary>vectorsearch: 0.1.0</summary>

##
[0.1.0](vectorsearch/v0.0.0...vectorsearch/v0.1.0)
(2025-12-04)

### Features

* Added TextSearch support to the batch search API (PiperOrigin-RevId:
834645993)
([185951b](185951b3))

* add new clients (#13369) (PiperOrigin-RevId: 828838688)
([41ac3fc](41ac3fcc))

### Documentation

* Added clarification of expected format of collection and index fields
(PiperOrigin-RevId: 834645993)
([185951b](185951b3))

</details>


<details><summary>vmmigration: 1.10.0</summary>

##
[1.10.0](vmmigration/v1.9.1...vmmigration/v1.10.0)
(2025-12-04)

### Features

* add adaptation modifiers and storage pools to MigratingVM target
defaults (PiperOrigin-RevId: 832917413)
([185951b](185951b3))

* add adaptation modifiers and guest OS features to ImageImport target
details (PiperOrigin-RevId: 832917413)
([185951b](185951b3))

### Documentation

* A comment for message `DataDiskImageImport` is changed
(PiperOrigin-RevId: 832917413)
([185951b](185951b3))

* A comment for method `CancelImageImportJob` in service `VmMigration`
is changed (PiperOrigin-RevId: 832917413)
([185951b](185951b3))

</details>


<details><summary>Bulk Changes</summary>

* chore: librarian update image pull request: 20251112T170525Z (#13346)
([29b6c97](29b6c97d))
Libraries:
aiplatform,artifactregistry,backupdr,batch,channel,cloudbuild,dialogflow,eventarc,geminidataanalytics,gkemulticloud,netapp,networksecurity,parallelstore,vmmigration
* chore: split .repo-metadata-full.json into per-API .repo-metadata.json
files (#13272)
([2debab5](2debab5d))
Libraries:
artifactregistry,batch,channel,cloudbuild,compute,eventarc,geminidataanalytics,gkemulticloud,netapp,networksecurity,parallelstore,vmmigration
* chore: update deps (#13364)
([6a53459](6a534590))
Libraries:
aiplatform,artifactregistry,backupdr,batch,channel,cloudbuild,compute,dialogflow,eventarc,geminidataanalytics,gkemulticloud,netapp,networksecurity,parallelstore,shopping,vmmigration
</details>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants