1# Changes 2 3 4## [0.72.0](https://www.github.com/googleapis/google-cloud-go/compare/v0.71.0...v0.72.0) (2020-11-10) 5 6 7### Features 8 9* **all:** auto-regenerate gapics , refs [#3177](https://www.github.com/googleapis/google-cloud-go/issues/3177) [#3164](https://www.github.com/googleapis/google-cloud-go/issues/3164) [#3149](https://www.github.com/googleapis/google-cloud-go/issues/3149) [#3142](https://www.github.com/googleapis/google-cloud-go/issues/3142) [#3136](https://www.github.com/googleapis/google-cloud-go/issues/3136) [#3130](https://www.github.com/googleapis/google-cloud-go/issues/3130) [#3121](https://www.github.com/googleapis/google-cloud-go/issues/3121) [#3119](https://www.github.com/googleapis/google-cloud-go/issues/3119) 10 11 12### Bug Fixes 13 14* **all:** Update hand-written clients to not use WithEndpoint override ([#3111](https://www.github.com/googleapis/google-cloud-go/issues/3111)) ([f0cfd05](https://www.github.com/googleapis/google-cloud-go/commit/f0cfd0532f5204ff16f7bae406efa72603d16f44)) 15* **internal/godocfx:** rename README files to pkg-readme ([#3185](https://www.github.com/googleapis/google-cloud-go/issues/3185)) ([d3a8571](https://www.github.com/googleapis/google-cloud-go/commit/d3a85719be411b692aede3331abb29b5a7b3da9a)) 16 17 18## [0.71.0](https://www.github.com/googleapis/google-cloud-go/compare/v0.70.0...v0.71.0) (2020-10-30) 19 20 21### Features 22 23* **all:** auto-regenerate gapics , refs [#3115](https://www.github.com/googleapis/google-cloud-go/issues/3115) [#3106](https://www.github.com/googleapis/google-cloud-go/issues/3106) [#3102](https://www.github.com/googleapis/google-cloud-go/issues/3102) [#3083](https://www.github.com/googleapis/google-cloud-go/issues/3083) [#3073](https://www.github.com/googleapis/google-cloud-go/issues/3073) [#3057](https://www.github.com/googleapis/google-cloud-go/issues/3057) [#3044](https://www.github.com/googleapis/google-cloud-go/issues/3044) 24* **billing/budgets:** start generating apiv1 ([#3099](https://www.github.com/googleapis/google-cloud-go/issues/3099)) ([e760c85](https://www.github.com/googleapis/google-cloud-go/commit/e760c859de88a6e79b6dffc653dbf75f1630d8e3)) 25* **internal:** auto-run godocfx on new mods ([#3069](https://www.github.com/googleapis/google-cloud-go/issues/3069)) ([49f497e](https://www.github.com/googleapis/google-cloud-go/commit/49f497eab80ce34dfb4ca41f033a5c0429ff5e42)) 26* **pubsublite:** Added Pub/Sub Lite clients and routing headers ([#3105](https://www.github.com/googleapis/google-cloud-go/issues/3105)) ([98668fa](https://www.github.com/googleapis/google-cloud-go/commit/98668fa5457d26ed34debee708614f027020e5bc)) 27* **pubsublite:** Message type and message routers ([#3077](https://www.github.com/googleapis/google-cloud-go/issues/3077)) ([179fc55](https://www.github.com/googleapis/google-cloud-go/commit/179fc550b545a5344358a243da7007ffaa7b5171)) 28* **pubsublite:** Pub/Sub Lite admin client ([#3036](https://www.github.com/googleapis/google-cloud-go/issues/3036)) ([749473e](https://www.github.com/googleapis/google-cloud-go/commit/749473ead30bf1872634821d3238d1299b99acc6)) 29* **pubsublite:** Publish settings and errors ([#3075](https://www.github.com/googleapis/google-cloud-go/issues/3075)) ([9eb9fcb](https://www.github.com/googleapis/google-cloud-go/commit/9eb9fcb79f17ad7c08c77c455ba3e8d89e3bdbf2)) 30* **pubsublite:** Retryable stream wrapper ([#3068](https://www.github.com/googleapis/google-cloud-go/issues/3068)) ([97cfd45](https://www.github.com/googleapis/google-cloud-go/commit/97cfd4587f2f51996bd685ff486308b70eb51900)) 31 32 33### Bug Fixes 34 35* **internal/kokoro:** remove unnecessary cd ([#3071](https://www.github.com/googleapis/google-cloud-go/issues/3071)) ([c1a4c3e](https://www.github.com/googleapis/google-cloud-go/commit/c1a4c3eaffcdc3cffe0e223fcfa1f60879cd23bb)) 36* **pubsublite:** Disable integration tests for project id ([#3087](https://www.github.com/googleapis/google-cloud-go/issues/3087)) ([a0982f7](https://www.github.com/googleapis/google-cloud-go/commit/a0982f79d6461feabdf31363f29fed7dc5677fe7)) 37 38## [0.70.0](https://www.github.com/googleapis/google-cloud-go/compare/v0.69.0...v0.70.0) (2020-10-19) 39 40 41### Features 42 43* **all:** auto-regenerate gapics , refs [#3047](https://www.github.com/googleapis/google-cloud-go/issues/3047) [#3035](https://www.github.com/googleapis/google-cloud-go/issues/3035) [#3025](https://www.github.com/googleapis/google-cloud-go/issues/3025) 44* **managedidentities:** start generating apiv1 ([#3032](https://www.github.com/googleapis/google-cloud-go/issues/3032)) ([10ccca2](https://www.github.com/googleapis/google-cloud-go/commit/10ccca238074d24fea580a4cd8e64478818b0b44)) 45* **pubsublite:** Types for resource paths and topic/subscription configs ([#3026](https://www.github.com/googleapis/google-cloud-go/issues/3026)) ([6f7fa86](https://www.github.com/googleapis/google-cloud-go/commit/6f7fa86ed906258f98d996aab40184f3a46f9714)) 46 47## [0.69.1](https://www.github.com/googleapis/google-cloud-go/compare/v0.69.0...v0.69.1) (2020-10-14) 48 49This is an empty release that was created solely to aid in pubsublite's module 50carve out. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository. 51 52## [0.69.0](https://www.github.com/googleapis/google-cloud-go/compare/v0.68.0...v0.69.0) (2020-10-14) 53 54 55### Features 56 57* **accessapproval:** start generating apiv1 ([#3002](https://www.github.com/googleapis/google-cloud-go/issues/3002)) ([709d6e7](https://www.github.com/googleapis/google-cloud-go/commit/709d6e76393e6ac00ff488efd83bfe873173b045)) 58* **all:** auto-regenerate gapics , refs [#3010](https://www.github.com/googleapis/google-cloud-go/issues/3010) [#3005](https://www.github.com/googleapis/google-cloud-go/issues/3005) [#2993](https://www.github.com/googleapis/google-cloud-go/issues/2993) [#2989](https://www.github.com/googleapis/google-cloud-go/issues/2989) [#2981](https://www.github.com/googleapis/google-cloud-go/issues/2981) [#2976](https://www.github.com/googleapis/google-cloud-go/issues/2976) [#2968](https://www.github.com/googleapis/google-cloud-go/issues/2968) [#2958](https://www.github.com/googleapis/google-cloud-go/issues/2958) 59* **cmd/go-cloud-debug-agent:** mark as deprecated ([#2964](https://www.github.com/googleapis/google-cloud-go/issues/2964)) ([276ec88](https://www.github.com/googleapis/google-cloud-go/commit/276ec88b05852c33a3ba437e18d072f7ffd8fd33)) 60* **godocfx:** add nesting to TOC ([#2972](https://www.github.com/googleapis/google-cloud-go/issues/2972)) ([3a49b2d](https://www.github.com/googleapis/google-cloud-go/commit/3a49b2d142a353f98429235c3f380431430b4dbf)) 61* **internal/godocfx:** HTML-ify package summary ([#2986](https://www.github.com/googleapis/google-cloud-go/issues/2986)) ([9e64b01](https://www.github.com/googleapis/google-cloud-go/commit/9e64b018255bd8d9b31d60e8f396966251de946b)) 62* **internal/kokoro:** make publish_docs VERSION optional ([#2979](https://www.github.com/googleapis/google-cloud-go/issues/2979)) ([76e35f6](https://www.github.com/googleapis/google-cloud-go/commit/76e35f689cb60bd5db8e14b8c8d367c5902bcb0e)) 63* **websecurityscanner:** start generating apiv1 ([#3006](https://www.github.com/googleapis/google-cloud-go/issues/3006)) ([1d92e20](https://www.github.com/googleapis/google-cloud-go/commit/1d92e2062a13f62d7a96be53a7354c0cacca6a85)) 64 65 66### Bug Fixes 67 68* **godocfx:** make extra files optional, filter out third_party ([#2985](https://www.github.com/googleapis/google-cloud-go/issues/2985)) ([f268921](https://www.github.com/googleapis/google-cloud-go/commit/f2689214a24b2e325d3e8f54441bb11fbef925f0)) 69 70## [0.68.0](https://www.github.com/googleapis/google-cloud-go/compare/v0.67.0...v0.68.0) (2020-10-02) 71 72 73### Features 74 75* **all:** auto-regenerate gapics , refs [#2952](https://www.github.com/googleapis/google-cloud-go/issues/2952) [#2944](https://www.github.com/googleapis/google-cloud-go/issues/2944) [#2935](https://www.github.com/googleapis/google-cloud-go/issues/2935) 76 77## [0.67.0](https://www.github.com/googleapis/google-cloud-go/compare/v0.66.0...v0.67.0) (2020-09-29) 78 79 80### Features 81 82* **all:** auto-regenerate gapics , refs [#2933](https://www.github.com/googleapis/google-cloud-go/issues/2933) [#2919](https://www.github.com/googleapis/google-cloud-go/issues/2919) [#2913](https://www.github.com/googleapis/google-cloud-go/issues/2913) [#2910](https://www.github.com/googleapis/google-cloud-go/issues/2910) [#2899](https://www.github.com/googleapis/google-cloud-go/issues/2899) [#2897](https://www.github.com/googleapis/google-cloud-go/issues/2897) [#2886](https://www.github.com/googleapis/google-cloud-go/issues/2886) [#2877](https://www.github.com/googleapis/google-cloud-go/issues/2877) [#2869](https://www.github.com/googleapis/google-cloud-go/issues/2869) [#2864](https://www.github.com/googleapis/google-cloud-go/issues/2864) 83* **assuredworkloads:** start generating apiv1beta1 ([#2866](https://www.github.com/googleapis/google-cloud-go/issues/2866)) ([7598c4d](https://www.github.com/googleapis/google-cloud-go/commit/7598c4dd2462e8270a2c7b1f496af58ca81ff568)) 84* **dialogflow/cx:** start generating apiv3beta1 ([#2875](https://www.github.com/googleapis/google-cloud-go/issues/2875)) ([37ca93a](https://www.github.com/googleapis/google-cloud-go/commit/37ca93ad69eda363d956f0174d444ed5914f5a72)) 85* **docfx:** add support for examples ([#2884](https://www.github.com/googleapis/google-cloud-go/issues/2884)) ([0cc0de3](https://www.github.com/googleapis/google-cloud-go/commit/0cc0de300d58be6d3b7eeb2f1baebfa6df076830)) 86* **godocfx:** include README in output ([#2927](https://www.github.com/googleapis/google-cloud-go/issues/2927)) ([f084690](https://www.github.com/googleapis/google-cloud-go/commit/f084690a2ea08ce73bafaaced95ad271fd01e11e)) 87* **talent:** start generating apiv4 ([#2871](https://www.github.com/googleapis/google-cloud-go/issues/2871)) ([5c98071](https://www.github.com/googleapis/google-cloud-go/commit/5c98071b03822c58862d1fa5442ff36d627f1a61)) 88 89 90### Bug Fixes 91 92* **godocfx:** filter out other modules, sort pkgs ([#2894](https://www.github.com/googleapis/google-cloud-go/issues/2894)) ([868db45](https://www.github.com/googleapis/google-cloud-go/commit/868db45e2e6f4e9ad48432be86c849f335e1083d)) 93* **godocfx:** shorten function names ([#2880](https://www.github.com/googleapis/google-cloud-go/issues/2880)) ([48a0217](https://www.github.com/googleapis/google-cloud-go/commit/48a0217930750c1f4327f2622b0f2a3ec8afc0b7)) 94* **translate:** properly name examples ([#2892](https://www.github.com/googleapis/google-cloud-go/issues/2892)) ([c19e141](https://www.github.com/googleapis/google-cloud-go/commit/c19e1415e6fa76b7ea66a7fc67ad3ba22670a2ba)), refs [#2883](https://www.github.com/googleapis/google-cloud-go/issues/2883) 95 96## [0.66.0](https://www.github.com/googleapis/google-cloud-go/compare/v0.65.0...v0.66.0) (2020-09-15) 97 98 99### Features 100 101* **all:** auto-regenerate gapics , refs [#2849](https://www.github.com/googleapis/google-cloud-go/issues/2849) [#2843](https://www.github.com/googleapis/google-cloud-go/issues/2843) [#2841](https://www.github.com/googleapis/google-cloud-go/issues/2841) [#2819](https://www.github.com/googleapis/google-cloud-go/issues/2819) [#2816](https://www.github.com/googleapis/google-cloud-go/issues/2816) [#2809](https://www.github.com/googleapis/google-cloud-go/issues/2809) [#2801](https://www.github.com/googleapis/google-cloud-go/issues/2801) [#2795](https://www.github.com/googleapis/google-cloud-go/issues/2795) [#2791](https://www.github.com/googleapis/google-cloud-go/issues/2791) [#2788](https://www.github.com/googleapis/google-cloud-go/issues/2788) [#2781](https://www.github.com/googleapis/google-cloud-go/issues/2781) 102* **analytics/data:** start generating apiv1alpha ([#2796](https://www.github.com/googleapis/google-cloud-go/issues/2796)) ([e93132c](https://www.github.com/googleapis/google-cloud-go/commit/e93132c77725de3c80c34d566df269eabfcfde93)) 103* **area120/tables:** start generating apiv1alpha1 ([#2807](https://www.github.com/googleapis/google-cloud-go/issues/2807)) ([9e5a4d0](https://www.github.com/googleapis/google-cloud-go/commit/9e5a4d0dee0d83be0c020797a2f579d9e42ef521)) 104* **cloudbuild:** Start generating apiv1/v3 ([#2830](https://www.github.com/googleapis/google-cloud-go/issues/2830)) ([358a536](https://www.github.com/googleapis/google-cloud-go/commit/358a5368da64cf4868551652e852ceb453504f64)) 105* **godocfx:** create Go DocFX YAML generator ([#2854](https://www.github.com/googleapis/google-cloud-go/issues/2854)) ([37c70ac](https://www.github.com/googleapis/google-cloud-go/commit/37c70acd91768567106ff3b2b130835998d974c5)) 106* **security/privateca:** start generating apiv1beta1 ([#2806](https://www.github.com/googleapis/google-cloud-go/issues/2806)) ([f985141](https://www.github.com/googleapis/google-cloud-go/commit/f9851412183989dc69733a7e61ad39a9378cd893)) 107* **video/transcoder:** start generating apiv1beta1 ([#2797](https://www.github.com/googleapis/google-cloud-go/issues/2797)) ([390dda8](https://www.github.com/googleapis/google-cloud-go/commit/390dda8ff2c526e325e434ad0aec778b7aa97ea4)) 108* **workflows:** start generating apiv1beta ([#2799](https://www.github.com/googleapis/google-cloud-go/issues/2799)) ([0e39665](https://www.github.com/googleapis/google-cloud-go/commit/0e39665ccb788caec800e2887d433ca6e0cf9901)) 109* **workflows/executions:** start generating apiv1beta ([#2800](https://www.github.com/googleapis/google-cloud-go/issues/2800)) ([7eaa0d1](https://www.github.com/googleapis/google-cloud-go/commit/7eaa0d184c6a2141d8bf4514b3fd20715b50a580)) 110 111 112### Bug Fixes 113 114* **internal/kokoro:** install the right version of docuploader ([#2861](https://www.github.com/googleapis/google-cloud-go/issues/2861)) ([d8489c1](https://www.github.com/googleapis/google-cloud-go/commit/d8489c141b8b02e83d6426f4baebd3658ae11639)) 115* **internal/kokoro:** remove extra dash in doc tarball ([#2862](https://www.github.com/googleapis/google-cloud-go/issues/2862)) ([690ddcc](https://www.github.com/googleapis/google-cloud-go/commit/690ddccc5202b5a70f1afa5c518dca37b6a0861c)) 116* **profiler:** do not collect disabled profile types ([#2836](https://www.github.com/googleapis/google-cloud-go/issues/2836)) ([faeb498](https://www.github.com/googleapis/google-cloud-go/commit/faeb4985bf6afdcddba4553efa874642bf7f08ed)), refs [#2835](https://www.github.com/googleapis/google-cloud-go/issues/2835) 117 118 119### Reverts 120 121* **cloudbuild): "feat(cloudbuild:** Start generating apiv1/v3" ([#2840](https://www.github.com/googleapis/google-cloud-go/issues/2840)) ([3aaf755](https://www.github.com/googleapis/google-cloud-go/commit/3aaf755476dfea1700986fc086f53fc1ab756557)) 122 123## [0.65.0](https://www.github.com/googleapis/google-cloud-go/compare/v0.64.0...v0.65.0) (2020-08-27) 124 125 126### Announcements 127 128The following changes will be included in an upcoming release and are not 129included in this one. 130 131#### Default Deadlines 132 133By default, non-streaming methods, like Create or Get methods, will have a 134default deadline applied to the context provided at call time, unless a context 135deadline is already set. Streaming methods have no default deadline and will run 136indefinitely, unless the context provided at call time contains a deadline. 137 138To opt-out of this behavior, set the environment variable 139`GOOGLE_API_GO_EXPERIMENTAL_DISABLE_DEFAULT_DEADLINE` to `true` prior to 140initializing a client. This opt-out mechanism will be removed in a later 141release, with a notice similar to this one ahead of its removal. 142 143 144### Features 145 146* **all:** auto-regenerate gapics , refs [#2774](https://www.github.com/googleapis/google-cloud-go/issues/2774) [#2764](https://www.github.com/googleapis/google-cloud-go/issues/2764) 147 148 149### Bug Fixes 150 151* **all:** correct minor typos ([#2756](https://www.github.com/googleapis/google-cloud-go/issues/2756)) ([03d78b5](https://www.github.com/googleapis/google-cloud-go/commit/03d78b5627819cb64d1f3866f90043f709e825e1)) 152* **compute/metadata:** remove leading slash for Get suffix ([#2760](https://www.github.com/googleapis/google-cloud-go/issues/2760)) ([f0d605c](https://www.github.com/googleapis/google-cloud-go/commit/f0d605ccf32391a9da056a2c551158bd076c128d)) 153 154## [0.64.0](https://www.github.com/googleapis/google-cloud-go/compare/v0.63.0...v0.64.0) (2020-08-18) 155 156 157### Features 158 159* **all:** auto-regenerate gapics , refs [#2734](https://www.github.com/googleapis/google-cloud-go/issues/2734) [#2731](https://www.github.com/googleapis/google-cloud-go/issues/2731) [#2730](https://www.github.com/googleapis/google-cloud-go/issues/2730) [#2725](https://www.github.com/googleapis/google-cloud-go/issues/2725) [#2722](https://www.github.com/googleapis/google-cloud-go/issues/2722) [#2706](https://www.github.com/googleapis/google-cloud-go/issues/2706) 160* **pubsublite:** start generating v1 ([#2700](https://www.github.com/googleapis/google-cloud-go/issues/2700)) ([d2e777f](https://www.github.com/googleapis/google-cloud-go/commit/d2e777f56e08146646b3ffb7a78856795094ab4e)) 161 162## [0.63.0](https://www.github.com/googleapis/google-cloud-go/compare/v0.62.0...v0.63.0) (2020-08-05) 163 164 165### Features 166 167* **all:** auto-regenerate gapics ([#2682](https://www.github.com/googleapis/google-cloud-go/issues/2682)) ([63bfd63](https://www.github.com/googleapis/google-cloud-go/commit/63bfd638da169e0f1f4fa4a5125da2955022dc04)) 168* **analytics/admin:** start generating apiv1alpha ([#2670](https://www.github.com/googleapis/google-cloud-go/issues/2670)) ([268199e](https://www.github.com/googleapis/google-cloud-go/commit/268199e5350a64a83ecf198e0e0fa4863f00fa6c)) 169* **functions/metadata:** Special-case marshaling ([#2669](https://www.github.com/googleapis/google-cloud-go/issues/2669)) ([d8d7fc6](https://www.github.com/googleapis/google-cloud-go/commit/d8d7fc66cbc42f79bec25fb0daaf53d926e3645b)) 170* **gaming:** start generate apiv1 ([#2681](https://www.github.com/googleapis/google-cloud-go/issues/2681)) ([1adfd0a](https://www.github.com/googleapis/google-cloud-go/commit/1adfd0aed6b2c0e1dd0c575a5ec0f49388fa5601)) 171* **internal/kokoro:** add script to test compatibility with samples ([#2637](https://www.github.com/googleapis/google-cloud-go/issues/2637)) ([f2aa76a](https://www.github.com/googleapis/google-cloud-go/commit/f2aa76a0058e86c1c33bb634d2c084b58f77ab32)) 172 173## v0.62.0 174 175### Announcements 176 177- There was a breaking change to `cloud.google.com/go/dataproc/apiv1` that was 178 merged in [this PR](https://github.com/googleapis/google-cloud-go/pull/2606). 179 This fixed a broken API response for `DiagnoseCluster`. When polling on the 180 Long Running Operation(LRO), the API now returns 181 `(*dataprocpb.DiagnoseClusterResults, error)` whereas it only returned an 182 `error` before. 183 184### Changes 185 186- all: 187 - Updated all direct dependencies. 188 - Updated contributing guidelines to suggest allowing edits from maintainers. 189- billing/budgets: 190 - Start generating client for apiv1beta1. 191- functions: 192 - Start generating client for apiv1. 193- notebooks: 194 - Start generating client apiv1beta1. 195- profiler: 196 - update proftest to support parsing floating-point backoff durations. 197 - Fix the regexp used to parse backoff duration. 198- Various updates to autogenerated clients. 199 200## v0.61.0 201 202### Changes 203 204- all: 205 - Update all direct dependencies. 206- dashboard: 207 - Start generating client for apiv1. 208- policytroubleshooter: 209 - Start generating client for apiv1. 210- profiler: 211 - Disable OpenCensus Telemetry for requests made by the profiler package by default. You can re-enable it using `profiler.Config.EnableOCTelemetry`. 212- Various updates to autogenerated clients. 213 214## v0.60.0 215 216### Changes 217 218- all: 219 - Refactored examples to reduce module dependencies. 220 - Update sub-modules to use cloud.google.com/go v0.59.0. 221- internal: 222 - Start generating client for gaming apiv1beta. 223- Various updates to autogenerated clients. 224 225## v0.59.0 226 227### Announcements 228 229goolgeapis/google-cloud-go has moved its source of truth to GitHub and is no longer a mirror. This means that our 230contributing process has changed a bit. We will now be conducting all code reviews on GitHub which means we now accept 231pull requests! If you have a version of the codebase previously checked out you may wish to update your git remote to 232point to GitHub. 233 234### Changes 235 236- all: 237 - Remove dependency on honnef.co/go/tools. 238 - Update our contributing instructions now that we use GitHub for reviews. 239 - Remove some un-inclusive terminology. 240- compute/metadata: 241 - Pass cancelable context to DNS lookup. 242- .github: 243 - Update templates issue/PR templates. 244- internal: 245 - Bump several clients to GA. 246 - Fix GoDoc badge source. 247 - Several automation changes related to the move to GitHub. 248 - Start generating a client for asset v1p5beta1. 249- Various updates to autogenerated clients. 250 251## v0.58.0 252 253### Deprecation notice 254 255- `cloud.google.com/go/monitoring/apiv3` has been deprecated due to breaking 256 changes in the API. Please migrate to `cloud.google.com/go/monitoring/apiv3/v2`. 257 258### Changes 259 260- all: 261 - The remaining uses of gtransport.Dial have been removed. 262 - The `genproto` dependency has been updated to a version that makes use of 263 new `protoreflect` library. For more information on these protobuf changes 264 please see the following post from the official Go blog: 265 https://blog.golang.org/protobuf-apiv2. 266- internal: 267 - Started generation of datastore admin v1 client. 268 - Updated protofuf version used for generation to 3.12.X. 269 - Update the release levels for several APIs. 270 - Generate clients with protoc-gen-go@v1.4.1. 271- monitoring: 272 - Re-enable generation of monitoring/apiv3 under v2 directory (see deprecation 273 notice above). 274- profiler: 275 - Fixed flakiness in tests. 276- Various updates to autogenerated clients. 277 278## v0.57.0 279 280- all: 281 - Update module dependency `google.golang.org/api` to `v0.21.0`. 282- errorreporting: 283 - Add exported SetGoogleClientInfo wrappers to manual file. 284- expr/v1alpha1: 285 - Deprecate client. This client will be removed in a future release. 286- internal: 287 - Fix possible data race in TestTracer. 288 - Pin versions of tools used for generation. 289 - Correct the release levels for BigQuery APIs. 290 - Start generation osconfig v1. 291- longrunning: 292 - Add exported SetGoogleClientInfo wrappers to manual file. 293- monitoring: 294 - Stop generation of monitoring/apiv3 because of incoming breaking change. 295- trace: 296 - Add exported SetGoogleClientInfo wrappers to manual file. 297- Various updates to autogenerated clients. 298 299## v0.56.0 300 301- secretmanager: 302 - add IAM helper 303- profiler: 304 - try all us-west1 zones for integration tests 305- internal: 306 - add config to generate webrisk v1 307 - add repo and commit to buildcop invocation 308 - add recaptchaenterprise v1 generation config 309 - update microgenerator to v0.12.5 310 - add datacatalog client 311 - start generating security center settings v1beta 312 - start generating osconfig agentendpoint v1 313 - setup generation for bigquery/connection/v1beta1 314- all: 315 - increase continous testing timeout to 45m 316 - various updates to autogenerated clients. 317 318## v0.55.0 319 320- Various updates to autogenerated clients. 321 322## v0.54.0 323 324- all: 325 - remove unused golang.org/x/exp from mod file 326 - update godoc.org links to pkg.go.dev 327- compute/metadata: 328 - use defaultClient when http.Client is nil 329 - remove subscribeClient 330- iam: 331 - add support for v3 policy and IAM conditions 332- Various updates to autogenerated clients. 333 334## v0.53.0 335 336- all: most clients now use transport/grpc.DialPool rather than Dial (see #1777 for outliers). 337 - Connection pooling now does not use the deprecated (and soon to be removed) gRPC load balancer API. 338- profiler: remove symbolization (drops support for go1.10) 339- Various updates to autogenerated clients. 340 341## v0.52.0 342 343- internal/gapicgen: multiple improvements related to library generation. 344- compute/metadata: unset ResponseHeaderTimeout in defaultClient 345- docs: fix link to KMS in README.md 346- Various updates to autogenerated clients. 347 348## v0.51.0 349 350- secretmanager: 351 - add IAM helper for generic resource IAM handle 352- cloudbuild: 353 - migrate to microgen in a major version 354- Various updates to autogenerated clients. 355 356## v0.50.0 357 358- profiler: 359 - Support disabling CPU profile collection. 360 - Log when a profile creation attempt begins. 361- compute/metadata: 362 - Fix panic on malformed URLs. 363 - InstanceName returns actual instance name. 364- Various updates to autogenerated clients. 365 366## v0.49.0 367 368- functions/metadata: 369 - Handle string resources in JSON unmarshaller. 370- Various updates to autogenerated clients. 371 372## v0.48.0 373 374- Various updates to autogenerated clients 375 376## v0.47.0 377 378This release drops support for Go 1.9 and Go 1.10: we continue to officially 379support Go 1.11, Go 1.12, and Go 1.13. 380 381- Various updates to autogenerated clients. 382- Add cloudbuild/apiv1 client. 383 384## v0.46.3 385 386This is an empty release that was created solely to aid in storage's module 387carve-out. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository. 388 389## v0.46.2 390 391This is an empty release that was created solely to aid in spanner's module 392carve-out. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository. 393 394## v0.46.1 395 396This is an empty release that was created solely to aid in firestore's module 397carve-out. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository. 398 399## v0.46.0 400 401- spanner: 402 - Retry "Session not found" for read-only transactions. 403 - Retry aborted PDMLs. 404- spanner/spannertest: 405 - Fix a bug that was causing 0X-prefixed number to be parsed incorrectly. 406- storage: 407 - Add HMACKeyOptions. 408 - Remove *REGIONAL from StorageClass documentation. Using MULTI_REGIONAL, 409 DURABLE_REDUCED_AVAILABILITY, and REGIONAL are no longer best practice 410 StorageClasses but they are still acceptable values. 411- trace: 412 - Remove cloud.google.com/go/trace. Package cloud.google.com/go/trace has been 413 marked OBSOLETE for several years: it is now no longer provided. If you 414 relied on this package, please vendor it or switch to using 415 https://cloud.google.com/trace/docs/setup/go (which obsoleted it). 416 417## v0.45.1 418 419This is an empty release that was created solely to aid in pubsub's module 420carve-out. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository. 421 422## v0.45.0 423 424- compute/metadata: 425 - Add Email method. 426- storage: 427 - Fix duplicated retry logic. 428 - Add ReaderObjectAttrs.StartOffset. 429 - Support reading last N bytes of a file when a negative range is given, such 430 as `obj.NewRangeReader(ctx, -10, -1)`. 431 - Add HMACKey listing functionality. 432- spanner/spannertest: 433 - Support primary keys with no columns. 434 - Fix MinInt64 parsing. 435 - Implement deletion of key ranges. 436 - Handle reads during a read-write transaction. 437 - Handle returning DATE values. 438- pubsub: 439 - Fix Ack/Modack request size calculation. 440- logging: 441 - Add auto-detection of monitored resources on GAE Standard. 442 443## v0.44.3 444 445This is an empty release that was created solely to aid in bigtable's module 446carve-out. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository. 447 448## v0.44.2 449 450This is an empty release that was created solely to aid in bigquery's module 451carve-out. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository. 452 453## v0.44.1 454 455This is an empty release that was created solely to aid in datastore's module 456carve-out. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository. 457 458## v0.44.0 459 460- datastore: 461 - Interface elements whose underlying types are supported, are now supported. 462 - Reduce time to initial retry from 1s to 100ms. 463- firestore: 464 - Add Increment transformation. 465- storage: 466 - Allow emulator with STORAGE_EMULATOR_HOST. 467 - Add methods for HMAC key management. 468- pubsub: 469 - Add PublishCount and PublishLatency measurements. 470 - Add DefaultPublishViews and DefaultSubscribeViews for convenience of 471 importing all views. 472 - Add add Subscription.PushConfig.AuthenticationMethod. 473- spanner: 474 - Allow emulator usage with SPANNER_EMULATOR_HOST. 475 - Add cloud.google.com/go/spanner/spannertest, a spanner emulator. 476 - Add cloud.google.com/go/spanner/spansql which contains types and a parser 477 for the Cloud Spanner SQL dialect. 478- asset: 479 - Add apiv1p2beta1 client. 480 481## v0.43.0 482 483This is an empty release that was created solely to aid in logging's module 484carve-out. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository. 485 486## v0.42.0 487 488- bigtable: 489 - Add an admin method to update an instance and clusters. 490 - Fix bttest regex matching behavior for alternations (things like `|a`). 491 - Expose BlockAllFilter filter. 492- bigquery: 493 - Add Routines API support. 494- storage: 495 - Add read-only Bucket.LocationType. 496- logging: 497 - Add TraceSampled to Entry. 498 - Fix to properly extract {Trace, Span}Id from X-Cloud-Trace-Context. 499- pubsub: 500 - Add Cloud Key Management to TopicConfig. 501 - Change ExpirationPolicy to optional.Duration. 502- automl: 503 - Add apiv1beta1 client. 504- iam: 505 - Fix compilation problem with iam/credentials/apiv1. 506 507## v0.41.0 508 509- bigtable: 510 - Check results from PredicateFilter in bttest, which fixes certain false matches. 511- profiler: 512 - debugLog checks user defined logging options before logging. 513- spanner: 514 - PartitionedUpdates respect query parameters. 515 - StartInstance allows specifying cloud API access scopes. 516- bigquery: 517 - Use empty slice instead of nil for ValueSaver, fixing an issue with zero-length, repeated, nested fields causing panics. 518- firestore: 519 - Return same number of snapshots as doc refs (in the form of duplicate records) during GetAll. 520- replay: 521 - Change references to IPv4 addresses to localhost, making replay compatible with IPv6. 522 523## v0.40.0 524 525- all: 526 - Update to protobuf-golang v1.3.1. 527- datastore: 528 - Attempt to decode GAE-encoded keys if initial decoding attempt fails. 529 - Support integer time conversion. 530- pubsub: 531 - Add PublishSettings.BundlerByteLimit. If users receive pubsub.ErrOverflow, 532 this value should be adjusted higher. 533 - Use IPv6 compatible target in testutil. 534- bigtable: 535 - Fix Latin-1 regexp filters in bttest, allowing \C. 536 - Expose PassAllFilter. 537- profiler: 538 - Add log messages for slow path in start. 539 - Fix start to allow retry until success. 540- firestore: 541 - Add admin client. 542- containeranalysis: 543 - Add apiv1 client. 544- grafeas: 545 - Add apiv1 client. 546 547## 0.39.0 548 549- bigtable: 550 - Implement DeleteInstance in bttest. 551 - Return an error on invalid ReadRowsRequest.RowRange key ranges in bttest. 552- bigquery: 553 - Move RequirePartitionFilter outside of TimePartioning. 554 - Expose models API. 555- firestore: 556 - Allow array values in create and update calls. 557 - Add CollectionGroup method. 558- pubsub: 559 - Add ExpirationPolicy to Subscription. 560- storage: 561 - Add V4 signing. 562- rpcreplay: 563 - Match streams by first sent request. This further improves rpcreplay's 564 ability to distinguish streams. 565- httpreplay: 566 - Set up Man-In-The-Middle config only once. This should improve proxy 567 creation when multiple proxies are used in a single process. 568 - Remove error on empty Content-Type, allowing requests with no Content-Type 569 header but a non-empty body. 570- all: 571 - Fix an edge case bug in auto-generated library pagination by properly 572 propagating pagetoken. 573 574## 0.38.0 575 576This update includes a substantial reduction in our transitive dependency list 577by way of updating to opencensus@v0.21.0. 578 579- spanner: 580 - Error implements GRPCStatus, allowing status.Convert. 581- bigtable: 582 - Fix a bug in bttest that prevents single column queries returning results 583 that match other filters. 584 - Remove verbose retry logging. 585- logging: 586 - Ensure RequestUrl has proper UTF-8, removing the need for users to wrap and 587 rune replace manually. 588- recaptchaenterprise: 589 - Add v1beta1 client. 590- phishingprotection: 591 - Add v1beta1 client. 592 593## 0.37.4 594 595This patch releases re-builds the go.sum. This was not possible in the 596previous release. 597 598- firestore: 599 - Add sentinel value DetectProjectID for auto-detecting project ID. 600 - Add OpenCensus tracing for public methods. 601 - Marked stable. All future changes come with a backwards compatibility 602 guarantee. 603 - Removed firestore/apiv1beta1. All users relying on this low-level library 604 should migrate to firestore/apiv1. Note that most users should use the 605 high-level firestore package instead. 606- pubsub: 607 - Allow large messages in synchronous pull case. 608 - Cap bundler byte limit. This should prevent OOM conditions when there are 609 a very large number of message publishes occurring. 610- storage: 611 - Add ETag to BucketAttrs and ObjectAttrs. 612- datastore: 613 - Removed some non-sensical OpenCensus traces. 614- webrisk: 615 - Add v1 client. 616- asset: 617 - Add v1 client. 618- cloudtasks: 619 - Add v2 client. 620 621## 0.37.3 622 623This patch release removes github.com/golang/lint from the transitive 624dependency list, resolving `go get -u` problems. 625 626Note: this release intentionally has a broken go.sum. Please use v0.37.4. 627 628## 0.37.2 629 630This patch release is mostly intended to bring in v0.3.0 of 631google.golang.org/api, which fixes a GCF deployment issue. 632 633Note: we had to-date accidentally marked Redis as stable. In this release, we've 634fixed it by downgrading its documentation to alpha, as it is in other languages 635and docs. 636 637- all: 638 - Document context in generated libraries. 639 640## 0.37.1 641 642Small go.mod version bumps to bring in v0.2.0 of google.golang.org/api, which 643introduces a new oauth2 url. 644 645## 0.37.0 646 647- spanner: 648 - Add BatchDML method. 649 - Reduced initial time between retries. 650- bigquery: 651 - Produce better error messages for InferSchema. 652 - Add logical type control for avro loads. 653 - Add support for the GEOGRAPHY type. 654- datastore: 655 - Add sentinel value DetectProjectID for auto-detecting project ID. 656 - Allow flatten tag on struct pointers. 657 - Fixed a bug that caused queries to panic with invalid queries. Instead they 658 will now return an error. 659- profiler: 660 - Add ability to override GCE zone and instance. 661- pubsub: 662 - BEHAVIOR CHANGE: Refactor error code retry logic. RPCs should now more 663 consistently retry specific error codes based on whether they're idempotent 664 or non-idempotent. 665- httpreplay: Fixed a bug when a non-GET request had a zero-length body causing 666 the Content-Length header to be dropped. 667- iot: 668 - Add new apiv1 client. 669- securitycenter: 670 - Add new apiv1 client. 671- cloudscheduler: 672 - Add new apiv1 client. 673 674## 0.36.0 675 676- spanner: 677 - Reduce minimum retry backoff from 1s to 100ms. This makes time between 678 retries much faster and should improve latency. 679- storage: 680 - Add support for Bucket Policy Only. 681- kms: 682 - Add ResourceIAM helper method. 683 - Deprecate KeyRingIAM and CryptoKeyIAM. Please use ResourceIAM. 684- firestore: 685 - Switch from v1beta1 API to v1 API. 686 - Allow emulator with FIRESTORE_EMULATOR_HOST. 687- bigquery: 688 - Add NumLongTermBytes to Table. 689 - Add TotalBytesProcessedAccuracy to QueryStatistics. 690- irm: 691 - Add new v1alpha2 client. 692- talent: 693 - Add new v4beta1 client. 694- rpcreplay: 695 - Fix connection to work with grpc >= 1.17. 696 - It is now required for an actual gRPC server to be running for Dial to 697 succeed. 698 699## 0.35.1 700 701- spanner: 702 - Adds OpenCensus views back to public API. 703 704## v0.35.0 705 706- all: 707 - Add go.mod and go.sum. 708 - Switch usage of gax-go to gax-go/v2. 709- bigquery: 710 - Fix bug where time partitioning could not be removed from a table. 711 - Fix panic that occurred with empty query parameters. 712- bttest: 713 - Fix bug where deleted rows were returned by ReadRows. 714- bigtable/emulator: 715 - Configure max message size to 256 MiB. 716- firestore: 717 - Allow non-transactional queries in transactions. 718 - Allow StartAt/EndBefore on direct children at any depth. 719 - QuerySnapshotIterator.Stop may be called in an error state. 720 - Fix bug the prevented reset of transaction write state in between retries. 721- functions/metadata: 722 - Make Metadata.Resource a pointer. 723- logging: 724 - Make SpanID available in logging.Entry. 725- metadata: 726 - Wrap !200 error code in a typed err. 727- profiler: 728 - Add function to check if function name is within a particular file in the 729 profile. 730 - Set parent field in create profile request. 731 - Return kubernetes client to start cluster, so client can be used to poll 732 cluster. 733 - Add function for checking if filename is in profile. 734- pubsub: 735 - Fix bug where messages expired without an initial modack in 736 synchronous=true mode. 737 - Receive does not retry ResourceExhausted errors. 738- spanner: 739 - client.Close now cancels existing requests and should be much faster for 740 large amounts of sessions. 741 - Correctly allow MinOpened sessions to be spun up. 742 743## v0.34.0 744 745- functions/metadata: 746 - Switch to using JSON in context. 747 - Make Resource a value. 748- vision: Fix ProductSearch return type. 749- datastore: Add an example for how to handle MultiError. 750 751## v0.33.1 752 753- compute: Removes an erroneously added go.mod. 754- logging: Populate source location in fromLogEntry. 755 756## v0.33.0 757 758- bttest: 759 - Add support for apply_label_transformer. 760- expr: 761 - Add expr library. 762- firestore: 763 - Support retrieval of missing documents. 764- kms: 765 - Add IAM methods. 766- pubsub: 767 - Clarify extension documentation. 768- scheduler: 769 - Add v1beta1 client. 770- vision: 771 - Add product search helper. 772 - Add new product search client. 773 774## v0.32.0 775 776Note: This release is the last to support Go 1.6 and 1.8. 777 778- bigquery: 779 - Add support for removing an expiration. 780 - Ignore NeverExpire in Table.Create. 781 - Validate table expiration time. 782- cbt: 783 - Add note about not supporting arbitrary bytes. 784- datastore: 785 - Align key checks. 786- firestore: 787 - Return an error when using Start/End without providing values. 788- pubsub: 789 - Add pstest Close method. 790 - Clarify MaxExtension documentation. 791- securitycenter: 792 - Add v1beta1 client. 793- spanner: 794 - Allow nil in mutations. 795 - Improve doc of SessionPoolConfig.MaxOpened. 796 - Increase session deletion timeout from 5s to 15s. 797 798## v0.31.0 799 800- bigtable: 801 - Group mutations across multiple requests. 802- bigquery: 803 - Link to bigquery troubleshooting errors page in bigquery.Error comment. 804- cbt: 805 - Fix go generate command. 806 - Document usage of both maxage + maxversions. 807- datastore: 808 - Passing nil keys results in ErrInvalidKey. 809- firestore: 810 - Clarify what Document.DataTo does with untouched struct fields. 811- profile: 812 - Validate service name in agent. 813- pubsub: 814 - Fix deadlock with pstest and ctx.Cancel. 815 - Fix a possible deadlock in pstest. 816- trace: 817 - Update doc URL with new fragment. 818 819Special thanks to @fastest963 for going above and beyond helping us to debug 820hard-to-reproduce Pub/Sub issues. 821 822## v0.30.0 823 824- spanner: DML support added. See https://godoc.org/cloud.google.com/go/spanner#hdr-DML_and_Partitioned_DML for more information. 825- bigtable: bttest supports row sample filter. 826- functions: metadata package added for accessing Cloud Functions resource metadata. 827 828## v0.29.0 829 830- bigtable: 831 - Add retry to all idempotent RPCs. 832 - cbt supports complex GC policies. 833 - Emulator supports arbitrary bytes in regex filters. 834- firestore: Add ArrayUnion and ArrayRemove. 835- logging: Add the ContextFunc option to supply the context used for 836 asynchronous RPCs. 837- profiler: Ignore NotDefinedError when fetching the instance name 838- pubsub: 839 - BEHAVIOR CHANGE: Receive doesn't retry if an RPC returns codes.Cancelled. 840 - BEHAVIOR CHANGE: Receive retries on Unavailable intead of returning. 841 - Fix deadlock. 842 - Restore Ack/Nack/Modacks metrics. 843 - Improve context handling in iterator. 844 - Implement synchronous mode for Receive. 845 - pstest: add Pull. 846- spanner: Add a metric for the number of sessions currently opened. 847- storage: 848 - Canceling the context releases all resources. 849 - Add additional RetentionPolicy attributes. 850- vision/apiv1: Add LocalizeObjects method. 851 852## v0.28.0 853 854- bigtable: 855 - Emulator returns Unimplemented for snapshot RPCs. 856- bigquery: 857 - Support zero-length repeated, nested fields. 858- cloud assets: 859 - Add v1beta client. 860- datastore: 861 - Don't nil out transaction ID on retry. 862- firestore: 863 - BREAKING CHANGE: When watching a query with Query.Snapshots, QuerySnapshotIterator.Next 864 returns a QuerySnapshot which contains read time, result size, change list and the DocumentIterator 865 (previously, QuerySnapshotIterator.Next returned just the DocumentIterator). See: https://godoc.org/cloud.google.com/go/firestore#Query.Snapshots. 866 - Add array-contains operator. 867- IAM: 868 - Add iam/credentials/apiv1 client. 869- pubsub: 870 - Canceling the context passed to Subscription.Receive causes Receive to return when 871 processing finishes on all messages currently in progress, even if new messages are arriving. 872- redis: 873 - Add redis/apiv1 client. 874- storage: 875 - Add Reader.Attrs. 876 - Deprecate several Reader getter methods: please use Reader.Attrs for these instead. 877 - Add ObjectHandle.Bucket and ObjectHandle.Object methods. 878 879## v0.27.0 880 881- bigquery: 882 - Allow modification of encryption configuration and partitioning options to a table via the Update call. 883 - Add a SchemaFromJSON function that converts a JSON table schema. 884- bigtable: 885 - Restore cbt count functionality. 886- containeranalysis: 887 - Add v1beta client. 888- spanner: 889 - Fix a case where an iterator might not be closed correctly. 890- storage: 891 - Add ServiceAccount method https://godoc.org/cloud.google.com/go/storage#Client.ServiceAccount. 892 - Add a method to Reader that returns the parsed value of the Last-Modified header. 893 894## v0.26.0 895 896- bigquery: 897 - Support filtering listed jobs by min/max creation time. 898 - Support data clustering (https://godoc.org/cloud.google.com/go/bigquery#Clustering). 899 - Include job creator email in Job struct. 900- bigtable: 901 - Add `RowSampleFilter`. 902 - emulator: BREAKING BEHAVIOR CHANGE: Regexps in row, family, column and value filters 903 must match the entire target string to succeed. Previously, the emulator was 904 succeeding on partial matches. 905 NOTE: As of this release, this change only affects the emulator when run 906 from this repo (bigtable/cmd/emulator/cbtemulator.go). The version launched 907 from `gcloud` will be updated in a subsequent `gcloud` release. 908- dataproc: Add apiv1beta2 client. 909- datastore: Save non-nil pointer fields on omitempty. 910- logging: populate Entry.Trace from the HTTP X-Cloud-Trace-Context header. 911- logging/logadmin: Support writer_identity and include_children. 912- pubsub: 913 - Support labels on topics and subscriptions. 914 - Support message storage policy for topics. 915 - Use the distribution of ack times to determine when to extend ack deadlines. 916 The only user-visible effect of this change should be that programs that 917 call only `Subscription.Receive` need no IAM permissions other than `Pub/Sub 918 Subscriber`. 919- storage: 920 - Support predefined ACLs. 921 - Support additional ACL fields other than Entity and Role. 922 - Support bucket websites. 923 - Support bucket logging. 924 925 926## v0.25.0 927 928- Added [Code of Conduct](https://github.com/googleapis/google-cloud-go/blob/master/CODE_OF_CONDUCT.md) 929- bigtable: 930 - cbt: Support a GC policy of "never". 931- errorreporting: 932 - Support User. 933 - Close now calls Flush. 934 - Use OnError (previously ignored). 935 - Pass through the RPC error as-is to OnError. 936- httpreplay: A tool for recording and replaying HTTP requests 937 (for the bigquery and storage clients in this repo). 938- kms: v1 client added 939- logging: add SourceLocation to Entry. 940- storage: improve CRC checking on read. 941 942## v0.24.0 943 944- bigquery: Support for the NUMERIC type. 945- bigtable: 946 - cbt: Optionally specify columns for read/lookup 947 - Support instance-level administration. 948- oslogin: New client for the OS Login API. 949- pubsub: 950 - The package is now stable. There will be no further breaking changes. 951 - Internal changes to improve Subscription.Receive behavior. 952- storage: Support updating bucket lifecycle config. 953- spanner: Support struct-typed parameter bindings. 954- texttospeech: New client for the Text-to-Speech API. 955 956## v0.23.0 957 958- bigquery: Add DDL stats to query statistics. 959- bigtable: 960 - cbt: Add cells-per-column limit for row lookup. 961 - cbt: Make it possible to combine read filters. 962- dlp: v2beta2 client removed. Use the v2 client instead. 963- firestore, spanner: Fix compilation errors due to protobuf changes. 964 965## v0.22.0 966 967- bigtable: 968 - cbt: Support cells per column limit for row read. 969 - bttest: Correctly handle empty RowSet. 970 - Fix ReadModifyWrite operation in emulator. 971 - Fix API path in GetCluster. 972 973- bigquery: 974 - BEHAVIOR CHANGE: Retry on 503 status code. 975 - Add dataset.DeleteWithContents. 976 - Add SchemaUpdateOptions for query jobs. 977 - Add Timeline to QueryStatistics. 978 - Add more stats to ExplainQueryStage. 979 - Support Parquet data format. 980 981- datastore: 982 - Support omitempty for times. 983 984- dlp: 985 - **BREAKING CHANGE:** Remove v1beta1 client. Please migrate to the v2 client, 986 which is now out of beta. 987 - Add v2 client. 988 989- firestore: 990 - BEHAVIOR CHANGE: Treat set({}, MergeAll) as valid. 991 992- iam: 993 - Support JWT signing via SignJwt callopt. 994 995- profiler: 996 - BEHAVIOR CHANGE: PollForSerialOutput returns an error when context.Done. 997 - BEHAVIOR CHANGE: Increase the initial backoff to 1 minute. 998 - Avoid returning empty serial port output. 999 1000- pubsub: 1001 - BEHAVIOR CHANGE: Don't backoff during next retryable error once stream is healthy. 1002 - BEHAVIOR CHANGE: Don't backoff on EOF. 1003 - pstest: Support Acknowledge and ModifyAckDeadline RPCs. 1004 1005- redis: 1006 - Add v1 beta Redis client. 1007 1008- spanner: 1009 - Support SessionLabels. 1010 1011- speech: 1012 - Add api v1 beta1 client. 1013 1014- storage: 1015 - BEHAVIOR CHANGE: Retry reads when retryable error occurs. 1016 - Fix delete of object in requester-pays bucket. 1017 - Support KMS integration. 1018 1019## v0.21.0 1020 1021- bigquery: 1022 - Add OpenCensus tracing. 1023 1024- firestore: 1025 - **BREAKING CHANGE:** If a document does not exist, return a DocumentSnapshot 1026 whose Exists method returns false. DocumentRef.Get and Transaction.Get 1027 return the non-nil DocumentSnapshot in addition to a NotFound error. 1028 **DocumentRef.GetAll and Transaction.GetAll return a non-nil 1029 DocumentSnapshot instead of nil.** 1030 - Add DocumentIterator.Stop. **Call Stop whenever you are done with a 1031 DocumentIterator.** 1032 - Added Query.Snapshots and DocumentRef.Snapshots, which provide realtime 1033 notification of updates. See https://cloud.google.com/firestore/docs/query-data/listen. 1034 - Canceling an RPC now always returns a grpc.Status with codes.Canceled. 1035 1036- spanner: 1037 - Add `CommitTimestamp`, which supports inserting the commit timestamp of a 1038 transaction into a column. 1039 1040## v0.20.0 1041 1042- bigquery: Support SchemaUpdateOptions for load jobs. 1043 1044- bigtable: 1045 - Add SampleRowKeys. 1046 - cbt: Support union, intersection GCPolicy. 1047 - Retry admin RPCS. 1048 - Add trace spans to retries. 1049 1050- datastore: Add OpenCensus tracing. 1051 1052- firestore: 1053 - Fix queries involving Null and NaN. 1054 - Allow Timestamp protobuffers for time values. 1055 1056- logging: Add a WriteTimeout option. 1057 1058- spanner: Support Batch API. 1059 1060- storage: Add OpenCensus tracing. 1061 1062## v0.19.0 1063 1064- bigquery: 1065 - Support customer-managed encryption keys. 1066 1067- bigtable: 1068 - Improved emulator support. 1069 - Support GetCluster. 1070 1071- datastore: 1072 - Add general mutations. 1073 - Support pointer struct fields. 1074 - Support transaction options. 1075 1076- firestore: 1077 - Add Transaction.GetAll. 1078 - Support document cursors. 1079 1080- logging: 1081 - Support concurrent RPCs to the service. 1082 - Support per-entry resources. 1083 1084- profiler: 1085 - Add config options to disable heap and thread profiling. 1086 - Read the project ID from $GOOGLE_CLOUD_PROJECT when it's set. 1087 1088- pubsub: 1089 - BEHAVIOR CHANGE: Release flow control after ack/nack (instead of after the 1090 callback returns). 1091 - Add SubscriptionInProject. 1092 - Add OpenCensus instrumentation for streaming pull. 1093 1094- storage: 1095 - Support CORS. 1096 1097## v0.18.0 1098 1099- bigquery: 1100 - Marked stable. 1101 - Schema inference of nullable fields supported. 1102 - Added TimePartitioning to QueryConfig. 1103 1104- firestore: Data provided to DocumentRef.Set with a Merge option can contain 1105 Delete sentinels. 1106 1107- logging: Clients can accept parent resources other than projects. 1108 1109- pubsub: 1110 - pubsub/pstest: A lighweight fake for pubsub. Experimental; feedback welcome. 1111 - Support updating more subscription metadata: AckDeadline, 1112 RetainAckedMessages and RetentionDuration. 1113 1114- oslogin/apiv1beta: New client for the Cloud OS Login API. 1115 1116- rpcreplay: A package for recording and replaying gRPC traffic. 1117 1118- spanner: 1119 - Add a ReadWithOptions that supports a row limit, as well as an index. 1120 - Support query plan and execution statistics. 1121 - Added [OpenCensus](http://opencensus.io) support. 1122 1123- storage: Clarify checksum validation for gzipped files (it is not validated 1124 when the file is served uncompressed). 1125 1126 1127## v0.17.0 1128 1129- firestore BREAKING CHANGES: 1130 - Remove UpdateMap and UpdateStruct; rename UpdatePaths to Update. 1131 Change 1132 `docref.UpdateMap(ctx, map[string]interface{}{"a.b", 1})` 1133 to 1134 `docref.Update(ctx, []firestore.Update{{Path: "a.b", Value: 1}})` 1135 1136 Change 1137 `docref.UpdateStruct(ctx, []string{"Field"}, aStruct)` 1138 to 1139 `docref.Update(ctx, []firestore.Update{{Path: "Field", Value: aStruct.Field}})` 1140 - Rename MergePaths to Merge; require args to be FieldPaths 1141 - A value stored as an integer can be read into a floating-point field, and vice versa. 1142- bigtable/cmd/cbt: 1143 - Support deleting a column. 1144 - Add regex option for row read. 1145- spanner: Mark stable. 1146- storage: 1147 - Add Reader.ContentEncoding method. 1148 - Fix handling of SignedURL headers. 1149- bigquery: 1150 - If Uploader.Put is called with no rows, it returns nil without making a 1151 call. 1152 - Schema inference supports the "nullable" option in struct tags for 1153 non-required fields. 1154 - TimePartitioning supports "Field". 1155 1156 1157## v0.16.0 1158 1159- Other bigquery changes: 1160 - `JobIterator.Next` returns `*Job`; removed `JobInfo` (BREAKING CHANGE). 1161 - UseStandardSQL is deprecated; set UseLegacySQL to true if you need 1162 Legacy SQL. 1163 - Uploader.Put will generate a random insert ID if you do not provide one. 1164 - Support time partitioning for load jobs. 1165 - Support dry-run queries. 1166 - A `Job` remembers its last retrieved status. 1167 - Support retrieving job configuration. 1168 - Support labels for jobs and tables. 1169 - Support dataset access lists. 1170 - Improve support for external data sources, including data from Bigtable and 1171 Google Sheets, and tables with external data. 1172 - Support updating a table's view configuration. 1173 - Fix uploading civil times with nanoseconds. 1174 1175- storage: 1176 - Support PubSub notifications. 1177 - Support Requester Pays buckets. 1178 1179- profiler: Support goroutine and mutex profile types. 1180 1181## v0.15.0 1182 1183- firestore: beta release. See the 1184 [announcement](https://firebase.googleblog.com/2017/10/introducing-cloud-firestore.html). 1185 1186- errorreporting: The existing package has been redesigned. 1187 1188- errors: This package has been removed. Use errorreporting. 1189 1190 1191## v0.14.0 1192 1193- bigquery BREAKING CHANGES: 1194 - Standard SQL is the default for queries and views. 1195 - `Table.Create` takes `TableMetadata` as a second argument, instead of 1196 options. 1197 - `Dataset.Create` takes `DatasetMetadata` as a second argument. 1198 - `DatasetMetadata` field `ID` renamed to `FullID` 1199 - `TableMetadata` field `ID` renamed to `FullID` 1200 1201- Other bigquery changes: 1202 - The client will append a random suffix to a provided job ID if you set 1203 `AddJobIDSuffix` to true in a job config. 1204 - Listing jobs is supported. 1205 - Better retry logic. 1206 1207- vision, language, speech: clients are now stable 1208 1209- monitoring: client is now beta 1210 1211- profiler: 1212 - Rename InstanceName to Instance, ZoneName to Zone 1213 - Auto-detect service name and version on AppEngine. 1214 1215## v0.13.0 1216 1217- bigquery: UseLegacySQL options for CreateTable and QueryConfig. Use these 1218 options to continue using Legacy SQL after the client switches its default 1219 to Standard SQL. 1220 1221- bigquery: Support for updating dataset labels. 1222 1223- bigquery: Set DatasetIterator.ProjectID to list datasets in a project other 1224 than the client's. DatasetsInProject is no longer needed and is deprecated. 1225 1226- bigtable: Fail ListInstances when any zones fail. 1227 1228- spanner: support decoding of slices of basic types (e.g. []string, []int64, 1229 etc.) 1230 1231- logging/logadmin: UpdateSink no longer creates a sink if it is missing 1232 (actually a change to the underlying service, not the client) 1233 1234- profiler: Service and ServiceVersion replace Target in Config. 1235 1236## v0.12.0 1237 1238- pubsub: Subscription.Receive now uses streaming pull. 1239 1240- pubsub: add Client.TopicInProject to access topics in a different project 1241 than the client. 1242 1243- errors: renamed errorreporting. The errors package will be removed shortly. 1244 1245- datastore: improved retry behavior. 1246 1247- bigquery: support updates to dataset metadata, with etags. 1248 1249- bigquery: add etag support to Table.Update (BREAKING: etag argument added). 1250 1251- bigquery: generate all job IDs on the client. 1252 1253- storage: support bucket lifecycle configurations. 1254 1255 1256## v0.11.0 1257 1258- Clients for spanner, pubsub and video are now in beta. 1259 1260- New client for DLP. 1261 1262- spanner: performance and testing improvements. 1263 1264- storage: requester-pays buckets are supported. 1265 1266- storage, profiler, bigtable, bigquery: bug fixes and other minor improvements. 1267 1268- pubsub: bug fixes and other minor improvements 1269 1270## v0.10.0 1271 1272- pubsub: Subscription.ModifyPushConfig replaced with Subscription.Update. 1273 1274- pubsub: Subscription.Receive now runs concurrently for higher throughput. 1275 1276- vision: cloud.google.com/go/vision is deprecated. Use 1277cloud.google.com/go/vision/apiv1 instead. 1278 1279- translation: now stable. 1280 1281- trace: several changes to the surface. See the link below. 1282 1283### Code changes required from v0.9.0 1284 1285- pubsub: Replace 1286 1287 ``` 1288 sub.ModifyPushConfig(ctx, pubsub.PushConfig{Endpoint: "https://example.com/push"}) 1289 ``` 1290 1291 with 1292 1293 ``` 1294 sub.Update(ctx, pubsub.SubscriptionConfigToUpdate{ 1295 PushConfig: &pubsub.PushConfig{Endpoint: "https://example.com/push"}, 1296 }) 1297 ``` 1298 1299- trace: traceGRPCServerInterceptor will be provided from *trace.Client. 1300Given an initialized `*trace.Client` named `tc`, instead of 1301 1302 ``` 1303 s := grpc.NewServer(grpc.UnaryInterceptor(trace.GRPCServerInterceptor(tc))) 1304 ``` 1305 1306 write 1307 1308 ``` 1309 s := grpc.NewServer(grpc.UnaryInterceptor(tc.GRPCServerInterceptor())) 1310 ``` 1311 1312- trace trace.GRPCClientInterceptor will also provided from *trace.Client. 1313Instead of 1314 1315 ``` 1316 conn, err := grpc.Dial(srv.Addr, grpc.WithUnaryInterceptor(trace.GRPCClientInterceptor())) 1317 ``` 1318 1319 write 1320 1321 ``` 1322 conn, err := grpc.Dial(srv.Addr, grpc.WithUnaryInterceptor(tc.GRPCClientInterceptor())) 1323 ``` 1324 1325- trace: We removed the deprecated `trace.EnableGRPCTracing`. Use the gRPC 1326interceptor as a dial option as shown below when initializing Cloud package 1327clients: 1328 1329 ``` 1330 c, err := pubsub.NewClient(ctx, "project-id", option.WithGRPCDialOption(grpc.WithUnaryInterceptor(tc.GRPCClientInterceptor()))) 1331 if err != nil { 1332 ... 1333 } 1334 ``` 1335 1336 1337## v0.9.0 1338 1339- Breaking changes to some autogenerated clients. 1340- rpcreplay package added. 1341 1342## v0.8.0 1343 1344- profiler package added. 1345- storage: 1346 - Retry Objects.Insert call. 1347 - Add ProgressFunc to WRiter. 1348- pubsub: breaking changes: 1349 - Publish is now asynchronous ([announcement](https://groups.google.com/d/topic/google-api-go-announce/aaqRDIQ3rvU/discussion)). 1350 - Subscription.Pull replaced by Subscription.Receive, which takes a callback ([announcement](https://groups.google.com/d/topic/google-api-go-announce/8pt6oetAdKc/discussion)). 1351 - Message.Done replaced with Message.Ack and Message.Nack. 1352 1353## v0.7.0 1354 1355- Release of a client library for Spanner. See 1356the 1357[blog 1358post](https://cloudplatform.googleblog.com/2017/02/introducing-Cloud-Spanner-a-global-database-service-for-mission-critical-applications.html). 1359Note that although the Spanner service is beta, the Go client library is alpha. 1360 1361## v0.6.0 1362 1363- Beta release of BigQuery, DataStore, Logging and Storage. See the 1364[blog post](https://cloudplatform.googleblog.com/2016/12/announcing-new-google-cloud-client.html). 1365 1366- bigquery: 1367 - struct support. Read a row directly into a struct with 1368`RowIterator.Next`, and upload a row directly from a struct with `Uploader.Put`. 1369You can also use field tags. See the [package documentation][cloud-bigquery-ref] 1370for details. 1371 1372 - The `ValueList` type was removed. It is no longer necessary. Instead of 1373 ```go 1374 var v ValueList 1375 ... it.Next(&v) .. 1376 ``` 1377 use 1378 1379 ```go 1380 var v []Value 1381 ... it.Next(&v) ... 1382 ``` 1383 1384 - Previously, repeatedly calling `RowIterator.Next` on the same `[]Value` or 1385 `ValueList` would append to the slice. Now each call resets the size to zero first. 1386 1387 - Schema inference will infer the SQL type BYTES for a struct field of 1388 type []byte. Previously it inferred STRING. 1389 1390 - The types `uint`, `uint64` and `uintptr` are no longer supported in schema 1391 inference. BigQuery's integer type is INT64, and those types may hold values 1392 that are not correctly represented in a 64-bit signed integer. 1393 1394## v0.5.0 1395 1396- bigquery: 1397 - The SQL types DATE, TIME and DATETIME are now supported. They correspond to 1398 the `Date`, `Time` and `DateTime` types in the new `cloud.google.com/go/civil` 1399 package. 1400 - Support for query parameters. 1401 - Support deleting a dataset. 1402 - Values from INTEGER columns will now be returned as int64, not int. This 1403 will avoid errors arising from large values on 32-bit systems. 1404- datastore: 1405 - Nested Go structs encoded as Entity values, instead of a 1406flattened list of the embedded struct's fields. This means that you may now have twice-nested slices, eg. 1407 ```go 1408 type State struct { 1409 Cities []struct{ 1410 Populations []int 1411 } 1412 } 1413 ``` 1414 See [the announcement](https://groups.google.com/forum/#!topic/google-api-go-announce/79jtrdeuJAg) for 1415more details. 1416 - Contexts no longer hold namespaces; instead you must set a key's namespace 1417 explicitly. Also, key functions have been changed and renamed. 1418 - The WithNamespace function has been removed. To specify a namespace in a Query, use the Query.Namespace method: 1419 ```go 1420 q := datastore.NewQuery("Kind").Namespace("ns") 1421 ``` 1422 - All the fields of Key are exported. That means you can construct any Key with a struct literal: 1423 ```go 1424 k := &Key{Kind: "Kind", ID: 37, Namespace: "ns"} 1425 ``` 1426 - As a result of the above, the Key methods Kind, ID, d.Name, Parent, SetParent and Namespace have been removed. 1427 - `NewIncompleteKey` has been removed, replaced by `IncompleteKey`. Replace 1428 ```go 1429 NewIncompleteKey(ctx, kind, parent) 1430 ``` 1431 with 1432 ```go 1433 IncompleteKey(kind, parent) 1434 ``` 1435 and if you do use namespaces, make sure you set the namespace on the returned key. 1436 - `NewKey` has been removed, replaced by `NameKey` and `IDKey`. Replace 1437 ```go 1438 NewKey(ctx, kind, name, 0, parent) 1439 NewKey(ctx, kind, "", id, parent) 1440 ``` 1441 with 1442 ```go 1443 NameKey(kind, name, parent) 1444 IDKey(kind, id, parent) 1445 ``` 1446 and if you do use namespaces, make sure you set the namespace on the returned key. 1447 - The `Done` variable has been removed. Replace `datastore.Done` with `iterator.Done`, from the package `google.golang.org/api/iterator`. 1448 - The `Client.Close` method will have a return type of error. It will return the result of closing the underlying gRPC connection. 1449 - See [the announcement](https://groups.google.com/forum/#!topic/google-api-go-announce/hqXtM_4Ix-0) for 1450more details. 1451 1452## v0.4.0 1453 1454- bigquery: 1455 -`NewGCSReference` is now a function, not a method on `Client`. 1456 - `Table.LoaderFrom` now accepts a `ReaderSource`, enabling 1457 loading data into a table from a file or any `io.Reader`. 1458 * Client.Table and Client.OpenTable have been removed. 1459 Replace 1460 ```go 1461 client.OpenTable("project", "dataset", "table") 1462 ``` 1463 with 1464 ```go 1465 client.DatasetInProject("project", "dataset").Table("table") 1466 ``` 1467 1468 * Client.CreateTable has been removed. 1469 Replace 1470 ```go 1471 client.CreateTable(ctx, "project", "dataset", "table") 1472 ``` 1473 with 1474 ```go 1475 client.DatasetInProject("project", "dataset").Table("table").Create(ctx) 1476 ``` 1477 1478 * Dataset.ListTables have been replaced with Dataset.Tables. 1479 Replace 1480 ```go 1481 tables, err := ds.ListTables(ctx) 1482 ``` 1483 with 1484 ```go 1485 it := ds.Tables(ctx) 1486 for { 1487 table, err := it.Next() 1488 if err == iterator.Done { 1489 break 1490 } 1491 if err != nil { 1492 // TODO: Handle error. 1493 } 1494 // TODO: use table. 1495 } 1496 ``` 1497 1498 * Client.Read has been replaced with Job.Read, Table.Read and Query.Read. 1499 Replace 1500 ```go 1501 it, err := client.Read(ctx, job) 1502 ``` 1503 with 1504 ```go 1505 it, err := job.Read(ctx) 1506 ``` 1507 and similarly for reading from tables or queries. 1508 1509 * The iterator returned from the Read methods is now named RowIterator. Its 1510 behavior is closer to the other iterators in these libraries. It no longer 1511 supports the Schema method; see the next item. 1512 Replace 1513 ```go 1514 for it.Next(ctx) { 1515 var vals ValueList 1516 if err := it.Get(&vals); err != nil { 1517 // TODO: Handle error. 1518 } 1519 // TODO: use vals. 1520 } 1521 if err := it.Err(); err != nil { 1522 // TODO: Handle error. 1523 } 1524 ``` 1525 with 1526 ``` 1527 for { 1528 var vals ValueList 1529 err := it.Next(&vals) 1530 if err == iterator.Done { 1531 break 1532 } 1533 if err != nil { 1534 // TODO: Handle error. 1535 } 1536 // TODO: use vals. 1537 } 1538 ``` 1539 Instead of the `RecordsPerRequest(n)` option, write 1540 ```go 1541 it.PageInfo().MaxSize = n 1542 ``` 1543 Instead of the `StartIndex(i)` option, write 1544 ```go 1545 it.StartIndex = i 1546 ``` 1547 1548 * ValueLoader.Load now takes a Schema in addition to a slice of Values. 1549 Replace 1550 ```go 1551 func (vl *myValueLoader) Load(v []bigquery.Value) 1552 ``` 1553 with 1554 ```go 1555 func (vl *myValueLoader) Load(v []bigquery.Value, s bigquery.Schema) 1556 ``` 1557 1558 1559 * Table.Patch is replace by Table.Update. 1560 Replace 1561 ```go 1562 p := table.Patch() 1563 p.Description("new description") 1564 metadata, err := p.Apply(ctx) 1565 ``` 1566 with 1567 ```go 1568 metadata, err := table.Update(ctx, bigquery.TableMetadataToUpdate{ 1569 Description: "new description", 1570 }) 1571 ``` 1572 1573 * Client.Copy is replaced by separate methods for each of its four functions. 1574 All options have been replaced by struct fields. 1575 1576 * To load data from Google Cloud Storage into a table, use Table.LoaderFrom. 1577 1578 Replace 1579 ```go 1580 client.Copy(ctx, table, gcsRef) 1581 ``` 1582 with 1583 ```go 1584 table.LoaderFrom(gcsRef).Run(ctx) 1585 ``` 1586 Instead of passing options to Copy, set fields on the Loader: 1587 ```go 1588 loader := table.LoaderFrom(gcsRef) 1589 loader.WriteDisposition = bigquery.WriteTruncate 1590 ``` 1591 1592 * To extract data from a table into Google Cloud Storage, use 1593 Table.ExtractorTo. Set fields on the returned Extractor instead of 1594 passing options. 1595 1596 Replace 1597 ```go 1598 client.Copy(ctx, gcsRef, table) 1599 ``` 1600 with 1601 ```go 1602 table.ExtractorTo(gcsRef).Run(ctx) 1603 ``` 1604 1605 * To copy data into a table from one or more other tables, use 1606 Table.CopierFrom. Set fields on the returned Copier instead of passing options. 1607 1608 Replace 1609 ```go 1610 client.Copy(ctx, dstTable, srcTable) 1611 ``` 1612 with 1613 ```go 1614 dst.Table.CopierFrom(srcTable).Run(ctx) 1615 ``` 1616 1617 * To start a query job, create a Query and call its Run method. Set fields 1618 on the query instead of passing options. 1619 1620 Replace 1621 ```go 1622 client.Copy(ctx, table, query) 1623 ``` 1624 with 1625 ```go 1626 query.Run(ctx) 1627 ``` 1628 1629 * Table.NewUploader has been renamed to Table.Uploader. Instead of options, 1630 configure an Uploader by setting its fields. 1631 Replace 1632 ```go 1633 u := table.NewUploader(bigquery.UploadIgnoreUnknownValues()) 1634 ``` 1635 with 1636 ```go 1637 u := table.NewUploader(bigquery.UploadIgnoreUnknownValues()) 1638 u.IgnoreUnknownValues = true 1639 ``` 1640 1641- pubsub: remove `pubsub.Done`. Use `iterator.Done` instead, where `iterator` is the package 1642`google.golang.org/api/iterator`. 1643 1644## v0.3.0 1645 1646- storage: 1647 * AdminClient replaced by methods on Client. 1648 Replace 1649 ```go 1650 adminClient.CreateBucket(ctx, bucketName, attrs) 1651 ``` 1652 with 1653 ```go 1654 client.Bucket(bucketName).Create(ctx, projectID, attrs) 1655 ``` 1656 1657 * BucketHandle.List replaced by BucketHandle.Objects. 1658 Replace 1659 ```go 1660 for query != nil { 1661 objs, err := bucket.List(d.ctx, query) 1662 if err != nil { ... } 1663 query = objs.Next 1664 for _, obj := range objs.Results { 1665 fmt.Println(obj) 1666 } 1667 } 1668 ``` 1669 with 1670 ```go 1671 iter := bucket.Objects(d.ctx, query) 1672 for { 1673 obj, err := iter.Next() 1674 if err == iterator.Done { 1675 break 1676 } 1677 if err != nil { ... } 1678 fmt.Println(obj) 1679 } 1680 ``` 1681 (The `iterator` package is at `google.golang.org/api/iterator`.) 1682 1683 Replace `Query.Cursor` with `ObjectIterator.PageInfo().Token`. 1684 1685 Replace `Query.MaxResults` with `ObjectIterator.PageInfo().MaxSize`. 1686 1687 1688 * ObjectHandle.CopyTo replaced by ObjectHandle.CopierFrom. 1689 Replace 1690 ```go 1691 attrs, err := src.CopyTo(ctx, dst, nil) 1692 ``` 1693 with 1694 ```go 1695 attrs, err := dst.CopierFrom(src).Run(ctx) 1696 ``` 1697 1698 Replace 1699 ```go 1700 attrs, err := src.CopyTo(ctx, dst, &storage.ObjectAttrs{ContextType: "text/html"}) 1701 ``` 1702 with 1703 ```go 1704 c := dst.CopierFrom(src) 1705 c.ContextType = "text/html" 1706 attrs, err := c.Run(ctx) 1707 ``` 1708 1709 * ObjectHandle.ComposeFrom replaced by ObjectHandle.ComposerFrom. 1710 Replace 1711 ```go 1712 attrs, err := dst.ComposeFrom(ctx, []*storage.ObjectHandle{src1, src2}, nil) 1713 ``` 1714 with 1715 ```go 1716 attrs, err := dst.ComposerFrom(src1, src2).Run(ctx) 1717 ``` 1718 1719 * ObjectHandle.Update's ObjectAttrs argument replaced by ObjectAttrsToUpdate. 1720 Replace 1721 ```go 1722 attrs, err := obj.Update(ctx, &storage.ObjectAttrs{ContextType: "text/html"}) 1723 ``` 1724 with 1725 ```go 1726 attrs, err := obj.Update(ctx, storage.ObjectAttrsToUpdate{ContextType: "text/html"}) 1727 ``` 1728 1729 * ObjectHandle.WithConditions replaced by ObjectHandle.If. 1730 Replace 1731 ```go 1732 obj.WithConditions(storage.Generation(gen), storage.IfMetaGenerationMatch(mgen)) 1733 ``` 1734 with 1735 ```go 1736 obj.Generation(gen).If(storage.Conditions{MetagenerationMatch: mgen}) 1737 ``` 1738 1739 Replace 1740 ```go 1741 obj.WithConditions(storage.IfGenerationMatch(0)) 1742 ``` 1743 with 1744 ```go 1745 obj.If(storage.Conditions{DoesNotExist: true}) 1746 ``` 1747 1748 * `storage.Done` replaced by `iterator.Done` (from package `google.golang.org/api/iterator`). 1749 1750- Package preview/logging deleted. Use logging instead. 1751 1752## v0.2.0 1753 1754- Logging client replaced with preview version (see below). 1755 1756- New clients for some of Google's Machine Learning APIs: Vision, Speech, and 1757Natural Language. 1758 1759- Preview version of a new [Stackdriver Logging][cloud-logging] client in 1760[`cloud.google.com/go/preview/logging`](https://godoc.org/cloud.google.com/go/preview/logging). 1761This client uses gRPC as its transport layer, and supports log reading, sinks 1762and metrics. It will replace the current client at `cloud.google.com/go/logging` shortly. 1763