google-cloud-pubsub 1.0.2 → 2.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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