Skip to content
Closed
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
427 commits
Select commit Hold shift + click to select a range
5b77777
chore(main): release google-cloud-org_policy 1.6.0 (#33205)
release-please[bot] Mar 20, 2026
6889e07
chore(main): release google-cloud-orchestration-airflow-service-v1 1.…
release-please[bot] Mar 20, 2026
25958da
chore(main): release google-cloud-orchestration-airflow-service 1.6.0…
release-please[bot] Mar 20, 2026
40173cb
chore(main): release google-cloud-oracle_database-v1 0.12.0 (#33202)
release-please[bot] Mar 20, 2026
cdf188c
chore(main): release google-cloud-oracle_database 0.3.0 (#33201)
release-please[bot] Mar 20, 2026
f337d88
chore(main): release google-cloud-optimization-v1 0.15.0 (#33200)
release-please[bot] Mar 20, 2026
0cae977
chore(main): release google-cloud-optimization 1.4.0 (#33199)
release-please[bot] Mar 20, 2026
aa24c34
chore(main): release google-cloud-notebooks 3.1.0 (#33195)
release-please[bot] Mar 20, 2026
a6891df
chore(main): release google-cloud-network_services 2.1.0 (#33193)
release-please[bot] Mar 20, 2026
64b8685
chore(main): release google-cloud-network_security 1.3.0 (#33191)
release-please[bot] Mar 20, 2026
65147e1
chore(main): release google-cloud-network_management 2.2.0 (#33189)
release-please[bot] Mar 20, 2026
2b85534
chore(main): release google-cloud-network_connectivity-v1alpha1 0.15.…
release-please[bot] Mar 20, 2026
502cdc9
chore(main): release google-cloud-network_connectivity-v1 1.12.0 (#33…
release-please[bot] Mar 20, 2026
2f1f2f8
chore(main): release google-cloud-network_connectivity 2.4.0 (#33186)
release-please[bot] Mar 20, 2026
ff4a2ef
chore(main): release google-cloud-netapp-v1 2.9.0 (#33185)
release-please[bot] Mar 20, 2026
3985d4a
chore(main): release google-cloud-netapp 2.1.0 (#33184)
release-please[bot] Mar 20, 2026
f64a3d4
chore(main): release google-cloud-monitoring-v3 1.8.0 (#33183)
release-please[bot] Mar 20, 2026
4375cbc
chore(main): release google-cloud-monitoring-metrics_scope-v1 1.6.0 (…
release-please[bot] Mar 20, 2026
00ea0ed
chore(main): release google-cloud-monitoring-dashboard-v1 1.5.0 (#33181)
release-please[bot] Mar 20, 2026
f6ac07d
chore(main): release google-cloud-monitoring 1.10.0 (#33180)
release-please[bot] Mar 20, 2026
7f512e5
chore(main): release google-cloud-migration_center-v1 2.4.0 (#33179)
release-please[bot] Mar 20, 2026
49a0bf6
chore(main): release google-cloud-migration_center 2.1.0 (#33178)
release-please[bot] Mar 20, 2026
9bc4669
chore(main): release google-cloud-memorystore-v1 1.6.0 (#33173)
release-please[bot] Mar 20, 2026
95c4e2b
chore(main): release google-cloud-memorystore 1.1.0 (#33172)
release-please[bot] Mar 20, 2026
902c131
chore(main): release google-cloud-memcache-v1beta2 0.16.0 (#33171)
release-please[bot] Mar 20, 2026
15530ac
chore(main): release google-cloud-memcache 2.1.0 (#33169)
release-please[bot] Mar 20, 2026
e76e273
chore(main): release google-cloud-media_translation 0.7.0 (#33167)
release-please[bot] Mar 20, 2026
b9ce277
chore(main): release google-cloud-managed_kafka-v1 1.7.0 (#33166)
release-please[bot] Mar 20, 2026
d6f0a90
chore(main): release google-cloud-managed_kafka-schema_registry-v1 0.…
release-please[bot] Mar 20, 2026
3566bc5
chore(main): release google-cloud-managed_kafka-schema_registry 0.2.0…
release-please[bot] Mar 20, 2026
5be6d8f
chore(main): release google-cloud-managed_kafka 2.2.0 (#33163)
release-please[bot] Mar 20, 2026
7793295
chore(main): release google-cloud-managed_identities-v1 1.6.0 (#33162)
release-please[bot] Mar 20, 2026
d672c7a
chore(main): release google-cloud-managed_identities 1.5.0 (#33161)
release-please[bot] Mar 20, 2026
2a9f74f
chore(main): release google-cloud-maintenance-api-v1 0.2.0 (#33159)
release-please[bot] Mar 20, 2026
ce6c187
chore(main): release google-cloud-maintenance-api 0.2.0 (#33158)
release-please[bot] Mar 20, 2026
0866a0d
chore(main): release google-cloud-lustre-v1 0.5.0 (#33157)
release-please[bot] Mar 20, 2026
7d84f7e
chore(main): release google-cloud-lustre 0.2.0 (#33156)
release-please[bot] Mar 20, 2026
6ab9eff
chore(main): release google-cloud-location_finder-v1 0.2.0 (#33153)
release-please[bot] Mar 20, 2026
b6984d1
chore(main): release google-cloud-location_finder 0.2.0 (#33152)
release-please[bot] Mar 20, 2026
2566ebc
chore(main): release google-cloud-location 1.3.0 (#33151)
release-please[bot] Mar 20, 2026
0d71cd2
chore(main): release google-cloud-life_sciences-v2beta 0.14.0 (#33150)
release-please[bot] Mar 20, 2026
11796b0
chore(main): release google-cloud-life_sciences 0.7.0 (#33149)
release-please[bot] Mar 20, 2026
c6dcba4
chore(main): release google-cloud-license_manager-v1 0.4.0 (#33148)
release-please[bot] Mar 20, 2026
530be64
chore(main): release google-cloud-license_manager 0.2.0 (#33147)
release-please[bot] Mar 20, 2026
cfac62c
chore(main): release google-cloud-language-v2 1.3.0 (#33146)
release-please[bot] Mar 20, 2026
2f6b171
chore(main): release google-cloud-language-v1beta2 0.16.0 (#33145)
release-please[bot] Mar 20, 2026
387c465
chore(main): release google-cloud-language-v1 1.5.0 (#33144)
release-please[bot] Mar 20, 2026
3d853ea
chore(main): release google-cloud-language 2.1.0 (#33143)
release-please[bot] Mar 20, 2026
1db8556
chore(main): release google-cloud-kms-v1 1.11.0 (#33142)
release-please[bot] Mar 20, 2026
b28b7bf
chore(main): release google-cloud-kms-inventory-v1 0.19.0 (#33141)
release-please[bot] Mar 21, 2026
057f524
chore(main): release google-cloud-kms-inventory 1.4.0 (#33140)
release-please[bot] Mar 21, 2026
eb8598c
chore(main): release google-cloud-kms 2.11.0 (#33139)
release-please[bot] Mar 21, 2026
104fff4
chore(main): release google-cloud-ids-v1 2.4.0 (#33138)
release-please[bot] Mar 21, 2026
266382d
chore(main): release google-cloud-ids 2.1.0 (#33137)
release-please[bot] Mar 21, 2026
a45d82e
chore(main): release google-cloud-iap-v1 1.6.0 (#33136)
release-please[bot] Mar 21, 2026
06f5821
chore(main): release google-cloud-iap 1.6.0 (#33135)
release-please[bot] Mar 21, 2026
7cacc23
chore(main): release google-cloud-hypercompute_cluster-v1beta 0.2.0 (…
release-please[bot] Mar 21, 2026
c7b6248
chore(main): release google-cloud-hypercompute_cluster 0.2.0 (#33133)
release-please[bot] Mar 21, 2026
95295a9
chore(main): release google-cloud-gsuite_add_ons-v1 1.5.0 (#33132)
release-please[bot] Mar 21, 2026
4826f4a
chore(main): release google-cloud-gsuite_add_ons 1.2.0 (#33131)
release-please[bot] Mar 21, 2026
0b87655
chore(main): release google-cloud-gke_recommender-v1 0.2.0 (#33130)
release-please[bot] Mar 21, 2026
3839f73
chore(main): release google-cloud-gke_recommender 0.2.0 (#33129)
release-please[bot] Mar 21, 2026
79af1b8
chore(main): release google-cloud-gke_multi_cloud-v1 0.19.0 (#33128)
release-please[bot] Mar 21, 2026
0e6393c
chore(main): release google-cloud-gke_multi_cloud 1.4.0 (#33127)
release-please[bot] Mar 21, 2026
759ca2f
chore(main): release google-cloud-gke_hub-v1beta1 0.19.0 (#33126)
release-please[bot] Mar 21, 2026
a794dac
chore(main): release google-cloud-gke_hub 2.1.0 (#33124)
release-please[bot] Mar 21, 2026
a6eab53
chore(main): release google-cloud-gke_connect-gateway-v1beta1 0.12.0 …
release-please[bot] Mar 21, 2026
89cf347
chore(main): release google-cloud-gke_connect-gateway-v1 0.7.0 (#33122)
release-please[bot] Mar 21, 2026
ca0072c
chore(main): release google-cloud-gke_connect-gateway 2.2.0 (#33121)
release-please[bot] Mar 21, 2026
a031b4c
chore(main): release google-cloud-gke_backup-v1 1.6.0 (#33120)
release-please[bot] Mar 21, 2026
2c96cf4
chore(main): release google-cloud-gke_backup 2.1.0 (#33119)
release-please[bot] Mar 21, 2026
83f028f
chore(main): release google-cloud-gemini_data_analytics-v1beta 0.8.0 …
release-please[bot] Mar 21, 2026
8b02558
chore(main): release google-cloud-gemini_data_analytics 0.2.0 (#33117)
release-please[bot] Mar 21, 2026
f75263c
chore(main): release google-cloud-gdc_hardware_management 0.3.0 (#33116)
release-please[bot] Mar 21, 2026
4338bce
chore(main): release google-cloud-functions-v2 1.4.0 (#33115)
release-please[bot] Mar 21, 2026
892d957
chore(main): release google-cloud-functions-v1 2.4.0 (#33114)
release-please[bot] Mar 21, 2026
f323a3e
chore(main): release google-cloud-functions 2.1.0 (#33113)
release-please[bot] Mar 21, 2026
b3b52b1
chore(main): release google-cloud-firestore-admin-v1 1.11.0 (#33111)
release-please[bot] Mar 21, 2026
f648eb9
chore(main): release google-cloud-firestore-admin 0.6.0 (#33110)
release-please[bot] Mar 21, 2026
9ae6111
chore(main): release google-cloud-financial_services-v1 0.5.0 (#33108)
release-please[bot] Mar 21, 2026
c81fd9b
chore(main): release google-cloud-financial_services 0.2.0 (#33107)
release-please[bot] Mar 21, 2026
df57656
chore(main): release google-cloud-filestore-v1 2.5.0 (#33106)
release-please[bot] Mar 21, 2026
a1f6b5e
chore(main): release google-cloud-filestore 2.1.0 (#33105)
release-please[bot] Mar 21, 2026
a5aab63
chore(main): release google-cloud-eventarc-v1 2.6.0 (#33104)
release-please[bot] Mar 21, 2026
369b237
chore(main): release google-cloud-eventarc-publishing-v1 1.6.0 (#33103)
release-please[bot] Mar 21, 2026
9900c02
chore(main): release google-cloud-eventarc-publishing 1.4.0 (#33102)
release-please[bot] Mar 21, 2026
ae4dc52
chore(main): release google-cloud-eventarc 2.1.0 (#33101)
release-please[bot] Mar 21, 2026
3e80e60
chore(main): release google-cloud-essential_contacts-v1 1.5.0 (#33100)
release-please[bot] Mar 21, 2026
7661f75
chore(main): release google-cloud-essential_contacts 1.6.0 (#33099)
release-please[bot] Mar 21, 2026
8faf8f5
chore(main): release google-cloud-errors 1.6.0 (#33098)
release-please[bot] Mar 21, 2026
e1b9208
chore(main): release google-cloud-edge_network-v1 2.5.0 (#33095)
release-please[bot] Mar 21, 2026
e44b51a
chore(main): release google-cloud-edge_network 2.1.0 (#33094)
release-please[bot] Mar 21, 2026
3d0efff
chore(main): release google-cloud-edge_container-v1 1.4.0 (#33093)
release-please[bot] Mar 21, 2026
4b86a07
chore(main): release google-cloud-edge_container 2.1.0 (#33092)
release-please[bot] Mar 21, 2026
bcd4e94
chore(main): release google-cloud-domains-v1beta1 0.15.0 (#33091)
release-please[bot] Mar 21, 2026
e3ad986
chore(main): release google-cloud-domains-v1 1.4.0 (#33090)
release-please[bot] Mar 21, 2026
70f61b5
chore(main): release google-cloud-domains 2.1.0 (#33089)
release-please[bot] Mar 21, 2026
733dba5
chore(main): release google-cloud-document_ai-v1beta3 0.48.0 (#33088)
release-please[bot] Mar 21, 2026
80dd5a7
chore(main): release google-cloud-document_ai-v1 1.12.0 (#33087)
release-please[bot] Mar 21, 2026
2b2c6d2
chore(main): release google-cloud-document_ai 2.1.0 (#33086)
release-please[bot] Mar 21, 2026
23004e2
chore(main): release google-cloud-dlp-v2 1.16.0 (#33084)
release-please[bot] Mar 21, 2026
3b17316
chore(main): release google-cloud-dlp 1.9.0 (#33083)
release-please[bot] Mar 21, 2026
9a327f3
chore(main): release google-cloud-discovery_engine-v1beta 0.24.0 (#33…
release-please[bot] Mar 21, 2026
027ff9e
chore(main): release google-cloud-discovery_engine-v1 2.8.0 (#33081)
release-please[bot] Mar 21, 2026
4b9463b
chore(main): release google-cloud-discovery_engine 2.4.0 (#33080)
release-please[bot] Mar 21, 2026
133601c
chore(main): release google-cloud-dialogflow-v2 1.14.0 (#33079)
release-please[bot] Mar 21, 2026
220bc46
chore(main): release google-cloud-dialogflow-cx 1.4.0 (#33077)
release-please[bot] Mar 21, 2026
d3ad67f
chore(main): release google-cloud-dialogflow 1.13.0 (#33076)
release-please[bot] Mar 21, 2026
fe2074d
chore(main): release google-cloud-device_streaming-v1 0.3.0 (#33075)
release-please[bot] Mar 21, 2026
6235739
chore(main): release google-cloud-device_streaming 0.2.0 (#33074)
release-please[bot] Mar 21, 2026
7459515
chore(main): release google-cloud-developer_connect-v1 1.6.0 (#33073)
release-please[bot] Mar 21, 2026
9368314
chore(main): release google-cloud-developer_connect 2.3.0 (#33072)
release-please[bot] Mar 21, 2026
ba9225c
chore(main): release google-cloud-deploy-v1 2.5.0 (#33071)
release-please[bot] Mar 21, 2026
c323fa6
chore(main): release google-cloud-deploy 2.1.0 (#33070)
release-please[bot] Mar 21, 2026
e1aa712
chore(main): release google-cloud-datastream-v1alpha1 0.14.0 (#33069)
release-please[bot] Mar 21, 2026
6e7bdce
chore(main): release google-cloud-datastream-v1 1.6.0 (#33068)
release-please[bot] Mar 21, 2026
ccb0068
chore(main): release google-cloud-datastream 2.1.0 (#33067)
release-please[bot] Mar 21, 2026
e0f135b
chore(main): release google-cloud-datastore-admin-v1 1.6.0 (#33065)
release-please[bot] Mar 21, 2026
c5d0879
chore(main): release google-cloud-datastore-admin 0.6.0 (#33064)
release-please[bot] Mar 21, 2026
fef236e
chore(main): release google-cloud-dataqna-v1alpha 0.12.0 (#33062)
release-please[bot] Mar 21, 2026
e7d7218
chore(main): release google-cloud-dataqna 0.7.0 (#33061)
release-please[bot] Mar 21, 2026
6701f58
chore(main): release google-cloud-dataproc-v1 1.10.0 (#33060)
release-please[bot] Mar 21, 2026
0ad65ff
chore(main): release google-cloud-dataproc 2.8.0 (#33059)
release-please[bot] Mar 21, 2026
c4ed8c0
chore(main): release google-cloud-dataplex 2.3.0 (#33057)
release-please[bot] Mar 21, 2026
84acd80
chore(main): release google-cloud-dataform-v1 0.3.0 (#33055)
release-please[bot] Mar 21, 2026
427683d
chore(main): release google-cloud-dataform 0.7.0 (#33054)
release-please[bot] Mar 21, 2026
79d2b91
chore(main): release google-cloud-dataflow-v1beta3 0.15.0 (#33053)
release-please[bot] Mar 21, 2026
cf8952f
chore(main): release google-cloud-dataflow 0.7.0 (#33052)
release-please[bot] Mar 21, 2026
df3b7d9
chore(main): release google-cloud-database_center-v1beta 0.4.0 (#33051)
release-please[bot] Mar 21, 2026
f0e2f99
chore(main): release google-cloud-data_labeling-v1beta1 0.14.0 (#33049)
release-please[bot] Mar 21, 2026
cd145e4
chore(main): release google-cloud-data_fusion-v1 2.4.0 (#33047)
release-please[bot] Mar 21, 2026
8f14f02
chore(main): release google-cloud-data_fusion 2.1.0 (#33046)
release-please[bot] Mar 21, 2026
d0bd620
chore(main): release google-cloud-data_catalog-v1beta1 0.11.0 (#33045)
release-please[bot] Mar 21, 2026
b70e0d8
chore(main): release google-cloud-data_catalog-v1 2.6.0 (#33044)
release-please[bot] Mar 21, 2026
159f1c6
chore(main): release google-cloud-data_catalog-lineage 1.2.0 (#33042)
release-please[bot] Mar 21, 2026
fd87620
chore(main): release google-cloud-data_catalog 2.2.0 (#33041)
release-please[bot] Mar 21, 2026
1b2c1d5
chore(main): release google-cloud-container_analysis-v1 1.6.0 (#33039)
release-please[bot] Mar 21, 2026
5a2a3cc
chore(main): release google-cloud-container-v1beta1 0.53.0 (#33037)
release-please[bot] Mar 21, 2026
38be7fe
chore(main): release google-cloud-container-v1 1.13.0 (#33036)
release-please[bot] Mar 21, 2026
73ed4a0
chore(main): release google-cloud-container 2.1.0 (#33035)
release-please[bot] Mar 21, 2026
a048a71
chore(main): release google-cloud-connectors-v1 1.4.0 (#33032)
release-please[bot] Mar 21, 2026
95ced1c
chore(main): release google-cloud-connectors 2.1.0 (#33031)
release-please[bot] Mar 21, 2026
97ccbc5
chore(main): release google-cloud-config_service-v1 2.7.0 (#33030)
release-please[bot] Mar 21, 2026
1d2aaac
chore(main): release google-cloud-config_service 2.1.0 (#33029)
release-please[bot] Mar 21, 2026
c1191ee
chore(main): release google-cloud-config_delivery-v1 0.4.0 (#33028)
release-please[bot] Mar 21, 2026
3075559
chore(main): release google-cloud-config_delivery 0.2.0 (#33027)
release-please[bot] Mar 21, 2026
49143cf
chore(main): release google-cloud-confidential_computing-v1 2.2.0 (#3…
release-please[bot] Mar 21, 2026
9a1a350
chore(main): release google-cloud-confidential_computing 1.2.0 (#33025)
release-please[bot] Mar 21, 2026
b3e37ef
chore(main): release google-cloud-compute 1.16.0 (#33023)
release-please[bot] Mar 21, 2026
25df984
chore(main): release google-cloud-commerce-consumer-procurement-v1 1.…
release-please[bot] Mar 21, 2026
2033ca3
chore(main): release google-cloud-commerce-consumer-procurement 1.3.0…
release-please[bot] Mar 21, 2026
a3bfd94
chore(main): release google-cloud-cloud_security_compliance-v1 0.3.0 …
release-please[bot] Mar 21, 2026
0fad58f
chore(main): release google-cloud-cloud_security_compliance 0.3.0 (#3…
release-please[bot] Mar 21, 2026
984ca35
chore(main): release google-cloud-cloud_quotas-v1beta 0.8.0 (#33018)
release-please[bot] Mar 21, 2026
ec8249d
chore(main): release google-cloud-cloud_quotas-v1 2.3.0 (#33017)
release-please[bot] Mar 21, 2026
afe2e36
chore(main): release google-cloud-cloud_quotas 2.1.0 (#33016)
release-please[bot] Mar 21, 2026
6472ec9
chore(main): release google-cloud-cloud_dms-v1 1.6.0 (#33015)
release-please[bot] Mar 21, 2026
7016aba
chore(main): release google-cloud-cloud_dms 1.5.0 (#33014)
release-please[bot] Mar 21, 2026
9e75575
chore(main): release google-cloud-cloud_controls_partner-v1beta 0.8.0…
release-please[bot] Mar 21, 2026
1d80dd7
chore(main): release google-cloud-cloud_controls_partner-v1 2.3.0 (#3…
release-please[bot] Mar 21, 2026
cd41256
chore(main): release google-cloud-cloud_controls_partner 2.1.0 (#33011)
release-please[bot] Mar 21, 2026
636ed3b
chore(main): release google-cloud-chronicle-v1 0.4.0 (#33010)
release-please[bot] Mar 21, 2026
3bc873a
chore(main): release google-cloud-chronicle 0.2.0 (#33009)
release-please[bot] Mar 21, 2026
343e403
chore(main): release google-cloud-capacity_planner-v1beta 0.4.0 (#33004)
release-please[bot] Mar 21, 2026
35dc7e6
chore(main): release google-cloud-capacity_planner 0.3.0 (#33003)
release-please[bot] Mar 21, 2026
278a254
chore(main): release google-cloud-build-v2 0.13.0 (#33002)
release-please[bot] Mar 21, 2026
944fe52
chore(main): release google-cloud-build-v1 1.11.0 (#33001)
release-please[bot] Mar 21, 2026
2a397a7
chore(main): release google-cloud-build 1.7.0 (#33000)
release-please[bot] Mar 21, 2026
8d0ffac
chore(main): release google-cloud-binary_authorization-v1beta1 0.18.0…
release-please[bot] Mar 21, 2026
1f0fca1
chore(main): release google-cloud-binary_authorization-v1 1.6.0 (#32998)
release-please[bot] Mar 21, 2026
59b2cbd
chore(main): release google-cloud-binary_authorization 2.1.0 (#32997)
release-please[bot] Mar 21, 2026
9f5db4d
chore(main): release google-cloud-billing-budgets-v1beta1 0.17.0 (#32…
release-please[bot] Mar 21, 2026
e631cfd
chore(main): release google-cloud-billing-budgets-v1 1.5.0 (#32994)
release-please[bot] Mar 21, 2026
e637df5
chore(main): release google-cloud-billing-budgets 3.1.0 (#32993)
release-please[bot] Mar 21, 2026
f9bda64
chore(main): release google-cloud-bigquery-storage-v1 1.7.0 (#32988)
release-please[bot] Mar 21, 2026
04a2ce6
chore(main): release google-cloud-bigquery-storage 1.7.0 (#32987)
release-please[bot] Mar 21, 2026
5111334
chore(main): release google-cloud-bigquery-reservation-v1 1.10.0 (#32…
release-please[bot] Mar 21, 2026
ebe27b3
chore(main): release google-cloud-bigquery-reservation 1.7.0 (#32985)
release-please[bot] Mar 21, 2026
ccb1eb7
chore(main): release google-cloud-bigquery-migration-v2 0.18.0 (#32984)
release-please[bot] Mar 21, 2026
9d1690d
chore(main): release google-cloud-bigquery-migration 1.4.0 (#32983)
release-please[bot] Mar 21, 2026
dda5b12
chore(main): release google-cloud-bigquery-data_policies-v1beta1 0.10…
release-please[bot] Mar 21, 2026
a8fc600
chore(main): release google-cloud-bigquery-data_policies-v1 1.3.0 (#3…
release-please[bot] Mar 21, 2026
6fd6762
chore(main): release google-cloud-bigquery-data_policies 2.1.0 (#32978)
release-please[bot] Mar 21, 2026
9779f58
chore(main): release google-cloud-bigquery-data_exchange-v1beta1 0.12…
release-please[bot] Mar 21, 2026
fa220ea
chore(main): release google-cloud-bigquery-data_exchange 0.6.0 (#32976)
release-please[bot] Mar 21, 2026
e9aaa08
chore(main): release google-cloud-bigquery-connection-v1 1.5.0 (#32975)
release-please[bot] Mar 21, 2026
c9f3d33
chore(main): release google-cloud-bigquery-connection 1.7.0 (#32974)
release-please[bot] Mar 21, 2026
4b56d76
chore(main): release google-cloud-bigquery-analytics_hub-v1 0.18.0 (#…
release-please[bot] Mar 21, 2026
cf4788e
chore(main): release google-cloud-bigquery-analytics_hub 1.4.0 (#32972)
release-please[bot] Mar 21, 2026
bbe0a38
chore(main): release google-cloud-beyond_corp-client_gateways-v1 0.11…
release-please[bot] Mar 21, 2026
25741b3
chore(main): release google-cloud-beyond_corp-app_gateways-v1 0.11.0 …
release-please[bot] Mar 21, 2026
7bcbd1e
chore(main): release google-cloud-beyond_corp-app_connectors-v1 0.11.…
release-please[bot] Mar 21, 2026
096a8da
chore(main): release google-cloud-beyond_corp-app_connections-v1 0.11…
release-please[bot] Mar 21, 2026
0e0f83d
chore(main): release google-cloud-beyond_corp 1.5.0 (#32966)
release-please[bot] Mar 21, 2026
712e40b
chore(main): release google-cloud-batch-v1 1.6.0 (#32965)
release-please[bot] Mar 21, 2026
af2c0ef
chore(main): release google-cloud-batch 2.1.0 (#32964)
release-please[bot] Mar 21, 2026
6f01846
chore(main): release google-cloud-bare_metal_solution-v2 1.4.0 (#32963)
release-please[bot] Mar 21, 2026
c72d257
chore(main): release google-cloud-bare_metal_solution 2.1.0 (#32962)
release-please[bot] Mar 21, 2026
7d30b0f
chore(main): release google-cloud-backupdr-v1 1.9.0 (#32961)
release-please[bot] Mar 21, 2026
63c7cc7
chore(main): release google-cloud-backupdr 2.2.0 (#32960)
release-please[bot] Mar 21, 2026
ca6e431
chore(main): release google-cloud-automl-v1beta1 0.17.0 (#32959)
release-please[bot] Mar 21, 2026
dfe6ff2
chore(main): release google-cloud-automl-v1 1.6.0 (#32958)
release-please[bot] Mar 21, 2026
198357b
chore(main): release google-cloud-automl 2.1.0 (#32957)
release-please[bot] Mar 21, 2026
e2fe3c5
chore(main): release google-cloud-assured_workloads-v1beta1 0.24.0 (#…
release-please[bot] Mar 21, 2026
e7cfe7b
chore(main): release google-cloud-assured_workloads-v1 1.6.0 (#32955)
release-please[bot] Mar 21, 2026
a949fe6
chore(main): release google-cloud-assured_workloads 2.1.0 (#32954)
release-please[bot] Mar 21, 2026
9b3fce1
chore(main): release google-cloud-artifact_registry-v1beta2 0.18.0 (#…
release-please[bot] Mar 21, 2026
df81ada
chore(main): release google-cloud-artifact_registry-v1 1.12.0 (#32950)
release-please[bot] Mar 21, 2026
03022f9
chore(main): release google-cloud-artifact_registry 2.1.0 (#32949)
release-please[bot] Mar 21, 2026
5859fd6
chore(main): release google-cloud-app_hub-v1 1.5.0 (#32948)
release-please[bot] Mar 21, 2026
76f536a
chore(main): release google-cloud-app_hub 2.1.0 (#32947)
release-please[bot] Mar 21, 2026
ba99884
chore(main): release google-cloud-app_engine-v1 1.6.0 (#32946)
release-please[bot] Mar 21, 2026
b1e954e
chore(main): release google-cloud-app_engine 1.6.0 (#32945)
release-please[bot] Mar 21, 2026
07e09e7
chore(main): release google-cloud-apigee_registry-v1 0.14.0 (#32944)
release-please[bot] Mar 21, 2026
37124a8
chore(main): release google-cloud-apigee_registry 1.4.0 (#32943)
release-please[bot] Mar 21, 2026
bd68cce
chore(main): release google-cloud-apigee_connect-v1 1.5.0 (#32942)
release-please[bot] Mar 21, 2026
795e560
chore(main): release google-cloud-apigee_connect 1.6.0 (#32941)
release-please[bot] Mar 21, 2026
0e6aff4
chore(main): release google-cloud-api_registry-v1beta 0.2.0 (#32940)
release-please[bot] Mar 21, 2026
9f816ef
chore(main): release google-cloud-api_registry 0.2.0 (#32939)
release-please[bot] Mar 21, 2026
c5f2cc3
chore(main): release google-cloud-api_keys-v2 0.12.0 (#32938)
release-please[bot] Mar 21, 2026
8fdec19
chore(main): release google-cloud-api_keys 1.4.0 (#32937)
release-please[bot] Mar 21, 2026
571014b
chore(main): release google-cloud-api_hub-v1 0.8.0 (#32936)
release-please[bot] Mar 21, 2026
3d24881
chore(main): release google-cloud-api_hub 0.5.0 (#32935)
release-please[bot] Mar 21, 2026
dd7654d
chore(main): release google-cloud-api_gateway-v1 2.4.0 (#32934)
release-please[bot] Mar 21, 2026
c31fed4
chore(main): release google-cloud-api_gateway 2.1.0 (#32933)
release-please[bot] Mar 21, 2026
fa43307
chore(main): release google-cloud-alloy_db-v1beta 0.21.0 (#32932)
release-please[bot] Mar 21, 2026
75b6aec
chore(main): release google-cloud-alloy_db-v1alpha 0.20.0 (#32931)
release-please[bot] Mar 21, 2026
7feeb7c
chore(main): release google-cloud-alloy_db-v1 1.8.0 (#32930)
release-please[bot] Mar 21, 2026
888028b
chore(main): release google-cloud-alloy_db 2.2.0 (#32929)
release-please[bot] Mar 21, 2026
2eb8fe5
chore(main): release google-cloud-ai_platform 2.3.0 (#32928)
release-please[bot] Mar 21, 2026
7342ee5
chore(main): release google-cloud-advisory_notifications-v1 0.15.0 (#…
release-please[bot] Mar 21, 2026
7210477
chore(main): release google-cloud-advisory_notifications 1.4.0 (#32926)
release-please[bot] Mar 21, 2026
5364130
chore(main): release google-cloud-access_approval-v1 1.5.0 (#32925)
release-please[bot] Mar 21, 2026
8e98d4c
chore(main): release google-cloud-access_approval 1.7.0 (#32924)
release-please[bot] Mar 21, 2026
1febd36
chore(main): release google-apps-meet-v2beta 0.9.0 (#32921)
release-please[bot] Mar 21, 2026
2a871c3
chore(main): release google-apps-meet-v2 0.7.0 (#32920)
release-please[bot] Mar 21, 2026
fc1de35
chore(main): release google-apps-meet 1.2.0 (#32919)
release-please[bot] Mar 21, 2026
f0fea09
chore(main): release google-apps-events-subscriptions-v1beta 0.4.0 (#…
release-please[bot] Mar 21, 2026
7040c6c
chore(main): release google-apps-events-subscriptions-v1 0.7.0 (#32917)
release-please[bot] Mar 21, 2026
8e475d5
chore(main): release google-apps-events-subscriptions 1.2.0 (#32916)
release-please[bot] Mar 21, 2026
ff7c8ca
chore(main): release google-apps-chat-v1 0.20.0 (#32915)
release-please[bot] Mar 21, 2026
609c3f0
chore(main): release google-apps-chat 1.2.0 (#32914)
release-please[bot] Mar 21, 2026
0d42a74
chore(main): release google-analytics-data 0.8.0 (#32912)
release-please[bot] Mar 21, 2026
dfcda06
chore(main): release google-analytics-admin-v1alpha 0.39.0 (#32911)
release-please[bot] Mar 21, 2026
7618c0f
chore(main): release google-analytics-admin 0.7.0 (#32910)
release-please[bot] Mar 21, 2026
8f90e65
chore(main): release google-ads-marketing_platform-admin 0.2.0 (#32908)
release-please[bot] Mar 21, 2026
4c22b2b
chore(main): release google-ads-data_manager 0.3.0 (#32906)
release-please[bot] Mar 21, 2026
1c92295
chore(main): release google-ads-ad_manager-v1 3.1.0 (#32905)
release-please[bot] Mar 21, 2026
2504faa
chore(main): release google-ads-ad_manager 3.1.0 (#32904)
release-please[bot] Mar 21, 2026
ef12ded
chore(main): release google-cloud-ai_platform-v1 1.38.0 (#32827)
release-please[bot] Mar 21, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions google-cloud-storage/lib/google/cloud/storage/bucket.rb
Original file line number Diff line number Diff line change
Expand Up @@ -1628,19 +1628,20 @@ def file path,
# changed to a time in the future. If custom_time must be unset, you
# must either perform a rewrite operation, or upload the data again
# and create a new file.
# @param [Symbol, nil] checksum The type of checksum for the client to
# @param [Symbol, nil, Boolean] checksum The type of checksum for the client to
# automatically calculate and send with the create request to verify
# the integrity of the object. If provided, Cloud Storage will only
# create the file if the value calculated by the client matches the
# value calculated by the service.
#
# Acceptable values are:
#
# * `true` [Boolean] - Calculate and provide a checksum using the CRC32c hash.
Comment thread
cpriti-os marked this conversation as resolved.
# * `false` [Boolean] - Do not calculate or provide a checksum.
# * `md5` - Calculate and provide a checksum using the MD5 hash.
# * `crc32c` - Calculate and provide a checksum using the CRC32c hash.
# * `all` - Calculate and provide checksums for all available verifications.
#
# Optional. The default is `nil`. Do not provide if also providing a
# Optional. The default is `crc32c`. Do not provide if also providing a
# corresponding `crc32c` or `md5` argument. See
# [Validation](https://cloud.google.com/storage/docs/hashes-etags)
# for more information.
Expand Down Expand Up @@ -1805,6 +1806,11 @@ def create_file file,
path ||= file.path if file.respond_to? :path
path ||= file if file.is_a? String
raise ArgumentError, "must provide path" if path.nil?
# If no checksum type or specific value is provided, the default will be set to crc32c.
# If the checksum is set to false, it will be disabled.
if [checksum, crc32c, md5].all?(&:nil?) || checksum == true
checksum = :crc32c
end
crc32c = crc32c_for file, checksum, crc32c
md5 = md5_for file, checksum, md5

Expand Down
48 changes: 33 additions & 15 deletions google-cloud-storage/lib/google/cloud/storage/file/verifier.rb
Original file line number Diff line number Diff line change
Expand Up @@ -49,29 +49,47 @@ def self.verify_crc32c gcloud_file, local_file
gcloud_file.crc32c == crc32c_for(local_file)
end

# Calculates MD5 digest using either file path or open stream.
def self.md5_for local_file
if local_file.respond_to? :to_path
::File.open Pathname(local_file).to_path, "rb" do |f|
::Digest::MD5.file(f).base64digest
end
else # StringIO
local_file.rewind
md5 = ::Digest::MD5.base64digest local_file.read
local_file.rewind
md5
end
_digest_for local_file, ::Digest::MD5
end

# Calculates CRC32c digest using either file path or open stream.
def self.crc32c_for local_file
if local_file.respond_to? :to_path
_digest_for local_file, ::Digest::CRC32c
end

# @private
# Computes a base64-encoded digest for a local file or IO stream.
#
# This method handles two types of inputs for `local_file`:
# 1. A file path (String or Pathname): It efficiently streams the file
# to compute the digest without loading the entire file into memory.
# 2. An IO-like stream (e.g., File, StringIO): It reads the stream's
# content to compute the digest. The stream is rewound before and after
# reading to ensure its position is not permanently changed.
#
# @param local_file [String, Pathname, IO] The local file path or IO
# stream for which to compute the digest.
# @param digest_class [Class] The digest class to use for the
# calculation (e.g., `Digest::MD5`). It must respond to `.file` and
# `.base64digest`.
#
# @return [String] The base64-encoded digest of the file's content.
#
def self._digest_for local_file, digest_class

if local_file.respond_to?(:to_path) || local_file.is_a?(String)
# Case 1: Input is a file path (String, Pathname, or object that responds to :to_path).
::File.open Pathname(local_file).to_path, "rb" do |f|
::Digest::CRC32c.file(f).base64digest
digest_class.file(f).base64digest
end
else # StringIO
else
# Case 2: Input is an open stream (File or StringIO).
local_file.rewind
crc32c = ::Digest::CRC32c.base64digest local_file.read
digest = digest_class.base64digest local_file.read
local_file.rewind
crc32c
digest
end
end
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,12 @@ def create_file_gapi bucket=nil, name = nil
def empty_file_gapi cache_control: nil, content_disposition: nil,
content_encoding: nil, content_language: nil,
content_type: nil, crc32c: nil, md5: nil, metadata: nil,
storage_class: nil
storage_class: nil, checksum: nil

# If no checksum type or specific value is provided, the default will be set to crc32c.
# If the checksum is set to false, it will be disabled.
crc32c ||= set_crc32c_as_default md5, crc32c, checksum

params = {
cache_control: cache_control, content_type: content_type,
content_disposition: content_disposition, md5_hash: md5,
Expand Down
89 changes: 83 additions & 6 deletions google-cloud-storage/test/google/cloud/storage/bucket_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,41 @@
_(bucket_complete.autoclass_enabled).must_equal bucket_autoclass_enabled
_(bucket_complete.autoclass_terminal_storage_class).must_equal bucket_autoclass_terminal_storage_class
end

it "creates a file with checksum: :crc32c by default" do
new_file_name = random_file_path

Tempfile.open ["google-cloud", ".txt"] do |tmpfile|
tmpfile.write "Hello world!"
tmpfile.rewind

crc32c = Google::Cloud::Storage::File::Verifier.crc32c_for tmpfile

mock = Minitest::Mock.new
mock.expect :insert_object, create_file_gapi(bucket.name, new_file_name),
[bucket.name, empty_file_gapi(crc32c: crc32c)], **insert_object_args(name: new_file_name, upload_source: tmpfile, options: {retries: 0})

bucket.service.mocked_service = mock
bucket.create_file tmpfile, new_file_name

mock.verify
end
end

it "creates a file with a StringIO and checksum: :crc32c by default" do
new_file_name = random_file_path
new_file_contents = StringIO.new "Hello world"
crc32c = Google::Cloud::Storage::File::Verifier.crc32c_for new_file_contents
mock = Minitest::Mock.new
mock.expect :insert_object, create_file_gapi(bucket.name, new_file_name),
[bucket.name, empty_file_gapi(crc32c: crc32c)], **insert_object_args(name: new_file_name, upload_source: new_file_contents, options: {retries: 0})

bucket.service.mocked_service = mock

bucket.create_file new_file_contents, new_file_name

mock.verify
end

it "returns frozen cors" do
bucket_complete.cors.each do |cors|
Expand Down Expand Up @@ -405,6 +440,42 @@
end
end

it "creates a file with no checksum" do
new_file_name = random_file_path

Tempfile.open ["google-cloud", ".txt"] do |tmpfile|
tmpfile.write "Hello world!"
tmpfile.rewind

mock = Minitest::Mock.new
mock.expect :insert_object, create_file_gapi(bucket.name, new_file_name),
[bucket.name, empty_file_gapi(checksum: false)], **insert_object_args(name: new_file_name, upload_source: tmpfile, options: {retries: 0})

bucket.service.mocked_service = mock

bucket.create_file tmpfile, new_file_name, checksum: false
mock.verify
end
end

it "creates a file with crc32c if checksum is true" do
new_file_name = random_file_path

Tempfile.open ["google-cloud", ".txt"] do |tmpfile|
tmpfile.write "Hello world!"
tmpfile.rewind

mock = Minitest::Mock.new
mock.expect :insert_object, create_file_gapi(bucket.name, new_file_name),
[bucket.name, empty_file_gapi(checksum: true, crc32c: "e5jnUQ==")], **insert_object_args(name: new_file_name, upload_source: tmpfile, options: {retries: 0})
bucket.service.mocked_service = mock

bucket.create_file tmpfile, new_file_name, checksum: true

mock.verify
end
end

it "creates a file with attributes" do
new_file_name = random_file_path

Expand Down Expand Up @@ -595,9 +666,11 @@
new_file_name = random_file_path

Tempfile.create ["google-cloud", ".txt"] do |tmpfile|

crc32c = Google::Cloud::Storage::File::Verifier.crc32c_for tmpfile
mock = Minitest::Mock.new
mock.expect :insert_object, create_file_gapi(bucket_user_project.name, new_file_name),
[bucket.name, empty_file_gapi], **insert_object_args(name: new_file_name, upload_source: tmpfile, user_project: "test", options: {retries: 0})
[bucket.name, empty_file_gapi(crc32c: crc32c)], **insert_object_args(name: new_file_name, upload_source: tmpfile, user_project: "test", options: {retries: 0})

bucket_user_project.service.mocked_service = mock

Expand All @@ -608,13 +681,13 @@
end
end

it "creates an file with a StringIO" do
it "creates a file with StringIO" do
new_file_name = random_file_path
new_file_contents = StringIO.new

new_file_contents = StringIO.new("Hello world string_io")
crc32c = Google::Cloud::Storage::File::Verifier.crc32c_for new_file_contents
mock = Minitest::Mock.new
mock.expect :insert_object, create_file_gapi(bucket.name, new_file_name),
[bucket.name, empty_file_gapi], **insert_object_args(name: new_file_name, upload_source: new_file_contents, options: {retries: 0})
[bucket.name, empty_file_gapi(crc32c: crc32c)], **insert_object_args(name: new_file_name, upload_source: new_file_contents, options: {retries: 0})

bucket.service.mocked_service = mock

Expand Down Expand Up @@ -1416,7 +1489,11 @@ def empty_file_gapi cache_control: nil, content_disposition: nil,
content_encoding: nil, content_language: nil,
content_type: nil, crc32c: nil, md5: nil, metadata: nil,
storage_class: nil, temporary_hold: nil,
event_based_hold: nil
event_based_hold: nil, checksum: nil

# If no checksum type or specific value is provided, the default will be set to crc32c.
# If the checksum is set to false, it will be disabled.
crc32c ||= set_crc32c_as_default md5, crc32c, checksum
params = {
cache_control: cache_control, content_type: content_type,
content_disposition: content_disposition, md5_hash: md5,
Expand Down
66 changes: 63 additions & 3 deletions google-cloud-storage/test/google/cloud/storage/lazy/bucket_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,62 @@
mock.verify
end
end

it "creates a file with checksum: :crc32c by default" do
new_file_name = random_file_path

Tempfile.open ["google-cloud", ".txt"] do |tmpfile|
tmpfile.write "Hello world 123"
tmpfile.rewind

crc32c = Google::Cloud::Storage::File::Verifier.crc32c_for tmpfile
mock = Minitest::Mock.new
mock.expect :insert_object, create_file_gapi(bucket.name, new_file_name),
[bucket.name, empty_file_gapi(crc32c: crc32c)], **insert_object_args(name: new_file_name, upload_source: tmpfile, options: {retries: 0})

bucket.service.mocked_service = mock
bucket.create_file tmpfile, new_file_name

mock.verify
end
end

it "creates a file with no checksum" do
new_file_name = random_file_path

Tempfile.open ["google-cloud", ".txt"] do |tmpfile|
tmpfile.write "Hello world!"
tmpfile.rewind

mock = Minitest::Mock.new
mock.expect :insert_object, create_file_gapi(bucket.name, new_file_name),
[bucket.name, empty_file_gapi(checksum: false)], **insert_object_args(name: new_file_name, upload_source: tmpfile, options: {retries: 0})

bucket.service.mocked_service = mock

bucket.create_file tmpfile, new_file_name, checksum: false
mock.verify
end
end

it "creates a file with crc32c if checksum is true" do
new_file_name = random_file_path

Tempfile.open ["google-cloud", ".txt"] do |tmpfile|
tmpfile.write "Hello world!"
tmpfile.rewind

mock = Minitest::Mock.new
mock.expect :insert_object, create_file_gapi(bucket.name, new_file_name),
[bucket.name, empty_file_gapi(checksum: true, crc32c: "e5jnUQ==")], **insert_object_args(name: new_file_name, upload_source: tmpfile, options: {retries: 0})

bucket.service.mocked_service = mock

bucket.create_file tmpfile, new_file_name, checksum: true

mock.verify
end
end

it "creates a file with attributes" do
new_file_name = random_file_path
Expand Down Expand Up @@ -279,7 +335,6 @@
Tempfile.open ["google-cloud", ".txt"] do |tmpfile|
tmpfile.write "Hello world"
tmpfile.rewind

metadata = {
"player" => "Bob",
score: 10
Expand Down Expand Up @@ -340,9 +395,10 @@
new_file_name = random_file_path

Tempfile.create ["google-cloud", ".txt"] do |tmpfile|
crc32c = Google::Cloud::Storage::File::Verifier.crc32c_for tmpfile
mock = Minitest::Mock.new
mock.expect :insert_object, create_file_gapi(bucket_user_project.name, new_file_name),
[bucket.name, empty_file_gapi], **insert_object_args(name: new_file_name, upload_source: tmpfile, user_project: "test", options: {retries: 0})
[bucket.name, empty_file_gapi(crc32c: crc32c)], **insert_object_args(name: new_file_name, upload_source: tmpfile, user_project: "test", options: {retries: 0})

bucket_user_project.service.mocked_service = mock

Expand Down Expand Up @@ -1090,7 +1146,11 @@ def create_file_gapi bucket=nil, name = nil
def empty_file_gapi cache_control: nil, content_disposition: nil,
content_encoding: nil, content_language: nil,
content_type: nil, crc32c: nil, md5: nil, metadata: nil,
storage_class: nil
storage_class: nil, checksum: nil

# If no checksum type or specific value is provided, the default will be set to crc32c.
# If the checksum is set to false, it will be disabled.
crc32c ||= set_crc32c_as_default md5, crc32c, checksum
params = {
cache_control: cache_control, content_type: content_type,
content_disposition: content_disposition, md5_hash: md5,
Expand Down
9 changes: 9 additions & 0 deletions google-cloud-storage/test/helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -612,4 +612,13 @@ def restore_file_gapi bucket, file_name, generation=nil
file_hash = random_file_hash(bucket, file_name, generation).to_json
Google::Apis::StorageV1::Object.from_json file_hash
end

def set_crc32c_as_default md5, crc32c, checksum
# If no checksum type or specific value is provided, the default will be set to crc32c.
# If the checksum is set to false, it will be disabled.
if [checksum, crc32c, md5].all?(&:nil?) || checksum == true
crc32c = Google::Cloud::Storage::File::Verifier.crc32c_for(StringIO.new("Hello world"))
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Should the string "Hello world" also be passed as a parameter for robustness?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

changed this method to receive content
we are not removing the static content completely as many tests are still using it

end
crc32c
end
end
Loading