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.
- checksums.yaml +4 -4
- data/AUTHENTICATION.md +16 -54
- data/CHANGELOG.md +464 -0
- data/CONTRIBUTING.md +328 -116
- data/EMULATOR.md +1 -1
- data/LOGGING.md +94 -2
- data/OVERVIEW.md +121 -68
- data/TROUBLESHOOTING.md +2 -8
- data/lib/google/cloud/pubsub/acknowledge_result.rb +79 -0
- data/lib/google/cloud/pubsub/async_publisher/batch.rb +319 -0
- data/lib/google/cloud/pubsub/async_publisher.rb +231 -156
- data/lib/google/cloud/pubsub/batch_publisher.rb +60 -30
- data/lib/google/cloud/pubsub/convert.rb +33 -7
- data/lib/google/cloud/pubsub/credentials.rb +2 -2
- data/lib/google/cloud/pubsub/errors.rb +93 -0
- data/lib/google/cloud/pubsub/flow_controller.rb +137 -0
- data/lib/google/cloud/pubsub/message.rb +45 -4
- data/lib/google/cloud/pubsub/policy.rb +3 -2
- data/lib/google/cloud/pubsub/project.rb +316 -49
- data/lib/google/cloud/pubsub/publish_result.rb +6 -1
- data/lib/google/cloud/pubsub/received_message.rb +171 -10
- data/lib/google/cloud/pubsub/retry_policy.rb +88 -0
- data/lib/google/cloud/pubsub/schema/list.rb +180 -0
- data/lib/google/cloud/pubsub/schema.rb +310 -0
- data/lib/google/cloud/pubsub/service.rb +285 -269
- data/lib/google/cloud/pubsub/snapshot/list.rb +4 -6
- data/lib/google/cloud/pubsub/snapshot.rb +5 -2
- data/lib/google/cloud/pubsub/subscriber/inventory.rb +69 -32
- data/lib/google/cloud/pubsub/subscriber/sequencer.rb +115 -0
- data/lib/google/cloud/pubsub/subscriber/stream.rb +108 -49
- data/lib/google/cloud/pubsub/subscriber/timed_unary_buffer.rb +191 -30
- data/lib/google/cloud/pubsub/subscriber.rb +155 -45
- data/lib/google/cloud/pubsub/subscription/list.rb +4 -6
- data/lib/google/cloud/pubsub/subscription/push_config.rb +55 -31
- data/lib/google/cloud/pubsub/subscription.rb +561 -77
- data/lib/google/cloud/pubsub/topic/list.rb +4 -6
- data/lib/google/cloud/pubsub/topic.rb +372 -52
- data/lib/google/cloud/pubsub/version.rb +1 -1
- data/lib/google/cloud/pubsub.rb +35 -46
- data/lib/google-cloud-pubsub.rb +21 -27
- metadata +26 -189
- data/lib/google/cloud/pubsub/v1/credentials.rb +0 -41
- data/lib/google/cloud/pubsub/v1/doc/google/iam/v1/iam_policy.rb +0 -21
- data/lib/google/cloud/pubsub/v1/doc/google/iam/v1/options.rb +0 -21
- data/lib/google/cloud/pubsub/v1/doc/google/iam/v1/policy.rb +0 -21
- data/lib/google/cloud/pubsub/v1/doc/google/protobuf/duration.rb +0 -91
- data/lib/google/cloud/pubsub/v1/doc/google/protobuf/empty.rb +0 -29
- data/lib/google/cloud/pubsub/v1/doc/google/protobuf/field_mask.rb +0 -222
- data/lib/google/cloud/pubsub/v1/doc/google/protobuf/timestamp.rb +0 -113
- data/lib/google/cloud/pubsub/v1/doc/google/pubsub/v1/pubsub.rb +0 -744
- data/lib/google/cloud/pubsub/v1/doc/google/type/expr.rb +0 -19
- data/lib/google/cloud/pubsub/v1/publisher_client.rb +0 -786
- data/lib/google/cloud/pubsub/v1/publisher_client_config.json +0 -105
- data/lib/google/cloud/pubsub/v1/subscriber_client.rb +0 -1385
- data/lib/google/cloud/pubsub/v1/subscriber_client_config.json +0 -138
- data/lib/google/cloud/pubsub/v1.rb +0 -17
- data/lib/google/pubsub/v1/pubsub_pb.rb +0 -249
- 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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: db206c3eab0b2c876feeb00d0e0d8de12b6c6ac60f55153c61f06973f627ac34
|
4
|
+
data.tar.gz: bed374d87a423c101703159453d1ef6724062b2c6bee7ab58276b715b95d094d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
59
|
-
|
60
|
-
|
61
|
-
should be written as if already authenticated.
|
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
|
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
|
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
|
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
|
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
|
-
|
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
|
-
|
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
|