|
1 | 1 | # Changelog |
2 | 2 | ## 15.2.1 - 2025-06-04 |
3 | 3 | * [#1617](https://github.com/stripe/stripe-ruby/pull/1617) Fix `nil` requestor in `Webhook.construct_event` to allow for event data refresh |
4 | | - * Fix bug where `Event` constructed from `Webhook.construct_event` could not be refreshed due to a `nil` APIRequestor |
| 4 | + * Fix bug where `Event` constructed from `Webhook.construct_event` could not be refreshed due to a `nil` APIRequestor |
5 | 5 | * Raised in https://github.com/stripe/stripe-ruby/issues/1616 |
6 | 6 |
|
7 | 7 | ## 15.2.0 - 2025-05-29 |
|
82 | 82 | * Adds explicit field types for resources and parameters for methods, and add RBI static annotations for all resources and services |
83 | 83 |  |
84 | 84 | * See [the wiki](https://github.com/stripe/stripe-ruby/wiki/Static-Type-Annotations) for more details |
85 | | - |
| 85 | + |
86 | 86 | * [#1543](https://github.com/stripe/stripe-ruby/pull/1543) Support for APIs in the new API version 2025-03-31.basil |
87 | 87 |
|
88 | 88 | This release changes the pinned API version to `2025-03-31.basil`. |
89 | | - |
| 89 | + |
90 | 90 | ### ⚠️ Breaking changes due to changes in the Stripe API |
91 | 91 |
|
92 | 92 | Please review details for the breaking changes and alternatives in the [Stripe API changelog](https://docs.stripe.com/changelog/basil) before upgrading. |
93 | | - |
| 93 | + |
94 | 94 | * Remove support for resources `SubscriptionItemUsageRecordSummary` and `SubscriptionItemUsageRecord` |
95 | 95 | * Remove support for `create` method on resource `SubscriptionItemUsageRecord` |
96 | 96 | * Remove support for `list` method on resource `SubscriptionItemUsageRecordSummary` |
|
100 | 100 | * [#1553](https://github.com/stripe/stripe-ruby/pull/1553) Remove public idempotent_replayed? method |
101 | 101 | * ⚠️ Remove the `idempotent_replayed?` method on `StripeError` |
102 | 102 | * The information is accessible indirectly via the raw response headers, `StripeResponse.http_headers`. For example, use `resource.last_response.http_headers['Idempotent-Replayed']` |
103 | | - |
| 103 | + |
104 | 104 | ### Additions to the Stripe API |
105 | | - |
| 105 | + |
106 | 106 | * Add support for new resource `InvoicePayment` |
107 | 107 | * Add support for `list` and `retrieve` methods on resource `InvoicePayment` |
108 | | - |
| 108 | + |
109 | 109 |
|
110 | 110 | ## 13.5.0 - 2025-02-24 |
111 | 111 | * [#1534](https://github.com/stripe/stripe-ruby/pull/1534) Update generated code |
112 | | - * Fixed `Stripe::InvoiceLineItem.update` method. |
| 112 | + * Fixed `Stripe::InvoiceLineItem.update` method. |
113 | 113 | * [#1536](https://github.com/stripe/stripe-ruby/pull/1536) Fix InvoiceLineItem parent class |
114 | 114 | * Fix bug where `Stripe::InvoiceLineItem` had the incorrect parent class, making it error when `update` was called |
115 | 115 | * [#1533](https://github.com/stripe/stripe-ruby/pull/1533) add codeowners file |
|
138 | 138 | * [#1500](https://github.com/stripe/stripe-ruby/pull/1500) This release changes the pinned API version to `2024-12-18.acacia`. |
139 | 139 |
|
140 | 140 | * [#1507](https://github.com/stripe/stripe-ruby/pull/1507) Pass requestor to all deserialized objects including lists |
141 | | - |
| 141 | + |
142 | 142 | * Fixes bug where `StripeObject` retrieved from lists could not be used to make requests, such as `refresh` |
143 | 143 |
|
144 | 144 | ## 13.2.0 - 2024-11-20 |
|
161 | 161 |
|
162 | 162 | ## 13.0.2 - 2024-10-23 |
163 | 163 | * [#1473](https://github.com/stripe/stripe-ruby/pull/1473) Always return the result of APIResource#refresh in APIResource.retrieve |
164 | | - |
| 164 | + |
165 | 165 | * Fix bug where we would not return the mutated `self` object when calling `APIResource.retrieve` |
166 | 166 |
|
167 | 167 | ## 13.0.1 - 2024-10-18 |
168 | 168 | * [#1471](https://github.com/stripe/stripe-ruby/pull/1471) update object tags for meter-related classes |
169 | | - |
| 169 | + |
170 | 170 | - fixes a bug where the `object` property of the `MeterEvent`, `MeterEventAdjustment`, and `MeterEventSession` didn't match the server. |
171 | 171 | * [#1470](https://github.com/stripe/stripe-ruby/pull/1470) Cleaned up examples and added documentation |
172 | 172 |
|
173 | 173 | ## 13.0.0 - 2024-10-01 |
174 | 174 | * [#1458](https://github.com/stripe/stripe-ruby/pull/1458) Support for APIs in the new API version 2024-09-30.acacia |
175 | | - |
176 | | - This release changes the pinned API version to `2024-09-30.acacia`. Please read the [API Upgrade Guide](https://stripe.com/docs/upgrades#2024-09-30.acacia) and carefully review the API changes before upgrading. |
177 | | - |
178 | | - ### ⚠️ Breaking changes |
179 | | - |
| 175 | +
|
| 176 | + This release changes the pinned API version to `2024-09-30.acacia`. Please read the [API Changelog](https://docs.stripe.com/changelog/acacia#2024-09-30.acacia) and carefully review the API changes before upgrading. |
| 177 | +
|
| 178 | + ### ⚠️ Breaking changes |
| 179 | +
|
180 | 180 | Please refer to our [migration guide for v13](https://github.com/stripe/stripe-ruby/wiki/Migration-guide-for-v13) for more information about the backwards incompatible changes. |
181 | | - |
| 181 | +
|
182 | 182 | #### ❗ `StripeClient` and related changes |
183 | 183 | * Move `StripeClient` and requestor logic to `APIRequestor`. |
184 | 184 | * `StripeClient#request` is still available, but is deprecated and will be removed. We encourage `StripeClient#raw_request` as a replacement (see other breaking changes for more detail). |
185 | 185 | * Repurpose and introduce `StripeClient` as the the entry-point to the service-based pattern, a new interface for calling the Stripe API with many benefits over the existing resource-based paradigm. Services are available under the `v1` and `v2` accessors. |
186 | 186 | * No global config: you can simultaneously use multiple clients with different configuration options (such as API keys) |
187 | 187 | * No extra API calls. All API endpoints can be accessed with a single method call. You don't have to call `retrieve` before doing an `update`. |
188 | 188 | * No static methods. Much easier mocking. |
189 | | - |
| 189 | + |
190 | 190 | #### Other breaking changes |
191 | | - |
| 191 | + |
192 | 192 | * Adjust default values around retries for HTTP requests. You can use the old defaults by setting them explicitly. New values are: |
193 | 193 | - max retries: `0` -> `2` |
194 | 194 | - max retry delay (seconds) `2` -> `5` |
195 | 195 | * Remove `StripeClient#connection_manager`. This was a legacy method from years ago. |
196 | | - * Singleton `retrieve` method now requires `params` to be passed as the first argument. Existing calls to singleton `retrieve` method with only `opts` argument will have to be updated to account for the addition of `params` argument. |
| 196 | + * Singleton `retrieve` method now requires `params` to be passed as the first argument. Existing calls to singleton `retrieve` method with only `opts` argument will have to be updated to account for the addition of `params` argument. |
197 | 197 | ```ruby |
198 | 198 | params = { expand: ["available"] } |
199 | 199 | opts = { stripe_account: "acct_123" } |
200 | | - |
| 200 | +
|
201 | 201 | # ❌ No longer works |
202 | 202 | Stripe::Balance.retrieve(opts) |
203 | | - |
| 203 | +
|
204 | 204 | # ✅ Correct way to call retrieve method |
205 | 205 | Stripe::Balance.retrieve(params, opts) |
206 | 206 | ``` |
|
209 | 209 | ```ruby |
210 | 210 | # Instead of |
211 | 211 | Stripe::APIResource.request(:get, "/v1/endpoint", params, opts) |
212 | | - |
| 212 | +
|
213 | 213 | # do |
214 | 214 | client = Stripe::StripeClient.new(...) |
215 | 215 | resp = client.raw_request(:get, "/v1/endpoint", params: params, opts: opts) |
|
225 | 225 | # Before |
226 | 226 | obj, api_key = StripeClient.execute_request(method, path, api_base: nil, |
227 | 227 | api_key: nil, headers: {}, params: {}, usage: []) |
228 | | - |
| 228 | +
|
229 | 229 | # is now, with base_address being one of [:api, :files, :connect, :meter_events] |
230 | | - |
| 230 | +
|
231 | 231 | obj, opts = APIRequestor.execute_request(method, path, base_address, |
232 | 232 | params: {}, opts: {}, usage: []) |
233 | 233 | puts(opts) # will output {api_key: "sk_test_123", stripe_account: "acct_123"} |
234 | 234 | ``` |
235 | | - |
236 | | - |
| 235 | + |
| 236 | + |
237 | 237 | ### Additions |
238 | 238 | * Add support for new Usage Billing APIs `Billing.MeterEvent`, `Billing.MeterEventAdjustments`, `Billing.MeterEventSession`, `Billing.MeterEventStream` and the new Events API `Core.Events` in the [v2 namespace ](https://docs.corp.stripe.com/api-v2-overview) |
239 | | - * Add method `parse_thin_event()` on the `StripeClient` class to parse [thin events](https://docs.corp.stripe.com/event-destinations#events-overview). |
| 239 | + * Add method `parse_thin_event()` on the `StripeClient` class to parse [thin events](https://docs.corp.stripe.com/event-destinations#events-overview). |
240 | 240 |
|
241 | 241 |
|
242 | 242 | ## 12.6.0 - 2024-09-12 |
|
264 | 264 |
|
265 | 265 | * [#1433](https://github.com/stripe/stripe-ruby/pull/1433) Add usage to raw_request call |
266 | 266 | * [#1431](https://github.com/stripe/stripe-ruby/pull/1431) Add `raw_request` |
267 | | - |
| 267 | + |
268 | 268 | - Adds the ability to make raw requests to the Stripe API, by providing an HTTP method and url. This is an alternative to using `Stripe::APIResource.request(...)` to make custom requests, which is discouraged and will be broken in a future major version. |
269 | 269 |
|
270 | 270 | ## 12.1.0 - 2024-07-05 |
271 | 271 | * [#1425](https://github.com/stripe/stripe-ruby/pull/1425) Update generated code |
272 | 272 | * Add support for `add_lines`, `remove_lines`, and `update_lines` methods on resource `Invoice` |
273 | 273 | * [#1420](https://github.com/stripe/stripe-ruby/pull/1420) Update static methods for delete/list on BankAccount/Card to throw NotImplementedError |
274 | | - * The below methods have been throwing `InvalidRequestError` because the urls used to make the requests have been buggy. Updating them to throw `NotImplementedError` instead just like their counterparts for update & retrieve because they cannot be implemented without the parent id. |
275 | | - |
| 274 | + * The below methods have been throwing `InvalidRequestError` because the urls used to make the requests have been buggy. Updating them to throw `NotImplementedError` instead just like their counterparts for update & retrieve because they cannot be implemented without the parent id. |
| 275 | + |
276 | 276 | Methods affected | Use these instead in the context of payment method | Use these in the context of external accounts |
277 | 277 | ------ | ------ | ---- |
278 | 278 | Stripe:: BankAccount.delete | Stripe::Customer.delete_source | Stripe::Account.delete_external_account |
|
284 | 284 |
|
285 | 285 | ## 12.0.0 - 2024-06-24 |
286 | 286 | * [#1418](https://github.com/stripe/stripe-ruby/pull/1418) Add missing static method for verify on BankAccount |
287 | | -* [#1419](https://github.com/stripe/stripe-ruby/pull/1419) |
288 | | - |
289 | | - This release changes the pinned API version to 2024-06-20. Please read the [API Upgrade Guide](https://stripe.com/docs/upgrades#2024-06-20) and carefully review the API changes before upgrading. |
| 287 | +* [#1419](https://github.com/stripe/stripe-ruby/pull/1419) |
| 288 | + |
| 289 | + This release changes the pinned API version to 2024-06-20. Please read the [API Changelog](https://docs.stripe.com/changelog/2024-06-20) and carefully review the API changes before upgrading. |
290 | 290 |
|
291 | 291 | ### Additions |
292 | | - |
| 292 | + |
293 | 293 | * Add support for `finalize_amount` test helper method on resource `Issuing.Authorization` |
294 | 294 |
|
295 | 295 | ## 11.7.0 - 2024-06-13 |
|
329 | 329 | ## 11.0.0 - 2024-04-10 |
330 | 330 | * [#1374](https://github.com/stripe/stripe-ruby/pull/1374) |
331 | 331 |
|
332 | | - * This release changes the pinned API version to `2024-04-10`. Please read the [API Upgrade Guide](https://stripe.com/docs/upgrades#2024-04-10) and carefully review the API changes before upgrading. |
| 332 | + * This release changes the pinned API version to `2024-04-10`. Please read the [API Changelog](https://docs.stripe.com/changelog/2024-04-10) and carefully review the API changes before upgrading. |
333 | 333 |
|
334 | 334 | ### ⚠️ Breaking changes |
335 | 335 |
|
|
439 | 439 | * Add support for `create`, `list`, and `update` methods on resource `Registration` |
440 | 440 |
|
441 | 441 | ## 10.0.0 - 2023-10-16 |
442 | | -* This release changes the pinned API version to `2023-10-16`. Please read the [API Upgrade Guide](https://stripe.com/docs/upgrades#2023-10-16) and carefully review the API changes before upgrading `stripe-ruby`. |
| 442 | +* This release changes the pinned API version to `2023-10-16`. Please read the [API Changelog](https://docs.stripe.com/changelog/2023-10-16) and carefully review the API changes before upgrading `stripe-ruby`. |
443 | 443 | * [#1283](https://github.com/stripe/stripe-ruby/pull/1283) Update generated code |
444 | 444 | - Updated pinned API version |
445 | 445 | * [#1281](https://github.com/stripe/stripe-ruby/pull/1281) Update generated code |
|
563 | 563 | ## 8.0.0 - 2022-11-16 |
564 | 564 | * [#1144](https://github.com/stripe/stripe-ruby/pull/1144) Next major release changes |
565 | 565 |
|
566 | | -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. |
| 566 | +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://docs.stripe.com/changelog/2022-11-15. |
567 | 567 |
|
568 | 568 | "⚠️" symbol highlights breaking changes. |
569 | 569 |
|
@@ -601,7 +601,7 @@ Breaking changes that arose during code generation of the library that we postpo |
601 | 601 |
|
602 | 602 | ## 7.0.0 - 2022-08-02 |
603 | 603 |
|
604 | | -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. |
| 604 | +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://docs.stripe.com/changelog/2022-08-01. |
605 | 605 |
|
606 | 606 | "⚠️" symbol highlights breaking changes. |
607 | 607 |
|
|
0 commit comments