tree 436a1f33d51af4f40db081e09680ced15da2425b
parent e3a209d0caefd20a1d2c6bb790ac03424b47a7b8
author release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> 1699574294 +0000
committer GitHub <noreply@github.com> 1699574294 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJlTXIWCRBK7hj4Ov3rIwAAVggIAChA7OI/istpNJoQAESmjuy9
 NonzNZ+qODqZBa1Ow31IKbIM3Feg8XfkjdY5Rj/oQXZsIW3+PY1d/KoGHLSgwUff
 JUR5mn7DnlDX8rwGC4p2mmZi22sc4y3/5Yrb8xFqOA6KhtKlEwKknJBmB2Do2kdA
 ZI1+iMxqB058YXlbNhIvoewzQKca0lHJIG9XYbiExalux/BmYixjemctyg+mYgKA
 3rDTolcLIYuYtz/0293mQg2BnhHgY6/rUow4BpigHADuOS0aD4HqC2n0vPOPM3eO
 DxB7s0IHbiQVna4mdgjZflI+LsmACUlgtJpbvaMzAAurl9JvTPUj/5vDYRaPNNI=
 =HIrQ
 -----END PGP SIGNATURE-----
 

chore: release main (#8973)

:robot: I have created a release *beep* *boop*
---


<details><summary>aiplatform: 1.53.0</summary>

## [1.53.0](https://togithub.com/googleapis/google-cloud-go/compare/aiplatform/v1.52.0...aiplatform/v1.53.0) (2023-11-09)


### Features

* **aiplatform:** Add Optimized to FeatureOnlineStore ([1a16cbf](https://togithub.com/googleapis/google-cloud-go/commit/1a16cbf260bb673e07a05e1014868b236e510499))


### Bug Fixes

* **aiplatform:** Change CreateFeature metadata ([b44c4b3](https://togithub.com/googleapis/google-cloud-go/commit/b44c4b301a91e8d4d107be6056b49a8fbdac9003))
</details>

<details><summary>alloydb: 1.7.0</summary>

## [1.7.0](https://togithub.com/googleapis/google-cloud-go/compare/alloydb/v1.6.3...alloydb/v1.7.0) (2023-11-09)


### Features

* **alloydb:** Add new field in `GenerateClientCertificate` v1 API to allow AlloyDB connectors request client certs with metadata exchange support ([b44c4b3](https://togithub.com/googleapis/google-cloud-go/commit/b44c4b301a91e8d4d107be6056b49a8fbdac9003))
</details>

<details><summary>cloudbuild: 1.15.0</summary>

## [1.15.0](https://togithub.com/googleapis/google-cloud-go/compare/cloudbuild/v1.14.3...cloudbuild/v1.15.0) (2023-11-09)


### Features

* **cloudbuild/apiv1:** Add optional field "SourceFetcher" to choose source fetcher tool ([b44c4b3](https://togithub.com/googleapis/google-cloud-go/commit/b44c4b301a91e8d4d107be6056b49a8fbdac9003))
</details>

<details><summary>contactcenterinsights: 1.12.0</summary>

## [1.12.0](https://togithub.com/googleapis/google-cloud-go/compare/contactcenterinsights/v1.11.3...contactcenterinsights/v1.12.0) (2023-11-09)


### Features

* **contactcenterinsights:** Launch BulkDelete API, and bulk audio import via the IngestConversations API ([#8964](https://togithub.com/googleapis/google-cloud-go/issues/8964)) ([b44c4b3](https://togithub.com/googleapis/google-cloud-go/commit/b44c4b301a91e8d4d107be6056b49a8fbdac9003))
</details>

<details><summary>container: 1.28.0</summary>

## [1.28.0](https://togithub.com/googleapis/google-cloud-go/compare/container/v1.27.1...container/v1.28.0) (2023-11-09)


### Features

* **container:** Added EnterpriseConfig ([b44c4b3](https://togithub.com/googleapis/google-cloud-go/commit/b44c4b301a91e8d4d107be6056b49a8fbdac9003))
</details>

<details><summary>datacatalog: 1.19.0</summary>

## [1.19.0](https://togithub.com/googleapis/google-cloud-go/compare/datacatalog/v1.18.3...datacatalog/v1.19.0) (2023-11-09)


### Features

* **datacatalog/lineage:** Add open lineage support ([#8974](https://togithub.com/googleapis/google-cloud-go/issues/8974)) ([1a16cbf](https://togithub.com/googleapis/google-cloud-go/commit/1a16cbf260bb673e07a05e1014868b236e510499))
</details>

<details><summary>dataplex: 1.11.2</summary>

## [1.11.2](https://togithub.com/googleapis/google-cloud-go/compare/dataplex/v1.11.1...dataplex/v1.11.2) (2023-11-09)


### Documentation

* **dataplex:** Updated comments for `DataQualityResult.dimensions` field ([ba23673](https://togithub.com/googleapis/google-cloud-go/commit/ba23673da7707c31292e4aa29d65b7ac1446d4a6))
</details>

<details><summary>dataproc: 2.3.0</summary>

## [2.3.0](https://togithub.com/googleapis/google-cloud-go/compare/dataproc/v2.2.3...dataproc/v2.3.0) (2023-11-09)


### Features

* **dataproc:** Support required_registration_fraction for secondary workers ([b44c4b3](https://togithub.com/googleapis/google-cloud-go/commit/b44c4b301a91e8d4d107be6056b49a8fbdac9003))
</details>

<details><summary>deploy: 1.15.0</summary>

## [1.15.0](https://togithub.com/googleapis/google-cloud-go/compare/deploy/v1.14.2...deploy/v1.15.0) (2023-11-09)


### Features

* **deploy:** Add Automation API and Rollback API ([b44c4b3](https://togithub.com/googleapis/google-cloud-go/commit/b44c4b301a91e8d4d107be6056b49a8fbdac9003))
</details>

<details><summary>edgenetwork: 0.1.0</summary>

## 0.1.0 (2023-11-09)


### Features

* **edgenetwork:** New client(s) ([#8996](https://togithub.com/googleapis/google-cloud-go/issues/8996)) ([8e63c70](https://togithub.com/googleapis/google-cloud-go/commit/8e63c70b423e8c10ecd617ccf81fa0662f8f91b5))
</details>

<details><summary>recaptchaenterprise: 2.8.4</summary>

## [2.8.4](https://togithub.com/googleapis/google-cloud-go/compare/recaptchaenterprise/v2.8.3...recaptchaenterprise/v2.8.4) (2023-11-09)


### Bug Fixes

* **recaptchaenterprise:** Added required annotations ([ba23673](https://togithub.com/googleapis/google-cloud-go/commit/ba23673da7707c31292e4aa29d65b7ac1446d4a6))
</details>

<details><summary>scheduler: 1.10.5</summary>

## [1.10.5](https://togithub.com/googleapis/google-cloud-go/compare/scheduler/v1.10.4...scheduler/v1.10.5) (2023-11-09)


### Documentation

* **scheduler:** Correct timezone/offset information for Cloud Scheduler headers ([ba23673](https://togithub.com/googleapis/google-cloud-go/commit/ba23673da7707c31292e4aa29d65b7ac1446d4a6))
</details>

<details><summary>speech: 1.21.0</summary>

## [1.21.0](https://togithub.com/googleapis/google-cloud-go/compare/speech/v1.20.1...speech/v1.21.0) (2023-11-09)


### Features

* **speech:** Support MP3, TranscriptNormalization and SpeakerLabels in STT V1 API ([b44c4b3](https://togithub.com/googleapis/google-cloud-go/commit/b44c4b301a91e8d4d107be6056b49a8fbdac9003))
</details>

---
This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please).