stripe 9.0.0 → 9.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -1,1233 +1,1240 @@
1
1
  # Changelog
2
-
3
- ## 9.0.0 - 2023-08-16
4
- **⚠️ ACTION REQUIRED: the breaking change in this release likely affects you ⚠️**
5
-
6
- * [#1253](https://github.com/stripe/stripe-ruby/pull/1253) [#1260](https://github.com/stripe/stripe-ruby/pull/1260) Pin latest API version as the default
7
- In this release, Stripe API Version `2023-08-16` (the latest at time of release) will be sent by default on all requests. This is a significant change with wide ramifications. The API version affects the properties you see on responses, the parameters you are allowed to send on requests, and so on. The previous default was to use your [Stripe account's default API version](https://stripe.com/docs/development/dashboard/request-logs#view-your-default-api-version).
8
-
9
- To successfully upgrade to stripe-ruby v9, you must either
10
-
11
- 1. **(Recommended) Upgrade your integration to be compatible with API Version `2023-08-16`.**
12
-
13
- Please read the API Changelog carefully for each API Version from `2023-08-16` back to your [Stripe account's default API version](https://stripe.com/docs/development/dashboard/request-logs#view-your-default-api-version). Determine if you are using any of the APIs that have changed in a breaking way, and adjust your integration accordingly. Carefully test your changes with Stripe [Test Mode](https://stripe.com/docs/keys#test-live-modes) before deploying them to production.
14
-
15
- You can read the [v9 migration guide](https://github.com/stripe/stripe-ruby/wiki/Migration-guide-for-v9) for more detailed instructions.
16
- 2. **(Alternative option) Specify a version other than `2023-08-16` when initializing `stripe-ruby`.**
17
-
18
- If you were previously initializing stripe-ruby without an explicit API Version, you can postpone modifying your integration by specifying a version equal to your [Stripe account's default API version](https://stripe.com/docs/development/dashboard/request-logs#view-your-default-api-version). For example:
19
-
20
- ```diff
21
- require 'stripe'
22
- Stripe.api_key = "sk_test_..."
23
- + Stripe.api_version = '2020-08-27'
24
- ```
25
-
26
- If you were already initializing stripe-ruby with an explicit API Version, upgrading to v9 will not affect your integration.
27
-
28
- Read the [v9 migration guide](https://github.com/stripe-ruby/wiki/Migration-guide-for-v9) for more details.
29
-
30
- Going forward, each major release of this library will be *pinned* by default to the latest Stripe API Version at the time of release.
31
-
32
- That is, instead of upgrading stripe-ruby and separately upgrading your Stripe API Version through the Stripe Dashboard. whenever you upgrade major versions of stripe-ruby, you should also upgrade your integration to be compatible with the latest Stripe API version.
33
-
34
- ## 8.7.0 - 2023-08-10
35
- * [#1256](https://github.com/stripe/stripe-ruby/pull/1256) Update generated code
2
+ ## 9.1.0 - 2023-08-31
3
+ * [#1266](https://github.com/stripe/stripe-ruby/pull/1266) Update generated code
4
+ * Add support for new resource `AccountSession`
5
+ * Add support for `create` method on resource `AccountSession`
6
+ * [#1262](https://github.com/stripe/stripe-ruby/pull/1262) Explicitly format timestamp in SignatureVerificationError message
7
+
8
+
9
+ ## 9.0.0 - 2023-08-16
10
+ **⚠️ ACTION REQUIRED: the breaking change in this release likely affects you ⚠️**
11
+
12
+ * [#1253](https://github.com/stripe/stripe-ruby/pull/1253) [#1260](https://github.com/stripe/stripe-ruby/pull/1260) Pin latest API version as the default
13
+
14
+ In this release, Stripe API Version `2023-08-16` (the latest at time of release) will be sent by default on all requests. This is a significant change with wide ramifications. The API version affects the properties you see on responses, the parameters you are allowed to send on requests, and so on. The previous default was to use your [Stripe account's default API version](https://stripe.com/docs/development/dashboard/request-logs#view-your-default-api-version).
15
+
16
+ To successfully upgrade to stripe-ruby v9, you must either
17
+
18
+ 1. **(Recommended) Upgrade your integration to be compatible with API Version `2023-08-16`.**
19
+
20
+ Please read the API Changelog carefully for each API Version from `2023-08-16` back to your [Stripe account's default API version](https://stripe.com/docs/development/dashboard/request-logs#view-your-default-api-version). Determine if you are using any of the APIs that have changed in a breaking way, and adjust your integration accordingly. Carefully test your changes with Stripe [Test Mode](https://stripe.com/docs/keys#test-live-modes) before deploying them to production.
21
+
22
+ You can read the [v9 migration guide](https://github.com/stripe/stripe-ruby/wiki/Migration-guide-for-v9) for more detailed instructions.
23
+ 2. **(Alternative option) Specify a version other than `2023-08-16` when initializing `stripe-ruby`.**
24
+
25
+ If you were previously initializing stripe-ruby without an explicit API Version, you can postpone modifying your integration by specifying a version equal to your [Stripe account's default API version](https://stripe.com/docs/development/dashboard/request-logs#view-your-default-api-version). For example:
26
+
27
+ ```diff
28
+ require 'stripe'
29
+ Stripe.api_key = "sk_test_..."
30
+ + Stripe.api_version = '2020-08-27'
31
+ ```
32
+
33
+ If you were already initializing stripe-ruby with an explicit API Version, upgrading to v9 will not affect your integration.
34
+
35
+ Read the [v9 migration guide](https://github.com/stripe/stripe-ruby/wiki/Migration-guide-for-v9) for more details.
36
+
37
+ Going forward, each major release of this library will be *pinned* by default to the latest Stripe API Version at the time of release.
38
+
39
+ That is, instead of upgrading stripe-ruby and separately upgrading your Stripe API Version through the Stripe Dashboard. whenever you upgrade major versions of stripe-ruby, you should also upgrade your integration to be compatible with the latest Stripe API version.
40
+
41
+ ## 8.7.0 - 2023-08-10
42
+ * [#1256](https://github.com/stripe/stripe-ruby/pull/1256) Update generated code
36
43
  Add resources `Tax::CalculationLineItem`, `Tax::TransactionLineItem`, and `Treasury::FinancialAccountFeatures`. These resources have no methods on them, but do represent the return type of methods elsewhere.
37
-
38
- ## 8.6.0 - 2023-07-13
39
- * [#1244](https://github.com/stripe/stripe-ruby/pull/1244) Update generated code
40
- * Add support for new resource `Tax.Settings`
41
- * Add support for `retrieve` and `update` methods on resource `Settings`
42
- * [#1241](https://github.com/stripe/stripe-ruby/pull/1241) Update generated code
43
-
44
- * [#1209](https://github.com/stripe/stripe-ruby/pull/1209) Update shoulda-context version
45
- * [#1235](https://github.com/stripe/stripe-ruby/pull/1235) Allow "error" string as log level
46
- * [#1238](https://github.com/stripe/stripe-ruby/pull/1238) Update log level error message to include `error`
47
- * [#1231](https://github.com/stripe/stripe-ruby/pull/1231) fix: variable typo in README for instrumentation
48
- * [#1234](https://github.com/stripe/stripe-ruby/pull/1234) Update generated code
49
-
50
- * [#1230](https://github.com/stripe/stripe-ruby/pull/1230) Update generated code
51
- * Release specs are identical.
52
- * [#1226](https://github.com/stripe/stripe-ruby/pull/1226) Update generated code
53
-
54
- * [#1223](https://github.com/stripe/stripe-ruby/pull/1223) Update generated code
55
-
56
- * [#1225](https://github.com/stripe/stripe-ruby/pull/1225) Downgrade jaro_winkler
57
- * [#1219](https://github.com/stripe/stripe-ruby/pull/1219) Update generated code
44
+
45
+ ## 8.6.0 - 2023-07-13
46
+ * [#1244](https://github.com/stripe/stripe-ruby/pull/1244) Update generated code
47
+ * Add support for new resource `Tax.Settings`
48
+ * Add support for `retrieve` and `update` methods on resource `Settings`
49
+ * [#1241](https://github.com/stripe/stripe-ruby/pull/1241) Update generated code
50
+
51
+ * [#1209](https://github.com/stripe/stripe-ruby/pull/1209) Update shoulda-context version
52
+ * [#1235](https://github.com/stripe/stripe-ruby/pull/1235) Allow "error" string as log level
53
+ * [#1238](https://github.com/stripe/stripe-ruby/pull/1238) Update log level error message to include `error`
54
+ * [#1231](https://github.com/stripe/stripe-ruby/pull/1231) fix: variable typo in README for instrumentation
55
+ * [#1234](https://github.com/stripe/stripe-ruby/pull/1234) Update generated code
56
+
57
+ * [#1230](https://github.com/stripe/stripe-ruby/pull/1230) Update generated code
58
+ * Release specs are identical.
59
+ * [#1226](https://github.com/stripe/stripe-ruby/pull/1226) Update generated code
60
+
61
+ * [#1223](https://github.com/stripe/stripe-ruby/pull/1223) Update generated code
62
+
63
+ * [#1225](https://github.com/stripe/stripe-ruby/pull/1225) Downgrade jaro_winkler
64
+ * [#1219](https://github.com/stripe/stripe-ruby/pull/1219) Update generated code
58
65
 
59
- Documentation updates.
60
- * [#1215](https://github.com/stripe/stripe-ruby/pull/1215) Update generated code
61
-
62
- * [#1208](https://github.com/stripe/stripe-ruby/pull/1208) Update generated code
63
-
64
- * [#1204](https://github.com/stripe/stripe-ruby/pull/1204) Update generated code
65
-
66
-
67
- ## 8.5.0 - 2023-03-30
68
- * [#1203](https://github.com/stripe/stripe-ruby/pull/1203) Update generated code
66
+ Documentation updates.
67
+ * [#1215](https://github.com/stripe/stripe-ruby/pull/1215) Update generated code
68
+
69
+ * [#1208](https://github.com/stripe/stripe-ruby/pull/1208) Update generated code
70
+
71
+ * [#1204](https://github.com/stripe/stripe-ruby/pull/1204) Update generated code
72
+
73
+
74
+ ## 8.5.0 - 2023-03-30
75
+ * [#1203](https://github.com/stripe/stripe-ruby/pull/1203) Update generated code
69
76
  * Remove support for `create` method on resource `Tax.Transaction`
70
- * This is not a breaking change, as this method was deprecated before the Tax Transactions API was released in favor of the `create_from_calculation` method.
71
- * [#1201](https://github.com/stripe/stripe-ruby/pull/1201) Update save deprecation message
72
-
73
- ## 8.4.0 - 2023-03-23
74
- * [#1197](https://github.com/stripe/stripe-ruby/pull/1197) Update generated code (new)
75
- * Add support for new resources `Tax.CalculationLineItem`, `Tax.Calculation`, `Tax.TransactionLineItem`, and `Tax.Transaction`
76
- * Add support for `create` and `list_line_items` methods on resource `Calculation`
77
- * Add support for `create_from_calculation`, `create_reversal`, `create`, `list_line_items`, and `retrieve` methods on resource `Transaction`
78
- * [#1152](https://github.com/stripe/stripe-ruby/pull/1152) Symbolize hash keys inside `convert_to_stripe_object_with_params`
79
-
80
- ## 8.3.0 - 2023-02-16
81
- * [#1175](https://github.com/stripe/stripe-ruby/pull/1175) API Updates
82
- * Add support for `refund_payment` method on resource `Terminal.Reader`
83
-
84
- ## 8.2.0 - 2023-02-02
85
- * [#1173](https://github.com/stripe/stripe-ruby/pull/1173) API Updates
86
- * Add support for `resume` method on resource `Subscription`
87
- * [#1171](https://github.com/stripe/stripe-ruby/pull/1171) Remove unused `partial` param from `initialize_from`
88
-
89
- ## 8.1.0 - 2023-01-12
90
- * [#1162](https://github.com/stripe/stripe-ruby/pull/1162) Improve request events instrumentation
91
-
92
- ## 8.0.0 - 2022-11-16
93
- * [#1144](https://github.com/stripe/stripe-ruby/pull/1144) Next major release changes
94
-
95
- Breaking changes that arose during code generation of the library that we postponed for the next major version. For changes to the Stripe products, read more at https://stripe.com/docs/upgrades#2022-11-15.
96
-
97
- "⚠️" symbol highlights breaking changes.
98
-
99
- ### Deprecated
100
- - The `save` method is deprecated. Prefer the static `update` method that doesn't require retrieval of the resource to update it.
101
- ``` ruby
102
- # before
103
- refund = Stripe::Refund.retrieve("re_123")
104
- refund.description = "Refund description"
105
- refund.save
106
-
107
- # after
108
- Stripe::Refund.update("re_123", description: "Refund description")
109
- ```
110
-
111
- ### ⚠️ Removed
112
- - Removed deprecated `Sku` resource.
113
- - Removed deprecated `Orders` resource.
114
- - Removed deprecated `delete` method on `Subscription` resource. Please use `cancel` method instead.
115
- ```ruby
116
- # before
117
- Stripe::Subscription::delete("sub_12345")
118
-
119
- # after
120
- Stripe::Subscription::cancel("sub_12345")
121
- ```
122
-
123
-
124
- ## 7.1.0 - 2022-08-19
125
- * [#1116](https://github.com/stripe/stripe-ruby/pull/1116) API Updates
126
- * Add support for new resource `CustomerCashBalanceTransaction`
127
- * [#1118](https://github.com/stripe/stripe-ruby/pull/1118) Update AllowedChars in rubocop config
128
- * [#1117](https://github.com/stripe/stripe-ruby/pull/1117) Refresh rubocop config.
129
- * [#1115](https://github.com/stripe/stripe-ruby/pull/1115) Add a support section to the readme
130
-
131
- ## 7.0.0 - 2022-08-02
132
-
133
- Breaking changes that arose during code generation of the library that we postponed for the next major version. For changes to the SDK, read more detailed description at https://github.com/stripe/stripe-ruby/wiki/Migration-guide-for-v7. For changes to the Stripe products, read more at https://stripe.com/docs/upgrades#2022-08-01.
134
-
135
- "⚠️" symbol highlights breaking changes.
136
-
137
- * [#1106](https://github.com/stripe/stripe-ruby/pull/1106) API Updates
138
- * [#1092](https://github.com/stripe/stripe-ruby/pull/1092) API Updates
139
- * [#1090](https://github.com/stripe/stripe-ruby/pull/1090) Use auto-generation for `Invoice` methods
140
- * [#1103](https://github.com/stripe/stripe-ruby/pull/1103) Next major release changes
141
-
142
- ### ⚠️ Changed
143
- * `retrieve_cash_balance` and `update_cash_balance` methods on `Customer` resource no longer requires the second argument to always be `nil`. The methods now now take in `customer_id`, `params`, and `opts` parameters.
144
- * Update default bundle of CA certificates to April 26, 2022.
145
-
146
- ### Deprecated
147
- * Deprecate `delete` method on `Subscription` resource. Please use `cancel` method instead.
148
-
149
- ### ⚠️ Removed
150
- * Remove `details` method from `Issuing.Card` resource. The method was not supported.
151
- * Remove `Issuing.CardDetails` resource. Read more at https://stripe.com/docs/issuing/cards/virtual.
152
- * Remove `create` method from `ReportType` resource. The method was not supported.
153
- * Remove `usage_record_summaries` method from `SubscriptionItem` resource. Please use `list_usage_record_summaries` method instead.
154
- * Remove `AlipayAccount`, `BitcoinReceiver`, `BitcoinTransaction`, `Issuing::CardDetails`, `Recipient`, ` RecipientTransfer`, and `ThreeDSecure` resources. The resources were deprecated or no longer in use.
155
- * Remove ability to list `Card` resource for a `Recipient`.
156
- * Remove `cancel` method from `Transfer` resource. The method was deprecated.
157
-
158
- ## 6.5.0 - 2022-06-29
159
- * [#1084](https://github.com/stripe/stripe-ruby/pull/1084) API Updates
160
- * Add support for `deliver_card`, `fail_card`, `return_card`, and `ship_card` test helper methods on resource `Issuing.Card`
161
- * [#1076](https://github.com/stripe/stripe-ruby/pull/1076) fix: Update logging to coerce ASCII-8BIT into UTF-8.
162
-
163
- ## 6.4.0 - 2022-06-17
164
- * [#1073](https://github.com/stripe/stripe-ruby/pull/1073) API Updates
165
- * Add support for `fund_cash_balance` test helper method on resource `Customer`
166
- * [#1074](https://github.com/stripe/stripe-ruby/pull/1074) Support updating pre-release versions
167
- * [#1072](https://github.com/stripe/stripe-ruby/pull/1072) Trigger workflows on beta branches
168
- * [#1071](https://github.com/stripe/stripe-ruby/pull/1071) Use request_stripe_object for all requests
169
- * [#1070](https://github.com/stripe/stripe-ruby/pull/1070) API Updates
170
-
171
- Switch from using meta-programing to generating explicit methods for custom methods.
172
- * [#1069](https://github.com/stripe/stripe-ruby/pull/1069) chore: Stop special implementation of Account.persons method.
173
-
174
- ## 6.3.0 - 2022-06-08
175
- * [#1063](https://github.com/stripe/stripe-ruby/pull/1063) fix: Update cash balance methods to no longer require nested ID.
176
-
177
- ## 6.2.0 - 2022-05-23
178
- * [#1060](https://github.com/stripe/stripe-ruby/pull/1060) API Updates
179
- * Add support for new resource `Apps.Secret`
180
-
181
- ## 6.1.0 - 2022-05-19
182
- * [#1057](https://github.com/stripe/stripe-ruby/pull/1057) API Updates
183
- * Add support for new resources `Treasury.CreditReversal`, `Treasury.DebitReversal`, `Treasury.FinancialAccountFeatures`, `Treasury.FinancialAccount`, `Treasury.FlowDetails`, `Treasury.InboundTransfer`, `Treasury.OutboundPayment`, `Treasury.OutboundTransfer`, `Treasury.ReceivedCredit`, `Treasury.ReceivedDebit`, `Treasury.TransactionEntry`, and `Treasury.Transaction`
184
- * Add support for `retrieve_payment_method` method on resource `Customer`
185
- * Add support for `list_owners` and `list` methods on resource `FinancialConnections.Account`
186
-
187
-
188
-
189
- ## 6.0.0 - 2022-05-09
190
- * [#1056](https://github.com/stripe/stripe-ruby/pull/1056) API Updates
191
- Major version release. The [migration guide](https://github.com/stripe/stripe-ruby/wiki/Migration-Guide-for-v6) contains more information.
192
-
193
- (⚠️ = breaking changes):
194
- * ⚠️ Replace the legacy `Order` API with the new `Order` API.
195
- * New methods: `cancel`, `list_line_items`, `reopen`, and `submit`
196
- * Removed methods: `pay` and `return_order`
197
- * Removed resources: `OrderItem` and `OrderReturn`
198
- * ⚠️ Rename `FinancialConnections::Account.refresh` to `FinancialConnections::Account.refresh_account
199
-
200
- ## 5.55.0 - 2022-05-05
201
- * [#1055](https://github.com/stripe/stripe-ruby/pull/1055) API Updates
202
- * Add support for new resources `FinancialConnections.AccountOwner`, `FinancialConnections.AccountOwnership`, `FinancialConnections.Account`, and `FinancialConnections.Session`
203
-
204
-
205
- ## 5.54.0 - 2022-05-03
206
- * [#1053](https://github.com/stripe/stripe-ruby/pull/1053) API Updates
207
- * Add support for new resource `CashBalance`
208
-
209
- ## 5.53.0 - 2022-04-21
210
- * [#1050](https://github.com/stripe/stripe-ruby/pull/1050) API Updates
211
- * Add support for `expire` test helper method on resource `Refund`
212
-
213
- ## 5.52.0 - 2022-04-18
214
- * [#1046](https://github.com/stripe/stripe-ruby/pull/1046) [#1047](https://github.com/stripe/stripe-ruby/pull/1047) API Updates
215
- * Add support for new resources `FundingInstructions` and `Terminal.Configuration`
216
-
217
- ## 5.51.0 - 2022-04-15
218
- * [#1046](https://github.com/stripe/stripe-ruby/pull/1046) This release was incomplete and was yanked from RubyGems immediately after it was published.
219
-
220
- ## 5.50.0 - 2022-04-13
221
- * [#1045](https://github.com/stripe/stripe-ruby/pull/1045) API Updates
222
- * Add support for `increment_authorization` method on resource `PaymentIntent`
223
-
224
- ## 5.49.0 - 2022-04-08
225
- * [#1043](https://github.com/stripe/stripe-ruby/pull/1043) API Updates
226
- * Add support for `apply_customer_balance` method on resource `PaymentIntent`
227
-
228
- ## 5.48.0 - 2022-03-30
229
- * [#1041](https://github.com/stripe/stripe-ruby/pull/1041) API Updates
230
- * Add support for `cancel_action`, `process_payment_intent`, `process_setup_intent`, and `set_reader_display` methods on resource `Terminal.Reader`
231
-
232
- ## 5.47.0 - 2022-03-29
233
- * [#1040](https://github.com/stripe/stripe-ruby/pull/1040) API Updates
234
- * Add support for Search API
235
- * Add support for `search` method on resources `Charge`, `Customer`, `Invoice`, `PaymentIntent`, `Price`, `Product`, and `Subscription`
236
-
237
- * [#1034](https://github.com/stripe/stripe-ruby/pull/1034) Add supporting classes for test helper generation
238
-
239
- ## 5.46.0 - 2022-03-23
240
- * [#1039](https://github.com/stripe/stripe-ruby/pull/1039) API Updates
241
- * Add support for `cancel` method on resource `Refund`
242
- * [#992](https://github.com/stripe/stripe-ruby/pull/992) Add support for Search API
243
-
244
- ## 5.45.0 - 2022-03-01
245
- * [#1035](https://github.com/stripe/stripe-ruby/pull/1035) API Updates
246
- * Add support for new resource `TestHelpers.TestClock`
247
-
248
- ## 5.44.0 - 2022-02-16
249
- * [#1032](https://github.com/stripe/stripe-ruby/pull/1032) API Updates
250
- * Add support for `verify_microdeposits` method on resources `PaymentIntent` and `SetupIntent`
251
-
252
- ## 5.43.0 - 2022-01-20
253
- * [#1031](https://github.com/stripe/stripe-ruby/pull/1031) API Updates
254
- * Add support for new resource `PaymentLink`
255
-
256
- ## 5.42.0 - 2021-12-13
257
- * [#1022](https://github.com/stripe/stripe-ruby/pull/1022) Add connection manager logging and include object IDs in logging.
258
-
259
- ## 5.41.0 - 2021-11-16
260
- * [#1017](https://github.com/stripe/stripe-ruby/pull/1017) API Updates
261
- * Add support for new resource `ShippingRate`
262
-
263
- ## 5.40.0 - 2021-11-11
264
- * [#1015](https://github.com/stripe/stripe-ruby/pull/1015) API Updates
265
- * Add support for `expire` method on resource `Checkout.Session`
266
- * [#1013](https://github.com/stripe/stripe-ruby/pull/1013) Add tests for child resources.
267
- * [#1012](https://github.com/stripe/stripe-ruby/pull/1012) Add tests for namespaced resources.
268
- * [#1011](https://github.com/stripe/stripe-ruby/pull/1011) codegen: 3 more files
269
-
270
- ## 5.39.0 - 2021-10-11
271
- * [#1010](https://github.com/stripe/stripe-ruby/pull/1010) API Updates
272
- * Add support for `list_payment_methods` method on resource `Customer`
273
-
274
- ## 5.38.0 - 2021-08-10
275
- * [#993](https://github.com/stripe/stripe-ruby/pull/993) Add `request_id` to RequestEndEvent
276
- * [#991](https://github.com/stripe/stripe-ruby/pull/991) Codegen more files
277
- * [#989](https://github.com/stripe/stripe-ruby/pull/989) Remove unused API error types from docs.
278
-
279
- ## 5.37.0 - 2021-07-14
280
- * [#988](https://github.com/stripe/stripe-ruby/pull/988) API Updates
281
- * Add support for `list_computed_upfront_line_items` method on resource `Quote`
282
-
283
- ## 5.36.0 - 2021-07-09
284
- * [#987](https://github.com/stripe/stripe-ruby/pull/987) Add support for `Quote` API
285
-
286
- ## 5.35.0 - 2021-06-30
287
- * [#985](https://github.com/stripe/stripe-ruby/pull/985) Update normalize_opts to use dup instead of clone.
288
- * [#982](https://github.com/stripe/stripe-ruby/pull/982) Deprecate travis
289
- * [#983](https://github.com/stripe/stripe-ruby/pull/983) Add support for making a request and receiving the response as a stream.
290
-
291
- ## 5.34.0 - 2021-06-04
292
- * [#981](https://github.com/stripe/stripe-ruby/pull/981) API Updates
293
- * Add support for `TaxCode` API.
294
-
295
- ## 5.33.0 - 2021-05-19
296
- * [#979](https://github.com/stripe/stripe-ruby/pull/979) Add support for the Identify VerificationSession and VerificationReport APIs
297
-
298
- ## 5.32.1 - 2021-04-05
299
- * Correct use of regexp `match` in gemspec for old versions of Ruby
300
-
301
- ## 5.32.0 - 2021-04-05
302
- * [#973](https://github.com/stripe/stripe-ruby/pull/973) Reduce packed gem size
303
-
304
- ## 5.31.0 - 2021-04-02
305
- * [#968](https://github.com/stripe/stripe-ruby/pull/968) Allow StripeClient to be configured per instance
306
- * [#971](https://github.com/stripe/stripe-ruby/pull/971) On config change, only clear connection managers for changed config
307
- * [#972](https://github.com/stripe/stripe-ruby/pull/972) Rename `Stripe.configuration` to `Stripe.config`
308
- * [#970](https://github.com/stripe/stripe-ruby/pull/970) Reserve some critical field names when adding `StripeObject` accessors
309
- * [#967](https://github.com/stripe/stripe-ruby/pull/967) CI: github actions
310
-
311
- ## 5.30.0 - 2021-02-22
312
- * [#965](https://github.com/stripe/stripe-ruby/pull/965) Add support for the Billing Portal Configuration API
313
-
314
- ## 5.29.1 - 2021-02-09
315
- * [#964](https://github.com/stripe/stripe-ruby/pull/964) Fix return value of `Customer#delete_discount`
316
-
317
- ## 5.29.0 - 2021-01-05
318
- * [#952](https://github.com/stripe/stripe-ruby/pull/952) Allow client_id configuration on instance config
319
-
320
- ## 5.28.0 - 2020-10-14
321
- * [#950](https://github.com/stripe/stripe-ruby/pull/950) Add configuration option for `write_timeout` for connections on Ruby 2.6+
322
-
323
- ## 5.27.0 - 2020-10-14
324
- * [#951](https://github.com/stripe/stripe-ruby/pull/951) Add support for the Payout Reverse API
325
-
326
- ## 5.26.0 - 2020-09-29
327
- * [#949](https://github.com/stripe/stripe-ruby/pull/949) Add support for the `SetupAttempt` resource and List API
328
-
329
- ## 5.25.0 - 2020-09-02
330
- * [#944](https://github.com/stripe/stripe-ruby/pull/944) Add support for the Issuing Dispute Submit API
331
-
332
- ## 5.24.0 - 2020-08-26
333
- * [#939](https://github.com/stripe/stripe-ruby/pull/939) Extract configurations into separate object
334
- * [#940](https://github.com/stripe/stripe-ruby/pull/940) Fix typo in documentation of `stripe_object.rb`
335
-
336
- ## 5.23.1 - 2020-08-05
337
- * [#936](https://github.com/stripe/stripe-ruby/pull/936) Rename API resource's `request` method
338
-
339
- ## 5.23.0 - 2020-08-05
340
- * [#937](https://github.com/stripe/stripe-ruby/pull/937) Add support for the `PromotionCode` resource and APIs
341
-
342
- ## 5.22.0 - 2020-05-11
343
- * [#918](https://github.com/stripe/stripe-ruby/pull/918) Add support for the `LineItem` resource and APIs
344
-
345
- ## 5.21.0 - 2020-04-29
346
- * [#917](https://github.com/stripe/stripe-ruby/pull/917) Add support for the `Price` resource and APIs
347
-
348
- ## 5.20.0 - 2020-04-27
349
- * [#916](https://github.com/stripe/stripe-ruby/pull/916) Add new `.generate_header` method for webhooks
350
-
351
- ## 5.19.0 - 2020-04-24
352
- * [#915](https://github.com/stripe/stripe-ruby/pull/915) Expose `Stripe::Webhook.compute_signature` publicly
353
-
354
- ## 5.18.0 - 2020-04-22
355
- * [#911](https://github.com/stripe/stripe-ruby/pull/911) Add support for `BillingPortal` namespace and `Session` resource and APIs
356
-
357
- ## 5.17.0 - 2020-02-26
358
- * [#907](https://github.com/stripe/stripe-ruby/pull/907) Add `StripeError#idempotent_replayed?`
359
-
360
- ## 5.16.0 - 2020-02-26
361
- * [#906](https://github.com/stripe/stripe-ruby/pull/906) Add support for listing Checkout sessions
362
- * [#903](https://github.com/stripe/stripe-ruby/pull/903) Upgrade to Rubocop 0.80
363
-
364
- ## 5.15.0 - 2020-02-10
365
- * [#902](https://github.com/stripe/stripe-ruby/pull/902) Add `request_begin` instrumentation callback
366
-
367
- ## 5.14.0 - 2020-01-14
368
- * [#896](https://github.com/stripe/stripe-ruby/pull/896) Add support for `CreditNoteLineItem`
369
- * [#894](https://github.com/stripe/stripe-ruby/pull/894) Clean up test output by capturing `$stderr` when we expect warnings
370
- * [#892](https://github.com/stripe/stripe-ruby/pull/892) Explicitly pass a parameter as hash to be more ruby 2.7 friendly
371
- * [#893](https://github.com/stripe/stripe-ruby/pull/893) Upgrade Rubocop to 0.79
372
-
373
- ## 5.13.0 - 2020-01-08
374
- * [#891](https://github.com/stripe/stripe-ruby/pull/891) Fix most Ruby 2.7 warnings
375
-
376
- ## 5.12.1 - 2020-01-06
377
- * [#890](https://github.com/stripe/stripe-ruby/pull/890) Override API key with `client_secret` in `OAuth.token`
378
-
379
- ## 5.12.0 - 2020-01-02
380
- * [#889](https://github.com/stripe/stripe-ruby/pull/889) Add support for retrieve source transaction API method
381
-
382
- ## 5.11.0 - 2019-11-26
383
- * [#885](https://github.com/stripe/stripe-ruby/pull/885) Add support for `CreditNote` preview
384
-
385
- ## 5.10.0 - 2019-11-08
386
- * [#882](https://github.com/stripe/stripe-ruby/pull/882) Add list_usage_record_summaries and list_source_transactions
387
-
388
- ## 5.9.0 - 2019-11-07
389
- * [#870](https://github.com/stripe/stripe-ruby/pull/870) Add request instrumentation callback (see `README.md` for usage example)
390
-
391
- ## 5.8.0 - 2019-11-05
392
- * [#879](https://github.com/stripe/stripe-ruby/pull/879) Add support for `Mandate`
393
- * [#876](https://github.com/stripe/stripe-ruby/pull/876) Add additional per-request configuration documentation
394
- * [#874](https://github.com/stripe/stripe-ruby/pull/874) Raise an error when requests params are invalid
395
- * [#873](https://github.com/stripe/stripe-ruby/pull/873) Contributor Covenant
396
-
397
- ## 5.7.1 - 2019-10-15
398
- * [#869](https://github.com/stripe/stripe-ruby/pull/869) Fixes the misnamed `connection_base=` setter to be named `connect_base=`
399
-
400
- ## 5.7.0 - 2019-10-10
401
- * [#865](https://github.com/stripe/stripe-ruby/pull/865) Support backwards pagination with list's `#auto_paging_each`
402
-
403
- ## 5.6.0 - 2019-10-04
404
- * [#861](https://github.com/stripe/stripe-ruby/pull/861) Nicer error when specifying non-nil non-string opt value
405
-
406
- ## 5.5.0 - 2019-10-03
407
- * [#859](https://github.com/stripe/stripe-ruby/pull/859) User-friendly messages and retries for `EOFError`, `Errno::ECONNRESET`, `Errno::ETIMEDOUT`, and `Errno::EHOSTUNREACH` network errors
408
-
409
- ## 5.4.1 - 2019-10-01
410
- * [#858](https://github.com/stripe/stripe-ruby/pull/858) Drop Timecop dependency
411
-
412
- ## 5.4.0 - 2019-10-01
413
- * [#857](https://github.com/stripe/stripe-ruby/pull/857) Move to monotonic time for duration calculations
414
-
415
- ## 5.3.0 - 2019-10-01
416
- * [#853](https://github.com/stripe/stripe-ruby/pull/853) Support `Stripe-Should-Retry` header
417
-
418
- ## 5.2.0 - 2019-09-19
419
- * [#851](https://github.com/stripe/stripe-ruby/pull/851) Introduce system for garbage collecting connection managers
420
-
421
- ## 5.1.1 - 2019-09-04
422
- * [#845](https://github.com/stripe/stripe-ruby/pull/845) Transfer the request_id from the http_headers to error.
423
-
424
- ## 5.1.0 - 2019-08-27
425
- * [#841](https://github.com/stripe/stripe-ruby/pull/841) Retry requests on a 429 that's a lock timeout
426
-
427
- ## 5.0.1 - 2019-08-20
428
- * [#836](https://github.com/stripe/stripe-ruby/pull/836) Increase connection keep alive timeout to 30 seconds
429
-
430
- ## 5.0.0 - 2019-08-20
431
- Major version release. The [migration guide](https://github.com/stripe/stripe-ruby/wiki/Migration-guide-for-v5) contains a detailed list of backwards-incompatible changes with upgrade instructions.
432
-
433
- Pull requests included in this release (cf. [#815](https://github.com/stripe/stripe-ruby/pull/815)) (⚠️ = breaking changes):
434
- * ⚠️ [#813](https://github.com/stripe/stripe-ruby/pull/813): Convert library to use built-in `Net::HTTP`
435
- * ⚠️ [#816](https://github.com/stripe/stripe-ruby/pull/816): Make `code` argument in `CardError` named instead of positional.
436
- * ⚠️ [#817](https://github.com/stripe/stripe-ruby/pull/817): Drop support for very old Ruby versions.
437
- * [#818](https://github.com/stripe/stripe-ruby/pull/818): Bump Rubocop to latest version
438
- * [#819](https://github.com/stripe/stripe-ruby/pull/819): Ruby minimum version increase followup
439
- * ⚠️ [#820](https://github.com/stripe/stripe-ruby/pull/820): Remove old deprecated methods
440
- * ⚠️ [#823](https://github.com/stripe/stripe-ruby/pull/823): Remove all alias for list methods
441
- * ⚠️ [#826](https://github.com/stripe/stripe-ruby/pull/826): Remove `UsageRecord.create` method
442
- * ⚠️ [#827](https://github.com/stripe/stripe-ruby/pull/827): Remove `IssuerFraudRecord`
443
- * [#811](https://github.com/stripe/stripe-ruby/pull/811): Add `ErrorObject` to `StripeError` exceptions
444
- * [#828](https://github.com/stripe/stripe-ruby/pull/828): Tweak retry logic to be a little more like stripe-node
445
- * [#829](https://github.com/stripe/stripe-ruby/pull/829): Reset connections when connection-changing configuration changes (optional)
446
- * [#830](https://github.com/stripe/stripe-ruby/pull/830): Fix inverted sign for 500 retries
447
- * ⚠️[#831](https://github.com/stripe/stripe-ruby/pull/831): Remove a few more very old deprecated methods
448
- * [#832](https://github.com/stripe/stripe-ruby/pull/832): Minor cleanup in `StripeClient`
449
- * [#833](https://github.com/stripe/stripe-ruby/pull/833): Do better bookkeeping when tracking state in `Thread.current`
450
- * [#834](https://github.com/stripe/stripe-ruby/pull/834): Add `Invoice.list_upcoming_line_items` method
451
-
452
- ## 4.24.0 - 2019-08-12
453
- * [#825](https://github.com/stripe/stripe-ruby/pull/825) Add `SubscriptionItem.create_usage_record` method
454
- - This release also removed the `SubscriptionSchedule.revisions` method. This should have been included in the previous release (4.23.0)
455
-
456
- ## 4.23.0 - 2019-08-09
457
- * [#824](https://github.com/stripe/stripe-ruby/pull/824) Remove SubscriptionScheduleRevision
458
- - This is technically a breaking change. We've chosen to release it as a minor vesion bump because the associated API is unused.
459
-
460
- ## 4.22.1 - 2019-08-09
461
- * [#808](https://github.com/stripe/stripe-ruby/pull/808) Unify request/response handling
462
-
463
- ## 4.22.0 - 2019-07-30
464
- * [#821](https://github.com/stripe/stripe-ruby/pull/821) Listing `BalanceTransaction` objects now uses `/v1/balance_transactions` instead of `/v1/balance/history`
465
-
466
- ## 4.21.3 - 2019-07-15
467
- * [#810](https://github.com/stripe/stripe-ruby/pull/810) Better error message when passing non-string to custom method
468
-
469
- ## 4.21.2 - 2019-07-05
470
- * [#806](https://github.com/stripe/stripe-ruby/pull/806) Revert back to `initialize_from` from `Util.convert_to_stripe_object`
471
-
472
- ## 4.21.1 - 2019-07-04
473
- * [#807](https://github.com/stripe/stripe-ruby/pull/807) Add gem metadata
474
-
475
- ## 4.21.0 - 2019-06-28
476
- * [#803](https://github.com/stripe/stripe-ruby/pull/803) Add support for the `SetupIntent` resource and APIs
477
-
478
- ## 4.20.1 - 2019-06-28
479
- * [#805](https://github.com/stripe/stripe-ruby/pull/805) Fix formatting in `ConnectionFailed` error message
480
-
481
- ## 4.20.0 - 2019-06-24
482
- * [#800](https://github.com/stripe/stripe-ruby/pull/800) Enable request latency telemetry by default
483
-
484
- ## 4.19.0 - 2019-06-17
485
- * [#770](https://github.com/stripe/stripe-ruby/pull/770) Add support for `CustomerBalanceTransaction` resource and APIs
486
-
487
- ## 4.18.1 - 2019-05-27
488
- * [#789](https://github.com/stripe/stripe-ruby/pull/789) Allow `Order#pay` to be called without arguments
489
-
490
- ## 4.18.0 - 2019-05-23
491
- * [#783](https://github.com/stripe/stripe-ruby/pull/783) Add support for `radar.early_fraud_warning` resource
492
-
493
- ## 4.17.0 - 2019-05-14
494
- * [#779](https://github.com/stripe/stripe-ruby/pull/779) Add support for the Capability resource and APIs
495
-
496
- ## 4.16.0 - 2019-04-24
497
- * [#760](https://github.com/stripe/stripe-ruby/pull/760) Add support for the `TaxRate` resource and APIs
498
-
499
- ## 4.15.0 - 2019-04-22
500
- * [#762](https://github.com/stripe/stripe-ruby/pull/762) Add support for the `TaxId` resource and APIs
501
-
502
- ## 4.14.0 - 2019-04-18
503
- * [#758](https://github.com/stripe/stripe-ruby/pull/758) Add support for the `CreditNote` resource and APIs
504
-
505
- ## 4.13.0 - 2019-04-16
506
- * [#766](https://github.com/stripe/stripe-ruby/pull/766) Relax constraints on objects that we'll accept as a file (now they just need to respond to `#read`)
507
-
508
- ## 4.12.0 - 2019-04-02
509
- * [#752](https://github.com/stripe/stripe-ruby/pull/752) Add `.delete` class method on deletable API resources
510
- * [#754](https://github.com/stripe/stripe-ruby/pull/754) Add class methods for all custom API requests (e.g. `Charge.capture`)
511
-
512
- ## 4.11.0 - 2019-03-26
513
- * [#753](https://github.com/stripe/stripe-ruby/pull/753) Add a global proxy configuration parameter
514
-
515
- ## 4.10.0 - 2019-03-18
516
- * [#745](https://github.com/stripe/stripe-ruby/pull/745) Add support for the `PaymentMethod` resource and APIs
517
- * [#747](https://github.com/stripe/stripe-ruby/pull/747) Add support for retrieving a Checkout `Session`
518
- * [#748](https://github.com/stripe/stripe-ruby/pull/748) Add support for deleting a Terminal `Location` and `Reader`
519
-
520
- ## 4.9.1 - 2019-03-18
521
- * [#750](https://github.com/stripe/stripe-ruby/pull/750) Catch error and warn if unable to remove a method
522
-
523
- ## 4.9.0 - 2019-02-12
524
- * [#739](https://github.com/stripe/stripe-ruby/pull/739) Add support for `SubscriptionSchedule` and `SubscriptionScheduleRevision`
525
-
526
- ## 4.8.1 - 2019-02-11
527
- * [#743](https://github.com/stripe/stripe-ruby/pull/743) Fix bug in file uploading introduced in #741
528
-
529
- ## 4.8.0 - 2019-02-03
530
- * [#741](https://github.com/stripe/stripe-ruby/pull/741) Use `FaradayStripeEncoder` to encode all parameter styles
531
-
532
- ## 4.7.1 - 2019-02-01
533
- * [#740](https://github.com/stripe/stripe-ruby/pull/740) Fix query encoding for integer-indexed maps
534
-
535
- ## 4.7.0 - 2019-01-23
536
- * [#735](https://github.com/stripe/stripe-ruby/pull/735) Rename `CheckoutSession` to `Session` and move it under the `Checkout` namespace. This is a breaking change, but we've reached out to affected merchants and all new merchants would use the new approach.
537
-
538
- ## 4.6.0 - 2019-01-21
539
- * [#736](https://github.com/stripe/stripe-ruby/pull/736) Properly serialize `individual` on `Account` objects
540
-
541
- ## 4.5.0 - 2019-01-02
542
- * [#719](https://github.com/stripe/stripe-ruby/pull/719) Generate OAuth authorize URLs for Express accounts as well as standard
543
-
544
- ## 4.4.1 - 2018-12-31
545
- * [#718](https://github.com/stripe/stripe-ruby/pull/718) Fix an error message typo
546
-
547
- ## 4.4.0 - 2018-12-21
548
- * [#716](https://github.com/stripe/stripe-ruby/pull/716) Add support for the `CheckoutSession` resource
549
-
550
- ## 4.3.0 - 2018-12-10
551
- * [#711](https://github.com/stripe/stripe-ruby/pull/711) Add support for account links
552
-
553
- ## 4.2.0 - 2018-11-28
554
- * [#705](https://github.com/stripe/stripe-ruby/pull/705) Add support for the `Review` APIs
555
-
556
- ## 4.1.0 - 2018-11-27
557
- * [#695](https://github.com/stripe/stripe-ruby/pull/695) Add support for `ValueList` and `ValueListItem` for Radar
558
-
559
- ## 4.0.3 - 2018-11-19
560
- * [#703](https://github.com/stripe/stripe-ruby/pull/703) Don't use `Net::HTTP::Persistent` on Windows where it's not well supported
561
-
562
- ## 4.0.2 - 2018-11-16
563
- * [#701](https://github.com/stripe/stripe-ruby/pull/701) Require minimum Faraday 0.13 for proper support of persistent connections
564
-
565
- ## 4.0.1 - 2018-11-15
566
- * [#699](https://github.com/stripe/stripe-ruby/pull/699) Only send telemetry if `Request-Id` was present in the response
567
-
568
- ## 4.0.0 - 2018-11-15
569
- * [#698](https://github.com/stripe/stripe-ruby/pull/698) Use persistent connections by default through `Net::HTTP::Persistent`
570
- * [#698](https://github.com/stripe/stripe-ruby/pull/698) Drop support for Ruby 2.0 (which we consider a breaking change here)
571
-
572
- ## 3.31.1 - 2018-11-12
573
- * [#697](https://github.com/stripe/stripe-ruby/pull/697) Send telemetry in milliseconds specifically
574
-
575
- ## 3.31.0 - 2018-11-12
576
- * [#696](https://github.com/stripe/stripe-ruby/pull/696) Add configurable telemetry to gather information on client-side request latency
577
-
578
- ## 3.30.0 - 2018-11-08
579
- * [#693](https://github.com/stripe/stripe-ruby/pull/693) Add new API endpoints for the `Invoice` resource.
580
-
581
- ## 3.29.0 - 2018-10-30
582
- * [#692](https://github.com/stripe/stripe-ruby/pull/692) Add support for the `Person` resource
583
- * [#694](https://github.com/stripe/stripe-ruby/pull/694) Add support for the `WebhookEndpoint` resource
584
-
585
- ## 3.28.0 - 2018-09-24
586
- * [#690](https://github.com/stripe/stripe-ruby/pull/690) Add support for Stripe Terminal
587
-
588
- ## 3.27.0 - 2018-09-24
589
- * [#689](https://github.com/stripe/stripe-ruby/pull/689) Rename `FileUpload` to `File`
590
-
591
- ## 3.26.1 - 2018-09-14
592
- * [#688](https://github.com/stripe/stripe-ruby/pull/688) Fix hash equality on `StripeObject`
593
-
594
- ## 3.26.0 - 2018-09-05
595
- * [#681](https://github.com/stripe/stripe-ruby/pull/681) Add support for reporting resources
596
-
597
- ## 3.25.0 - 2018-08-28
598
- * [#678](https://github.com/stripe/stripe-ruby/pull/678) Allow payment intent `#cancel`, `#capture`, and `#confirm` to take their own parameters
599
-
600
- ## 3.24.0 - 2018-08-27
601
- * [#675](https://github.com/stripe/stripe-ruby/pull/675) Remove support for `BitcoinReceiver` write-actions
602
-
603
- ## 3.23.0 - 2018-08-23
604
- * [#676](https://github.com/stripe/stripe-ruby/pull/676) Add support for usage record summaries
605
-
606
- ## 3.22.0 - 2018-08-15
607
- * [#674](https://github.com/stripe/stripe-ruby/pull/674) Use integer-indexed encoding for all arrays
608
-
609
- ## 3.21.0 - 2018-08-03
610
- * [#671](https://github.com/stripe/stripe-ruby/pull/671) Add cancel support for topups
611
-
612
- ## 3.20.0 - 2018-08-03
613
- * [#669](https://github.com/stripe/stripe-ruby/pull/669) Add support for file links
614
-
615
- ## 3.19.0 - 2018-07-27
616
- * [#666](https://github.com/stripe/stripe-ruby/pull/666) Add support for scheduled query runs (`Stripe::Sigma::ScheduledQueryRun`) for Sigma
617
-
618
- ## 3.18.0 - 2018-07-26
619
- * [#665](https://github.com/stripe/stripe-ruby/pull/665) Add support for Stripe Issuing
620
-
621
- ## 3.17.2 - 2018-07-19
622
- * [#664](https://github.com/stripe/stripe-ruby/pull/664) Don't colorize log output being sent to a configured logger
623
-
624
- ## 3.17.1 - 2018-07-19
625
- * [#663](https://github.com/stripe/stripe-ruby/pull/663) Internal improvements to `ApiResource.class_url`
626
-
627
- ## 3.17.0 - 2018-06-28
628
- * [#658](https://github.com/stripe/stripe-ruby/pull/658) Add support for `partner_id` from `Stripe.set_app_info`
629
-
630
- ## 3.16.0 - 2018-06-28
631
- * [#657](https://github.com/stripe/stripe-ruby/pull/657) Add support for payment intents
632
-
633
- ## 3.15.0 - 2018-05-10
634
- * [#649](https://github.com/stripe/stripe-ruby/pull/649) Freeze all string literals
635
-
636
- ## 3.14.0 - 2018-05-09
637
- * [#645](https://github.com/stripe/stripe-ruby/pull/645) Add support for issuer fraud records
638
-
639
- ## 3.13.1 - 2018-05-07
640
- * [#647](https://github.com/stripe/stripe-ruby/pull/647) Merge query parameters coming from path with `params` argument
641
-
642
- ## 3.13.0 - 2018-04-11
643
- * [#498](https://github.com/stripe/stripe-ruby/pull/498) Add support for flexible billing primitives
644
-
645
- ## 3.12.1 - 2018-04-05
646
- * [#636](https://github.com/stripe/stripe-ruby/pull/636) Fix a warning for uninitialized instance variable `@additive_params`
647
-
648
- ## 3.12.0 - 2018-04-05
649
- * [#632](https://github.com/stripe/stripe-ruby/pull/632) Introduce `additive_object_param` so that non-`metadata` subobjects don't zero their keys as they're being replaced
650
-
651
- ## 3.11.0 - 2018-02-26
652
- * [#628](https://github.com/stripe/stripe-ruby/pull/628) Add support for `code` attribute on all Stripe exceptions
653
-
654
- ## 3.10.0 - 2018-02-21
655
- * [#627](https://github.com/stripe/stripe-ruby/pull/627) Add support for topups
656
-
657
- ## 3.9.2 - 2018-02-12
658
- * [#625](https://github.com/stripe/stripe-ruby/pull/625) Skip calling `to_hash` for `nil`
659
-
660
- ## 3.9.1 - 2017-12-15
661
- * [#616](https://github.com/stripe/stripe-ruby/pull/616) Support all file-like objects for uploads with duck typed checks on `path` and `read` (we previously whitelisted only certain classes)
662
-
663
- ## 3.9.0 - 2017-12-08
664
- * [#613](https://github.com/stripe/stripe-ruby/pull/613) Introduce new `IdempotencyError` type for idempotency-specific failures
665
-
666
- ## 3.8.2 - 2017-12-07
667
- * [#612](https://github.com/stripe/stripe-ruby/pull/612) Fix integer-indexed array encoding when sent as query parameter (subscription items can now be used when fetching an upcoming invoice)
668
-
669
- ## 3.8.1 - 2017-12-06
670
- * [#611](https://github.com/stripe/stripe-ruby/pull/611) Support `Tempfile` (as well as `File`) in file uploads
671
-
672
- ## 3.8.0 - 2017-10-31
673
- * [#606](https://github.com/stripe/stripe-ruby/pull/606) Support for exchange rates APIs
674
-
675
- ## 3.7.0 - 2017-10-26
676
- * [#603](https://github.com/stripe/stripe-ruby/pull/603) Support for listing source transactions
677
-
678
- ## 3.6.0 - 2017-10-17
679
- * [#597](https://github.com/stripe/stripe-ruby/pull/597) Add static methods to manipulate resources from parent
680
- * `Account` gains methods for external accounts and login links (e.g. `.create_account`, `create_login_link`)
681
- * `ApplicationFee` gains methods for refunds
682
- * `Customer` gains methods for sources
683
- * `Transfer` gains methods for reversals
684
-
685
- ## 3.5.3 - 2017-10-16
686
- * [#594](https://github.com/stripe/stripe-ruby/pull/594) Make sure that `StripeObject`'s `#deep_copy` maintains original class
687
- * [#595](https://github.com/stripe/stripe-ruby/pull/595) Allow `Object#method` to be called on `StripeObject` even if it conflicts with an accessor
688
- * [#596](https://github.com/stripe/stripe-ruby/pull/596) Encode arrays as integer-indexed hashes where appropriate
689
- * [#598](https://github.com/stripe/stripe-ruby/pull/598) Don't persist `idempotency_key` opt between requests
690
-
691
- ## 3.5.2 - 2017-10-13
692
- * [#592](https://github.com/stripe/stripe-ruby/pull/592) Bring back `Marshal.dump/load` support with custom marshal encoder/decoder
693
-
694
- ## 3.5.1 - 2017-10-12
695
- * [#591](https://github.com/stripe/stripe-ruby/pull/591) Use thread-local `StripeClient` instances for thread safety
696
-
697
- ## 3.5.0 - 2017-10-11
698
- * [#589](https://github.com/stripe/stripe-ruby/pull/589) Rename source `delete` to `detach` (and deprecate the former)
699
-
700
- ## 3.4.1 - 2017-10-05
701
- * [#586](https://github.com/stripe/stripe-ruby/pull/586) Log query strings as well as form bodies with STRIPE_LOG
702
- * [#588](https://github.com/stripe/stripe-ruby/pull/588) Require minimum Faraday 0.10 for bug fix in parameter encoding
703
-
704
- ## 3.4.0 - 2017-09-20
705
- * Mark legacy Bitcoin API as deprecated, and remove corresponding tests
706
- * Mark recipients API as deprecated, and remove recipient card tests
707
-
708
- ## 3.3.2 - 2017-09-20
709
- * Correct minimum required Ruby version in gemspec (it's 2.0.0)
710
-
711
- ## 3.3.1 - 2017-08-18
712
- * Only parse webhook payload after verification to decrease likelihood of
713
- attack
714
-
715
- ## 3.3.0 - 2017-08-11
716
- * Add support for standard library logger interface with `Stripe.logger`
717
- * Error logs now go to stderr if using `Stripe.log_level`/`STRIPE_LOG`
718
- * `Stripe.log_level`/`STRIPE_LOG` now support `Stipe::LEVEL_ERROR`
719
-
720
- ## 3.2.0 - 2017-08-03
721
- * Add logging for request retry account and `Stripe-Account` header
722
-
723
- ## 3.1.0 - 2017-08-03
724
- * Implement request logging with `Stripe.log_level` and `STRIPE_LOG`
725
-
726
- ## 3.0.3 - 2017-07-28
727
- * Revert `nil` to empty string coercion from 3.0.2
728
- * Handle `invalid_client` OAuth error code
729
- * Improve safety of error handling logic safer for unrecognized OAuth error codes
730
-
731
- ## 3.0.2 - 2017-07-12
732
- **Important:** This version is non-functional and has been yanked in favor of 3.0.3.
733
- * Convert `nil` to empty string when serializing parameters (instead of opaquely dropping it) -- NOTE: this change has since been reverted
734
-
735
- ## 3.0.1 - 2017-07-11
736
- * Properties set with an API resource will now serialize that resource's ID if possible
737
- * API resources will throw an ArgumentError on save if a property has been with an API resource that cannot be serialized
738
-
739
- ## 3.0.0 - 2017-06-27
740
- * `#pay` on invoice now takes params as well as opts
741
-
742
- ## 2.12.0 - 2017-06-20
743
- * Add support for ephemeral keys
744
-
745
- ## 2.11.0 - 2017-05-26
746
- * Warn when keys that look like opts are included as parameters
747
-
748
- ## 2.10.0 - 2017-05-25
749
- * Add support for account login links
750
-
751
- ## 2.9.0 - 2017-05-18
752
- * Support for OAuth operations in `Stripe::OAuth`
753
-
754
- ## 2.8.0 - 2017-04-28
755
- * Support for checking webhook signatures
756
-
757
- ## 2.7.0 - 2017-04-26
758
- * Add model `InvoiceLineItem`
759
-
760
- ## 2.6.0 - 2017-04-26
761
- * Add `OBJECT_NAME` constants to all API resources
762
-
763
- ## 2.5.0 - 2017-04-24
764
- * Make `opts` argument in `Util.convert_to_stripe_object` optional
765
-
766
- ## 2.4.0 - 2017-04-18
767
- * Add `Stripe.set_app_info` for use by plugin creators
768
-
769
- ## 2.3.0 - 2017-04-14
770
- * Add question mark accessor when assigning boolean value to undefined field
771
-
772
- ## 2.2.1 - 2017-04-07
773
- * Declare minimum required Faraday as 0.9
774
-
775
- ## 2.2.0 - 2017-04-06
776
- * Add support for payouts and recipient transfers
777
-
778
- ## 2.1.0 - 2017-03-17
779
- * Support for detaching sources from customers
780
-
781
- ## 2.0.3 - 2017-03-16
782
- * Fix marshalling of `StripeObjects` that have an embedded client
783
-
784
- ## 2.0.2 - 2017-03-16
785
- * Fix bad field reference when recovering from a JSON parsing problem
786
-
787
- ## 2.0.1 - 2017-02-22
788
- * Fix multipart parameter encoding to repair broken file uploads
789
-
790
- ## 2.0.0 - 2017-02-14
791
- * Drop support for Ruby 1.9
792
- * Allow HTTP client that makes Stripe calls to be configured via Faraday
793
- * Drop RestClient
794
- * Switch to OpenAPI 2.0 spec and generated fixtures in test suite
795
- * Switch to Webmock in test suite
796
-
797
- ## 1.58.0 - 2017-01-19
798
- * Remove erroneously added list methods for `Source` model
799
-
800
- ## 1.57.1 - 2016-11-28
801
- * Disallow sending protected fields along with API resource `.update`
802
-
803
- ## 1.57.0 - 2016-11-21
804
- * Add retrieve method for 3-D Secure resources
805
-
806
- ## 1.56.2 - 2016-11-17
807
- * Improve `StripeObject`'s `#to_s` to better handle how embedded objects are displayed
808
-
809
- ## 1.56.1 - 2016-11-09
810
- * Fix (fairly serious) memory like in `StripeObject`
811
-
812
- ## 1.56.0 - 2016-10-24
813
- * Add accessors for new fields added in `#update_attributes`
814
- * Handle multi-plan subscriptions through new subscription items
815
- * Handle 403 status codes from the API
816
-
817
- ## 1.55.1 - 2016-10-24
818
- Identical to 1.56.0 above. I incorrectly cut a patch-level release.
819
-
820
- ## 1.55.0 - 2016-09-15
821
- * Add support for Apple Pay domains
822
-
823
- ## 1.54.0 - 2016-09-01
824
- * Whitelist errors that should be retried; scope to known socket and HTTP errors
825
-
826
- ## 1.53.0 - 2016-08-31
827
- * Relax version constraint on rest-client (and by extension mime-types) for users on Ruby 2+
828
-
829
- ## 1.52.0 - 2016-08-30
830
- * Make sure `Subscription`'s `source` is saved with its parent
831
-
832
- ## 1.51.1 - 2016-08-30
833
- * Make sure `Account`'s `external_account` is saved with its parent
834
-
835
- ## 1.51.0 - 2016-08-26
836
- * Error when an array of maps is detected that cannot be accurately encoded
837
- * Start using strings for header names instead of symbols for better clarity
838
-
839
- ## 1.50.1 - 2016-08-25
840
- * Fix encoding of arrays of maps where maps unequal sets of keys
841
-
842
- ## 1.50.0 - 2016-08-15
843
- * Allow sources to be created
844
-
845
- ## 1.49.0 - 2016-07-28
846
- * Add top-level `Source` model
847
-
848
- ## 1.48.0 - 2016-07-12
849
- * Add `ThreeDSecure` model for 3-D secure payments
850
-
851
- ## 1.47.0 - 2016-07-11
852
- * Allow rest-client version 2.0+ to be used with the gem
853
-
854
- ## 1.46.0 - 2016-07-07
855
- * Allow retry when a 409 conflict is encountered
856
-
857
- ## 1.45.0 - 2016-07-07
858
- * Do not send subresources when updating except when explicitly told to do so (see #433)
859
-
860
- ## 1.44.0 - 2016-06-29
861
- * Add `update` class method to all resources that can be updated
862
-
863
- ## 1.43.1 - 2016-06-17
864
- * Fix type of resource returned from `Order#return_order`
865
-
866
- ## 1.43.0 - 2016-05-20
867
- * Allow Relay orders to be returned and add associated types
868
- * Support Alipay account retrieval and deletion
869
-
870
- ## 1.42.0 - 2016-05-04
871
- * Add support for the new /v1/subscriptions endpoint (retrieve, list, create, update, and delete)
872
-
873
- ## 1.41.0 - 2016-04-13
874
- * Add global `stripe_account` option that adds a `Stripe-Account` header to all requests
875
-
876
- ## 1.40.0 - 2016-04-06
877
- * Fix bug that omitted subresources from serialization
878
-
879
- ## 1.39.0 - 2016-03-31
880
- * Update CA cert bundle for compatibility with OpenSSL versions below 1.0.1
881
-
882
- ## 1.38.0 - 2016-03-18
883
- * Allow `opts` to be passed to an API resource's `#save` method
884
-
885
- ## 1.37.0 - 2016-03-14
886
- * Add `Account#reject` to support the new API feature
887
-
888
- ## 1.36.2 - 2016-03-14
889
- * Fix reference to non-existent `#url` in `ListObject`
890
-
891
- ## 1.36.1 - 2016-03-04
892
- * Fix serialization when subhash given to `#save` or `#update_attributes`
893
-
894
- ## 1.36.0 - 2016-02-08
895
- * Add `CountrySpec` model for looking up country payment information
896
-
897
- ## 1.35.1 - 2016-02-03
898
- * Add compatibility layer for old API versions on `Charge#refund`
899
-
900
- ## 1.35.0 - 2016-02-01
901
- * Allow CA cert bundle location to be configured
902
- * Updated bundled CA certs
903
-
904
- ## 1.34.0 - 2016-01-25
905
- * Add support for deleting products and SKUs
906
-
907
- ## 1.33.1 - 2016-01-21
908
- * Pass through arguments of `Charge#refund`
909
-
910
- ## 1.33.0 - 2016-01-19
911
- * Re-implement `Charge#refund` helper to use the modern endpoint suggested by docs
912
-
913
- ## 1.32.1 - 2016-01-07
914
- * Fix bug where ivar left uninitialized in StripeObject could error on serialization
915
- * Fix bug where a nil customer from API could error Bitcoin model on refresh
916
-
917
- ## 1.32.0 - 2016-01-05
918
- * Add configuration to optionally retry network failures
919
- * Use modern API endpoint for producing application fee refunds
920
-
921
- ## 1.31.0 - 2015-10-29
922
- * Add BankAccount#verify convenience method
923
-
924
- ## 1.30.3 - 2015-10-28
925
- * Fix bug where arrays that were not `additional_owners` were not properly encoded for requests
926
-
927
- ## 1.30.2 - 2015-10-12
928
- * Fix bug where `opts` didn't properly propagate to descendant `StripeObjects`
929
-
930
- ## 1.30.1 - 2015-10-10
931
- * Fix bug that prevent lists of hashes from being URI-encoded properly
932
- * Fix bug where filter conditions were not making it past the first instantiated `ListObject`
933
-
934
- ## 1.30.0 - 2015-10-09
935
- * Add `StripeObject#deleted?` for a reliable way to check whether an object is alive
936
- * Deprecate `StripeObject#refresh_from`
937
- * New parameter encoding scheme that doesn't use `URI.escape`
938
-
939
- ## 1.29.1 - 2015-10-06
940
- * Fix bug where ampersands were not being properly encoded
941
-
942
- ## 1.29.0 - 2015-10-05
943
- * Add pagination helpers `#auto_paging_each`, `#previous_page`, and `#next_page`
944
-
945
- ## 1.28.1 - 2015-10-05
946
- * Fix URI being referenced by file upload resources
947
-
948
- ## 1.28.0 - 2015-10-05
949
- * Make StripeObject's #save "upsert"-like; creates an object if new
950
- * Add #update_attributes to StripeObject for safe mass assignment
951
- * Properly mass assign attributes on calls to #save
952
- * Add question mark helpers for boolean fields (e.g. #paid? as well as old #paid)
953
- * Fix a bug that broke the API for StripeObject initialization
954
- * Remove use of deprecated URI.escape
955
-
956
- ## 1.27.2 - 2015-09-25
957
- * Correct the URLs used to fetch Bitcoin transactions.
958
-
959
- ## 1.27.1 - 2015-09-20
960
- * Use hash rockets for backwards compatibility.
961
-
962
- ## 1.27.0 - 2015-09-14
963
- * Add Orders, Products, and SKUs for Relay
964
-
965
- ## 1.26.0 - 2015-09-11
966
- * Add support for 429 Rate Limited response
967
-
968
- ## 1.25.0 - 2015-08-17
969
- * Added support for refund listing and retrieval without an associated charge
970
-
971
- ## 1.24.0 - 2015-08-03
972
- * Added support for deleting managed accounts
973
- * Added support for dispute listing and retrieval
974
- * Bugfix: token objects now are the correct class
975
-
976
- ## 1.23.0 - 2015-07-06
977
- * Added request IDs and HTTP headers to errors
978
-
979
- ## 1.22.0 - 2015-06-10
980
- * Added support for bank accounts and debit cards in managed accounts (via the `external_accounts` param)
981
-
982
- ## 1.21.0 - 2015-04-14
983
- * Remove TLS cert revocation check (all pre-heartbleed certs have expired)
984
- * Bugfix: don't unset keys when they don't exist on StripeObject
985
-
986
- ## 1.20.4 - 2015-03-26
987
- * Raise an error when explicitly passing nil as the API key on resource methods
988
- * Fix error when passing an API key to Balance.retrieve (github issue #232)
989
-
990
- ## 1.20.3 - 2015-03-13
991
- * Fixed error when updating certain resources (github issue #224)
992
-
993
- ## 1.20.2 - 2015-03-10
994
- * Added support for updating nested hashes besides `metadata` (which was already supported)
995
- * Fixed bug in balance retrieval
996
-
997
- ## 1.20.1 - 2015-02-26
998
- * Updated Card to point to customer sources endpoint when customer property is set
999
-
1000
- ## 1.20.0 - 2015-02-19
1001
- * Added Update & Delete operations to Bitcoin Receivers
1002
-
1003
- ## 1.19.1 - 2015-02-18
1004
- * Fixed fetching upcoming invoice/paying invoice methods
1005
-
1006
- ## 1.19.0 - 2015-02-15
1007
- * Support for new Transfers /reversals endpoint
1008
- * Account retrieval now optionally accepts an account ID
1009
- * Better support for passing custom headers, like Stripe-Account, through requests
1010
-
1011
- ## 1.18.0 - 2015-01-21
1012
- * 1 major enhancement:
1013
- * Added support for making bitcoin charges through BitcoinReceiver source object
1014
-
1015
- ## 1.17.3 - 2015-01-12
1016
- * 1 bugfix:
1017
- * Fixed API key propagation for ApplicationFee#refund
1018
-
1019
- ## 1.17.2 - 2015-01-08
1020
- * 1 bugfix:
1021
- * Fixed API key propagation for child resources
1022
-
1023
- ## 1.17.1 - 2015-01-07
1024
- * 2 minor enhacements:
1025
- * Fixed dependencies for Ruby versions less than 1.9.3
1026
- * Added deauthorize method to Account object
1027
-
1028
- ## 1.17.0 - 2014-12-15
1029
- * 1 major enhacement:
1030
- * File uploads resource was added (for uploading pdf or image documents for disputes)
1031
-
1032
- ## 1.16.1 - 2014-12-19
1033
- * 2 minor enhancements:
1034
- * Ability to send idempotent requests
1035
- * Ability to specify stripe account as a header
1036
-
1037
- ## 1.16.0 - 2014-10-08
1038
- * 1 minor enhacement:
1039
- * Coupons now support update operations - useful for manipulating metadata
1040
-
1041
- ## 1.15.0 - 2014-07-26
1042
- * 1 major enhacement:
1043
- * Application Fee refunds now a list instead of array
1044
-
1045
- ## 1.14.0 - 2014-06-17
1046
- * 1 major enhancement:
1047
- * Add metadata for refunds and disputes
1048
-
1049
- ## 1.13.0 - 2014-05-28
1050
- * 1 major enhancement:
1051
- * Support for canceling transfers
1052
-
1053
- ## 1.12.0 - 2014-05-21
1054
- * 1 major enhancement:
1055
- * Support for cards for recipients
1056
-
1057
- ## 1.11.0 - 2014-04-09
1058
- * 2 minor enhancements:
1059
- * Update included ca bundles
1060
- * Implement certificate blacklisting
1061
-
1062
- ## 1.10.2 - 2014-02-18
1063
- * 1 minor enhancement:
1064
- * Add create_subscription on Customer resources, so you can create
1065
- subscriptions without needing to retrieve the customer first (github
1066
- issue #120)
1067
-
1068
- ## 1.10.1 - 2014-02-03
1069
- * 1 bugfix:
1070
- * Fix marshaling of StripeObjects
1071
-
1072
- ## 1.10.0 - 2014-01-29
1073
- * 2 major enhancements
1074
- * Support for multiple subscriptions per customer
1075
- * Testing ruby 2.1.0
1076
-
1077
- * 2 minor enhancements
1078
- * Replace multi_json with json
1079
- * Allow #save to take opts (for :expand)
1080
-
1081
- * 1 bugfix
1082
- * Fix #try and #respond_to? on StripeObjects
1083
-
1084
- ## 1.9.9 - 2013-12-02
1085
- * 1 major enhancement
1086
- * Add ApplicationFee resource
1087
-
1088
- ## 1.8.9 - 2013-11-14
1089
- * 2 bugfixes:
1090
- * Fix gemspec dependencies so the gem doesn't break for Ruby 1.8 users
1091
- * Fix api_resource_test to not use returns as a way of testing rescue behavior
1092
-
1093
- ## 1.8.8 - 2013-10-3
1094
- * 1 major enhancement
1095
- * Add support for metadata on resources
1096
-
1097
- ## 1.8.7 - 2013-08-18
1098
- * 1 minor enhancement
1099
- * Add support for closing disputes.
1100
-
1101
- ## 1.8.6 - 2013-08-13
1102
- * 1 major enhancement
1103
- * Add Balance and BalanceTransaction resources
1104
-
1105
- ## 1.8.5 - 2013-08-12
1106
- * 1 major enhancement
1107
- * Add support for unsetting attributes by setting to nil. This permits unsetting email and description on customers and description on charges. Setting properties to a blank string is now an error.
1108
- * Attempting to set an object's id is now an error
1109
-
1110
- ## 1.8.4 - 2013-07-11
1111
- * 1 major enhancement
1112
- * Add support for new cards API (Stripe API version - 2013-07-05)
1113
-
1114
- ## 1.8.3 - 2013-05-06
1115
- * 1 bugfix:
1116
- * Fix handling of per-call API keys (github issue #67)
1117
-
1118
- ## 1.8.2 - 2013-05-01
1119
- * 3 minor enhancements:
1120
- * Use to_sym instead of type checking for minor performance improvement (github issue #59)
1121
- * Handle low-memory situations without throwing an exception (github issue #61)
1122
- * Add an Customer#upcoming_invoice convenience method (github issue #65)
1123
-
1124
- * 1 bugfix:
1125
- * Allow updating resources without first retrieving them (github issue #60)
1126
-
1127
- ## 1.8.1 - 2013-04-19
1128
- * 1 minor enhancement:
1129
- * Add support for specifying an API key when retrieving an upcoming invoice
1130
-
1131
- ## 1.8.0 - 2013-04-11
1132
- * 1 major enhancement:
1133
- * Add new Recipient resource
1134
- * Allow Transfers to be createable
1135
-
1136
- ## 1.7.11 - 2013-02-21
1137
- * 1 minor enhancement
1138
- * Add 'id' to the list of permanent attributes
1139
-
1140
- ## 1.7.10 - 2013-02-01
1141
- * 1 major enhancement
1142
- * Add support for passing options when retrieving Stripe objects e.g., Stripe::Charge.retrieve({id:"foo", expand:["customer"]}) Stripe::Charge("foo") is still supported as well
1143
-
1144
- ## 1.7.9 - 2013-01-15
1145
- * 1 major enhancement
1146
- * Add support for setting a Stripe API version override.
1147
-
1148
- ## 1.7.8 - 2012-11-21
1149
- * 1 bugfix
1150
- * Relax the version constraint on multi_json (github issue #44)
1151
-
1152
- ## 1.7.7 - 2012-11-07
1153
- * 1 minor enhancement:
1154
- * Add support for updating charge disputes
1155
-
1156
- * 1 bugfix
1157
- * Fix Account API resource bug
1158
-
1159
- ## 1.7.6 - 2012-10-30
1160
- * 1 major enhancement
1161
- * Add support for creating invoices
1162
-
1163
- ## 1.7.5 - 2012-10-25
1164
- * 1 major enhancement
1165
- * Add support for new API lists
1166
-
1167
- ## 1.7.4 - 2012-10-08
1168
- * 1 bugfix
1169
- * Fix bug introduced in 1.7.3 calling API methods that take no
1170
- arguments, like Stripe::Invoice#pay (github issue #42)
1171
-
1172
- ## 1.7.3 - 2012-09-14
1173
- * 2 bugfixes
1174
- * Make sure that both keys and values of GET params are URL-encoded. NOTE: If you were previously URL-encoding values yourself, you may need to adjust your code.
1175
- * URL-encode POST params directly, instead of allowing rest-client to do it to work around an unfortunate interaction with the hashery gem (github issue #38)
1176
-
1177
- ## 1.7.2 - 2012-08-31
1178
- * 1 major enhancement
1179
- * Add support for new pay and update methods for Invoice objects
1180
-
1181
- ## 1.7.1 - 2012-08-15
1182
- * 1 major enhancement
1183
- * Add new Account API resource
1184
-
1185
- ## 1.7.0 - 2012-05-17
1186
- * 3 major enhancements:
1187
- * Switch from vendored stripe-json to multi_json for all JSON parsing and rendering. This should not impact programmatic usage of the library, but may cause small rendering differences from, e.g., StripeObject#inspect (github issue #22)
1188
- * Add new delete_discount method to Customer objects
1189
- * Add new Transfer API resource
1190
-
1191
- * 2 minor enhancements:
1192
- * Switch from HTTP Basic auth to Bearer auth (Note: Stripe will support Basic auth for the indefinite future, but recommends Bearer auth when possible going forward)
1193
- * Numerous test suite improvements
1194
-
1195
- ## 1.6.3 - 2012-03-22
1196
- * 1 bugfix:
1197
- * Encode GET query strings ourselves instead of using rest-client to work around a bug
1198
-
1199
- ## 1.6.2 - 2012-02-24
1200
- * 1 bugfix:
1201
- * Correct argument handling in StripeObject#as_json
1202
-
1203
- ## 1.6.1 - 2012-02-22
1204
- * 1 bugfix:
1205
- * Fix StripeObject#inspect when ActiveSupport 3.0 is loaded
1206
-
1207
- ## 1.6.0 - 2012-02-01
1208
- * A whole bunch of releases between 1.5.0 and 1.6.0, but few changes, mainly the addition of plans, coupons, events, and tokens
1209
- * 1.6.0 also contains a new inspect/to_string implementation
1210
-
1211
- ## 1.5.0 - 2011-05-09
1212
- * 1 major enhancement:
1213
- * Update for new RESTful API
1214
-
1215
- ## 1.3.4 - 2011-01-07
1216
- * 1 major enhancement:
1217
- * Rename to Stripe
1218
-
1219
- ## 1.2 - 2010-06-06
1220
- * 1 major enhancement:
1221
- * Support for the set_customer_subscription and delete_customer API methods
1222
-
1223
- ## 1.1 - 2010-03-14
1224
- * 1 major enhancement:
1225
- * Support for recurring billing
1226
-
1227
- ## 1.0 - 2010-01-05
1228
- * 1 major enhancement:
1229
- * Initial release
1230
-
1231
- <!--
1232
- # vim: set tw=0:
1233
- -->
77
+ * This is not a breaking change, as this method was deprecated before the Tax Transactions API was released in favor of the `create_from_calculation` method.
78
+ * [#1201](https://github.com/stripe/stripe-ruby/pull/1201) Update save deprecation message
79
+
80
+ ## 8.4.0 - 2023-03-23
81
+ * [#1197](https://github.com/stripe/stripe-ruby/pull/1197) Update generated code (new)
82
+ * Add support for new resources `Tax.CalculationLineItem`, `Tax.Calculation`, `Tax.TransactionLineItem`, and `Tax.Transaction`
83
+ * Add support for `create` and `list_line_items` methods on resource `Calculation`
84
+ * Add support for `create_from_calculation`, `create_reversal`, `create`, `list_line_items`, and `retrieve` methods on resource `Transaction`
85
+ * [#1152](https://github.com/stripe/stripe-ruby/pull/1152) Symbolize hash keys inside `convert_to_stripe_object_with_params`
86
+
87
+ ## 8.3.0 - 2023-02-16
88
+ * [#1175](https://github.com/stripe/stripe-ruby/pull/1175) API Updates
89
+ * Add support for `refund_payment` method on resource `Terminal.Reader`
90
+
91
+ ## 8.2.0 - 2023-02-02
92
+ * [#1173](https://github.com/stripe/stripe-ruby/pull/1173) API Updates
93
+ * Add support for `resume` method on resource `Subscription`
94
+ * [#1171](https://github.com/stripe/stripe-ruby/pull/1171) Remove unused `partial` param from `initialize_from`
95
+
96
+ ## 8.1.0 - 2023-01-12
97
+ * [#1162](https://github.com/stripe/stripe-ruby/pull/1162) Improve request events instrumentation
98
+
99
+ ## 8.0.0 - 2022-11-16
100
+ * [#1144](https://github.com/stripe/stripe-ruby/pull/1144) Next major release changes
101
+
102
+ Breaking changes that arose during code generation of the library that we postponed for the next major version. For changes to the Stripe products, read more at https://stripe.com/docs/upgrades#2022-11-15.
103
+
104
+ "⚠️" symbol highlights breaking changes.
105
+
106
+ ### Deprecated
107
+ - The `save` method is deprecated. Prefer the static `update` method that doesn't require retrieval of the resource to update it.
108
+ ``` ruby
109
+ # before
110
+ refund = Stripe::Refund.retrieve("re_123")
111
+ refund.description = "Refund description"
112
+ refund.save
113
+
114
+ # after
115
+ Stripe::Refund.update("re_123", description: "Refund description")
116
+ ```
117
+
118
+ ### ⚠️ Removed
119
+ - Removed deprecated `Sku` resource.
120
+ - Removed deprecated `Orders` resource.
121
+ - Removed deprecated `delete` method on `Subscription` resource. Please use `cancel` method instead.
122
+ ```ruby
123
+ # before
124
+ Stripe::Subscription::delete("sub_12345")
125
+
126
+ # after
127
+ Stripe::Subscription::cancel("sub_12345")
128
+ ```
129
+
130
+
131
+ ## 7.1.0 - 2022-08-19
132
+ * [#1116](https://github.com/stripe/stripe-ruby/pull/1116) API Updates
133
+ * Add support for new resource `CustomerCashBalanceTransaction`
134
+ * [#1118](https://github.com/stripe/stripe-ruby/pull/1118) Update AllowedChars in rubocop config
135
+ * [#1117](https://github.com/stripe/stripe-ruby/pull/1117) Refresh rubocop config.
136
+ * [#1115](https://github.com/stripe/stripe-ruby/pull/1115) Add a support section to the readme
137
+
138
+ ## 7.0.0 - 2022-08-02
139
+
140
+ Breaking changes that arose during code generation of the library that we postponed for the next major version. For changes to the SDK, read more detailed description at https://github.com/stripe/stripe-ruby/wiki/Migration-guide-for-v7. For changes to the Stripe products, read more at https://stripe.com/docs/upgrades#2022-08-01.
141
+
142
+ "⚠️" symbol highlights breaking changes.
143
+
144
+ * [#1106](https://github.com/stripe/stripe-ruby/pull/1106) API Updates
145
+ * [#1092](https://github.com/stripe/stripe-ruby/pull/1092) API Updates
146
+ * [#1090](https://github.com/stripe/stripe-ruby/pull/1090) Use auto-generation for `Invoice` methods
147
+ * [#1103](https://github.com/stripe/stripe-ruby/pull/1103) Next major release changes
148
+
149
+ ### ⚠️ Changed
150
+ * `retrieve_cash_balance` and `update_cash_balance` methods on `Customer` resource no longer requires the second argument to always be `nil`. The methods now now take in `customer_id`, `params`, and `opts` parameters.
151
+ * Update default bundle of CA certificates to April 26, 2022.
152
+
153
+ ### Deprecated
154
+ * Deprecate `delete` method on `Subscription` resource. Please use `cancel` method instead.
155
+
156
+ ### ⚠️ Removed
157
+ * Remove `details` method from `Issuing.Card` resource. The method was not supported.
158
+ * Remove `Issuing.CardDetails` resource. Read more at https://stripe.com/docs/issuing/cards/virtual.
159
+ * Remove `create` method from `ReportType` resource. The method was not supported.
160
+ * Remove `usage_record_summaries` method from `SubscriptionItem` resource. Please use `list_usage_record_summaries` method instead.
161
+ * Remove `AlipayAccount`, `BitcoinReceiver`, `BitcoinTransaction`, `Issuing::CardDetails`, `Recipient`, ` RecipientTransfer`, and `ThreeDSecure` resources. The resources were deprecated or no longer in use.
162
+ * Remove ability to list `Card` resource for a `Recipient`.
163
+ * Remove `cancel` method from `Transfer` resource. The method was deprecated.
164
+
165
+ ## 6.5.0 - 2022-06-29
166
+ * [#1084](https://github.com/stripe/stripe-ruby/pull/1084) API Updates
167
+ * Add support for `deliver_card`, `fail_card`, `return_card`, and `ship_card` test helper methods on resource `Issuing.Card`
168
+ * [#1076](https://github.com/stripe/stripe-ruby/pull/1076) fix: Update logging to coerce ASCII-8BIT into UTF-8.
169
+
170
+ ## 6.4.0 - 2022-06-17
171
+ * [#1073](https://github.com/stripe/stripe-ruby/pull/1073) API Updates
172
+ * Add support for `fund_cash_balance` test helper method on resource `Customer`
173
+ * [#1074](https://github.com/stripe/stripe-ruby/pull/1074) Support updating pre-release versions
174
+ * [#1072](https://github.com/stripe/stripe-ruby/pull/1072) Trigger workflows on beta branches
175
+ * [#1071](https://github.com/stripe/stripe-ruby/pull/1071) Use request_stripe_object for all requests
176
+ * [#1070](https://github.com/stripe/stripe-ruby/pull/1070) API Updates
177
+
178
+ Switch from using meta-programing to generating explicit methods for custom methods.
179
+ * [#1069](https://github.com/stripe/stripe-ruby/pull/1069) chore: Stop special implementation of Account.persons method.
180
+
181
+ ## 6.3.0 - 2022-06-08
182
+ * [#1063](https://github.com/stripe/stripe-ruby/pull/1063) fix: Update cash balance methods to no longer require nested ID.
183
+
184
+ ## 6.2.0 - 2022-05-23
185
+ * [#1060](https://github.com/stripe/stripe-ruby/pull/1060) API Updates
186
+ * Add support for new resource `Apps.Secret`
187
+
188
+ ## 6.1.0 - 2022-05-19
189
+ * [#1057](https://github.com/stripe/stripe-ruby/pull/1057) API Updates
190
+ * Add support for new resources `Treasury.CreditReversal`, `Treasury.DebitReversal`, `Treasury.FinancialAccountFeatures`, `Treasury.FinancialAccount`, `Treasury.FlowDetails`, `Treasury.InboundTransfer`, `Treasury.OutboundPayment`, `Treasury.OutboundTransfer`, `Treasury.ReceivedCredit`, `Treasury.ReceivedDebit`, `Treasury.TransactionEntry`, and `Treasury.Transaction`
191
+ * Add support for `retrieve_payment_method` method on resource `Customer`
192
+ * Add support for `list_owners` and `list` methods on resource `FinancialConnections.Account`
193
+
194
+
195
+
196
+ ## 6.0.0 - 2022-05-09
197
+ * [#1056](https://github.com/stripe/stripe-ruby/pull/1056) API Updates
198
+ Major version release. The [migration guide](https://github.com/stripe/stripe-ruby/wiki/Migration-Guide-for-v6) contains more information.
199
+
200
+ (⚠️ = breaking changes):
201
+ * ⚠️ Replace the legacy `Order` API with the new `Order` API.
202
+ * New methods: `cancel`, `list_line_items`, `reopen`, and `submit`
203
+ * Removed methods: `pay` and `return_order`
204
+ * Removed resources: `OrderItem` and `OrderReturn`
205
+ * ⚠️ Rename `FinancialConnections::Account.refresh` to `FinancialConnections::Account.refresh_account
206
+
207
+ ## 5.55.0 - 2022-05-05
208
+ * [#1055](https://github.com/stripe/stripe-ruby/pull/1055) API Updates
209
+ * Add support for new resources `FinancialConnections.AccountOwner`, `FinancialConnections.AccountOwnership`, `FinancialConnections.Account`, and `FinancialConnections.Session`
210
+
211
+
212
+ ## 5.54.0 - 2022-05-03
213
+ * [#1053](https://github.com/stripe/stripe-ruby/pull/1053) API Updates
214
+ * Add support for new resource `CashBalance`
215
+
216
+ ## 5.53.0 - 2022-04-21
217
+ * [#1050](https://github.com/stripe/stripe-ruby/pull/1050) API Updates
218
+ * Add support for `expire` test helper method on resource `Refund`
219
+
220
+ ## 5.52.0 - 2022-04-18
221
+ * [#1046](https://github.com/stripe/stripe-ruby/pull/1046) [#1047](https://github.com/stripe/stripe-ruby/pull/1047) API Updates
222
+ * Add support for new resources `FundingInstructions` and `Terminal.Configuration`
223
+
224
+ ## 5.51.0 - 2022-04-15
225
+ * [#1046](https://github.com/stripe/stripe-ruby/pull/1046) This release was incomplete and was yanked from RubyGems immediately after it was published.
226
+
227
+ ## 5.50.0 - 2022-04-13
228
+ * [#1045](https://github.com/stripe/stripe-ruby/pull/1045) API Updates
229
+ * Add support for `increment_authorization` method on resource `PaymentIntent`
230
+
231
+ ## 5.49.0 - 2022-04-08
232
+ * [#1043](https://github.com/stripe/stripe-ruby/pull/1043) API Updates
233
+ * Add support for `apply_customer_balance` method on resource `PaymentIntent`
234
+
235
+ ## 5.48.0 - 2022-03-30
236
+ * [#1041](https://github.com/stripe/stripe-ruby/pull/1041) API Updates
237
+ * Add support for `cancel_action`, `process_payment_intent`, `process_setup_intent`, and `set_reader_display` methods on resource `Terminal.Reader`
238
+
239
+ ## 5.47.0 - 2022-03-29
240
+ * [#1040](https://github.com/stripe/stripe-ruby/pull/1040) API Updates
241
+ * Add support for Search API
242
+ * Add support for `search` method on resources `Charge`, `Customer`, `Invoice`, `PaymentIntent`, `Price`, `Product`, and `Subscription`
243
+
244
+ * [#1034](https://github.com/stripe/stripe-ruby/pull/1034) Add supporting classes for test helper generation
245
+
246
+ ## 5.46.0 - 2022-03-23
247
+ * [#1039](https://github.com/stripe/stripe-ruby/pull/1039) API Updates
248
+ * Add support for `cancel` method on resource `Refund`
249
+ * [#992](https://github.com/stripe/stripe-ruby/pull/992) Add support for Search API
250
+
251
+ ## 5.45.0 - 2022-03-01
252
+ * [#1035](https://github.com/stripe/stripe-ruby/pull/1035) API Updates
253
+ * Add support for new resource `TestHelpers.TestClock`
254
+
255
+ ## 5.44.0 - 2022-02-16
256
+ * [#1032](https://github.com/stripe/stripe-ruby/pull/1032) API Updates
257
+ * Add support for `verify_microdeposits` method on resources `PaymentIntent` and `SetupIntent`
258
+
259
+ ## 5.43.0 - 2022-01-20
260
+ * [#1031](https://github.com/stripe/stripe-ruby/pull/1031) API Updates
261
+ * Add support for new resource `PaymentLink`
262
+
263
+ ## 5.42.0 - 2021-12-13
264
+ * [#1022](https://github.com/stripe/stripe-ruby/pull/1022) Add connection manager logging and include object IDs in logging.
265
+
266
+ ## 5.41.0 - 2021-11-16
267
+ * [#1017](https://github.com/stripe/stripe-ruby/pull/1017) API Updates
268
+ * Add support for new resource `ShippingRate`
269
+
270
+ ## 5.40.0 - 2021-11-11
271
+ * [#1015](https://github.com/stripe/stripe-ruby/pull/1015) API Updates
272
+ * Add support for `expire` method on resource `Checkout.Session`
273
+ * [#1013](https://github.com/stripe/stripe-ruby/pull/1013) Add tests for child resources.
274
+ * [#1012](https://github.com/stripe/stripe-ruby/pull/1012) Add tests for namespaced resources.
275
+ * [#1011](https://github.com/stripe/stripe-ruby/pull/1011) codegen: 3 more files
276
+
277
+ ## 5.39.0 - 2021-10-11
278
+ * [#1010](https://github.com/stripe/stripe-ruby/pull/1010) API Updates
279
+ * Add support for `list_payment_methods` method on resource `Customer`
280
+
281
+ ## 5.38.0 - 2021-08-10
282
+ * [#993](https://github.com/stripe/stripe-ruby/pull/993) Add `request_id` to RequestEndEvent
283
+ * [#991](https://github.com/stripe/stripe-ruby/pull/991) Codegen more files
284
+ * [#989](https://github.com/stripe/stripe-ruby/pull/989) Remove unused API error types from docs.
285
+
286
+ ## 5.37.0 - 2021-07-14
287
+ * [#988](https://github.com/stripe/stripe-ruby/pull/988) API Updates
288
+ * Add support for `list_computed_upfront_line_items` method on resource `Quote`
289
+
290
+ ## 5.36.0 - 2021-07-09
291
+ * [#987](https://github.com/stripe/stripe-ruby/pull/987) Add support for `Quote` API
292
+
293
+ ## 5.35.0 - 2021-06-30
294
+ * [#985](https://github.com/stripe/stripe-ruby/pull/985) Update normalize_opts to use dup instead of clone.
295
+ * [#982](https://github.com/stripe/stripe-ruby/pull/982) Deprecate travis
296
+ * [#983](https://github.com/stripe/stripe-ruby/pull/983) Add support for making a request and receiving the response as a stream.
297
+
298
+ ## 5.34.0 - 2021-06-04
299
+ * [#981](https://github.com/stripe/stripe-ruby/pull/981) API Updates
300
+ * Add support for `TaxCode` API.
301
+
302
+ ## 5.33.0 - 2021-05-19
303
+ * [#979](https://github.com/stripe/stripe-ruby/pull/979) Add support for the Identify VerificationSession and VerificationReport APIs
304
+
305
+ ## 5.32.1 - 2021-04-05
306
+ * Correct use of regexp `match` in gemspec for old versions of Ruby
307
+
308
+ ## 5.32.0 - 2021-04-05
309
+ * [#973](https://github.com/stripe/stripe-ruby/pull/973) Reduce packed gem size
310
+
311
+ ## 5.31.0 - 2021-04-02
312
+ * [#968](https://github.com/stripe/stripe-ruby/pull/968) Allow StripeClient to be configured per instance
313
+ * [#971](https://github.com/stripe/stripe-ruby/pull/971) On config change, only clear connection managers for changed config
314
+ * [#972](https://github.com/stripe/stripe-ruby/pull/972) Rename `Stripe.configuration` to `Stripe.config`
315
+ * [#970](https://github.com/stripe/stripe-ruby/pull/970) Reserve some critical field names when adding `StripeObject` accessors
316
+ * [#967](https://github.com/stripe/stripe-ruby/pull/967) CI: github actions
317
+
318
+ ## 5.30.0 - 2021-02-22
319
+ * [#965](https://github.com/stripe/stripe-ruby/pull/965) Add support for the Billing Portal Configuration API
320
+
321
+ ## 5.29.1 - 2021-02-09
322
+ * [#964](https://github.com/stripe/stripe-ruby/pull/964) Fix return value of `Customer#delete_discount`
323
+
324
+ ## 5.29.0 - 2021-01-05
325
+ * [#952](https://github.com/stripe/stripe-ruby/pull/952) Allow client_id configuration on instance config
326
+
327
+ ## 5.28.0 - 2020-10-14
328
+ * [#950](https://github.com/stripe/stripe-ruby/pull/950) Add configuration option for `write_timeout` for connections on Ruby 2.6+
329
+
330
+ ## 5.27.0 - 2020-10-14
331
+ * [#951](https://github.com/stripe/stripe-ruby/pull/951) Add support for the Payout Reverse API
332
+
333
+ ## 5.26.0 - 2020-09-29
334
+ * [#949](https://github.com/stripe/stripe-ruby/pull/949) Add support for the `SetupAttempt` resource and List API
335
+
336
+ ## 5.25.0 - 2020-09-02
337
+ * [#944](https://github.com/stripe/stripe-ruby/pull/944) Add support for the Issuing Dispute Submit API
338
+
339
+ ## 5.24.0 - 2020-08-26
340
+ * [#939](https://github.com/stripe/stripe-ruby/pull/939) Extract configurations into separate object
341
+ * [#940](https://github.com/stripe/stripe-ruby/pull/940) Fix typo in documentation of `stripe_object.rb`
342
+
343
+ ## 5.23.1 - 2020-08-05
344
+ * [#936](https://github.com/stripe/stripe-ruby/pull/936) Rename API resource's `request` method
345
+
346
+ ## 5.23.0 - 2020-08-05
347
+ * [#937](https://github.com/stripe/stripe-ruby/pull/937) Add support for the `PromotionCode` resource and APIs
348
+
349
+ ## 5.22.0 - 2020-05-11
350
+ * [#918](https://github.com/stripe/stripe-ruby/pull/918) Add support for the `LineItem` resource and APIs
351
+
352
+ ## 5.21.0 - 2020-04-29
353
+ * [#917](https://github.com/stripe/stripe-ruby/pull/917) Add support for the `Price` resource and APIs
354
+
355
+ ## 5.20.0 - 2020-04-27
356
+ * [#916](https://github.com/stripe/stripe-ruby/pull/916) Add new `.generate_header` method for webhooks
357
+
358
+ ## 5.19.0 - 2020-04-24
359
+ * [#915](https://github.com/stripe/stripe-ruby/pull/915) Expose `Stripe::Webhook.compute_signature` publicly
360
+
361
+ ## 5.18.0 - 2020-04-22
362
+ * [#911](https://github.com/stripe/stripe-ruby/pull/911) Add support for `BillingPortal` namespace and `Session` resource and APIs
363
+
364
+ ## 5.17.0 - 2020-02-26
365
+ * [#907](https://github.com/stripe/stripe-ruby/pull/907) Add `StripeError#idempotent_replayed?`
366
+
367
+ ## 5.16.0 - 2020-02-26
368
+ * [#906](https://github.com/stripe/stripe-ruby/pull/906) Add support for listing Checkout sessions
369
+ * [#903](https://github.com/stripe/stripe-ruby/pull/903) Upgrade to Rubocop 0.80
370
+
371
+ ## 5.15.0 - 2020-02-10
372
+ * [#902](https://github.com/stripe/stripe-ruby/pull/902) Add `request_begin` instrumentation callback
373
+
374
+ ## 5.14.0 - 2020-01-14
375
+ * [#896](https://github.com/stripe/stripe-ruby/pull/896) Add support for `CreditNoteLineItem`
376
+ * [#894](https://github.com/stripe/stripe-ruby/pull/894) Clean up test output by capturing `$stderr` when we expect warnings
377
+ * [#892](https://github.com/stripe/stripe-ruby/pull/892) Explicitly pass a parameter as hash to be more ruby 2.7 friendly
378
+ * [#893](https://github.com/stripe/stripe-ruby/pull/893) Upgrade Rubocop to 0.79
379
+
380
+ ## 5.13.0 - 2020-01-08
381
+ * [#891](https://github.com/stripe/stripe-ruby/pull/891) Fix most Ruby 2.7 warnings
382
+
383
+ ## 5.12.1 - 2020-01-06
384
+ * [#890](https://github.com/stripe/stripe-ruby/pull/890) Override API key with `client_secret` in `OAuth.token`
385
+
386
+ ## 5.12.0 - 2020-01-02
387
+ * [#889](https://github.com/stripe/stripe-ruby/pull/889) Add support for retrieve source transaction API method
388
+
389
+ ## 5.11.0 - 2019-11-26
390
+ * [#885](https://github.com/stripe/stripe-ruby/pull/885) Add support for `CreditNote` preview
391
+
392
+ ## 5.10.0 - 2019-11-08
393
+ * [#882](https://github.com/stripe/stripe-ruby/pull/882) Add list_usage_record_summaries and list_source_transactions
394
+
395
+ ## 5.9.0 - 2019-11-07
396
+ * [#870](https://github.com/stripe/stripe-ruby/pull/870) Add request instrumentation callback (see `README.md` for usage example)
397
+
398
+ ## 5.8.0 - 2019-11-05
399
+ * [#879](https://github.com/stripe/stripe-ruby/pull/879) Add support for `Mandate`
400
+ * [#876](https://github.com/stripe/stripe-ruby/pull/876) Add additional per-request configuration documentation
401
+ * [#874](https://github.com/stripe/stripe-ruby/pull/874) Raise an error when requests params are invalid
402
+ * [#873](https://github.com/stripe/stripe-ruby/pull/873) Contributor Covenant
403
+
404
+ ## 5.7.1 - 2019-10-15
405
+ * [#869](https://github.com/stripe/stripe-ruby/pull/869) Fixes the misnamed `connection_base=` setter to be named `connect_base=`
406
+
407
+ ## 5.7.0 - 2019-10-10
408
+ * [#865](https://github.com/stripe/stripe-ruby/pull/865) Support backwards pagination with list's `#auto_paging_each`
409
+
410
+ ## 5.6.0 - 2019-10-04
411
+ * [#861](https://github.com/stripe/stripe-ruby/pull/861) Nicer error when specifying non-nil non-string opt value
412
+
413
+ ## 5.5.0 - 2019-10-03
414
+ * [#859](https://github.com/stripe/stripe-ruby/pull/859) User-friendly messages and retries for `EOFError`, `Errno::ECONNRESET`, `Errno::ETIMEDOUT`, and `Errno::EHOSTUNREACH` network errors
415
+
416
+ ## 5.4.1 - 2019-10-01
417
+ * [#858](https://github.com/stripe/stripe-ruby/pull/858) Drop Timecop dependency
418
+
419
+ ## 5.4.0 - 2019-10-01
420
+ * [#857](https://github.com/stripe/stripe-ruby/pull/857) Move to monotonic time for duration calculations
421
+
422
+ ## 5.3.0 - 2019-10-01
423
+ * [#853](https://github.com/stripe/stripe-ruby/pull/853) Support `Stripe-Should-Retry` header
424
+
425
+ ## 5.2.0 - 2019-09-19
426
+ * [#851](https://github.com/stripe/stripe-ruby/pull/851) Introduce system for garbage collecting connection managers
427
+
428
+ ## 5.1.1 - 2019-09-04
429
+ * [#845](https://github.com/stripe/stripe-ruby/pull/845) Transfer the request_id from the http_headers to error.
430
+
431
+ ## 5.1.0 - 2019-08-27
432
+ * [#841](https://github.com/stripe/stripe-ruby/pull/841) Retry requests on a 429 that's a lock timeout
433
+
434
+ ## 5.0.1 - 2019-08-20
435
+ * [#836](https://github.com/stripe/stripe-ruby/pull/836) Increase connection keep alive timeout to 30 seconds
436
+
437
+ ## 5.0.0 - 2019-08-20
438
+ Major version release. The [migration guide](https://github.com/stripe/stripe-ruby/wiki/Migration-guide-for-v5) contains a detailed list of backwards-incompatible changes with upgrade instructions.
439
+
440
+ Pull requests included in this release (cf. [#815](https://github.com/stripe/stripe-ruby/pull/815)) (⚠️ = breaking changes):
441
+ * ⚠️ [#813](https://github.com/stripe/stripe-ruby/pull/813): Convert library to use built-in `Net::HTTP`
442
+ * ⚠️ [#816](https://github.com/stripe/stripe-ruby/pull/816): Make `code` argument in `CardError` named instead of positional.
443
+ * ⚠️ [#817](https://github.com/stripe/stripe-ruby/pull/817): Drop support for very old Ruby versions.
444
+ * [#818](https://github.com/stripe/stripe-ruby/pull/818): Bump Rubocop to latest version
445
+ * [#819](https://github.com/stripe/stripe-ruby/pull/819): Ruby minimum version increase followup
446
+ * ⚠️ [#820](https://github.com/stripe/stripe-ruby/pull/820): Remove old deprecated methods
447
+ * ⚠️ [#823](https://github.com/stripe/stripe-ruby/pull/823): Remove all alias for list methods
448
+ * ⚠️ [#826](https://github.com/stripe/stripe-ruby/pull/826): Remove `UsageRecord.create` method
449
+ * ⚠️ [#827](https://github.com/stripe/stripe-ruby/pull/827): Remove `IssuerFraudRecord`
450
+ * [#811](https://github.com/stripe/stripe-ruby/pull/811): Add `ErrorObject` to `StripeError` exceptions
451
+ * [#828](https://github.com/stripe/stripe-ruby/pull/828): Tweak retry logic to be a little more like stripe-node
452
+ * [#829](https://github.com/stripe/stripe-ruby/pull/829): Reset connections when connection-changing configuration changes (optional)
453
+ * [#830](https://github.com/stripe/stripe-ruby/pull/830): Fix inverted sign for 500 retries
454
+ * ⚠️[#831](https://github.com/stripe/stripe-ruby/pull/831): Remove a few more very old deprecated methods
455
+ * [#832](https://github.com/stripe/stripe-ruby/pull/832): Minor cleanup in `StripeClient`
456
+ * [#833](https://github.com/stripe/stripe-ruby/pull/833): Do better bookkeeping when tracking state in `Thread.current`
457
+ * [#834](https://github.com/stripe/stripe-ruby/pull/834): Add `Invoice.list_upcoming_line_items` method
458
+
459
+ ## 4.24.0 - 2019-08-12
460
+ * [#825](https://github.com/stripe/stripe-ruby/pull/825) Add `SubscriptionItem.create_usage_record` method
461
+ - This release also removed the `SubscriptionSchedule.revisions` method. This should have been included in the previous release (4.23.0)
462
+
463
+ ## 4.23.0 - 2019-08-09
464
+ * [#824](https://github.com/stripe/stripe-ruby/pull/824) Remove SubscriptionScheduleRevision
465
+ - This is technically a breaking change. We've chosen to release it as a minor vesion bump because the associated API is unused.
466
+
467
+ ## 4.22.1 - 2019-08-09
468
+ * [#808](https://github.com/stripe/stripe-ruby/pull/808) Unify request/response handling
469
+
470
+ ## 4.22.0 - 2019-07-30
471
+ * [#821](https://github.com/stripe/stripe-ruby/pull/821) Listing `BalanceTransaction` objects now uses `/v1/balance_transactions` instead of `/v1/balance/history`
472
+
473
+ ## 4.21.3 - 2019-07-15
474
+ * [#810](https://github.com/stripe/stripe-ruby/pull/810) Better error message when passing non-string to custom method
475
+
476
+ ## 4.21.2 - 2019-07-05
477
+ * [#806](https://github.com/stripe/stripe-ruby/pull/806) Revert back to `initialize_from` from `Util.convert_to_stripe_object`
478
+
479
+ ## 4.21.1 - 2019-07-04
480
+ * [#807](https://github.com/stripe/stripe-ruby/pull/807) Add gem metadata
481
+
482
+ ## 4.21.0 - 2019-06-28
483
+ * [#803](https://github.com/stripe/stripe-ruby/pull/803) Add support for the `SetupIntent` resource and APIs
484
+
485
+ ## 4.20.1 - 2019-06-28
486
+ * [#805](https://github.com/stripe/stripe-ruby/pull/805) Fix formatting in `ConnectionFailed` error message
487
+
488
+ ## 4.20.0 - 2019-06-24
489
+ * [#800](https://github.com/stripe/stripe-ruby/pull/800) Enable request latency telemetry by default
490
+
491
+ ## 4.19.0 - 2019-06-17
492
+ * [#770](https://github.com/stripe/stripe-ruby/pull/770) Add support for `CustomerBalanceTransaction` resource and APIs
493
+
494
+ ## 4.18.1 - 2019-05-27
495
+ * [#789](https://github.com/stripe/stripe-ruby/pull/789) Allow `Order#pay` to be called without arguments
496
+
497
+ ## 4.18.0 - 2019-05-23
498
+ * [#783](https://github.com/stripe/stripe-ruby/pull/783) Add support for `radar.early_fraud_warning` resource
499
+
500
+ ## 4.17.0 - 2019-05-14
501
+ * [#779](https://github.com/stripe/stripe-ruby/pull/779) Add support for the Capability resource and APIs
502
+
503
+ ## 4.16.0 - 2019-04-24
504
+ * [#760](https://github.com/stripe/stripe-ruby/pull/760) Add support for the `TaxRate` resource and APIs
505
+
506
+ ## 4.15.0 - 2019-04-22
507
+ * [#762](https://github.com/stripe/stripe-ruby/pull/762) Add support for the `TaxId` resource and APIs
508
+
509
+ ## 4.14.0 - 2019-04-18
510
+ * [#758](https://github.com/stripe/stripe-ruby/pull/758) Add support for the `CreditNote` resource and APIs
511
+
512
+ ## 4.13.0 - 2019-04-16
513
+ * [#766](https://github.com/stripe/stripe-ruby/pull/766) Relax constraints on objects that we'll accept as a file (now they just need to respond to `#read`)
514
+
515
+ ## 4.12.0 - 2019-04-02
516
+ * [#752](https://github.com/stripe/stripe-ruby/pull/752) Add `.delete` class method on deletable API resources
517
+ * [#754](https://github.com/stripe/stripe-ruby/pull/754) Add class methods for all custom API requests (e.g. `Charge.capture`)
518
+
519
+ ## 4.11.0 - 2019-03-26
520
+ * [#753](https://github.com/stripe/stripe-ruby/pull/753) Add a global proxy configuration parameter
521
+
522
+ ## 4.10.0 - 2019-03-18
523
+ * [#745](https://github.com/stripe/stripe-ruby/pull/745) Add support for the `PaymentMethod` resource and APIs
524
+ * [#747](https://github.com/stripe/stripe-ruby/pull/747) Add support for retrieving a Checkout `Session`
525
+ * [#748](https://github.com/stripe/stripe-ruby/pull/748) Add support for deleting a Terminal `Location` and `Reader`
526
+
527
+ ## 4.9.1 - 2019-03-18
528
+ * [#750](https://github.com/stripe/stripe-ruby/pull/750) Catch error and warn if unable to remove a method
529
+
530
+ ## 4.9.0 - 2019-02-12
531
+ * [#739](https://github.com/stripe/stripe-ruby/pull/739) Add support for `SubscriptionSchedule` and `SubscriptionScheduleRevision`
532
+
533
+ ## 4.8.1 - 2019-02-11
534
+ * [#743](https://github.com/stripe/stripe-ruby/pull/743) Fix bug in file uploading introduced in #741
535
+
536
+ ## 4.8.0 - 2019-02-03
537
+ * [#741](https://github.com/stripe/stripe-ruby/pull/741) Use `FaradayStripeEncoder` to encode all parameter styles
538
+
539
+ ## 4.7.1 - 2019-02-01
540
+ * [#740](https://github.com/stripe/stripe-ruby/pull/740) Fix query encoding for integer-indexed maps
541
+
542
+ ## 4.7.0 - 2019-01-23
543
+ * [#735](https://github.com/stripe/stripe-ruby/pull/735) Rename `CheckoutSession` to `Session` and move it under the `Checkout` namespace. This is a breaking change, but we've reached out to affected merchants and all new merchants would use the new approach.
544
+
545
+ ## 4.6.0 - 2019-01-21
546
+ * [#736](https://github.com/stripe/stripe-ruby/pull/736) Properly serialize `individual` on `Account` objects
547
+
548
+ ## 4.5.0 - 2019-01-02
549
+ * [#719](https://github.com/stripe/stripe-ruby/pull/719) Generate OAuth authorize URLs for Express accounts as well as standard
550
+
551
+ ## 4.4.1 - 2018-12-31
552
+ * [#718](https://github.com/stripe/stripe-ruby/pull/718) Fix an error message typo
553
+
554
+ ## 4.4.0 - 2018-12-21
555
+ * [#716](https://github.com/stripe/stripe-ruby/pull/716) Add support for the `CheckoutSession` resource
556
+
557
+ ## 4.3.0 - 2018-12-10
558
+ * [#711](https://github.com/stripe/stripe-ruby/pull/711) Add support for account links
559
+
560
+ ## 4.2.0 - 2018-11-28
561
+ * [#705](https://github.com/stripe/stripe-ruby/pull/705) Add support for the `Review` APIs
562
+
563
+ ## 4.1.0 - 2018-11-27
564
+ * [#695](https://github.com/stripe/stripe-ruby/pull/695) Add support for `ValueList` and `ValueListItem` for Radar
565
+
566
+ ## 4.0.3 - 2018-11-19
567
+ * [#703](https://github.com/stripe/stripe-ruby/pull/703) Don't use `Net::HTTP::Persistent` on Windows where it's not well supported
568
+
569
+ ## 4.0.2 - 2018-11-16
570
+ * [#701](https://github.com/stripe/stripe-ruby/pull/701) Require minimum Faraday 0.13 for proper support of persistent connections
571
+
572
+ ## 4.0.1 - 2018-11-15
573
+ * [#699](https://github.com/stripe/stripe-ruby/pull/699) Only send telemetry if `Request-Id` was present in the response
574
+
575
+ ## 4.0.0 - 2018-11-15
576
+ * [#698](https://github.com/stripe/stripe-ruby/pull/698) Use persistent connections by default through `Net::HTTP::Persistent`
577
+ * [#698](https://github.com/stripe/stripe-ruby/pull/698) Drop support for Ruby 2.0 (which we consider a breaking change here)
578
+
579
+ ## 3.31.1 - 2018-11-12
580
+ * [#697](https://github.com/stripe/stripe-ruby/pull/697) Send telemetry in milliseconds specifically
581
+
582
+ ## 3.31.0 - 2018-11-12
583
+ * [#696](https://github.com/stripe/stripe-ruby/pull/696) Add configurable telemetry to gather information on client-side request latency
584
+
585
+ ## 3.30.0 - 2018-11-08
586
+ * [#693](https://github.com/stripe/stripe-ruby/pull/693) Add new API endpoints for the `Invoice` resource.
587
+
588
+ ## 3.29.0 - 2018-10-30
589
+ * [#692](https://github.com/stripe/stripe-ruby/pull/692) Add support for the `Person` resource
590
+ * [#694](https://github.com/stripe/stripe-ruby/pull/694) Add support for the `WebhookEndpoint` resource
591
+
592
+ ## 3.28.0 - 2018-09-24
593
+ * [#690](https://github.com/stripe/stripe-ruby/pull/690) Add support for Stripe Terminal
594
+
595
+ ## 3.27.0 - 2018-09-24
596
+ * [#689](https://github.com/stripe/stripe-ruby/pull/689) Rename `FileUpload` to `File`
597
+
598
+ ## 3.26.1 - 2018-09-14
599
+ * [#688](https://github.com/stripe/stripe-ruby/pull/688) Fix hash equality on `StripeObject`
600
+
601
+ ## 3.26.0 - 2018-09-05
602
+ * [#681](https://github.com/stripe/stripe-ruby/pull/681) Add support for reporting resources
603
+
604
+ ## 3.25.0 - 2018-08-28
605
+ * [#678](https://github.com/stripe/stripe-ruby/pull/678) Allow payment intent `#cancel`, `#capture`, and `#confirm` to take their own parameters
606
+
607
+ ## 3.24.0 - 2018-08-27
608
+ * [#675](https://github.com/stripe/stripe-ruby/pull/675) Remove support for `BitcoinReceiver` write-actions
609
+
610
+ ## 3.23.0 - 2018-08-23
611
+ * [#676](https://github.com/stripe/stripe-ruby/pull/676) Add support for usage record summaries
612
+
613
+ ## 3.22.0 - 2018-08-15
614
+ * [#674](https://github.com/stripe/stripe-ruby/pull/674) Use integer-indexed encoding for all arrays
615
+
616
+ ## 3.21.0 - 2018-08-03
617
+ * [#671](https://github.com/stripe/stripe-ruby/pull/671) Add cancel support for topups
618
+
619
+ ## 3.20.0 - 2018-08-03
620
+ * [#669](https://github.com/stripe/stripe-ruby/pull/669) Add support for file links
621
+
622
+ ## 3.19.0 - 2018-07-27
623
+ * [#666](https://github.com/stripe/stripe-ruby/pull/666) Add support for scheduled query runs (`Stripe::Sigma::ScheduledQueryRun`) for Sigma
624
+
625
+ ## 3.18.0 - 2018-07-26
626
+ * [#665](https://github.com/stripe/stripe-ruby/pull/665) Add support for Stripe Issuing
627
+
628
+ ## 3.17.2 - 2018-07-19
629
+ * [#664](https://github.com/stripe/stripe-ruby/pull/664) Don't colorize log output being sent to a configured logger
630
+
631
+ ## 3.17.1 - 2018-07-19
632
+ * [#663](https://github.com/stripe/stripe-ruby/pull/663) Internal improvements to `ApiResource.class_url`
633
+
634
+ ## 3.17.0 - 2018-06-28
635
+ * [#658](https://github.com/stripe/stripe-ruby/pull/658) Add support for `partner_id` from `Stripe.set_app_info`
636
+
637
+ ## 3.16.0 - 2018-06-28
638
+ * [#657](https://github.com/stripe/stripe-ruby/pull/657) Add support for payment intents
639
+
640
+ ## 3.15.0 - 2018-05-10
641
+ * [#649](https://github.com/stripe/stripe-ruby/pull/649) Freeze all string literals
642
+
643
+ ## 3.14.0 - 2018-05-09
644
+ * [#645](https://github.com/stripe/stripe-ruby/pull/645) Add support for issuer fraud records
645
+
646
+ ## 3.13.1 - 2018-05-07
647
+ * [#647](https://github.com/stripe/stripe-ruby/pull/647) Merge query parameters coming from path with `params` argument
648
+
649
+ ## 3.13.0 - 2018-04-11
650
+ * [#498](https://github.com/stripe/stripe-ruby/pull/498) Add support for flexible billing primitives
651
+
652
+ ## 3.12.1 - 2018-04-05
653
+ * [#636](https://github.com/stripe/stripe-ruby/pull/636) Fix a warning for uninitialized instance variable `@additive_params`
654
+
655
+ ## 3.12.0 - 2018-04-05
656
+ * [#632](https://github.com/stripe/stripe-ruby/pull/632) Introduce `additive_object_param` so that non-`metadata` subobjects don't zero their keys as they're being replaced
657
+
658
+ ## 3.11.0 - 2018-02-26
659
+ * [#628](https://github.com/stripe/stripe-ruby/pull/628) Add support for `code` attribute on all Stripe exceptions
660
+
661
+ ## 3.10.0 - 2018-02-21
662
+ * [#627](https://github.com/stripe/stripe-ruby/pull/627) Add support for topups
663
+
664
+ ## 3.9.2 - 2018-02-12
665
+ * [#625](https://github.com/stripe/stripe-ruby/pull/625) Skip calling `to_hash` for `nil`
666
+
667
+ ## 3.9.1 - 2017-12-15
668
+ * [#616](https://github.com/stripe/stripe-ruby/pull/616) Support all file-like objects for uploads with duck typed checks on `path` and `read` (we previously whitelisted only certain classes)
669
+
670
+ ## 3.9.0 - 2017-12-08
671
+ * [#613](https://github.com/stripe/stripe-ruby/pull/613) Introduce new `IdempotencyError` type for idempotency-specific failures
672
+
673
+ ## 3.8.2 - 2017-12-07
674
+ * [#612](https://github.com/stripe/stripe-ruby/pull/612) Fix integer-indexed array encoding when sent as query parameter (subscription items can now be used when fetching an upcoming invoice)
675
+
676
+ ## 3.8.1 - 2017-12-06
677
+ * [#611](https://github.com/stripe/stripe-ruby/pull/611) Support `Tempfile` (as well as `File`) in file uploads
678
+
679
+ ## 3.8.0 - 2017-10-31
680
+ * [#606](https://github.com/stripe/stripe-ruby/pull/606) Support for exchange rates APIs
681
+
682
+ ## 3.7.0 - 2017-10-26
683
+ * [#603](https://github.com/stripe/stripe-ruby/pull/603) Support for listing source transactions
684
+
685
+ ## 3.6.0 - 2017-10-17
686
+ * [#597](https://github.com/stripe/stripe-ruby/pull/597) Add static methods to manipulate resources from parent
687
+ * `Account` gains methods for external accounts and login links (e.g. `.create_account`, `create_login_link`)
688
+ * `ApplicationFee` gains methods for refunds
689
+ * `Customer` gains methods for sources
690
+ * `Transfer` gains methods for reversals
691
+
692
+ ## 3.5.3 - 2017-10-16
693
+ * [#594](https://github.com/stripe/stripe-ruby/pull/594) Make sure that `StripeObject`'s `#deep_copy` maintains original class
694
+ * [#595](https://github.com/stripe/stripe-ruby/pull/595) Allow `Object#method` to be called on `StripeObject` even if it conflicts with an accessor
695
+ * [#596](https://github.com/stripe/stripe-ruby/pull/596) Encode arrays as integer-indexed hashes where appropriate
696
+ * [#598](https://github.com/stripe/stripe-ruby/pull/598) Don't persist `idempotency_key` opt between requests
697
+
698
+ ## 3.5.2 - 2017-10-13
699
+ * [#592](https://github.com/stripe/stripe-ruby/pull/592) Bring back `Marshal.dump/load` support with custom marshal encoder/decoder
700
+
701
+ ## 3.5.1 - 2017-10-12
702
+ * [#591](https://github.com/stripe/stripe-ruby/pull/591) Use thread-local `StripeClient` instances for thread safety
703
+
704
+ ## 3.5.0 - 2017-10-11
705
+ * [#589](https://github.com/stripe/stripe-ruby/pull/589) Rename source `delete` to `detach` (and deprecate the former)
706
+
707
+ ## 3.4.1 - 2017-10-05
708
+ * [#586](https://github.com/stripe/stripe-ruby/pull/586) Log query strings as well as form bodies with STRIPE_LOG
709
+ * [#588](https://github.com/stripe/stripe-ruby/pull/588) Require minimum Faraday 0.10 for bug fix in parameter encoding
710
+
711
+ ## 3.4.0 - 2017-09-20
712
+ * Mark legacy Bitcoin API as deprecated, and remove corresponding tests
713
+ * Mark recipients API as deprecated, and remove recipient card tests
714
+
715
+ ## 3.3.2 - 2017-09-20
716
+ * Correct minimum required Ruby version in gemspec (it's 2.0.0)
717
+
718
+ ## 3.3.1 - 2017-08-18
719
+ * Only parse webhook payload after verification to decrease likelihood of
720
+ attack
721
+
722
+ ## 3.3.0 - 2017-08-11
723
+ * Add support for standard library logger interface with `Stripe.logger`
724
+ * Error logs now go to stderr if using `Stripe.log_level`/`STRIPE_LOG`
725
+ * `Stripe.log_level`/`STRIPE_LOG` now support `Stipe::LEVEL_ERROR`
726
+
727
+ ## 3.2.0 - 2017-08-03
728
+ * Add logging for request retry account and `Stripe-Account` header
729
+
730
+ ## 3.1.0 - 2017-08-03
731
+ * Implement request logging with `Stripe.log_level` and `STRIPE_LOG`
732
+
733
+ ## 3.0.3 - 2017-07-28
734
+ * Revert `nil` to empty string coercion from 3.0.2
735
+ * Handle `invalid_client` OAuth error code
736
+ * Improve safety of error handling logic safer for unrecognized OAuth error codes
737
+
738
+ ## 3.0.2 - 2017-07-12
739
+ **Important:** This version is non-functional and has been yanked in favor of 3.0.3.
740
+ * Convert `nil` to empty string when serializing parameters (instead of opaquely dropping it) -- NOTE: this change has since been reverted
741
+
742
+ ## 3.0.1 - 2017-07-11
743
+ * Properties set with an API resource will now serialize that resource's ID if possible
744
+ * API resources will throw an ArgumentError on save if a property has been with an API resource that cannot be serialized
745
+
746
+ ## 3.0.0 - 2017-06-27
747
+ * `#pay` on invoice now takes params as well as opts
748
+
749
+ ## 2.12.0 - 2017-06-20
750
+ * Add support for ephemeral keys
751
+
752
+ ## 2.11.0 - 2017-05-26
753
+ * Warn when keys that look like opts are included as parameters
754
+
755
+ ## 2.10.0 - 2017-05-25
756
+ * Add support for account login links
757
+
758
+ ## 2.9.0 - 2017-05-18
759
+ * Support for OAuth operations in `Stripe::OAuth`
760
+
761
+ ## 2.8.0 - 2017-04-28
762
+ * Support for checking webhook signatures
763
+
764
+ ## 2.7.0 - 2017-04-26
765
+ * Add model `InvoiceLineItem`
766
+
767
+ ## 2.6.0 - 2017-04-26
768
+ * Add `OBJECT_NAME` constants to all API resources
769
+
770
+ ## 2.5.0 - 2017-04-24
771
+ * Make `opts` argument in `Util.convert_to_stripe_object` optional
772
+
773
+ ## 2.4.0 - 2017-04-18
774
+ * Add `Stripe.set_app_info` for use by plugin creators
775
+
776
+ ## 2.3.0 - 2017-04-14
777
+ * Add question mark accessor when assigning boolean value to undefined field
778
+
779
+ ## 2.2.1 - 2017-04-07
780
+ * Declare minimum required Faraday as 0.9
781
+
782
+ ## 2.2.0 - 2017-04-06
783
+ * Add support for payouts and recipient transfers
784
+
785
+ ## 2.1.0 - 2017-03-17
786
+ * Support for detaching sources from customers
787
+
788
+ ## 2.0.3 - 2017-03-16
789
+ * Fix marshalling of `StripeObjects` that have an embedded client
790
+
791
+ ## 2.0.2 - 2017-03-16
792
+ * Fix bad field reference when recovering from a JSON parsing problem
793
+
794
+ ## 2.0.1 - 2017-02-22
795
+ * Fix multipart parameter encoding to repair broken file uploads
796
+
797
+ ## 2.0.0 - 2017-02-14
798
+ * Drop support for Ruby 1.9
799
+ * Allow HTTP client that makes Stripe calls to be configured via Faraday
800
+ * Drop RestClient
801
+ * Switch to OpenAPI 2.0 spec and generated fixtures in test suite
802
+ * Switch to Webmock in test suite
803
+
804
+ ## 1.58.0 - 2017-01-19
805
+ * Remove erroneously added list methods for `Source` model
806
+
807
+ ## 1.57.1 - 2016-11-28
808
+ * Disallow sending protected fields along with API resource `.update`
809
+
810
+ ## 1.57.0 - 2016-11-21
811
+ * Add retrieve method for 3-D Secure resources
812
+
813
+ ## 1.56.2 - 2016-11-17
814
+ * Improve `StripeObject`'s `#to_s` to better handle how embedded objects are displayed
815
+
816
+ ## 1.56.1 - 2016-11-09
817
+ * Fix (fairly serious) memory like in `StripeObject`
818
+
819
+ ## 1.56.0 - 2016-10-24
820
+ * Add accessors for new fields added in `#update_attributes`
821
+ * Handle multi-plan subscriptions through new subscription items
822
+ * Handle 403 status codes from the API
823
+
824
+ ## 1.55.1 - 2016-10-24
825
+ Identical to 1.56.0 above. I incorrectly cut a patch-level release.
826
+
827
+ ## 1.55.0 - 2016-09-15
828
+ * Add support for Apple Pay domains
829
+
830
+ ## 1.54.0 - 2016-09-01
831
+ * Whitelist errors that should be retried; scope to known socket and HTTP errors
832
+
833
+ ## 1.53.0 - 2016-08-31
834
+ * Relax version constraint on rest-client (and by extension mime-types) for users on Ruby 2+
835
+
836
+ ## 1.52.0 - 2016-08-30
837
+ * Make sure `Subscription`'s `source` is saved with its parent
838
+
839
+ ## 1.51.1 - 2016-08-30
840
+ * Make sure `Account`'s `external_account` is saved with its parent
841
+
842
+ ## 1.51.0 - 2016-08-26
843
+ * Error when an array of maps is detected that cannot be accurately encoded
844
+ * Start using strings for header names instead of symbols for better clarity
845
+
846
+ ## 1.50.1 - 2016-08-25
847
+ * Fix encoding of arrays of maps where maps unequal sets of keys
848
+
849
+ ## 1.50.0 - 2016-08-15
850
+ * Allow sources to be created
851
+
852
+ ## 1.49.0 - 2016-07-28
853
+ * Add top-level `Source` model
854
+
855
+ ## 1.48.0 - 2016-07-12
856
+ * Add `ThreeDSecure` model for 3-D secure payments
857
+
858
+ ## 1.47.0 - 2016-07-11
859
+ * Allow rest-client version 2.0+ to be used with the gem
860
+
861
+ ## 1.46.0 - 2016-07-07
862
+ * Allow retry when a 409 conflict is encountered
863
+
864
+ ## 1.45.0 - 2016-07-07
865
+ * Do not send subresources when updating except when explicitly told to do so (see #433)
866
+
867
+ ## 1.44.0 - 2016-06-29
868
+ * Add `update` class method to all resources that can be updated
869
+
870
+ ## 1.43.1 - 2016-06-17
871
+ * Fix type of resource returned from `Order#return_order`
872
+
873
+ ## 1.43.0 - 2016-05-20
874
+ * Allow Relay orders to be returned and add associated types
875
+ * Support Alipay account retrieval and deletion
876
+
877
+ ## 1.42.0 - 2016-05-04
878
+ * Add support for the new /v1/subscriptions endpoint (retrieve, list, create, update, and delete)
879
+
880
+ ## 1.41.0 - 2016-04-13
881
+ * Add global `stripe_account` option that adds a `Stripe-Account` header to all requests
882
+
883
+ ## 1.40.0 - 2016-04-06
884
+ * Fix bug that omitted subresources from serialization
885
+
886
+ ## 1.39.0 - 2016-03-31
887
+ * Update CA cert bundle for compatibility with OpenSSL versions below 1.0.1
888
+
889
+ ## 1.38.0 - 2016-03-18
890
+ * Allow `opts` to be passed to an API resource's `#save` method
891
+
892
+ ## 1.37.0 - 2016-03-14
893
+ * Add `Account#reject` to support the new API feature
894
+
895
+ ## 1.36.2 - 2016-03-14
896
+ * Fix reference to non-existent `#url` in `ListObject`
897
+
898
+ ## 1.36.1 - 2016-03-04
899
+ * Fix serialization when subhash given to `#save` or `#update_attributes`
900
+
901
+ ## 1.36.0 - 2016-02-08
902
+ * Add `CountrySpec` model for looking up country payment information
903
+
904
+ ## 1.35.1 - 2016-02-03
905
+ * Add compatibility layer for old API versions on `Charge#refund`
906
+
907
+ ## 1.35.0 - 2016-02-01
908
+ * Allow CA cert bundle location to be configured
909
+ * Updated bundled CA certs
910
+
911
+ ## 1.34.0 - 2016-01-25
912
+ * Add support for deleting products and SKUs
913
+
914
+ ## 1.33.1 - 2016-01-21
915
+ * Pass through arguments of `Charge#refund`
916
+
917
+ ## 1.33.0 - 2016-01-19
918
+ * Re-implement `Charge#refund` helper to use the modern endpoint suggested by docs
919
+
920
+ ## 1.32.1 - 2016-01-07
921
+ * Fix bug where ivar left uninitialized in StripeObject could error on serialization
922
+ * Fix bug where a nil customer from API could error Bitcoin model on refresh
923
+
924
+ ## 1.32.0 - 2016-01-05
925
+ * Add configuration to optionally retry network failures
926
+ * Use modern API endpoint for producing application fee refunds
927
+
928
+ ## 1.31.0 - 2015-10-29
929
+ * Add BankAccount#verify convenience method
930
+
931
+ ## 1.30.3 - 2015-10-28
932
+ * Fix bug where arrays that were not `additional_owners` were not properly encoded for requests
933
+
934
+ ## 1.30.2 - 2015-10-12
935
+ * Fix bug where `opts` didn't properly propagate to descendant `StripeObjects`
936
+
937
+ ## 1.30.1 - 2015-10-10
938
+ * Fix bug that prevent lists of hashes from being URI-encoded properly
939
+ * Fix bug where filter conditions were not making it past the first instantiated `ListObject`
940
+
941
+ ## 1.30.0 - 2015-10-09
942
+ * Add `StripeObject#deleted?` for a reliable way to check whether an object is alive
943
+ * Deprecate `StripeObject#refresh_from`
944
+ * New parameter encoding scheme that doesn't use `URI.escape`
945
+
946
+ ## 1.29.1 - 2015-10-06
947
+ * Fix bug where ampersands were not being properly encoded
948
+
949
+ ## 1.29.0 - 2015-10-05
950
+ * Add pagination helpers `#auto_paging_each`, `#previous_page`, and `#next_page`
951
+
952
+ ## 1.28.1 - 2015-10-05
953
+ * Fix URI being referenced by file upload resources
954
+
955
+ ## 1.28.0 - 2015-10-05
956
+ * Make StripeObject's #save "upsert"-like; creates an object if new
957
+ * Add #update_attributes to StripeObject for safe mass assignment
958
+ * Properly mass assign attributes on calls to #save
959
+ * Add question mark helpers for boolean fields (e.g. #paid? as well as old #paid)
960
+ * Fix a bug that broke the API for StripeObject initialization
961
+ * Remove use of deprecated URI.escape
962
+
963
+ ## 1.27.2 - 2015-09-25
964
+ * Correct the URLs used to fetch Bitcoin transactions.
965
+
966
+ ## 1.27.1 - 2015-09-20
967
+ * Use hash rockets for backwards compatibility.
968
+
969
+ ## 1.27.0 - 2015-09-14
970
+ * Add Orders, Products, and SKUs for Relay
971
+
972
+ ## 1.26.0 - 2015-09-11
973
+ * Add support for 429 Rate Limited response
974
+
975
+ ## 1.25.0 - 2015-08-17
976
+ * Added support for refund listing and retrieval without an associated charge
977
+
978
+ ## 1.24.0 - 2015-08-03
979
+ * Added support for deleting managed accounts
980
+ * Added support for dispute listing and retrieval
981
+ * Bugfix: token objects now are the correct class
982
+
983
+ ## 1.23.0 - 2015-07-06
984
+ * Added request IDs and HTTP headers to errors
985
+
986
+ ## 1.22.0 - 2015-06-10
987
+ * Added support for bank accounts and debit cards in managed accounts (via the `external_accounts` param)
988
+
989
+ ## 1.21.0 - 2015-04-14
990
+ * Remove TLS cert revocation check (all pre-heartbleed certs have expired)
991
+ * Bugfix: don't unset keys when they don't exist on StripeObject
992
+
993
+ ## 1.20.4 - 2015-03-26
994
+ * Raise an error when explicitly passing nil as the API key on resource methods
995
+ * Fix error when passing an API key to Balance.retrieve (github issue #232)
996
+
997
+ ## 1.20.3 - 2015-03-13
998
+ * Fixed error when updating certain resources (github issue #224)
999
+
1000
+ ## 1.20.2 - 2015-03-10
1001
+ * Added support for updating nested hashes besides `metadata` (which was already supported)
1002
+ * Fixed bug in balance retrieval
1003
+
1004
+ ## 1.20.1 - 2015-02-26
1005
+ * Updated Card to point to customer sources endpoint when customer property is set
1006
+
1007
+ ## 1.20.0 - 2015-02-19
1008
+ * Added Update & Delete operations to Bitcoin Receivers
1009
+
1010
+ ## 1.19.1 - 2015-02-18
1011
+ * Fixed fetching upcoming invoice/paying invoice methods
1012
+
1013
+ ## 1.19.0 - 2015-02-15
1014
+ * Support for new Transfers /reversals endpoint
1015
+ * Account retrieval now optionally accepts an account ID
1016
+ * Better support for passing custom headers, like Stripe-Account, through requests
1017
+
1018
+ ## 1.18.0 - 2015-01-21
1019
+ * 1 major enhancement:
1020
+ * Added support for making bitcoin charges through BitcoinReceiver source object
1021
+
1022
+ ## 1.17.3 - 2015-01-12
1023
+ * 1 bugfix:
1024
+ * Fixed API key propagation for ApplicationFee#refund
1025
+
1026
+ ## 1.17.2 - 2015-01-08
1027
+ * 1 bugfix:
1028
+ * Fixed API key propagation for child resources
1029
+
1030
+ ## 1.17.1 - 2015-01-07
1031
+ * 2 minor enhacements:
1032
+ * Fixed dependencies for Ruby versions less than 1.9.3
1033
+ * Added deauthorize method to Account object
1034
+
1035
+ ## 1.17.0 - 2014-12-15
1036
+ * 1 major enhacement:
1037
+ * File uploads resource was added (for uploading pdf or image documents for disputes)
1038
+
1039
+ ## 1.16.1 - 2014-12-19
1040
+ * 2 minor enhancements:
1041
+ * Ability to send idempotent requests
1042
+ * Ability to specify stripe account as a header
1043
+
1044
+ ## 1.16.0 - 2014-10-08
1045
+ * 1 minor enhacement:
1046
+ * Coupons now support update operations - useful for manipulating metadata
1047
+
1048
+ ## 1.15.0 - 2014-07-26
1049
+ * 1 major enhacement:
1050
+ * Application Fee refunds now a list instead of array
1051
+
1052
+ ## 1.14.0 - 2014-06-17
1053
+ * 1 major enhancement:
1054
+ * Add metadata for refunds and disputes
1055
+
1056
+ ## 1.13.0 - 2014-05-28
1057
+ * 1 major enhancement:
1058
+ * Support for canceling transfers
1059
+
1060
+ ## 1.12.0 - 2014-05-21
1061
+ * 1 major enhancement:
1062
+ * Support for cards for recipients
1063
+
1064
+ ## 1.11.0 - 2014-04-09
1065
+ * 2 minor enhancements:
1066
+ * Update included ca bundles
1067
+ * Implement certificate blacklisting
1068
+
1069
+ ## 1.10.2 - 2014-02-18
1070
+ * 1 minor enhancement:
1071
+ * Add create_subscription on Customer resources, so you can create
1072
+ subscriptions without needing to retrieve the customer first (github
1073
+ issue #120)
1074
+
1075
+ ## 1.10.1 - 2014-02-03
1076
+ * 1 bugfix:
1077
+ * Fix marshaling of StripeObjects
1078
+
1079
+ ## 1.10.0 - 2014-01-29
1080
+ * 2 major enhancements
1081
+ * Support for multiple subscriptions per customer
1082
+ * Testing ruby 2.1.0
1083
+
1084
+ * 2 minor enhancements
1085
+ * Replace multi_json with json
1086
+ * Allow #save to take opts (for :expand)
1087
+
1088
+ * 1 bugfix
1089
+ * Fix #try and #respond_to? on StripeObjects
1090
+
1091
+ ## 1.9.9 - 2013-12-02
1092
+ * 1 major enhancement
1093
+ * Add ApplicationFee resource
1094
+
1095
+ ## 1.8.9 - 2013-11-14
1096
+ * 2 bugfixes:
1097
+ * Fix gemspec dependencies so the gem doesn't break for Ruby 1.8 users
1098
+ * Fix api_resource_test to not use returns as a way of testing rescue behavior
1099
+
1100
+ ## 1.8.8 - 2013-10-3
1101
+ * 1 major enhancement
1102
+ * Add support for metadata on resources
1103
+
1104
+ ## 1.8.7 - 2013-08-18
1105
+ * 1 minor enhancement
1106
+ * Add support for closing disputes.
1107
+
1108
+ ## 1.8.6 - 2013-08-13
1109
+ * 1 major enhancement
1110
+ * Add Balance and BalanceTransaction resources
1111
+
1112
+ ## 1.8.5 - 2013-08-12
1113
+ * 1 major enhancement
1114
+ * Add support for unsetting attributes by setting to nil. This permits unsetting email and description on customers and description on charges. Setting properties to a blank string is now an error.
1115
+ * Attempting to set an object's id is now an error
1116
+
1117
+ ## 1.8.4 - 2013-07-11
1118
+ * 1 major enhancement
1119
+ * Add support for new cards API (Stripe API version - 2013-07-05)
1120
+
1121
+ ## 1.8.3 - 2013-05-06
1122
+ * 1 bugfix:
1123
+ * Fix handling of per-call API keys (github issue #67)
1124
+
1125
+ ## 1.8.2 - 2013-05-01
1126
+ * 3 minor enhancements:
1127
+ * Use to_sym instead of type checking for minor performance improvement (github issue #59)
1128
+ * Handle low-memory situations without throwing an exception (github issue #61)
1129
+ * Add an Customer#upcoming_invoice convenience method (github issue #65)
1130
+
1131
+ * 1 bugfix:
1132
+ * Allow updating resources without first retrieving them (github issue #60)
1133
+
1134
+ ## 1.8.1 - 2013-04-19
1135
+ * 1 minor enhancement:
1136
+ * Add support for specifying an API key when retrieving an upcoming invoice
1137
+
1138
+ ## 1.8.0 - 2013-04-11
1139
+ * 1 major enhancement:
1140
+ * Add new Recipient resource
1141
+ * Allow Transfers to be createable
1142
+
1143
+ ## 1.7.11 - 2013-02-21
1144
+ * 1 minor enhancement
1145
+ * Add 'id' to the list of permanent attributes
1146
+
1147
+ ## 1.7.10 - 2013-02-01
1148
+ * 1 major enhancement
1149
+ * Add support for passing options when retrieving Stripe objects e.g., Stripe::Charge.retrieve({id:"foo", expand:["customer"]}) Stripe::Charge("foo") is still supported as well
1150
+
1151
+ ## 1.7.9 - 2013-01-15
1152
+ * 1 major enhancement
1153
+ * Add support for setting a Stripe API version override.
1154
+
1155
+ ## 1.7.8 - 2012-11-21
1156
+ * 1 bugfix
1157
+ * Relax the version constraint on multi_json (github issue #44)
1158
+
1159
+ ## 1.7.7 - 2012-11-07
1160
+ * 1 minor enhancement:
1161
+ * Add support for updating charge disputes
1162
+
1163
+ * 1 bugfix
1164
+ * Fix Account API resource bug
1165
+
1166
+ ## 1.7.6 - 2012-10-30
1167
+ * 1 major enhancement
1168
+ * Add support for creating invoices
1169
+
1170
+ ## 1.7.5 - 2012-10-25
1171
+ * 1 major enhancement
1172
+ * Add support for new API lists
1173
+
1174
+ ## 1.7.4 - 2012-10-08
1175
+ * 1 bugfix
1176
+ * Fix bug introduced in 1.7.3 calling API methods that take no
1177
+ arguments, like Stripe::Invoice#pay (github issue #42)
1178
+
1179
+ ## 1.7.3 - 2012-09-14
1180
+ * 2 bugfixes
1181
+ * Make sure that both keys and values of GET params are URL-encoded. NOTE: If you were previously URL-encoding values yourself, you may need to adjust your code.
1182
+ * URL-encode POST params directly, instead of allowing rest-client to do it to work around an unfortunate interaction with the hashery gem (github issue #38)
1183
+
1184
+ ## 1.7.2 - 2012-08-31
1185
+ * 1 major enhancement
1186
+ * Add support for new pay and update methods for Invoice objects
1187
+
1188
+ ## 1.7.1 - 2012-08-15
1189
+ * 1 major enhancement
1190
+ * Add new Account API resource
1191
+
1192
+ ## 1.7.0 - 2012-05-17
1193
+ * 3 major enhancements:
1194
+ * Switch from vendored stripe-json to multi_json for all JSON parsing and rendering. This should not impact programmatic usage of the library, but may cause small rendering differences from, e.g., StripeObject#inspect (github issue #22)
1195
+ * Add new delete_discount method to Customer objects
1196
+ * Add new Transfer API resource
1197
+
1198
+ * 2 minor enhancements:
1199
+ * Switch from HTTP Basic auth to Bearer auth (Note: Stripe will support Basic auth for the indefinite future, but recommends Bearer auth when possible going forward)
1200
+ * Numerous test suite improvements
1201
+
1202
+ ## 1.6.3 - 2012-03-22
1203
+ * 1 bugfix:
1204
+ * Encode GET query strings ourselves instead of using rest-client to work around a bug
1205
+
1206
+ ## 1.6.2 - 2012-02-24
1207
+ * 1 bugfix:
1208
+ * Correct argument handling in StripeObject#as_json
1209
+
1210
+ ## 1.6.1 - 2012-02-22
1211
+ * 1 bugfix:
1212
+ * Fix StripeObject#inspect when ActiveSupport 3.0 is loaded
1213
+
1214
+ ## 1.6.0 - 2012-02-01
1215
+ * A whole bunch of releases between 1.5.0 and 1.6.0, but few changes, mainly the addition of plans, coupons, events, and tokens
1216
+ * 1.6.0 also contains a new inspect/to_string implementation
1217
+
1218
+ ## 1.5.0 - 2011-05-09
1219
+ * 1 major enhancement:
1220
+ * Update for new RESTful API
1221
+
1222
+ ## 1.3.4 - 2011-01-07
1223
+ * 1 major enhancement:
1224
+ * Rename to Stripe
1225
+
1226
+ ## 1.2 - 2010-06-06
1227
+ * 1 major enhancement:
1228
+ * Support for the set_customer_subscription and delete_customer API methods
1229
+
1230
+ ## 1.1 - 2010-03-14
1231
+ * 1 major enhancement:
1232
+ * Support for recurring billing
1233
+
1234
+ ## 1.0 - 2010-01-05
1235
+ * 1 major enhancement:
1236
+ * Initial release
1237
+
1238
+ <!--
1239
+ # vim: set tw=0:
1240
+ -->