stripe 5.55.0 → 13.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +567 -4
  3. data/Gemfile +12 -4
  4. data/Makefile +18 -3
  5. data/OPENAPI_VERSION +1 -0
  6. data/README.md +93 -21
  7. data/Rakefile +3 -6
  8. data/VERSION +1 -1
  9. data/examples/README.md +16 -0
  10. data/examples/example_template.rb +36 -0
  11. data/examples/meter_event_stream.rb +57 -0
  12. data/examples/thinevent_webhook_handler.rb +39 -0
  13. data/{bin → exe}/stripe-console +1 -1
  14. data/justfile +43 -0
  15. data/lib/data/ca-certificates.crt +1241 -1937
  16. data/lib/stripe/api_operations/create.rb +6 -2
  17. data/lib/stripe/api_operations/delete.rb +12 -7
  18. data/lib/stripe/api_operations/list.rb +6 -9
  19. data/lib/stripe/api_operations/nested_resource.rb +63 -35
  20. data/lib/stripe/api_operations/request.rb +29 -65
  21. data/lib/stripe/api_operations/save.rb +20 -10
  22. data/lib/stripe/api_operations/search.rb +11 -9
  23. data/lib/stripe/api_operations/singleton_save.rb +90 -0
  24. data/lib/stripe/api_requestor.rb +1131 -0
  25. data/lib/stripe/api_resource.rb +48 -18
  26. data/lib/stripe/api_resource_test_helpers.rb +9 -3
  27. data/lib/stripe/api_version.rb +8 -0
  28. data/lib/stripe/connection_manager.rb +5 -7
  29. data/lib/stripe/errors.rb +11 -13
  30. data/lib/stripe/event_types.rb +14 -0
  31. data/lib/stripe/events/v1_billing_meter_error_report_triggered_event.rb +23 -0
  32. data/lib/stripe/events/v1_billing_meter_no_meter_found_event.rb +13 -0
  33. data/lib/stripe/instrumentation.rb +37 -15
  34. data/lib/stripe/list_object.rb +5 -3
  35. data/lib/stripe/multipart_encoder.rb +7 -7
  36. data/lib/stripe/oauth.rb +14 -21
  37. data/lib/stripe/object_types.rb +151 -103
  38. data/lib/stripe/request_options.rb +129 -0
  39. data/lib/stripe/resources/account.rb +129 -25
  40. data/lib/stripe/resources/account_link.rb +12 -0
  41. data/lib/stripe/resources/account_session.rb +25 -0
  42. data/lib/stripe/resources/alipay_account.rb +1 -1
  43. data/lib/stripe/resources/apple_pay_domain.rb +38 -0
  44. data/lib/stripe/resources/application_fee.rb +9 -2
  45. data/lib/stripe/resources/application_fee_refund.rb +9 -2
  46. data/lib/stripe/resources/apps/secret.rb +55 -0
  47. data/lib/stripe/resources/balance.rb +14 -0
  48. data/lib/stripe/resources/balance_transaction.rb +19 -0
  49. data/lib/stripe/resources/bank_account.rb +53 -4
  50. data/lib/stripe/resources/billing/alert.rb +87 -0
  51. data/lib/stripe/resources/billing/credit_balance_summary.rb +14 -0
  52. data/lib/stripe/resources/billing/credit_balance_transaction.rb +26 -0
  53. data/lib/stripe/resources/billing/credit_grant.rb +90 -0
  54. data/lib/stripe/resources/billing/meter.rb +85 -0
  55. data/lib/stripe/resources/billing/meter_event.rb +26 -0
  56. data/lib/stripe/resources/billing/meter_event_adjustment.rb +26 -0
  57. data/lib/stripe/resources/billing/meter_event_summary.rb +17 -0
  58. data/lib/stripe/resources/billing_portal/configuration.rb +34 -0
  59. data/lib/stripe/resources/billing_portal/session.rb +27 -0
  60. data/lib/stripe/resources/capability.rb +7 -2
  61. data/lib/stripe/resources/card.rb +34 -3
  62. data/lib/stripe/resources/cash_balance.rb +4 -0
  63. data/lib/stripe/resources/charge.rb +52 -3
  64. data/lib/stripe/resources/checkout/session.rb +83 -5
  65. data/lib/stripe/resources/climate/order.rb +67 -0
  66. data/lib/stripe/resources/climate/product.rb +27 -0
  67. data/lib/stripe/resources/climate/supplier.rb +26 -0
  68. data/lib/stripe/resources/confirmation_token.rb +39 -0
  69. data/lib/stripe/resources/country_spec.rb +14 -0
  70. data/lib/stripe/resources/coupon.rb +48 -0
  71. data/lib/stripe/resources/credit_note.rb +67 -9
  72. data/lib/stripe/resources/credit_note_line_item.rb +4 -0
  73. data/lib/stripe/resources/customer.rb +172 -28
  74. data/lib/stripe/resources/customer_balance_transaction.rb +9 -1
  75. data/lib/stripe/resources/customer_cash_balance_transaction.rb +15 -0
  76. data/lib/stripe/resources/customer_session.rb +29 -0
  77. data/lib/stripe/resources/discount.rb +7 -0
  78. data/lib/stripe/resources/dispute.rb +41 -3
  79. data/lib/stripe/resources/entitlements/active_entitlement.rb +26 -0
  80. data/lib/stripe/resources/entitlements/feature.rb +49 -0
  81. data/lib/stripe/resources/ephemeral_key.rb +23 -0
  82. data/lib/stripe/resources/event.rb +38 -0
  83. data/lib/stripe/resources/exchange_rate.rb +34 -0
  84. data/lib/stripe/resources/file.rb +37 -15
  85. data/lib/stripe/resources/file_link.rb +26 -0
  86. data/lib/stripe/resources/financial_connections/account.rb +101 -6
  87. data/lib/stripe/resources/financial_connections/account_owner.rb +4 -0
  88. data/lib/stripe/resources/financial_connections/account_ownership.rb +4 -0
  89. data/lib/stripe/resources/financial_connections/session.rb +14 -0
  90. data/lib/stripe/resources/financial_connections/transaction.rb +26 -0
  91. data/lib/stripe/resources/forwarding/request.rb +52 -0
  92. data/lib/stripe/resources/funding_instructions.rb +8 -0
  93. data/lib/stripe/resources/identity/verification_report.rb +24 -0
  94. data/lib/stripe/resources/identity/verification_session.rb +117 -5
  95. data/lib/stripe/resources/invoice.rb +247 -20
  96. data/lib/stripe/resources/invoice_item.rb +54 -0
  97. data/lib/stripe/resources/invoice_line_item.rb +22 -1
  98. data/lib/stripe/resources/invoice_rendering_template.rb +65 -0
  99. data/lib/stripe/resources/issuing/authorization.rb +210 -5
  100. data/lib/stripe/resources/issuing/card.rb +128 -4
  101. data/lib/stripe/resources/issuing/cardholder.rb +36 -0
  102. data/lib/stripe/resources/issuing/dispute.rb +47 -2
  103. data/lib/stripe/resources/issuing/personalization_design.rb +119 -0
  104. data/lib/stripe/resources/issuing/physical_bundle.rb +26 -0
  105. data/lib/stripe/resources/issuing/token.rb +32 -0
  106. data/lib/stripe/resources/issuing/transaction.rb +79 -0
  107. data/lib/stripe/resources/line_item.rb +4 -0
  108. data/lib/stripe/resources/login_link.rb +4 -0
  109. data/lib/stripe/resources/mandate.rb +4 -0
  110. data/lib/stripe/resources/payment_intent.rb +238 -15
  111. data/lib/stripe/resources/payment_link.rb +39 -2
  112. data/lib/stripe/resources/payment_method.rb +78 -5
  113. data/lib/stripe/resources/payment_method_configuration.rb +59 -0
  114. data/lib/stripe/resources/payment_method_domain.rb +79 -0
  115. data/lib/stripe/resources/payout.rb +63 -5
  116. data/lib/stripe/resources/person.rb +8 -1
  117. data/lib/stripe/resources/plan.rb +51 -0
  118. data/lib/stripe/resources/price.rb +30 -1
  119. data/lib/stripe/resources/product.rb +55 -1
  120. data/lib/stripe/resources/product_feature.rb +13 -0
  121. data/lib/stripe/resources/promotion_code.rb +25 -0
  122. data/lib/stripe/resources/quote.rb +97 -39
  123. data/lib/stripe/resources/radar/early_fraud_warning.rb +17 -0
  124. data/lib/stripe/resources/radar/value_list.rb +56 -0
  125. data/lib/stripe/resources/radar/value_list_item.rb +46 -0
  126. data/lib/stripe/resources/refund.rb +70 -5
  127. data/lib/stripe/resources/reporting/report_run.rb +31 -0
  128. data/lib/stripe/resources/reporting/report_type.rb +21 -1
  129. data/lib/stripe/resources/reversal.rb +17 -2
  130. data/lib/stripe/resources/review.rb +24 -3
  131. data/lib/stripe/resources/setup_attempt.rb +12 -0
  132. data/lib/stripe/resources/setup_intent.rb +113 -7
  133. data/lib/stripe/resources/shipping_rate.rb +25 -0
  134. data/lib/stripe/resources/sigma/scheduled_query_run.rb +17 -0
  135. data/lib/stripe/resources/source.rb +52 -10
  136. data/lib/stripe/resources/source_transaction.rb +7 -0
  137. data/lib/stripe/resources/subscription.rb +118 -5
  138. data/lib/stripe/resources/subscription_item.rb +54 -6
  139. data/lib/stripe/resources/subscription_schedule.rb +60 -5
  140. data/lib/stripe/resources/tax/calculation.rb +48 -0
  141. data/lib/stripe/resources/tax/calculation_line_item.rb +13 -0
  142. data/lib/stripe/resources/tax/registration.rb +54 -0
  143. data/lib/stripe/resources/tax/settings.rb +17 -0
  144. data/lib/stripe/resources/tax/transaction.rb +56 -0
  145. data/lib/stripe/resources/tax/transaction_line_item.rb +13 -0
  146. data/lib/stripe/resources/tax_code.rb +9 -0
  147. data/lib/stripe/resources/tax_id.rb +34 -12
  148. data/lib/stripe/resources/tax_rate.rb +26 -0
  149. data/lib/stripe/resources/terminal/configuration.rb +54 -0
  150. data/lib/stripe/resources/terminal/connection_token.rb +16 -0
  151. data/lib/stripe/resources/terminal/location.rb +57 -0
  152. data/lib/stripe/resources/terminal/reader.rb +138 -11
  153. data/lib/stripe/resources/test_helpers/test_clock.rb +58 -3
  154. data/lib/stripe/resources/token.rb +29 -0
  155. data/lib/stripe/resources/topup.rb +40 -3
  156. data/lib/stripe/resources/transfer.rb +29 -6
  157. data/lib/stripe/resources/treasury/credit_reversal.rb +37 -0
  158. data/lib/stripe/resources/treasury/debit_reversal.rb +37 -0
  159. data/lib/stripe/resources/treasury/financial_account.rb +109 -0
  160. data/lib/stripe/resources/treasury/financial_account_features.rb +15 -0
  161. data/lib/stripe/resources/treasury/inbound_transfer.rb +130 -0
  162. data/lib/stripe/resources/treasury/outbound_payment.rb +152 -0
  163. data/lib/stripe/resources/treasury/outbound_transfer.rb +152 -0
  164. data/lib/stripe/resources/treasury/received_credit.rb +47 -0
  165. data/lib/stripe/resources/treasury/received_debit.rb +47 -0
  166. data/lib/stripe/resources/treasury/transaction.rb +26 -0
  167. data/lib/stripe/resources/treasury/transaction_entry.rb +30 -0
  168. data/lib/stripe/resources/usage_record.rb +9 -0
  169. data/lib/stripe/resources/usage_record_summary.rb +4 -0
  170. data/lib/stripe/resources/v2/billing/meter_event.rb +16 -0
  171. data/lib/stripe/resources/v2/billing/meter_event_adjustment.rb +15 -0
  172. data/lib/stripe/resources/v2/billing/meter_event_session.rb +15 -0
  173. data/lib/stripe/resources/v2/event.rb +13 -0
  174. data/lib/stripe/resources/v2/event_destination.rb +13 -0
  175. data/lib/stripe/resources/webhook_endpoint.rb +55 -0
  176. data/lib/stripe/resources.rb +51 -10
  177. data/lib/stripe/search_result_object.rb +5 -2
  178. data/lib/stripe/services/account_capability_service.rb +39 -0
  179. data/lib/stripe/services/account_external_account_service.rb +68 -0
  180. data/lib/stripe/services/account_link_service.rb +17 -0
  181. data/lib/stripe/services/account_login_link_service.rb +19 -0
  182. data/lib/stripe/services/account_person_service.rb +61 -0
  183. data/lib/stripe/services/account_service.rb +100 -0
  184. data/lib/stripe/services/account_session_service.rb +17 -0
  185. data/lib/stripe/services/apple_pay_domain_service.rb +50 -0
  186. data/lib/stripe/services/application_fee_refund_service.rb +60 -0
  187. data/lib/stripe/services/application_fee_service.rb +35 -0
  188. data/lib/stripe/services/apps/secret_service.rb +52 -0
  189. data/lib/stripe/services/apps_service.rb +13 -0
  190. data/lib/stripe/services/balance_service.rb +12 -0
  191. data/lib/stripe/services/balance_transaction_service.rb +32 -0
  192. data/lib/stripe/services/billing/alert_service.rb +74 -0
  193. data/lib/stripe/services/billing/credit_balance_summary_service.rb +19 -0
  194. data/lib/stripe/services/billing/credit_balance_transaction_service.rb +30 -0
  195. data/lib/stripe/services/billing/credit_grant_service.rb +74 -0
  196. data/lib/stripe/services/billing/meter_event_adjustment_service.rb +19 -0
  197. data/lib/stripe/services/billing/meter_event_service.rb +19 -0
  198. data/lib/stripe/services/billing/meter_event_summary_service.rb +19 -0
  199. data/lib/stripe/services/billing/meter_service.rb +81 -0
  200. data/lib/stripe/services/billing_portal/configuration_service.rb +52 -0
  201. data/lib/stripe/services/billing_portal/session_service.rb +19 -0
  202. data/lib/stripe/services/billing_portal_service.rb +14 -0
  203. data/lib/stripe/services/billing_service.rb +20 -0
  204. data/lib/stripe/services/charge_service.rb +69 -0
  205. data/lib/stripe/services/checkout/session_line_item_service.rb +19 -0
  206. data/lib/stripe/services/checkout/session_service.rb +72 -0
  207. data/lib/stripe/services/checkout_service.rb +13 -0
  208. data/lib/stripe/services/climate/order_service.rb +68 -0
  209. data/lib/stripe/services/climate/product_service.rb +30 -0
  210. data/lib/stripe/services/climate/supplier_service.rb +30 -0
  211. data/lib/stripe/services/climate_service.rb +15 -0
  212. data/lib/stripe/services/confirmation_token_service.rb +17 -0
  213. data/lib/stripe/services/country_spec_service.rb +28 -0
  214. data/lib/stripe/services/coupon_service.rb +51 -0
  215. data/lib/stripe/services/credit_note_line_item_service.rb +17 -0
  216. data/lib/stripe/services/credit_note_preview_lines_service.rb +17 -0
  217. data/lib/stripe/services/credit_note_service.rb +93 -0
  218. data/lib/stripe/services/customer_balance_transaction_service.rb +50 -0
  219. data/lib/stripe/services/customer_cash_balance_service.rb +28 -0
  220. data/lib/stripe/services/customer_cash_balance_transaction_service.rb +28 -0
  221. data/lib/stripe/services/customer_funding_instructions_service.rb +19 -0
  222. data/lib/stripe/services/customer_payment_method_service.rb +28 -0
  223. data/lib/stripe/services/customer_payment_source_service.rb +76 -0
  224. data/lib/stripe/services/customer_service.rb +89 -0
  225. data/lib/stripe/services/customer_session_service.rb +17 -0
  226. data/lib/stripe/services/customer_tax_id_service.rb +50 -0
  227. data/lib/stripe/services/dispute_service.rb +48 -0
  228. data/lib/stripe/services/entitlements/active_entitlement_service.rb +30 -0
  229. data/lib/stripe/services/entitlements/feature_service.rb +52 -0
  230. data/lib/stripe/services/entitlements_service.rb +14 -0
  231. data/lib/stripe/services/ephemeral_key_service.rb +28 -0
  232. data/lib/stripe/services/event_service.rb +22 -0
  233. data/lib/stripe/services/exchange_rate_service.rb +28 -0
  234. data/lib/stripe/services/file_link_service.rb +38 -0
  235. data/lib/stripe/services/file_service.rb +35 -0
  236. data/lib/stripe/services/financial_connections/account_owner_service.rb +19 -0
  237. data/lib/stripe/services/financial_connections/account_service.rb +81 -0
  238. data/lib/stripe/services/financial_connections/session_service.rb +30 -0
  239. data/lib/stripe/services/financial_connections/transaction_service.rb +30 -0
  240. data/lib/stripe/services/financial_connections_service.rb +15 -0
  241. data/lib/stripe/services/forwarding/request_service.rb +41 -0
  242. data/lib/stripe/services/forwarding_service.rb +13 -0
  243. data/lib/stripe/services/identity/verification_report_service.rb +30 -0
  244. data/lib/stripe/services/identity/verification_session_service.rb +106 -0
  245. data/lib/stripe/services/identity_service.rb +14 -0
  246. data/lib/stripe/services/invoice_item_service.rb +61 -0
  247. data/lib/stripe/services/invoice_line_item_service.rb +31 -0
  248. data/lib/stripe/services/invoice_rendering_template_service.rb +50 -0
  249. data/lib/stripe/services/invoice_service.rb +202 -0
  250. data/lib/stripe/services/invoice_upcoming_lines_service.rb +17 -0
  251. data/lib/stripe/services/issuing/authorization_service.rb +65 -0
  252. data/lib/stripe/services/issuing/card_service.rb +52 -0
  253. data/lib/stripe/services/issuing/cardholder_service.rb +52 -0
  254. data/lib/stripe/services/issuing/dispute_service.rb +63 -0
  255. data/lib/stripe/services/issuing/personalization_design_service.rb +52 -0
  256. data/lib/stripe/services/issuing/physical_bundle_service.rb +30 -0
  257. data/lib/stripe/services/issuing/token_service.rb +41 -0
  258. data/lib/stripe/services/issuing/transaction_service.rb +41 -0
  259. data/lib/stripe/services/issuing_service.rb +20 -0
  260. data/lib/stripe/services/mandate_service.rb +17 -0
  261. data/lib/stripe/services/oauth_service.rb +63 -0
  262. data/lib/stripe/services/payment_intent_service.rb +204 -0
  263. data/lib/stripe/services/payment_link_line_item_service.rb +17 -0
  264. data/lib/stripe/services/payment_link_service.rb +57 -0
  265. data/lib/stripe/services/payment_method_configuration_service.rb +50 -0
  266. data/lib/stripe/services/payment_method_domain_service.rb +66 -0
  267. data/lib/stripe/services/payment_method_service.rb +86 -0
  268. data/lib/stripe/services/payout_service.rb +66 -0
  269. data/lib/stripe/services/plan_service.rb +49 -0
  270. data/lib/stripe/services/price_service.rb +52 -0
  271. data/lib/stripe/services/product_feature_service.rb +50 -0
  272. data/lib/stripe/services/product_service.rb +70 -0
  273. data/lib/stripe/services/promotion_code_service.rb +50 -0
  274. data/lib/stripe/services/quote_computed_upfront_line_items_service.rb +17 -0
  275. data/lib/stripe/services/quote_line_item_service.rb +17 -0
  276. data/lib/stripe/services/quote_service.rb +92 -0
  277. data/lib/stripe/services/radar/early_fraud_warning_service.rb +32 -0
  278. data/lib/stripe/services/radar/value_list_item_service.rb +52 -0
  279. data/lib/stripe/services/radar/value_list_service.rb +63 -0
  280. data/lib/stripe/services/radar_service.rb +15 -0
  281. data/lib/stripe/services/refund_service.rb +63 -0
  282. data/lib/stripe/services/reporting/report_run_service.rb +41 -0
  283. data/lib/stripe/services/reporting/report_type_service.rb +30 -0
  284. data/lib/stripe/services/reporting_service.rb +14 -0
  285. data/lib/stripe/services/review_service.rb +33 -0
  286. data/lib/stripe/services/setup_attempt_service.rb +17 -0
  287. data/lib/stripe/services/setup_intent_service.rb +105 -0
  288. data/lib/stripe/services/shipping_rate_service.rb +50 -0
  289. data/lib/stripe/services/sigma/scheduled_query_run_service.rb +30 -0
  290. data/lib/stripe/services/sigma_service.rb +13 -0
  291. data/lib/stripe/services/source_service.rb +64 -0
  292. data/lib/stripe/services/source_transaction_service.rb +17 -0
  293. data/lib/stripe/services/subscription_item_service.rb +69 -0
  294. data/lib/stripe/services/subscription_item_usage_record_service.rb +23 -0
  295. data/lib/stripe/services/subscription_item_usage_record_summary_service.rb +19 -0
  296. data/lib/stripe/services/subscription_schedule_service.rb +72 -0
  297. data/lib/stripe/services/subscription_service.rb +127 -0
  298. data/lib/stripe/services/tax/calculation_line_item_service.rb +19 -0
  299. data/lib/stripe/services/tax/calculation_service.rb +37 -0
  300. data/lib/stripe/services/tax/registration_service.rb +54 -0
  301. data/lib/stripe/services/tax/settings_service.rb +30 -0
  302. data/lib/stripe/services/tax/transaction_line_item_service.rb +19 -0
  303. data/lib/stripe/services/tax/transaction_service.rb +48 -0
  304. data/lib/stripe/services/tax_code_service.rb +22 -0
  305. data/lib/stripe/services/tax_id_service.rb +38 -0
  306. data/lib/stripe/services/tax_rate_service.rb +38 -0
  307. data/lib/stripe/services/tax_service.rb +16 -0
  308. data/lib/stripe/services/terminal/configuration_service.rb +63 -0
  309. data/lib/stripe/services/terminal/connection_token_service.rb +19 -0
  310. data/lib/stripe/services/terminal/location_service.rb +64 -0
  311. data/lib/stripe/services/terminal/reader_service.rb +118 -0
  312. data/lib/stripe/services/terminal_service.rb +16 -0
  313. data/lib/stripe/services/test_helpers/confirmation_token_service.rb +19 -0
  314. data/lib/stripe/services/test_helpers/customer_service.rb +19 -0
  315. data/lib/stripe/services/test_helpers/issuing/authorization_service.rb +87 -0
  316. data/lib/stripe/services/test_helpers/issuing/card_service.rb +65 -0
  317. data/lib/stripe/services/test_helpers/issuing/personalization_design_service.rb +43 -0
  318. data/lib/stripe/services/test_helpers/issuing/transaction_service.rb +43 -0
  319. data/lib/stripe/services/test_helpers/issuing_service.rb +19 -0
  320. data/lib/stripe/services/test_helpers/refund_service.rb +19 -0
  321. data/lib/stripe/services/test_helpers/terminal/reader_service.rb +21 -0
  322. data/lib/stripe/services/test_helpers/terminal_service.rb +15 -0
  323. data/lib/stripe/services/test_helpers/test_clock_service.rb +63 -0
  324. data/lib/stripe/services/test_helpers/treasury/inbound_transfer_service.rb +43 -0
  325. data/lib/stripe/services/test_helpers/treasury/outbound_payment_service.rb +54 -0
  326. data/lib/stripe/services/test_helpers/treasury/outbound_transfer_service.rb +54 -0
  327. data/lib/stripe/services/test_helpers/treasury/received_credit_service.rb +21 -0
  328. data/lib/stripe/services/test_helpers/treasury/received_debit_service.rb +21 -0
  329. data/lib/stripe/services/test_helpers/treasury_service.rb +19 -0
  330. data/lib/stripe/services/test_helpers_service.rb +19 -0
  331. data/lib/stripe/services/token_service.rb +23 -0
  332. data/lib/stripe/services/topup_service.rb +49 -0
  333. data/lib/stripe/services/transfer_reversal_service.rb +56 -0
  334. data/lib/stripe/services/transfer_service.rb +47 -0
  335. data/lib/stripe/services/treasury/credit_reversal_service.rb +41 -0
  336. data/lib/stripe/services/treasury/debit_reversal_service.rb +41 -0
  337. data/lib/stripe/services/treasury/financial_account_features_service.rb +30 -0
  338. data/lib/stripe/services/treasury/financial_account_service.rb +70 -0
  339. data/lib/stripe/services/treasury/inbound_transfer_service.rb +52 -0
  340. data/lib/stripe/services/treasury/outbound_payment_service.rb +52 -0
  341. data/lib/stripe/services/treasury/outbound_transfer_service.rb +52 -0
  342. data/lib/stripe/services/treasury/received_credit_service.rb +30 -0
  343. data/lib/stripe/services/treasury/received_debit_service.rb +30 -0
  344. data/lib/stripe/services/treasury/transaction_entry_service.rb +30 -0
  345. data/lib/stripe/services/treasury/transaction_service.rb +30 -0
  346. data/lib/stripe/services/treasury_service.rb +22 -0
  347. data/lib/stripe/services/v1_services.rb +89 -0
  348. data/lib/stripe/services/v2/billing/meter_event_adjustment_service.rb +21 -0
  349. data/lib/stripe/services/v2/billing/meter_event_service.rb +21 -0
  350. data/lib/stripe/services/v2/billing/meter_event_session_service.rb +21 -0
  351. data/lib/stripe/services/v2/billing/meter_event_stream_service.rb +23 -0
  352. data/lib/stripe/services/v2/billing_service.rb +18 -0
  353. data/lib/stripe/services/v2/core/event_destination_service.rb +98 -0
  354. data/lib/stripe/services/v2/core/event_service.rb +32 -0
  355. data/lib/stripe/services/v2/core_service.rb +16 -0
  356. data/lib/stripe/services/v2_services.rb +14 -0
  357. data/lib/stripe/services/webhook_endpoint_service.rb +61 -0
  358. data/lib/stripe/services.rb +182 -0
  359. data/lib/stripe/singleton_api_resource.rb +3 -3
  360. data/lib/stripe/stripe_client.rb +55 -1028
  361. data/lib/stripe/stripe_configuration.rb +63 -42
  362. data/lib/stripe/stripe_object.rb +60 -38
  363. data/lib/stripe/stripe_response.rb +1 -3
  364. data/lib/stripe/stripe_service.rb +32 -0
  365. data/lib/stripe/thin_event.rb +37 -0
  366. data/lib/stripe/util.rb +109 -45
  367. data/lib/stripe/v2_list_object.rb +84 -0
  368. data/lib/stripe/version.rb +1 -1
  369. data/lib/stripe/webhook.rb +3 -2
  370. data/lib/stripe.rb +39 -0
  371. data/stripe.gemspec +7 -4
  372. metadata +252 -13
  373. data/lib/stripe/resources/bitcoin_receiver.rb +0 -24
  374. data/lib/stripe/resources/bitcoin_transaction.rb +0 -16
  375. data/lib/stripe/resources/issuing/card_details.rb +0 -10
  376. data/lib/stripe/resources/order.rb +0 -33
  377. data/lib/stripe/resources/order_return.rb +0 -10
  378. data/lib/stripe/resources/recipient.rb +0 -14
  379. data/lib/stripe/resources/sku.rb +0 -13
  380. data/lib/stripe/resources/three_d_secure.rb +0 -14
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7e81cc3af76a8942f879c1b312bbcc6ad27257cb9b68f9a63df76bd430ff9cf8
4
- data.tar.gz: c83f7ae353941a10279ba76237f64e700f0e6bce06fe9475250b85308f72d57f
3
+ metadata.gz: 045b4054e63e2191cdfbbc900a11dabf0cc57556a19fd107caead18f149c1de5
4
+ data.tar.gz: e82241197dee628472cbeb5843286ff02678f57709f70d63004248f586e09240
5
5
  SHA512:
6
- metadata.gz: 4b4aff3650ae5933a0fae274bf1fe1e142f8361fbd0b3734502ce317a82492bda2124e155ff335b311abbda1d9751fdbc15e4a1754c94fe8b6d8a24e206b599e
7
- data.tar.gz: f23307331d6ded3934361f9fff180a0ecda5df30bb3f5708e359d3b0712ed5262873b2220400d124544b113249a7ff5f1ae885cef381b9a8b3aa6388295527a7
6
+ metadata.gz: 8dd1ce1578a5ac0b57ab297a3d64ae29ada8973dabf44e861e230ae2675f79a469ab50afda252f31840aa6392cddbaeaaf55893ea9d2b5cb442c24be351c4444
7
+ data.tar.gz: 6bcf1bc443a61abc5e4a9ca7515f1fd02587550b6728b5d8f4d6c78abaa6d0f83961b0c2d073d3e9f181bed9e27bbd2079b5c8d5d35665839db36a123fab7028
data/CHANGELOG.md CHANGED
@@ -1,9 +1,572 @@
1
1
  # Changelog
2
+ ## 13.5.1 - 2025-04-21
3
+ * [#1576](https://github.com/stripe/stripe-ruby/pull/1576) Explicitly pass through custom headers in retrieve
4
+
5
+ ## 13.5.0 - 2025-02-24
6
+ * [#1534](https://github.com/stripe/stripe-ruby/pull/1534) Update generated code
7
+ * Fixed `Stripe::InvoiceLineItem.update` method.
8
+ * [#1536](https://github.com/stripe/stripe-ruby/pull/1536) Fix InvoiceLineItem parent class
9
+ * Fix bug where `Stripe::InvoiceLineItem` had the incorrect parent class, making it error when `update` was called
10
+ * [#1533](https://github.com/stripe/stripe-ruby/pull/1533) add codeowners file
11
+
12
+ ## 13.4.1 - 2025-01-28
13
+ * [#1528](https://github.com/stripe/stripe-ruby/pull/1528) Update generated code
14
+ * ⚠️ Bugfix: `invoice` and `line_item_id` can be passed to `update` method in `InvoiceLineItem`.
15
+
16
+ ## 13.4.0 - 2025-01-27
17
+ * [#1510](https://github.com/stripe/stripe-ruby/pull/1510) Update generated code
18
+ * Add support for `close` method on resource `Treasury.FinancialAccount`
19
+ * [#1521](https://github.com/stripe/stripe-ruby/pull/1521) pipe rubocop output to devnull
20
+ * [#1519](https://github.com/stripe/stripe-ruby/pull/1519) Fixed typos in CONTRIBUTING.MD
21
+ * [#1513](https://github.com/stripe/stripe-ruby/pull/1513) add justfile
22
+ * [#1515](https://github.com/stripe/stripe-ruby/pull/1515) Added CONTRIBUTING.md file
23
+
24
+ ## 13.3.1 - 2025-01-13
25
+ * [#1512](https://github.com/stripe/stripe-ruby/pull/1512) Import global configuration for options not available on StripeClient options
26
+ * Fixes bug where `StripeClient` was not falling back to global options for options that are not available to be set per-client
27
+ * [#1516](https://github.com/stripe/stripe-ruby/pull/1516) ThinEvent reason and livemode
28
+ - Add `livemode` and optional `reason` fields to ThinEvent
29
+ * [#1518](https://github.com/stripe/stripe-ruby/pull/1518) Pin ubuntu version in Test action
30
+ * [#1508](https://github.com/stripe/stripe-ruby/pull/1508) Added pull request template
31
+
32
+ ## 13.3.0 - 2024-12-18
33
+ * [#1500](https://github.com/stripe/stripe-ruby/pull/1500) This release changes the pinned API version to `2024-12-18.acacia`.
34
+
35
+ * [#1507](https://github.com/stripe/stripe-ruby/pull/1507) Pass requestor to all deserialized objects including lists
36
+
37
+ * Fixes bug where `StripeObject` retrieved from lists could not be used to make requests, such as `refresh`
38
+
39
+ ## 13.2.0 - 2024-11-20
40
+ * [#1486](https://github.com/stripe/stripe-ruby/pull/1486) This release changes the pinned API version to `2024-11-20.acacia`.
41
+ * Add support for `respond` test helper method on resource `Issuing.Authorization`
42
+
43
+ ## 13.1.2 - 2024-11-15
44
+ * [#1488](https://github.com/stripe/stripe-ruby/pull/1488) Fix incorrect key in param encoding
45
+
46
+ ## 13.1.1 - 2024-11-06
47
+ * [#1483](https://github.com/stripe/stripe-ruby/pull/1483) Fix APIResource#retrieve not sending `stripe_version`
48
+
49
+ ## 13.1.0 - 2024-10-29
50
+ * [#1472](https://github.com/stripe/stripe-ruby/pull/1472) This release changes the pinned API version to `2024-10-28.acacia`.
51
+ * Add support for `submit_card` test helper method on resource `Issuing.Card`
52
+ * Add support for new resource `V2.EventDestinations`
53
+ * Add support for `create`, `retrieve`, `update`, `list`, `delete`, `disable`, `enable` and `ping` methods on resource `V2.EventDestinations`
54
+ * [#1476](https://github.com/stripe/stripe-ruby/pull/1476) Fix APIResource#retrieve bug not returning instance of custom resources
55
+ * Fix bug in APIResource#refresh and APIResource#retrieve where they returned an instance of `StripeObject` for custom resources. They should now return the instance of the custom resource.
56
+
57
+ ## 13.0.2 - 2024-10-23
58
+ * [#1473](https://github.com/stripe/stripe-ruby/pull/1473) Always return the result of APIResource#refresh in APIResource.retrieve
59
+
60
+ * Fix bug where we would not return the mutated `self` object when calling `APIResource.retrieve`
61
+
62
+ ## 13.0.1 - 2024-10-18
63
+ * [#1471](https://github.com/stripe/stripe-ruby/pull/1471) update object tags for meter-related classes
64
+
65
+ - fixes a bug where the `object` property of the `MeterEvent`, `MeterEventAdjustment`, and `MeterEventSession` didn't match the server.
66
+ * [#1470](https://github.com/stripe/stripe-ruby/pull/1470) Cleaned up examples and added documentation
67
+
68
+ ## 13.0.0 - 2024-10-01
69
+ * [#1458](https://github.com/stripe/stripe-ruby/pull/1458) Support for APIs in the new API version 2024-09-30.acacia
70
+
71
+ 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.
72
+
73
+ ### ⚠️ Breaking changes
74
+
75
+ 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.
76
+
77
+ #### ❗ `StripeClient` and related changes
78
+ * Move `StripeClient` and requestor logic to `APIRequestor`.
79
+ * `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).
80
+ * 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.
81
+ * No global config: you can simultaneously use multiple clients with different configuration options (such as API keys)
82
+ * 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`.
83
+ * No static methods. Much easier mocking.
84
+
85
+ #### Other breaking changes
86
+
87
+ * Adjust default values around retries for HTTP requests. You can use the old defaults by setting them explicitly. New values are:
88
+ - max retries: `0` -> `2`
89
+ - max retry delay (seconds) `2` -> `5`
90
+ * Remove `StripeClient#connection_manager`. This was a legacy method from years ago.
91
+ * 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.
92
+ ```ruby
93
+ params = { expand: ["available"] }
94
+ opts = { stripe_account: "acct_123" }
95
+
96
+ # ❌ No longer works
97
+ Stripe::Balance.retrieve(opts)
98
+
99
+ # ✅ Correct way to call retrieve method
100
+ Stripe::Balance.retrieve(params, opts)
101
+ ```
102
+ * 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.
103
+ * Remove `APIResource.request`. Instead, use `StripeClient#raw_request` now.
104
+ ```ruby
105
+ # Instead of
106
+ Stripe::APIResource.request(:get, "/v1/endpoint", params, opts)
107
+
108
+ # do
109
+ client = Stripe::StripeClient.new(...)
110
+ resp = client.raw_request(:get, "/v1/endpoint", params: params, opts: opts)
111
+ ```
112
+ * Add an additional parameter to `APIResource.execute_resource_request`. However, we discourage use of this in favor of `StripeClient#raw_request`.
113
+ ```ruby
114
+ APIResource.execute_resource_request(method, url, params = {}, opts = {}, usage = [])
115
+ # is now, with base_address being one of [:api, :files, :connect, :meter_events]
116
+ APIResource.execute_resource_request(method, url, base_address = :api, params = {}, opts = {}, usage = [])
117
+ ```
118
+ * 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:
119
+ ```ruby
120
+ # Before
121
+ obj, api_key = StripeClient.execute_request(method, path, api_base: nil,
122
+ api_key: nil, headers: {}, params: {}, usage: [])
123
+
124
+ # is now, with base_address being one of [:api, :files, :connect, :meter_events]
125
+
126
+ obj, opts = APIRequestor.execute_request(method, path, base_address,
127
+ params: {}, opts: {}, usage: [])
128
+ puts(opts) # will output {api_key: "sk_test_123", stripe_account: "acct_123"}
129
+ ```
130
+
131
+
132
+ ### Additions
133
+ * 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)
134
+ * Add method `parse_thin_event()` on the `StripeClient` class to parse [thin events](https://docs.corp.stripe.com/event-destinations#events-overview).
135
+
136
+
137
+ ## 12.6.0 - 2024-09-12
138
+ * [#1442](https://github.com/stripe/stripe-ruby/pull/1442) Update generated code
139
+ * Add support for new resource `InvoiceRenderingTemplate`
140
+ * Add support for `archive`, `list`, `retrieve`, and `unarchive` methods on resource `InvoiceRenderingTemplate`
141
+ * [#1443](https://github.com/stripe/stripe-ruby/pull/1443) Removed v1/files override
142
+
143
+ ## 12.5.0 - 2024-08-08
144
+ * [#1440](https://github.com/stripe/stripe-ruby/pull/1440) Update generated code
145
+ * Add support for new resources `Billing.AlertTriggered` and `Billing.Alert`
146
+ * Add support for `activate`, `archive`, `create`, `deactivate`, `list`, and `retrieve` methods on resource `Alert`
147
+ * Add support for `retrieve` method on resource `Tax.Calculation`
148
+
149
+ ## 12.4.0 - 2024-07-25
150
+ * [#1437](https://github.com/stripe/stripe-ruby/pull/1437) Update generated code
151
+ * Add support for `update` method on resource `Checkout.Session`
152
+
153
+ ## 12.3.0 - 2024-07-18
154
+ * [#1436](https://github.com/stripe/stripe-ruby/pull/1436) Fixed changelog for major release 12.0.0
155
+ * [#1435](https://github.com/stripe/stripe-ruby/pull/1435) Add deprecation warning for `APIResource.request`
156
+
157
+ ## 12.2.0 - 2024-07-12
158
+ * [#1430](https://github.com/stripe/stripe-ruby/pull/1430) Update generated code
159
+
160
+ * [#1433](https://github.com/stripe/stripe-ruby/pull/1433) Add usage to raw_request call
161
+ * [#1431](https://github.com/stripe/stripe-ruby/pull/1431) Add `raw_request`
162
+
163
+ - 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.
164
+
165
+ ## 12.1.0 - 2024-07-05
166
+ * [#1425](https://github.com/stripe/stripe-ruby/pull/1425) Update generated code
167
+ * Add support for `add_lines`, `remove_lines`, and `update_lines` methods on resource `Invoice`
168
+ * [#1420](https://github.com/stripe/stripe-ruby/pull/1420) Update static methods for delete/list on BankAccount/Card to throw NotImplementedError
169
+ * 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.
170
+
171
+ Methods affected | Use these instead in the context of payment method | Use these in the context of external accounts
172
+ ------ | ------ | ----
173
+ Stripe:: BankAccount.delete | Stripe::Customer.delete_source | Stripe::Account.delete_external_account
174
+ Stripe:: BankAccount.list | Stripe::Customer.list_sources | Stripe::Customer.list_external_accounts
175
+ Stripe:: Card.delete | Stripe::Customer.delete_source | Stripe::Account.delete_external_account
176
+ Stripe:: Card.list | Stripe::Customer.list_sources | Stripe::Customer.list_external_accounts
177
+ * [#1427](https://github.com/stripe/stripe-ruby/pull/1427) Regenerate rbis
178
+ * [#1426](https://github.com/stripe/stripe-ruby/pull/1426) Remove coveralls and re-added JRuby
179
+
180
+ ## 12.0.0 - 2024-06-24
181
+ * [#1418](https://github.com/stripe/stripe-ruby/pull/1418) Add missing static method for verify on BankAccount
182
+ * [#1419](https://github.com/stripe/stripe-ruby/pull/1419)
183
+
184
+ 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.
185
+
186
+ ### Additions
187
+
188
+ * Add support for `finalize_amount` test helper method on resource `Issuing.Authorization`
189
+
190
+ ## 11.7.0 - 2024-06-13
191
+ * [#1415](https://github.com/stripe/stripe-ruby/pull/1415) Deprecate StripeClient#request
192
+ * Add deprecation warning for `StripeClient#request`. This helper method will be removed in a future major version. To access response objects, use the `last_response` property on the returned resource instead. Refer to [Accessing a response object](https://github.com/stripe/stripe-ruby?tab=readme-ov-file#accessing-a-response-object) in the README for usage details.
193
+
194
+ ## 11.6.0 - 2024-05-30
195
+ * [#1404](https://github.com/stripe/stripe-ruby/pull/1404) Add method to list invoice line items
196
+ * Add methods `list_lines()` on the class `Invoice` to list the invoice line items
197
+
198
+ ## 11.5.0 - 2024-05-23
199
+ * This release has no changes.
200
+
201
+ ## 11.4.0 - 2024-05-09
202
+ * [#1397](https://github.com/stripe/stripe-ruby/pull/1397) Update generated code
203
+ * Add support for `update` test helper method on resources `Treasury.OutboundPayment` and `Treasury.OutboundTransfer`
204
+ * [#1399](https://github.com/stripe/stripe-ruby/pull/1399) Pass params to transfer reversal
205
+ * Allow `Stripe::Transfer.retrieve_reversal()` to accept a params hash as the third argument, followed by opts. No changes to existing calls are necessary, but in a future major version this method will be updated to only accept params as the first argument. Fixes [#1393](https://github.com/stripe/stripe-ruby/issues/1393)
206
+ * [#1389](https://github.com/stripe/stripe-ruby/pull/1389) Removed jaro_winkler as a dependency
207
+ * [#1396](https://github.com/stripe/stripe-ruby/pull/1396) Start tracking `StripeClient#request` usage
208
+
209
+ ## 11.3.0 - 2024-05-02
210
+ * [#1387](https://github.com/stripe/stripe-ruby/pull/1387) Update generated code
211
+
212
+ * [#1392](https://github.com/stripe/stripe-ruby/pull/1392) Deprecate Ruby methods based on OpenAPI spec
213
+ - Mark as deprecated the `approve` and `decline` methods in `lib/stripe/resources/issuing/authorization.rb`. Instead, [respond directly to the webhook request to approve an authorization](https://stripe.com/docs/issuing/controls/real-time-authorizations#authorization-handling).
214
+ * [#1391](https://github.com/stripe/stripe-ruby/pull/1391) Add Ruby 3.3 to CI test matrix
215
+
216
+ ## 11.2.0 - 2024-04-18
217
+ * [#1385](https://github.com/stripe/stripe-ruby/pull/1385) Update generated code
218
+ * Add support for `create_preview` method on resource `Invoice`
219
+
220
+ ## 11.1.0 - 2024-04-16
221
+ * [#1379](https://github.com/stripe/stripe-ruby/pull/1379) Update generated code
222
+ * Add support for new resource `Entitlements.ActiveEntitlementSummary`
223
+
224
+ ## 11.0.0 - 2024-04-10
225
+ * [#1374](https://github.com/stripe/stripe-ruby/pull/1374)
226
+
227
+ * 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.
228
+
229
+ ### ⚠️ Breaking changes
230
+
231
+ * When no `x-stripe-should-retry` header is set in the response, the library now retries all requests with `status >= 500`, not just non-POST methods.
232
+
233
+ ## 10.15.0 - 2024-04-09
234
+ * [#1377](https://github.com/stripe/stripe-ruby/pull/1377) Add last_response to StripeObject
235
+ * Users can now retrieve raw response from the returned resource, using the `last_response` property. See [README](https://github.com/stripe/stripe-ruby/blob/master/README.md) for an example.
236
+ * [#1372](https://github.com/stripe/stripe-ruby/pull/1372) Update generated code
237
+ * Add support for new resources `Entitlements.ActiveEntitlement` and `Entitlements.Feature`
238
+ * Add support for `list` and `retrieve` methods on resource `ActiveEntitlement`
239
+ * Add support for `create`, `list`, `retrieve`, and `update` methods on resource `Feature`
240
+ * [#1366](https://github.com/stripe/stripe-ruby/pull/1366) Move executables to `exe` folder
241
+
242
+ ## 10.14.0 - 2024-03-28
243
+ * [#1369](https://github.com/stripe/stripe-ruby/pull/1369) Update generated code
244
+ * Add support for new resources `Billing.MeterEventAdjustment`, `Billing.MeterEvent`, and `Billing.Meter`
245
+ * Add support for `create`, `deactivate`, `list`, `reactivate`, `retrieve`, and `update` methods on resource `Meter`
246
+ * Add support for `create` method on resources `MeterEventAdjustment` and `MeterEvent`
247
+
248
+ ## 10.13.0 - 2024-03-21
249
+ * [#1367](https://github.com/stripe/stripe-ruby/pull/1367) Update generated code
250
+ * Add support for new resources `ConfirmationToken` and `Forwarding.Request`
251
+ * Add support for `retrieve` method on resource `ConfirmationToken`
252
+ * Add support for `create`, `list`, and `retrieve` methods on resource `Request`
253
+ * [#1362](https://github.com/stripe/stripe-ruby/pull/1362) Exclude sorbet directory and tapioca script when packing gem
254
+
255
+ ## 10.12.0 - 2024-03-14
256
+ * [#1359](https://github.com/stripe/stripe-ruby/pull/1359) Update generated code
257
+ * Add support for new resources `Issuing.PersonalizationDesign` and `Issuing.PhysicalBundle`
258
+ * Add support for `create`, `list`, `retrieve`, and `update` methods on resource `PersonalizationDesign`
259
+ * Add support for `list` and `retrieve` methods on resource `PhysicalBundle`
260
+ * [#1354](https://github.com/stripe/stripe-ruby/pull/1354) Refactor after SDK based generation pattern
261
+ * [#1347](https://github.com/stripe/stripe-ruby/pull/1347) Reorder methods with lexographical sort
262
+ * [#1355](https://github.com/stripe/stripe-ruby/pull/1355) Disable Metrics/ClassLength
263
+ * [#1351](https://github.com/stripe/stripe-ruby/pull/1351) Update CHANGELOG.md
264
+
265
+ ## 10.11.0 - 2024-02-29
266
+ * [#1348](https://github.com/stripe/stripe-ruby/pull/1348) Use sorbet gem instead of sorbet-static
267
+ * [#1342](https://github.com/stripe/stripe-ruby/pull/1342) Update generated code
268
+ * Add `list_refunds` and `retrieve_refund` methods on resource `Charge`.
269
+ * [#1345](https://github.com/stripe/stripe-ruby/pull/1345) Update README to use add_beta_version
270
+
271
+ ## 10.10.0 - 2024-02-22
272
+ * [#1336](https://github.com/stripe/stripe-ruby/pull/1336) Update generated code
273
+ - Add `InvoiceLineItem.update` method.
274
+ * [#1334](https://github.com/stripe/stripe-ruby/pull/1334) Add TaxIds API
275
+ * Add support for `all`, `create`, and `retrieve` methods on resource `TaxId`
276
+ * The `delete` method now sends a DELETE request to `/v1/tax_ids/{id}` instead of `/v1/customers/{customer}/tax_ids/{id}`. The endpoints are functionally the same when operating on a Customer Tax ID.
277
+ * The `resource_url` method on `TaxId` now returns the top-level `/v1/tax_ids/{id}` path instead of the `/v1/customers/{customer}/tax_ids/{id}` path.
278
+
279
+ ## 10.9.0 - 2024-02-15
280
+ * [#1329](https://github.com/stripe/stripe-ruby/pull/1329) Update generated code
281
+ * Fixed bug where `TaxId` resource `delete` method sent request to wrong URL (https://github.com/stripe/stripe-ruby/issues/1333)
282
+ * [#1324](https://github.com/stripe/stripe-ruby/pull/1324) Start running Sorbet in CI
283
+ * [#1327](https://github.com/stripe/stripe-ruby/pull/1327) Add methods for dynamically referenced constants
284
+
285
+ ## 10.8.0 - 2024-02-08
286
+ * [#1322](https://github.com/stripe/stripe-ruby/pull/1322) Update generated code
287
+ * [#1323](https://github.com/stripe/stripe-ruby/pull/1323) Extract other CRUDL api operations from mixins
288
+ * Extract more CRUDL operations, namely `create`, `delete`, `update`, and `list` into the resources. These methods will no longer rely on the APIOperation mixins.
289
+ * [#1314](https://github.com/stripe/stripe-ruby/pull/1314) Update mocha gem to 1.16
290
+
291
+ ## 10.7.1 - 2024-02-05
292
+ * [#1320](https://github.com/stripe/stripe-ruby/pull/1320) Remove spurious _search deprecation messages (https://github.com/stripe/stripe-ruby/issues/1319)
293
+
294
+ ## 10.7.0 - 2024-02-01
295
+ * [#1317](https://github.com/stripe/stripe-ruby/pull/1317) Remove list method in child resources
296
+ * Removes list method mixin from child resources, as these methods always return `InvalidRequestError` and never succeed
297
+ * [#1311](https://github.com/stripe/stripe-ruby/pull/1311) Use the deprecation gem in search and clean up usage of the gem
298
+
299
+ ## 10.6.0 - 2024-01-12
300
+ * [#1310](https://github.com/stripe/stripe-ruby/pull/1310) Update generated code
301
+ * Add support for new resource `CustomerSession`
302
+ * Add support for `create` method on resource `CustomerSession`
303
+
304
+ ## 10.5.0 - 2024-01-04
305
+ * [#1306](https://github.com/stripe/stripe-ruby/pull/1306) Update generated code
306
+ * Add support for `retrieve` method on resource `Tax.Registration`
307
+
308
+ ## 10.4.0 - 2023-12-22
309
+ * [#1303](https://github.com/stripe/stripe-ruby/pull/1303) Update generated code
310
+ * Add support for new resource `FinancialConnections.Transaction`
311
+ * Add support for `list` and `retrieve` methods on resource `Transaction`
312
+ * Add support for `subscribe` and `unsubscribe` methods on resource `FinancialConnections.Account`
313
+ * [#1304](https://github.com/stripe/stripe-ruby/pull/1304) Add support for updatable singleton resources
314
+
315
+ ## 10.3.0 - 2023-12-14
316
+ * [#1294](https://github.com/stripe/stripe-ruby/pull/1294) Support sending parameters inside singleton retrieve
317
+
318
+ ## 10.2.0 - 2023-11-30
319
+ * [#1292](https://github.com/stripe/stripe-ruby/pull/1292) Update generated code
320
+ * Add support for new resources `Climate.Order`, `Climate.Product`, and `Climate.Supplier`
321
+ * Add support for `cancel`, `create`, `list`, `retrieve`, and `update` methods on resource `Order`
322
+ * Add support for `list` and `retrieve` methods on resources `Product` and `Supplier`
323
+ * [#1295](https://github.com/stripe/stripe-ruby/pull/1295) Upgrade rubocop
324
+ * [#1291](https://github.com/stripe/stripe-ruby/pull/1291) Update generated code
325
+
326
+ * [#1290](https://github.com/stripe/stripe-ruby/pull/1290) Update generated code
327
+
328
+ * [#1288](https://github.com/stripe/stripe-ruby/pull/1288) Update generated code
329
+
330
+
331
+ ## 10.1.0 - 2023-11-02
332
+ * [#1286](https://github.com/stripe/stripe-ruby/pull/1286) Update generated code
333
+ * Add support for new resource `Tax.Registration`
334
+ * Add support for `create`, `list`, and `update` methods on resource `Registration`
335
+
336
+ ## 10.0.0 - 2023-10-16
337
+ * 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`.
338
+ * [#1283](https://github.com/stripe/stripe-ruby/pull/1283) Update generated code
339
+ - Updated pinned API version
340
+ * [#1281](https://github.com/stripe/stripe-ruby/pull/1281) Update generated code
341
+ * Documentation only changes
342
+
343
+ ## 9.4.0 - 2023-10-05
344
+ * [#1277](https://github.com/stripe/stripe-ruby/pull/1277) Update generated code
345
+ * Add support for new resources `Issuing.Token`
346
+ * Add support for `list`, `retrieve`, and `update` methods on resource `Token`
347
+
348
+ ## 9.3.0 - 2023-09-14
349
+ * [#1272](https://github.com/stripe/stripe-ruby/pull/1272) Update generated code
350
+ * Add support for new resource `PaymentMethodConfiguration`
351
+ * Add support for `create`, `list`, `retrieve`, and `update` methods on resource `PaymentMethodConfiguration`
352
+ * [#1271](https://github.com/stripe/stripe-ruby/pull/1271) Update generated code
353
+ * Add support for `capture`, `create`, `expire`, `increment`, and `reverse` test helper methods on resource `Issuing.Authorization`
354
+ * Add support for `create_force_capture`, `create_unlinked_refund`, and `refund` test helper methods on resource `Issuing.Transaction`
355
+
356
+ ## 9.2.0 - 2023-09-07
357
+ * [#1267](https://github.com/stripe/stripe-ruby/pull/1267) Update generated code
358
+ * Add support for new resource `PaymentMethodDomain`
359
+ * Add support for `create`, `list`, `retrieve`, `update`, and `validate` methods on resource `PaymentMethodDomain`
360
+
361
+ ## 9.1.0 - 2023-08-31
362
+ * [#1266](https://github.com/stripe/stripe-ruby/pull/1266) Update generated code
363
+ * Add support for new resource `AccountSession`
364
+ * Add support for `create` method on resource `AccountSession`
365
+ * [#1262](https://github.com/stripe/stripe-ruby/pull/1262) Explicitly format timestamp in SignatureVerificationError message
366
+
367
+
368
+ ## 9.0.0 - 2023-08-16
369
+ **⚠️ ACTION REQUIRED: the breaking change in this release likely affects you ⚠️**
370
+
371
+ * [#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
372
+
373
+ 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).
374
+
375
+ To successfully upgrade to stripe-ruby v9, you must either
376
+
377
+ 1. **(Recommended) Upgrade your integration to be compatible with API Version `2023-08-16`.**
378
+
379
+ 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.
380
+
381
+ You can read the [v9 migration guide](https://github.com/stripe/stripe-ruby/wiki/Migration-guide-for-v9) for more detailed instructions.
382
+ 2. **(Alternative option) Specify a version other than `2023-08-16` when initializing `stripe-ruby`.**
383
+
384
+ 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:
385
+
386
+ ```diff
387
+ require 'stripe'
388
+ Stripe.api_key = "sk_test_..."
389
+ + Stripe.api_version = '2020-08-27'
390
+ ```
391
+
392
+ If you were already initializing stripe-ruby with an explicit API Version, upgrading to v9 will not affect your integration.
393
+
394
+ Read the [v9 migration guide](https://github.com/stripe/stripe-ruby/wiki/Migration-guide-for-v9) for more details.
395
+
396
+ Going forward, each major release of this library will be *pinned* by default to the latest Stripe API Version at the time of release.
397
+
398
+ 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.
399
+
400
+ ## 8.7.0 - 2023-08-10
401
+ * [#1256](https://github.com/stripe/stripe-ruby/pull/1256) Update generated code
402
+ 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.
403
+
404
+ ## 8.6.0 - 2023-07-13
405
+ * [#1244](https://github.com/stripe/stripe-ruby/pull/1244) Update generated code
406
+ * Add support for new resource `Tax.Settings`
407
+ * Add support for `retrieve` and `update` methods on resource `Settings`
408
+ * [#1241](https://github.com/stripe/stripe-ruby/pull/1241) Update generated code
409
+
410
+ * [#1209](https://github.com/stripe/stripe-ruby/pull/1209) Update shoulda-context version
411
+ * [#1235](https://github.com/stripe/stripe-ruby/pull/1235) Allow "error" string as log level
412
+ * [#1238](https://github.com/stripe/stripe-ruby/pull/1238) Update log level error message to include `error`
413
+ * [#1231](https://github.com/stripe/stripe-ruby/pull/1231) fix: variable typo in README for instrumentation
414
+ * [#1234](https://github.com/stripe/stripe-ruby/pull/1234) Update generated code
415
+
416
+ * [#1230](https://github.com/stripe/stripe-ruby/pull/1230) Update generated code
417
+ * Release specs are identical.
418
+ * [#1226](https://github.com/stripe/stripe-ruby/pull/1226) Update generated code
419
+
420
+ * [#1223](https://github.com/stripe/stripe-ruby/pull/1223) Update generated code
421
+
422
+ * [#1225](https://github.com/stripe/stripe-ruby/pull/1225) Downgrade jaro_winkler
423
+ * [#1219](https://github.com/stripe/stripe-ruby/pull/1219) Update generated code
424
+
425
+ Documentation updates.
426
+ * [#1215](https://github.com/stripe/stripe-ruby/pull/1215) Update generated code
427
+
428
+ * [#1208](https://github.com/stripe/stripe-ruby/pull/1208) Update generated code
429
+
430
+ * [#1204](https://github.com/stripe/stripe-ruby/pull/1204) Update generated code
431
+
432
+
433
+ ## 8.5.0 - 2023-03-30
434
+ * [#1203](https://github.com/stripe/stripe-ruby/pull/1203) Update generated code
435
+ * Remove support for `create` method on resource `Tax.Transaction`
436
+ * 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.
437
+ * [#1201](https://github.com/stripe/stripe-ruby/pull/1201) Update save deprecation message
438
+
439
+ ## 8.4.0 - 2023-03-23
440
+ * [#1197](https://github.com/stripe/stripe-ruby/pull/1197) Update generated code (new)
441
+ * Add support for new resources `Tax.CalculationLineItem`, `Tax.Calculation`, `Tax.TransactionLineItem`, and `Tax.Transaction`
442
+ * Add support for `create` and `list_line_items` methods on resource `Calculation`
443
+ * Add support for `create_from_calculation`, `create_reversal`, `create`, `list_line_items`, and `retrieve` methods on resource `Transaction`
444
+ * [#1152](https://github.com/stripe/stripe-ruby/pull/1152) Symbolize hash keys inside `convert_to_stripe_object_with_params`
445
+
446
+ ## 8.3.0 - 2023-02-16
447
+ * [#1175](https://github.com/stripe/stripe-ruby/pull/1175) API Updates
448
+ * Add support for `refund_payment` method on resource `Terminal.Reader`
449
+
450
+ ## 8.2.0 - 2023-02-02
451
+ * [#1173](https://github.com/stripe/stripe-ruby/pull/1173) API Updates
452
+ * Add support for `resume` method on resource `Subscription`
453
+ * [#1171](https://github.com/stripe/stripe-ruby/pull/1171) Remove unused `partial` param from `initialize_from`
454
+
455
+ ## 8.1.0 - 2023-01-12
456
+ * [#1162](https://github.com/stripe/stripe-ruby/pull/1162) Improve request events instrumentation
457
+
458
+ ## 8.0.0 - 2022-11-16
459
+ * [#1144](https://github.com/stripe/stripe-ruby/pull/1144) Next major release changes
460
+
461
+ 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.
462
+
463
+ "⚠️" symbol highlights breaking changes.
464
+
465
+ ### Deprecated
466
+ - The `save` method is deprecated. Prefer the static `update` method that doesn't require retrieval of the resource to update it.
467
+ ``` ruby
468
+ # before
469
+ refund = Stripe::Refund.retrieve("re_123")
470
+ refund.description = "Refund description"
471
+ refund.save
472
+
473
+ # after
474
+ Stripe::Refund.update("re_123", description: "Refund description")
475
+ ```
476
+
477
+ ### ⚠️ Removed
478
+ - Removed deprecated `Sku` resource.
479
+ - Removed deprecated `Orders` resource.
480
+ - Removed deprecated `delete` method on `Subscription` resource. Please use `cancel` method instead.
481
+ ```ruby
482
+ # before
483
+ Stripe::Subscription::delete("sub_12345")
484
+
485
+ # after
486
+ Stripe::Subscription::cancel("sub_12345")
487
+ ```
488
+
489
+
490
+ ## 7.1.0 - 2022-08-19
491
+ * [#1116](https://github.com/stripe/stripe-ruby/pull/1116) API Updates
492
+ * Add support for new resource `CustomerCashBalanceTransaction`
493
+ * [#1118](https://github.com/stripe/stripe-ruby/pull/1118) Update AllowedChars in rubocop config
494
+ * [#1117](https://github.com/stripe/stripe-ruby/pull/1117) Refresh rubocop config.
495
+ * [#1115](https://github.com/stripe/stripe-ruby/pull/1115) Add a support section to the readme
496
+
497
+ ## 7.0.0 - 2022-08-02
498
+
499
+ 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.
500
+
501
+ "⚠️" symbol highlights breaking changes.
502
+
503
+ * [#1106](https://github.com/stripe/stripe-ruby/pull/1106) API Updates
504
+ * [#1092](https://github.com/stripe/stripe-ruby/pull/1092) API Updates
505
+ * [#1090](https://github.com/stripe/stripe-ruby/pull/1090) Use auto-generation for `Invoice` methods
506
+ * [#1103](https://github.com/stripe/stripe-ruby/pull/1103) Next major release changes
507
+
508
+ ### ⚠️ Changed
509
+ * `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.
510
+ * Update default bundle of CA certificates to April 26, 2022.
511
+
512
+ ### Deprecated
513
+ * Deprecate `delete` method on `Subscription` resource. Please use `cancel` method instead.
514
+
515
+ ### ⚠️ Removed
516
+ * Remove `details` method from `Issuing.Card` resource. The method was not supported.
517
+ * Remove `Issuing.CardDetails` resource. Read more at https://stripe.com/docs/issuing/cards/virtual.
518
+ * Remove `create` method from `ReportType` resource. The method was not supported.
519
+ * Remove `usage_record_summaries` method from `SubscriptionItem` resource. Please use `list_usage_record_summaries` method instead.
520
+ * Remove `AlipayAccount`, `BitcoinReceiver`, `BitcoinTransaction`, `Issuing::CardDetails`, `Recipient`, ` RecipientTransfer`, and `ThreeDSecure` resources. The resources were deprecated or no longer in use.
521
+ * Remove ability to list `Card` resource for a `Recipient`.
522
+ * Remove `cancel` method from `Transfer` resource. The method was deprecated.
523
+
524
+ ## 6.5.0 - 2022-06-29
525
+ * [#1084](https://github.com/stripe/stripe-ruby/pull/1084) API Updates
526
+ * Add support for `deliver_card`, `fail_card`, `return_card`, and `ship_card` test helper methods on resource `Issuing.Card`
527
+ * [#1076](https://github.com/stripe/stripe-ruby/pull/1076) fix: Update logging to coerce ASCII-8BIT into UTF-8.
528
+
529
+ ## 6.4.0 - 2022-06-17
530
+ * [#1073](https://github.com/stripe/stripe-ruby/pull/1073) API Updates
531
+ * Add support for `fund_cash_balance` test helper method on resource `Customer`
532
+ * [#1074](https://github.com/stripe/stripe-ruby/pull/1074) Support updating pre-release versions
533
+ * [#1072](https://github.com/stripe/stripe-ruby/pull/1072) Trigger workflows on beta branches
534
+ * [#1071](https://github.com/stripe/stripe-ruby/pull/1071) Use request_stripe_object for all requests
535
+ * [#1070](https://github.com/stripe/stripe-ruby/pull/1070) API Updates
536
+
537
+ Switch from using meta-programing to generating explicit methods for custom methods.
538
+ * [#1069](https://github.com/stripe/stripe-ruby/pull/1069) chore: Stop special implementation of Account.persons method.
539
+
540
+ ## 6.3.0 - 2022-06-08
541
+ * [#1063](https://github.com/stripe/stripe-ruby/pull/1063) fix: Update cash balance methods to no longer require nested ID.
542
+
543
+ ## 6.2.0 - 2022-05-23
544
+ * [#1060](https://github.com/stripe/stripe-ruby/pull/1060) API Updates
545
+ * Add support for new resource `Apps.Secret`
546
+
547
+ ## 6.1.0 - 2022-05-19
548
+ * [#1057](https://github.com/stripe/stripe-ruby/pull/1057) API Updates
549
+ * 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`
550
+ * Add support for `retrieve_payment_method` method on resource `Customer`
551
+ * Add support for `list_owners` and `list` methods on resource `FinancialConnections.Account`
552
+
553
+
554
+
555
+ ## 6.0.0 - 2022-05-09
556
+ * [#1056](https://github.com/stripe/stripe-ruby/pull/1056) API Updates
557
+ Major version release. The [migration guide](https://github.com/stripe/stripe-ruby/wiki/Migration-Guide-for-v6) contains more information.
558
+
559
+ (⚠️ = breaking changes):
560
+ * ⚠️ Replace the legacy `Order` API with the new `Order` API.
561
+ * New methods: `cancel`, `list_line_items`, `reopen`, and `submit`
562
+ * Removed methods: `pay` and `return_order`
563
+ * Removed resources: `OrderItem` and `OrderReturn`
564
+ * ⚠️ Rename `FinancialConnections::Account.refresh` to `FinancialConnections::Account.refresh_account
2
565
 
3
566
  ## 5.55.0 - 2022-05-05
4
567
  * [#1055](https://github.com/stripe/stripe-ruby/pull/1055) API Updates
5
- * Add support for new resources `FinancialConnections.AccountOwner`, `FinancialConnections.AccountOwnership`, `FinancialConnections.Account`, and `FinancialConnections.Session`
6
-
568
+ * Add support for new resources `FinancialConnections.AccountOwner`, `FinancialConnections.AccountOwnership`, `FinancialConnections.Account`, and `FinancialConnections.Session`
569
+
7
570
 
8
571
  ## 5.54.0 - 2022-05-03
9
572
  * [#1053](https://github.com/stripe/stripe-ruby/pull/1053) API Updates
@@ -14,7 +577,7 @@
14
577
  * Add support for `expire` test helper method on resource `Refund`
15
578
 
16
579
  ## 5.52.0 - 2022-04-18
17
- * [#1046](https://github.com/stripe/stripe-ruby/pull/1046) [#1047](https://github.com/stripe/stripe-ruby/pull/1047) API Updates
580
+ * [#1046](https://github.com/stripe/stripe-ruby/pull/1046) [#1047](https://github.com/stripe/stripe-ruby/pull/1047) API Updates
18
581
  * Add support for new resources `FundingInstructions` and `Terminal.Configuration`
19
582
 
20
583
  ## 5.51.0 - 2022-04-15
@@ -36,7 +599,7 @@
36
599
  * [#1040](https://github.com/stripe/stripe-ruby/pull/1040) API Updates
37
600
  * Add support for Search API
38
601
  * Add support for `search` method on resources `Charge`, `Customer`, `Invoice`, `PaymentIntent`, `Price`, `Product`, and `Subscription`
39
-
602
+
40
603
  * [#1034](https://github.com/stripe/stripe-ruby/pull/1034) Add supporting classes for test helper generation
41
604
 
42
605
  ## 5.46.0 - 2022-03-23
data/Gemfile CHANGED
@@ -5,12 +5,11 @@ source "https://rubygems.org"
5
5
  gemspec
6
6
 
7
7
  group :development do
8
- gem "mocha", "~> 0.13.2"
8
+ gem "mocha", "~> 1.16.0"
9
9
  gem "rack", ">= 2.0.6"
10
10
  gem "rake"
11
11
 
12
- # Update to 2.0.0 once it ships.
13
- gem "shoulda-context", "2.0.0.rc4"
12
+ gem "shoulda-context", "2.0.0"
14
13
 
15
14
  gem "test-unit"
16
15
 
@@ -23,11 +22,20 @@ group :development do
23
22
  # `Gemfile.lock` checked in, so to prevent good builds from suddenly going
24
23
  # bad, pin to a specific version number here. Try to keep this relatively
25
24
  # up-to-date, but it's not the end of the world if it's not.
26
- gem "rubocop", "0.80"
25
+ #
26
+ # The latest version of rubocop is only compatible with Ruby 2.7+
27
+ gem "rubocop", "1.57.2" if RUBY_VERSION >= "2.7"
28
+
29
+ gem "sorbet"
30
+ gem "tapioca"
27
31
 
28
32
  platforms :mri do
29
33
  gem "byebug"
30
34
  gem "pry"
31
35
  gem "pry-byebug"
32
36
  end
37
+
38
+ platforms :jruby do
39
+ gem "rbi", "0.2.4" # jruby does not support rbs, a new dependency in 0.3.0
40
+ end
33
41
  end