mirror of
https://github.com/stripe/stripe-ruby.git
synced 2025-10-09 00:03:05 -04:00
Bump version to 13.0.0
This commit is contained in:
parent
2a9407b085
commit
540c7f7d88
87
CHANGELOG.md
87
CHANGELOG.md
@ -1,4 +1,73 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
## 13.0.0 - 2024-10-01
|
||||||
|
* [#1458](https://github.com/stripe/stripe-ruby/pull/1458) Support for APIs in the new API version 2024-09-30.acacia
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
### ⚠️ Breaking changes
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
#### ❗ `StripeClient` and related changes
|
||||||
|
* Move `StripeClient` and requestor logic to `APIRequestor`.
|
||||||
|
* `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).
|
||||||
|
* 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.
|
||||||
|
* No global config: you can simultaneously use multiple clients with different configuration options (such as API keys)
|
||||||
|
* 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`.
|
||||||
|
* No static methods. Much easier mocking.
|
||||||
|
|
||||||
|
#### Other breaking changes
|
||||||
|
|
||||||
|
* Adjust default values around retries for HTTP requests. You can use the old defaults by setting them explicitly. New values are:
|
||||||
|
- max retries: `0` -> `2`
|
||||||
|
- max retry delay (seconds) `2` -> `5`
|
||||||
|
* Remove `StripeClient#connection_manager`. This was a legacy method from years ago.
|
||||||
|
* 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.
|
||||||
|
```ruby
|
||||||
|
params = { expand: ["available"] }
|
||||||
|
opts = { stripe_account: "acct_123" }
|
||||||
|
|
||||||
|
# ❌ No longer works
|
||||||
|
Stripe::Balance.retrieve(opts)
|
||||||
|
|
||||||
|
# ✅ Correct way to call retrieve method
|
||||||
|
Stripe::Balance.retrieve(params, opts)
|
||||||
|
```
|
||||||
|
* Moved the `Stripe.raw_request()` method that was recently added to `StripeClient`. This will use the configuration set on the StripeClient instead of the global configuration used before.
|
||||||
|
* Remove `APIResource.request`. Instead, use `StripeClient#raw_request` now.
|
||||||
|
```ruby
|
||||||
|
# Instead of
|
||||||
|
Stripe::APIResource.request(:get, "/v1/endpoint", params, opts)
|
||||||
|
|
||||||
|
# do
|
||||||
|
client = Stripe::StripeClient.new(...)
|
||||||
|
resp = client.raw_request(:get, "/v1/endpoint", params: params, opts: opts)
|
||||||
|
```
|
||||||
|
* Add an additional parameter to `APIResource.execute_resource_request`. However, we discourage use of this in favor of `StripeClient#raw_request`.
|
||||||
|
```ruby
|
||||||
|
APIResource.execute_resource_request(method, url, params = {}, opts = {}, usage = [])
|
||||||
|
# is now, with base_address being one of [:api, :files, :connect, :meter_events]
|
||||||
|
APIResource.execute_resource_request(method, url, base_address = :api, params = {}, opts = {}, usage = [])
|
||||||
|
```
|
||||||
|
* Change parameters to `APIRequestor.execute_request` (previously `StripeClient.execute_request`). It now returns all request options from our internal request framework as the second value in the returned tuple, instead of only the API key used:
|
||||||
|
```ruby
|
||||||
|
# Before
|
||||||
|
obj, api_key = StripeClient.execute_request(method, path, api_base: nil,
|
||||||
|
api_key: nil, headers: {}, params: {}, usage: [])
|
||||||
|
|
||||||
|
# is now, with base_address being one of [:api, :files, :connect, :meter_events]
|
||||||
|
|
||||||
|
obj, opts = APIRequestor.execute_request(method, path, base_address,
|
||||||
|
params: {}, opts: {}, usage: [])
|
||||||
|
puts(opts) # will output {api_key: "sk_test_123", stripe_account: "acct_123"}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### Additions
|
||||||
|
* 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)
|
||||||
|
* Add method `parse_thin_event()` on the `StripeClient` class to parse [thin events](https://docs.corp.stripe.com/event-destinations#events-overview).
|
||||||
|
|
||||||
|
|
||||||
## 12.6.0 - 2024-09-12
|
## 12.6.0 - 2024-09-12
|
||||||
* [#1442](https://github.com/stripe/stripe-ruby/pull/1442) Update generated code
|
* [#1442](https://github.com/stripe/stripe-ruby/pull/1442) Update generated code
|
||||||
* Add support for new resource `InvoiceRenderingTemplate`
|
* Add support for new resource `InvoiceRenderingTemplate`
|
||||||
@ -24,21 +93,21 @@
|
|||||||
|
|
||||||
* [#1433](https://github.com/stripe/stripe-ruby/pull/1433) Add usage to raw_request call
|
* [#1433](https://github.com/stripe/stripe-ruby/pull/1433) Add usage to raw_request call
|
||||||
* [#1431](https://github.com/stripe/stripe-ruby/pull/1431) Add `raw_request`
|
* [#1431](https://github.com/stripe/stripe-ruby/pull/1431) Add `raw_request`
|
||||||
|
|
||||||
- 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.
|
- 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.
|
||||||
|
|
||||||
## 12.1.0 - 2024-07-05
|
## 12.1.0 - 2024-07-05
|
||||||
* [#1425](https://github.com/stripe/stripe-ruby/pull/1425) Update generated code
|
* [#1425](https://github.com/stripe/stripe-ruby/pull/1425) Update generated code
|
||||||
* Add support for `add_lines`, `remove_lines`, and `update_lines` methods on resource `Invoice`
|
* Add support for `add_lines`, `remove_lines`, and `update_lines` methods on resource `Invoice`
|
||||||
* [#1420](https://github.com/stripe/stripe-ruby/pull/1420) Update static methods for delete/list on BankAccount/Card to throw NotImplementedError
|
* [#1420](https://github.com/stripe/stripe-ruby/pull/1420) Update static methods for delete/list on BankAccount/Card to throw NotImplementedError
|
||||||
* 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.
|
* 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.
|
||||||
|
|
||||||
Methods affected | Use these instead in the context of payment method | Use these in the context of external accounts
|
Methods affected | Use these instead in the context of payment method | Use these in the context of external accounts
|
||||||
------ | ------ | ----
|
------ | ------ | ----
|
||||||
Stripe:: BankAccount.delete | Stripe::Customer.delete_source | Stripe::Account.delete_external_account
|
Stripe:: BankAccount.delete | Stripe::Customer.delete_source | Stripe::Account.delete_external_account
|
||||||
Stripe:: BankAccount.list | Stripe::Customer.list_sources | Stripe::Customer.list_external_accounts
|
Stripe:: BankAccount.list | Stripe::Customer.list_sources | Stripe::Customer.list_external_accounts
|
||||||
Stripe:: Card.delete | Stripe::Customer.delete_source | Stripe::Account.delete_external_account
|
Stripe:: Card.delete | Stripe::Customer.delete_source | Stripe::Account.delete_external_account
|
||||||
Stripe:: Card.list | Stripe::Customer.list_sources | Stripe::Customer.list_external_accounts
|
Stripe:: Card.list | Stripe::Customer.list_sources | Stripe::Customer.list_external_accounts
|
||||||
* [#1427](https://github.com/stripe/stripe-ruby/pull/1427) Regenerate rbis
|
* [#1427](https://github.com/stripe/stripe-ruby/pull/1427) Regenerate rbis
|
||||||
* [#1426](https://github.com/stripe/stripe-ruby/pull/1426) Remove coveralls and re-added JRuby
|
* [#1426](https://github.com/stripe/stripe-ruby/pull/1426) Remove coveralls and re-added JRuby
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
module Stripe
|
module Stripe
|
||||||
VERSION = "12.6.0"
|
VERSION = "13.0.0"
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user