google-cloud-pubsub 1.0.2 → 2.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +16 -54
  3. data/CHANGELOG.md +464 -0
  4. data/CONTRIBUTING.md +328 -116
  5. data/EMULATOR.md +1 -1
  6. data/LOGGING.md +94 -2
  7. data/OVERVIEW.md +121 -68
  8. data/TROUBLESHOOTING.md +2 -8
  9. data/lib/google/cloud/pubsub/acknowledge_result.rb +79 -0
  10. data/lib/google/cloud/pubsub/async_publisher/batch.rb +319 -0
  11. data/lib/google/cloud/pubsub/async_publisher.rb +231 -156
  12. data/lib/google/cloud/pubsub/batch_publisher.rb +60 -30
  13. data/lib/google/cloud/pubsub/convert.rb +33 -7
  14. data/lib/google/cloud/pubsub/credentials.rb +2 -2
  15. data/lib/google/cloud/pubsub/errors.rb +93 -0
  16. data/lib/google/cloud/pubsub/flow_controller.rb +137 -0
  17. data/lib/google/cloud/pubsub/message.rb +45 -4
  18. data/lib/google/cloud/pubsub/policy.rb +3 -2
  19. data/lib/google/cloud/pubsub/project.rb +316 -49
  20. data/lib/google/cloud/pubsub/publish_result.rb +6 -1
  21. data/lib/google/cloud/pubsub/received_message.rb +171 -10
  22. data/lib/google/cloud/pubsub/retry_policy.rb +88 -0
  23. data/lib/google/cloud/pubsub/schema/list.rb +180 -0
  24. data/lib/google/cloud/pubsub/schema.rb +310 -0
  25. data/lib/google/cloud/pubsub/service.rb +285 -269
  26. data/lib/google/cloud/pubsub/snapshot/list.rb +4 -6
  27. data/lib/google/cloud/pubsub/snapshot.rb +5 -2
  28. data/lib/google/cloud/pubsub/subscriber/inventory.rb +69 -32
  29. data/lib/google/cloud/pubsub/subscriber/sequencer.rb +115 -0
  30. data/lib/google/cloud/pubsub/subscriber/stream.rb +108 -49
  31. data/lib/google/cloud/pubsub/subscriber/timed_unary_buffer.rb +191 -30
  32. data/lib/google/cloud/pubsub/subscriber.rb +155 -45
  33. data/lib/google/cloud/pubsub/subscription/list.rb +4 -6
  34. data/lib/google/cloud/pubsub/subscription/push_config.rb +55 -31
  35. data/lib/google/cloud/pubsub/subscription.rb +561 -77
  36. data/lib/google/cloud/pubsub/topic/list.rb +4 -6
  37. data/lib/google/cloud/pubsub/topic.rb +372 -52
  38. data/lib/google/cloud/pubsub/version.rb +1 -1
  39. data/lib/google/cloud/pubsub.rb +35 -46
  40. data/lib/google-cloud-pubsub.rb +21 -27
  41. metadata +26 -189
  42. data/lib/google/cloud/pubsub/v1/credentials.rb +0 -41
  43. data/lib/google/cloud/pubsub/v1/doc/google/iam/v1/iam_policy.rb +0 -21
  44. data/lib/google/cloud/pubsub/v1/doc/google/iam/v1/options.rb +0 -21
  45. data/lib/google/cloud/pubsub/v1/doc/google/iam/v1/policy.rb +0 -21
  46. data/lib/google/cloud/pubsub/v1/doc/google/protobuf/duration.rb +0 -91
  47. data/lib/google/cloud/pubsub/v1/doc/google/protobuf/empty.rb +0 -29
  48. data/lib/google/cloud/pubsub/v1/doc/google/protobuf/field_mask.rb +0 -222
  49. data/lib/google/cloud/pubsub/v1/doc/google/protobuf/timestamp.rb +0 -113
  50. data/lib/google/cloud/pubsub/v1/doc/google/pubsub/v1/pubsub.rb +0 -744
  51. data/lib/google/cloud/pubsub/v1/doc/google/type/expr.rb +0 -19
  52. data/lib/google/cloud/pubsub/v1/publisher_client.rb +0 -786
  53. data/lib/google/cloud/pubsub/v1/publisher_client_config.json +0 -105
  54. data/lib/google/cloud/pubsub/v1/subscriber_client.rb +0 -1385
  55. data/lib/google/cloud/pubsub/v1/subscriber_client_config.json +0 -138
  56. data/lib/google/cloud/pubsub/v1.rb +0 -17
  57. data/lib/google/pubsub/v1/pubsub_pb.rb +0 -249
  58. data/lib/google/pubsub/v1/pubsub_services_pb.rb +0 -211
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8d3c2b3976af69e59bdb1ea9653f42164db682ce28a929b5325d760c46bab4aa
4
- data.tar.gz: 0f922862ba91d39e1ba8f55a66d2a6699392157ed850e129ed127dc9f63ac1d5
3
+ metadata.gz: db206c3eab0b2c876feeb00d0e0d8de12b6c6ac60f55153c61f06973f627ac34
4
+ data.tar.gz: bed374d87a423c101703159453d1ef6724062b2c6bee7ab58276b715b95d094d
5
5
  SHA512:
6
- metadata.gz: d33fdcdb157fa0795e6fc28517ccdd26b8b03b3380dd96bd6f931063eae3ac30a5c4d3b5e9dafd32bbc93ee76e4db3544611c4b1ac9a63ad6068422c9bab466e
7
- data.tar.gz: b8218aceaa79d35777e540a43764e7e49474e5dc393c508384f12e4dff09e7d5e1470a8d5a9f2ed6bf96c17d54c63be8489aefbf32babccfeb57a15035867521
6
+ metadata.gz: 0dbec66b7af6c93d4493ddbfc8b918a661dac41aa5bfb94330169652e2da6e62682c4b22bc969f061e111950babbf7aa786bcf29305aa91f7a85438389adb87d
7
+ data.tar.gz: 0c8b9aba5a2c7ed59ed2cda8696db84e253e074468dc48a337a5992e4a695e3c40c87f023872db49565eaac4cc00fa5b0ec55db90839fd5a877fab8a38f334ce
data/AUTHENTICATION.md CHANGED
@@ -55,32 +55,10 @@ code.
55
55
 
56
56
  ### Google Cloud Platform environments
57
57
 
58
- While running on Google Cloud Platform environments such as Google Compute
59
- Engine, Google App Engine and Google Kubernetes Engine, no extra work is needed.
60
- The **Project ID** and **Credentials** and are discovered automatically. Code
61
- should be written as if already authenticated. Just be sure when you [set up the
62
- GCE instance][gce-how-to], you add the correct scopes for the APIs you want to
63
- access. For example:
64
-
65
- * **All APIs**
66
- * `https://www.googleapis.com/auth/cloud-platform`
67
- * `https://www.googleapis.com/auth/cloud-platform.read-only`
68
- * **BigQuery**
69
- * `https://www.googleapis.com/auth/bigquery`
70
- * `https://www.googleapis.com/auth/bigquery.insertdata`
71
- * **Compute Engine**
72
- * `https://www.googleapis.com/auth/compute`
73
- * **Datastore**
74
- * `https://www.googleapis.com/auth/datastore`
75
- * `https://www.googleapis.com/auth/userinfo.email`
76
- * **DNS**
77
- * `https://www.googleapis.com/auth/ndev.clouddns.readwrite`
78
- * **Pub/Sub**
79
- * `https://www.googleapis.com/auth/pubsub`
80
- * **Storage**
81
- * `https://www.googleapis.com/auth/devstorage.full_control`
82
- * `https://www.googleapis.com/auth/devstorage.read_only`
83
- * `https://www.googleapis.com/auth/devstorage.read_write`
58
+ When running on Google Cloud Platform (GCP), including Google Compute Engine (GCE),
59
+ Google Kubernetes Engine (GKE), Google App Engine (GAE), Google Cloud Functions
60
+ (GCF) and Cloud Run, the **Project ID** and **Credentials** and are discovered
61
+ automatically. Code should be written as if already authenticated.
84
62
 
85
63
  ### Environment Variables
86
64
 
@@ -98,7 +76,8 @@ The environment variables that google-cloud-pubsub checks for project ID are:
98
76
  1. `PUBSUB_PROJECT`
99
77
  2. `GOOGLE_CLOUD_PROJECT`
100
78
 
101
- The environment variables that google-cloud-pubsub checks for credentials are configured on {Google::Cloud::PubSub::V1::Credentials}:
79
+ The environment variables that google-cloud-pubsub checks for credentials
80
+ are configured on {Google::Cloud::PubSub::Credentials}:
102
81
 
103
82
  1. `PUBSUB_CREDENTIALS` - Path to JSON file, or JSON contents
104
83
  2. `PUBSUB_KEYFILE` - Path to JSON file, or JSON contents
@@ -117,7 +96,8 @@ client = Google::Cloud::PubSub.new
117
96
 
118
97
  ### Configuration
119
98
 
120
- The **Project ID** and **Credentials JSON** can be configured instead of placing them in environment variables or providing them as arguments.
99
+ The **Project ID** and the path to the **Credentials JSON** file can be configured
100
+ instead of placing them in environment variables or providing them as arguments.
121
101
 
122
102
  ```ruby
123
103
  require "google/cloud/pubsub"
@@ -145,15 +125,6 @@ To configure your system for this, simply:
145
125
  **NOTE:** This is _not_ recommended for running in production. The Cloud SDK
146
126
  *should* only be used during development.
147
127
 
148
- [gce-how-to]: https://cloud.google.com/compute/docs/authentication#using
149
- [dev-console]: https://console.cloud.google.com/project
150
-
151
- [enable-apis]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/enable-apis.png
152
-
153
- [create-new-service-account]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/create-new-service-account.png
154
- [create-new-service-account-existing-keys]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/create-new-service-account-existing-keys.png
155
- [reuse-service-account]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/reuse-service-account.png
156
-
157
128
  ## Creating a Service Account
158
129
 
159
130
  Google Cloud requires a **Project ID** and **Service Account Credentials** to
@@ -164,31 +135,22 @@ If you are not running this client within [Google Cloud Platform
164
135
  environments](#google-cloud-platform-environments), you need a Google
165
136
  Developers service account.
166
137
 
167
- 1. Visit the [Google Developers Console][dev-console].
138
+ 1. Visit the [Google Cloud Console](https://console.cloud.google.com/project).
168
139
  1. Create a new project or click on an existing project.
169
- 1. Activate the slide-out navigation tray and select **API Manager**. From
140
+ 1. Activate the menu in the upper left and select **APIs & Services**. From
170
141
  here, you will enable the APIs that your application requires.
171
142
 
172
- ![Enable the APIs that your application requires][enable-apis]
173
-
174
143
  *Note: You may need to enable billing in order to use these services.*
175
144
 
176
145
  1. Select **Credentials** from the side navigation.
177
146
 
178
- You should see a screen like one of the following.
179
-
180
- ![Create a new service account][create-new-service-account]
181
-
182
- ![Create a new service account With Existing Keys][create-new-service-account-existing-keys]
183
-
184
- Find the "Add credentials" drop down and select "Service account" to be
185
- guided through downloading a new JSON key file.
186
-
187
- If you want to re-use an existing service account, you can easily generate a
188
- new key file. Just select the account you wish to re-use, and click "Generate
189
- new JSON key":
147
+ Find the "Create credentials" drop down near the top of the page, and select
148
+ "Service account" to be guided through downloading a new JSON key file.
190
149
 
191
- ![Re-use an existing service account][reuse-service-account]
150
+ If you want to re-use an existing service account, you can easily generate
151
+ a new key file. Just select the account you wish to re-use click the pencil
152
+ tool on the right side to edit the service account, select the **Keys** tab,
153
+ and then select **Add Key**.
192
154
 
193
155
  The key file you download will be used by this library to authenticate API
194
156
  requests and should be stored in a secure location.
data/CHANGELOG.md CHANGED
@@ -1,5 +1,469 @@
1
1
  # Release History
2
2
 
3
+ ### 2.19.0 (2024-07-09)
4
+
5
+ #### Features
6
+
7
+ * compatibility with GA releases of underlying versioned clients ([#26361](https://github.com/googleapis/google-cloud-ruby/issues/26361))
8
+
9
+ ### 2.18.1 (2024-06-05)
10
+
11
+ #### Bug Fixes
12
+
13
+ * Added bigdecimal to the gem dependencies ([#26012](https://github.com/googleapis/google-cloud-ruby/issues/26012))
14
+
15
+ ### 2.18.0 (2024-03-26)
16
+
17
+ #### Features
18
+
19
+ * support ingestion_data_source_settings for create_topic ([#25418](https://github.com/googleapis/google-cloud-ruby/issues/25418))
20
+
21
+ ### 2.17.0 (2024-03-07)
22
+
23
+ #### Features
24
+
25
+ * Update minimum supported Ruby version to 2.7 ([#25298](https://github.com/googleapis/google-cloud-ruby/issues/25298))
26
+
27
+ ### 2.16.0 (2024-01-25)
28
+
29
+ #### Features
30
+
31
+ * Support for universe_domain ([#24437](https://github.com/googleapis/google-cloud-ruby/issues/24437))
32
+
33
+ ### 2.15.5 (2023-11-06)
34
+
35
+ #### Bug Fixes
36
+
37
+ * set x-goog-request-params for streaming pull request ([#23508](https://github.com/googleapis/google-cloud-ruby/issues/23508))
38
+
39
+ ### 2.15.4 (2023-05-19)
40
+
41
+ #### Documentation
42
+
43
+ * Fixed broken links in authentication documentation ([#21619](https://github.com/googleapis/google-cloud-ruby/issues/21619))
44
+
45
+ ### 2.15.4 (2023-05-18)
46
+
47
+ #### Documentation
48
+
49
+ * Fixed broken links in authentication documentation ([#21619](https://github.com/googleapis/google-cloud-ruby/issues/21619))
50
+
51
+ ### 2.15.3 (2023-04-19)
52
+
53
+ #### Bug Fixes
54
+
55
+ * wait for successful receipt modack when exactly once delivery enabled ([#21431](https://github.com/googleapis/google-cloud-ruby/issues/21431))
56
+
57
+ ### 2.15.2 (2023-03-19)
58
+
59
+ #### Bug Fixes
60
+
61
+ * make batch handle publish interval ([#20913](https://github.com/googleapis/google-cloud-ruby/issues/20913))
62
+
63
+ ### 2.15.1 (2023-02-23)
64
+
65
+ #### Documentation
66
+
67
+ * Correct default value for streams ([#20485](https://github.com/googleapis/google-cloud-ruby/issues/20485))
68
+
69
+ ### 2.15.0 (2023-01-22)
70
+
71
+ #### Features
72
+
73
+ * support publisher compression ([#19910](https://github.com/googleapis/google-cloud-ruby/issues/19910))
74
+
75
+ ### 2.14.0 (2023-01-12)
76
+
77
+ #### Features
78
+
79
+ * Added support for schema evolution, including managing schema revisions, and schema commit and rollback ([#19981](https://github.com/googleapis/google-cloud-ruby/issues/19981))
80
+
81
+ ### 2.13.0 (2022-10-18)
82
+
83
+ #### Features
84
+
85
+ * Added support for bigquery subscription ([#19221](https://github.com/googleapis/google-cloud-ruby/issues/19221))
86
+
87
+ ### 2.12.1 (2022-08-21)
88
+
89
+ #### Bug Fixes
90
+
91
+ * update non EOS ack to return Success always ([#19023](https://github.com/googleapis/google-cloud-ruby/issues/19023))
92
+
93
+ ### 2.12.0 (2022-08-09)
94
+
95
+ #### Features
96
+
97
+ * bump the minimum required version of pubsub v1 ([#18983](https://github.com/googleapis/google-cloud-ruby/issues/18983))
98
+ #### Bug Fixes
99
+
100
+ * honour async options of topic ([#18953](https://github.com/googleapis/google-cloud-ruby/issues/18953))
101
+
102
+ ### 2.11.0 (2022-08-01)
103
+
104
+ #### Features
105
+
106
+ * create exactly once delivery enabled subscription ([#18824](https://github.com/googleapis/google-cloud-ruby/issues/18824))
107
+ * Let user register callback and get acknowledgement result ([#18702](https://github.com/googleapis/google-cloud-ruby/issues/18702))
108
+ * retry transient failures in ack/modack in timed unary buffer ([#18395](https://github.com/googleapis/google-cloud-ruby/issues/18395))
109
+
110
+ ### 2.10.0 (2022-06-14)
111
+
112
+ #### Features
113
+
114
+ * introduce min_duration_per_lease_extension
115
+
116
+ ### 2.9.2 (2022-04-28)
117
+
118
+ #### Bug Fixes
119
+
120
+ * ignore grpc errors on ack/modack
121
+
122
+ ### 2.9.1 / 2022-01-11
123
+
124
+ #### Documentation
125
+
126
+ * Update contributing docs
127
+ * Add section on gRPC interceptors to the logging docs
128
+
129
+ ### 2.9.0 / 2021-10-28
130
+
131
+ #### Features
132
+
133
+ * Expand timeout type from Integer to Numeric
134
+ * feat: Expand timeout type from Integer to Numeric. This is backwards-compatible.
135
+ * Change timeout from Integer to Numeric in Google::Cloud.pubsub
136
+ * Change timeout from Integer to Numeric in Google::Cloud#pubsub
137
+ * Change timeout from Integer to Numeric in Google::Cloud::PubSub.configure
138
+ * Change timeout from Integer to Numeric in Google::Cloud::PubSub.new
139
+ * fix: Propagate timeout to client RPC configs.
140
+
141
+ #### Documentation
142
+
143
+ * Add documentation for quota_project Configuration attribute
144
+ * Fix documentation for PubSub.configure
145
+ * Remove retries property that does not exist in code.
146
+
147
+ ### 2.8.1 / 2021-09-22
148
+
149
+ #### Bug Fixes
150
+
151
+ * Change IAM and Schema client metadata hash keys to symbols
152
+
153
+ #### Documentation
154
+
155
+ * Fix typo in Emulator guide links
156
+
157
+ ### 2.8.0 / 2021-08-30
158
+
159
+ #### Features
160
+
161
+ * Add Pub/Sub topic retention fields
162
+ * Add retention to Project#create_topic
163
+ * Add Topic#retention
164
+ * Add Topic#retention=
165
+ * Add Subscription#topic_retention
166
+
167
+ ### 2.7.1 / 2021-07-08
168
+
169
+ #### Documentation
170
+
171
+ * Update AUTHENTICATION.md in handwritten packages
172
+
173
+ ### 2.7.0 / 2021-06-15
174
+
175
+ #### Features
176
+
177
+ * Add Publisher Flow Control
178
+ * Add flow_control to async options in Project#create_topic and Project#topic
179
+ * Add FlowControlLimitError
180
+
181
+ #### Bug Fixes
182
+
183
+ * Fix Project#schema and #schemas to return full resource
184
+ * Include schema definition in default return values.
185
+ * Fix Schema#definition to return nil instead of empty string when not present.
186
+
187
+ ### 2.6.1 / 2021-04-28
188
+
189
+ #### Bug Fixes
190
+
191
+ * Add final flush of pending requests to Subscriber#wait!
192
+ * fix(pubsub): Add final flush of pending requests to Subscriber#wait!
193
+
194
+ ### 2.6.0 / 2021-04-19
195
+
196
+ #### Features
197
+
198
+ * Add ordering_key to Topic#publish
199
+ * Add ordering_key to BatchPublisher#publish
200
+
201
+ #### Documentation
202
+
203
+ * The immediate: false option is recommended to avoid adverse impacts on the performance of pull operations ([#11153](https://www.github.com/googleapis/google-cloud-ruby/issues/11153))
204
+ * Update Subscription#pull docs and samples to recommend immediate: false
205
+
206
+ ### 2.5.0 / 2021-04-01
207
+
208
+ #### Features
209
+
210
+ * Add Schema support
211
+ * Add Schema
212
+ * Add Project#create_schema
213
+ * Add Project#schema
214
+ * Add Project#schemas (Schema::List)
215
+ * Add Project#valid_schema?
216
+ * Add schema options to Project#create_topic
217
+ * Add Topic#schema_name
218
+ * Add Topic#message_encoding
219
+ * Add Topic#message_encoding_binary?
220
+ * Add Topic#message_encoding_json?
221
+
222
+ ### 2.4.0 / 2021-03-10
223
+
224
+ #### Features
225
+
226
+ * Drop support for Ruby 2.4 and add support for Ruby 3.0
227
+
228
+ ### 2.3.2 / 2021-02-08
229
+
230
+ #### Bug Fixes
231
+
232
+ * Fix project option in Project#topic and Project#subscription
233
+ * Ensure that project option is used when skip_lookup is false.
234
+ * Improve documentation of topic_name, subscription_name and snapshot_name.
235
+
236
+ ### 2.3.1 / 2021-01-13
237
+
238
+ #### Bug Fixes
239
+
240
+ * Update Subscription#retry_policy=
241
+ * Remove conditional RPC to fetch full resource before update.
242
+
243
+ ### 2.3.0 / 2020-11-18
244
+
245
+ #### Features
246
+
247
+ * Add inventory.use_legacy_flow_control to listen options
248
+ * Add inventory.use_legacy_flow_control to Subscription#listen options
249
+ * Add Subscriber#use_legacy_flow_control?
250
+
251
+ #### Documentation
252
+
253
+ * Remove EXPERIMENTAL label from RetryPolicy docs
254
+
255
+ ### 2.2.0 / 2020-11-11
256
+
257
+ #### Features
258
+
259
+ * Add Subscription#remove_dead_letter_policy
260
+
261
+ ### 2.1.1 / 2020-10-26
262
+
263
+ #### Documentation
264
+
265
+ * Update deprecated attribute name limit to max_outstanding_messages
266
+
267
+ ### 2.1.0 / 2020-09-17
268
+
269
+ #### Features
270
+
271
+ * quota_project can be set via library configuration ([#7630](https://www.github.com/googleapis/google-cloud-ruby/issues/7630))
272
+ * Add push_config (PushConfig) param to Topic#subscribe
273
+ * Make PushConfig constructor public.
274
+
275
+ #### Documentation
276
+
277
+ * Update sample code for on_error, at_exit, and concurrency tuning
278
+
279
+ ### 2.0.0 / 2020-08-06
280
+
281
+ This is a major update that removes the "low-level" client interface code, and
282
+ instead adds the new `google-cloud-pubsub-v1` gem as a dependency.
283
+ The new dependency is a rewritten low-level client, produced by a next-
284
+ generation client code generator, with improved performance and stability.
285
+
286
+ This change should have no effect on the high-level interface that most users
287
+ will use. The one exception is that the (mostly undocumented) `client_config`
288
+ argument, for adjusting low-level parameters such as RPC retry settings on
289
+ client objects, has been removed. If you need to adjust these parameters, use
290
+ the configuration interface in `google-cloud-pubsub-v1`.
291
+
292
+ Substantial changes have been made in the low-level interfaces, however. If you
293
+ are using the low-level classes under the `Google::Cloud::PubSub::V1` module,
294
+ please review the docs for the new `google-cloud-pubsub-v1` gem. In
295
+ particular:
296
+
297
+ * Some classes have been renamed, notably the client classes themselves.
298
+ * The client constructor takes a configuration block instead of configuration
299
+ keyword arguments.
300
+ * All RPC method arguments are now keyword arguments.
301
+
302
+ ### 1.10.0 / 2020-07-23
303
+
304
+ #### Features
305
+
306
+ * Add Subscription#detach and #detached?
307
+
308
+ ### 1.9.0 / 2020-07-21
309
+
310
+ #### Features
311
+
312
+ * Add support for server-side flow control
313
+
314
+ ### 1.8.0 / 2020-06-29
315
+
316
+ #### Features
317
+
318
+ * Add Subscription#filter
319
+
320
+ ### 1.7.1 / 2020-05-28
321
+
322
+ #### Documentation
323
+
324
+ * Fix a few broken links
325
+
326
+ ### 1.7.0 / 2020-05-21
327
+
328
+ #### Features
329
+
330
+ * Add Retry Policy support
331
+ * Add RetryPolicy
332
+ * Add retry_policy param to Topic#subscribe
333
+ * Add Subscription#retry_policy
334
+ * Add Subscription#retry_policy=
335
+ * Set client-scoped UUID in initial StreamingPullRequest#client_id
336
+
337
+ ### 1.6.1 / 2020-05-06
338
+
339
+ #### Documentation
340
+
341
+ * Fix example in Emulator documentation
342
+ * Remove experimental notice from ReceivedMessage#delivery_attempt
343
+ * Wrap example URLs in backticks
344
+
345
+ ### 1.6.0 / 2020-04-06
346
+
347
+ #### Features
348
+
349
+ * Add list_topic_snapshots and get_snapshot
350
+ * Add PublisherClient#list_topic_snapshots
351
+ * Add SubscriberClient#get_snapshot
352
+
353
+ #### Documentation
354
+
355
+ * Remove a spurious link in the low-level interface documentation.
356
+
357
+ ### 1.5.0 / 2020-03-25
358
+
359
+ #### Features
360
+
361
+ * Add max_duration_per_lease_extension to Subscription#listen and Subscriber
362
+
363
+ ### 1.4.0 / 2020-03-11
364
+
365
+ #### Features
366
+
367
+ * Rename Subscriber inventory methods and params
368
+ * Rename Subscriber#inventory_limit to #max_outstanding_messages
369
+ * Rename Subscriber#bytesize to #max_outstanding_bytes
370
+ * Rename Subscriber#extension to #max_total_lease_duration
371
+ * Add deprecated aliases for the original methods
372
+ * Support separate project setting for quota/billing
373
+
374
+ #### Documentation
375
+
376
+ * Update documentation in the lower-level client
377
+
378
+ ### 1.3.1 / 2020-02-18
379
+
380
+ #### Bug Fixes
381
+
382
+ * Move Thread.new to end of AsyncPublisher#initialize
383
+
384
+ ### 1.3.0 / 2020-02-10
385
+
386
+ #### Features
387
+
388
+ * Add support for Dead Letter Topics
389
+ * Add `dead_letter_topic` and `dead_letter_max_delivery_attempts` to `Topic#subscribe`
390
+ * Add `Subscription#dead_letter_topic` and `Subscription#dead_letter_topic=`
391
+ * Add `Subscription#dead_letter_max_delivery_attempts` and `Subscription#dead_letter_max_delivery_attempts=`
392
+ * Add `ReceivedMessage#delivery_attempt`
393
+
394
+ ### 1.2.2 / 2020-02-04
395
+
396
+ #### Performance Improvements
397
+
398
+ * Add StreamingPullRequest#client_id to the lower-level API
399
+
400
+ ### 1.2.1 / 2020-01-23
401
+
402
+ #### Documentation
403
+
404
+ * Update copyright year
405
+
406
+ ### 1.2.0 / 2020-01-09
407
+
408
+ #### Features
409
+
410
+ * Add Subscriber inventory settings
411
+ * Add the following settings to Subscriber:
412
+ * Subscriber#inventory_limit
413
+ * Subscriber#inventory_bytesize
414
+ * Subscriber#extension
415
+ * Allow Subscription#listen inventory argument to be a hash.
416
+ * Update AsyncPublisher configuration defaults
417
+ * Update AsyncPublisher defaults to the following:
418
+ * max_bytes to 1MB, was 10MB.
419
+ * max_messages to 100, was 1,000.
420
+ * interval to 10 milliseconds, was 250 milliseconds.
421
+ * publish thread count to 2, was 4
422
+ * callback thread count to 4, was 8.
423
+
424
+ ### 1.1.3 / 2019-12-18
425
+
426
+ #### Bug Fixes
427
+
428
+ * Fix MonitorMixin usage on Ruby 2.7
429
+ * Ruby 2.7 will error if new_cond is called before super().
430
+ * Make the call to super() be the first call in initialize
431
+
432
+ ### 1.1.2 / 2019-11-19
433
+
434
+ #### Performance Improvements
435
+
436
+ * Update network configuration
437
+
438
+ ### 1.1.1 / 2019-11-06
439
+
440
+ #### Bug Fixes
441
+
442
+ * Update minimum runtime dependencies
443
+
444
+ #### Documentation
445
+
446
+ * Update the list of GCP environments for automatic authentication
447
+
448
+ ### 1.1.0 / 2019-10-23
449
+
450
+ #### Features
451
+
452
+ * Add support for Ordering Keys
453
+ * Google Cloud Pub/Sub ordering keys provide the ability to ensure related
454
+ messages are sent to subscribers in the order in which they were published.
455
+ The service guarantees that, for a given ordering key and publisher, messages
456
+ are sent to subscribers in the order in which they were published.
457
+ * Note: At the time of this release, ordering keys are not yet publicly enabled
458
+ and requires special project enablements.
459
+ * Add Google::Cloud::PubSub::Topic#enable_message_ordering! method.
460
+ * Add Google::Cloud::PubSub::Topic#message_ordering? method.
461
+ * Add ordering_key argument to Google::Cloud::PubSub::Topic#publish_async method.
462
+ * Add Google::Cloud::PubSub::Topic#resume_publish method.
463
+ * Add message_ordering argument to Google::Cloud::PubSub::Topic#subscribe method.
464
+ * Add Google::Cloud::PubSub::Subscription#message_ordering? method.
465
+ * Update Ruby dependency to minimum of 2.4.
466
+
3
467
  ### 1.0.2 / 2019-10-10
4
468
 
5
469
  #### Bug Fixes