tree 5b8c411c0cd3ea8ea34ac792aab338ae31e2b3f9
parent 63f0326380087b345e74b8bb89c0b8fc2cb60d55
author release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> 1684263132 +0000
committer GitHub <noreply@github.com> 1684263132 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJkY9DcCRBK7hj4Ov3rIwAAcSEIAJ8Q9zwIgKw99pDtW0GTUZAE
 dLQpD52D+UEqjC6EPZ96XTtkNevRf7mgHxyYbs2Z03CGYkE5nyZruj5mfl0X1OnQ
 RJSPY8u1oY+/ghJD56h/Y5ykVehpGQ7Ap/tbGW5scPYsTfaiKAhCag8r7ZQU3SS9
 dX/2knssvdUQ5WC1+OaViogCqh/NW80dUxOm3nnRlPladw7c7JSDARsjhYieduPw
 EFMGW/A13zqy+wJyBRn+SIbU/suAOBHkgQsOy1iqYyCFbkc3RADmG2lB+KWjnTeS
 pBKv9gluCe8uhvZt1NQ7PY7Vmd6Gm1wdVBC6fTv8mlmGKLpVTNKePGukgjR7XYU=
 =tNPj
 -----END PGP SIGNATURE-----
 

chore: release main (#7910)

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


<details><summary>aiplatform: 1.42.0</summary>

## [1.42.0](https://togithub.com/googleapis/google-cloud-go/compare/aiplatform/v1.41.0...aiplatform/v1.42.0) (2023-05-16)


### Features

* **aiplatform:** Add examples to ExplanationParameters in aiplatform v1 explanation.proto ([7c2f642](https://togithub.com/googleapis/google-cloud-go/commit/7c2f642ac308fcdfcb41985aae425785afa27823))
</details>

<details><summary>analytics: 0.20.0</summary>

## [0.20.0](https://togithub.com/googleapis/google-cloud-go/compare/analytics/v0.19.1...analytics/v0.20.0) (2023-05-16)


### Features

* **analytics/admin:** Add `GetAdSenseLink`, `CreateAdSenseLink`, `DeleteAdSenseLink`, `ListAdSenseLinks` methods to the Admin API v1alpha ([8c479ac](https://togithub.com/googleapis/google-cloud-go/commit/8c479acd5ea710629b4b562a4654bc369e828c16))
</details>

<details><summary>batch: 1.1.0</summary>

## [1.1.0](https://togithub.com/googleapis/google-cloud-go/compare/batch/v1.0.1...batch/v1.1.0) (2023-05-16)


### Features

* **batch:** Add support for placement policies ([#7943](https://togithub.com/googleapis/google-cloud-go/issues/7943)) ([7c2f642](https://togithub.com/googleapis/google-cloud-go/commit/7c2f642ac308fcdfcb41985aae425785afa27823))
</details>

<details><summary>channel: 1.14.0</summary>

## [1.14.0](https://togithub.com/googleapis/google-cloud-go/compare/channel/v1.13.0...channel/v1.14.0) (2023-05-16)


### Features

* **channel:** Added partition_keys field to filter results from FetchReportResults ([7c2f642](https://togithub.com/googleapis/google-cloud-go/commit/7c2f642ac308fcdfcb41985aae425785afa27823))
</details>

<details><summary>compute: 1.19.3</summary>

## [1.19.3](https://togithub.com/googleapis/google-cloud-go/compare/compute/v1.19.2...compute/v1.19.3) (2023-05-16)


### Bug Fixes

* **compute:** Emit errors found in Operations ([31421d5](https://togithub.com/googleapis/google-cloud-go/commit/31421d52c3bf3b7baa235fb6cb18bb8a786398df))
</details>

<details><summary>dialogflow: 1.34.0</summary>

## [1.34.0](https://togithub.com/googleapis/google-cloud-go/compare/dialogflow/v1.33.0...dialogflow/v1.34.0) (2023-05-16)


### Features

* **dialogflow:** Add baseline model configuration for conversation summarization ([31421d5](https://togithub.com/googleapis/google-cloud-go/commit/31421d52c3bf3b7baa235fb6cb18bb8a786398df))
* **dialogflow:** Add baseline model configuration for conversation summarization ([31421d5](https://togithub.com/googleapis/google-cloud-go/commit/31421d52c3bf3b7baa235fb6cb18bb8a786398df))
</details>

<details><summary>functions: 1.14.0</summary>

## [1.14.0](https://togithub.com/googleapis/google-cloud-go/compare/functions/v1.13.1...functions/v1.14.0) (2023-05-16)


### Features

* **functions:** Added helper methods for long running operations, IAM, and locations ([31421d5](https://togithub.com/googleapis/google-cloud-go/commit/31421d52c3bf3b7baa235fb6cb18bb8a786398df))
</details>

<details><summary>maps: 1.1.0</summary>

## [1.1.0](https://togithub.com/googleapis/google-cloud-go/compare/maps/v1.0.1...maps/v1.1.0) (2023-05-16)


### Features

* **maps/places:** Start generating apiv1 ([#7919](https://togithub.com/googleapis/google-cloud-go/issues/7919)) ([ee10cfd](https://togithub.com/googleapis/google-cloud-go/commit/ee10cfd2e59a3d228af2dd8c56f5229cf6c577f0))
</details>

<details><summary>speech: 1.16.0</summary>

## [1.16.0](https://togithub.com/googleapis/google-cloud-go/compare/speech/v1.15.1...speech/v1.16.0) (2023-05-16)


### Features

* **speech:** Add processing strategy to batch recognition requests ([#7900](https://togithub.com/googleapis/google-cloud-go/issues/7900)) ([31421d5](https://togithub.com/googleapis/google-cloud-go/commit/31421d52c3bf3b7baa235fb6cb18bb8a786398df))
</details>

<details><summary>workstations: 0.3.0</summary>

## [0.3.0](https://togithub.com/googleapis/google-cloud-go/compare/workstations/v0.2.1...workstations/v0.3.0) (2023-05-16)


### Features

* **workstations:** Add output field for the control plane IP address ([31421d5](https://togithub.com/googleapis/google-cloud-go/commit/31421d52c3bf3b7baa235fb6cb18bb8a786398df))
</details>

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