1# Changelog
2
3## 6.43.1 - 2019-08-29
4* [#722](https://github.com/stripe/stripe-php/pull/722) Make `LoggerInterface::error` compatible with its PSR-3 counterpart
5* [#714](https://github.com/stripe/stripe-php/pull/714) Add `pending_setup_intent` property in `Subscription`
6* [#713](https://github.com/stripe/stripe-php/pull/713) Add typehint to `ApiResponse`
7* [#712](https://github.com/stripe/stripe-php/pull/712) Fix comment
8* [#701](https://github.com/stripe/stripe-php/pull/701) Start testing PHP 7.3
9
10## 6.43.0 - 2019-08-09
11* [#694](https://github.com/stripe/stripe-php/pull/694) Add `SubscriptionItem::createUsageRecord` method
12
13## 6.42.0 - 2019-08-09
14* [#688](https://github.com/stripe/stripe-php/pull/688) Remove `SubscriptionScheduleRevision`
15  * Note that this is technically a breaking change, however we've chosen to release it as a minor version in light of the fact that this resource and its API methods were virtually unused.
16
17## 6.41.0 - 2019-07-31
18* [#683](https://github.com/stripe/stripe-php/pull/683) Move the List Balance History API to `/v1/balance_transactions`
19
20## 6.40.0 - 2019-06-27
21* [#675](https://github.com/stripe/stripe-php/pull/675) Add support for `SetupIntent` resource and APIs
22
23## 6.39.2 - 2019-06-26
24* [#676](https://github.com/stripe/stripe-php/pull/676) Fix exception message in `CustomerBalanceTransaction::update()`
25
26## 6.39.1 - 2019-06-25
27* [#674](https://github.com/stripe/stripe-php/pull/674) Add new constants for `collection_method` on `Invoice`
28
29## 6.39.0 - 2019-06-24
30* [#673](https://github.com/stripe/stripe-php/pull/673) Enable request latency telemetry by default
31
32## 6.38.0 - 2019-06-17
33* [#649](https://github.com/stripe/stripe-php/pull/649) Add support for `CustomerBalanceTransaction` resource and APIs
34
35## 6.37.2 - 2019-06-17
36* [#671](https://github.com/stripe/stripe-php/pull/671) Add new PHPDoc
37* [#672](https://github.com/stripe/stripe-php/pull/672) Add constants for `submit_type` on Checkout `Session`
38
39## 6.37.1 - 2019-06-14
40* [#670](https://github.com/stripe/stripe-php/pull/670) Add new PHPDoc
41
42## 6.37.0 - 2019-05-23
43* [#663](https://github.com/stripe/stripe-php/pull/663) Add support for `radar.early_fraud_warning` resource
44
45## 6.36.0 - 2019-05-22
46* [#661](https://github.com/stripe/stripe-php/pull/661) Add constants for new TaxId types
47* [#662](https://github.com/stripe/stripe-php/pull/662) Add constants for BalanceTransaction types
48
49## 6.35.2 - 2019-05-20
50* [#655](https://github.com/stripe/stripe-php/pull/655) Add constants for payment intent statuses
51* [#659](https://github.com/stripe/stripe-php/pull/659) Fix PHPDoc for various nested Account actions
52* [#660](https://github.com/stripe/stripe-php/pull/660) Fix various PHPDoc
53
54## 6.35.1 - 2019-05-20
55* [#658](https://github.com/stripe/stripe-php/pull/658) Use absolute value when checking timestamp tolerance
56
57## 6.35.0 - 2019-05-14
58* [#651](https://github.com/stripe/stripe-php/pull/651) Add support for the Capability resource and APIs
59
60## 6.34.6 - 2019-05-13
61* [#654](https://github.com/stripe/stripe-php/pull/654) Fix typo in definition of `Event::PAYMENT_METHOD_ATTACHED` constant
62
63## 6.34.5 - 2019-05-06
64* [#647](https://github.com/stripe/stripe-php/pull/647) Set the return type to static for more operations
65
66## 6.34.4 - 2019-05-06
67* [#650](https://github.com/stripe/stripe-php/pull/650) Add missing constants for Event types
68
69## 6.34.3 - 2019-05-01
70* [#644](https://github.com/stripe/stripe-php/pull/644) Update return type to `static` to improve static analysis
71* [#645](https://github.com/stripe/stripe-php/pull/645) Fix constant for `payment_intent.payment_failed`
72
73## 6.34.2 - 2019-04-26
74* [#642](https://github.com/stripe/stripe-php/pull/642) Fix an issue where existing idempotency keys would be overwritten when using automatic retries
75
76## 6.34.1 - 2019-04-25
77* [#640](https://github.com/stripe/stripe-php/pull/640) Add missing phpdocs
78
79## 6.34.0 - 2019-04-24
80* [#626](https://github.com/stripe/stripe-php/pull/626) Add support for the `TaxRate` resource and APIs
81* [#639](https://github.com/stripe/stripe-php/pull/639) Fix multiple phpdoc issues
82
83## 6.33.0 - 2019-04-22
84* [#630](https://github.com/stripe/stripe-php/pull/630) Add support for the `TaxId` resource and APIs
85
86## 6.32.1 - 2019-04-19
87* [#636](https://github.com/stripe/stripe-php/pull/636) Correct type of `$personId` in PHPDoc
88
89## 6.32.0 - 2019-04-18
90* [#621](https://github.com/stripe/stripe-php/pull/621) Add support for `CreditNote`
91
92## 6.31.5 - 2019-04-12
93* [#628](https://github.com/stripe/stripe-php/pull/628) Add constants for `person.*` event types
94* [#628](https://github.com/stripe/stripe-php/pull/628) Add missing constants for `Account` and `Person`
95
96## 6.31.4 - 2019-04-05
97* [#624](https://github.com/stripe/stripe-php/pull/624) Fix encoding of nested parameters in multipart requests
98
99## 6.31.3 - 2019-04-02
100* [#623](https://github.com/stripe/stripe-php/pull/623) Only use HTTP/2 with curl >= 7.60.0
101
102## 6.31.2 - 2019-03-25
103* [#619](https://github.com/stripe/stripe-php/pull/619) Fix PHPDoc return types for list methods for nested resources
104
105## 6.31.1 - 2019-03-22
106* [#612](https://github.com/stripe/stripe-php/pull/612) Add a lot of constants
107* [#614](https://github.com/stripe/stripe-php/pull/614) Add missing subscription status constants
108
109## 6.31.0 - 2019-03-18
110* [#600](https://github.com/stripe/stripe-php/pull/600) Add support for the `PaymentMethod` resource and APIs
111* [#606](https://github.com/stripe/stripe-php/pull/606) Add support for retrieving a Checkout `Session`
112* [#611](https://github.com/stripe/stripe-php/pull/611) Add support for deleting a Terminal `Location` and `Reader`
113
114## 6.30.5 - 2019-03-11
115* [#607](https://github.com/stripe/stripe-php/pull/607) Correctly handle case where a metadata key is called `metadata`
116
117## 6.30.4 - 2019-02-27
118* [#602](https://github.com/stripe/stripe-php/pull/602) Add `subscription_schedule` to `Subscription` for PHPDoc.
119
120## 6.30.3 - 2019-02-26
121* [#603](https://github.com/stripe/stripe-php/pull/603) Improve PHPDoc on the `Source` object to cover all types of Sources currently supported.
122
123## 6.30.2 - 2019-02-25
124* [#601](https://github.com/stripe/stripe-php/pull/601) Fix PHPDoc across multiple resources and add support for new events.
125
126## 6.30.1 - 2019-02-16
127* [#599](https://github.com/stripe/stripe-php/pull/599) Fix PHPDoc for `SubscriptionSchedule` and `SubscriptionScheduleRevision`
128
129## 6.30.0 - 2019-02-12
130* [#590](https://github.com/stripe/stripe-php/pull/590) Add support for `SubscriptionSchedule` and `SubscriptionScheduleRevision`
131
132## 6.29.3 - 2019-01-31
133* [#592](https://github.com/stripe/stripe-php/pull/592) Some more PHPDoc fixes
134
135## 6.29.2 - 2019-01-31
136* [#591](https://github.com/stripe/stripe-php/pull/591) Fix PHPDoc for nested resources
137
138## 6.29.1 - 2019-01-25
139* [#566](https://github.com/stripe/stripe-php/pull/566) Fix dangling message contents
140* [#586](https://github.com/stripe/stripe-php/pull/586) Don't overwrite `CURLOPT_HTTP_VERSION` option
141
142## 6.29.0 - 2019-01-23
143* [#579](https://github.com/stripe/stripe-php/pull/579) 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.
144
145## 6.28.1 - 2019-01-21
146* [#580](https://github.com/stripe/stripe-php/pull/580) Properly serialize `individual` on `Account` objects
147
148## 6.28.0 - 2019-01-03
149* [#576](https://github.com/stripe/stripe-php/pull/576) Add support for iterating directly over `Collection` instances
150
151## 6.27.0 - 2018-12-21
152* [#571](https://github.com/stripe/stripe-php/pull/571) Add support for the `CheckoutSession` resource
153
154## 6.26.0 - 2018-12-11
155* [#568](https://github.com/stripe/stripe-php/pull/568) Enable persistent connections
156
157## 6.25.0 - 2018-12-10
158* [#567](https://github.com/stripe/stripe-php/pull/567) Add support for account links
159
160## 6.24.0 - 2018-11-28
161* [#562](https://github.com/stripe/stripe-php/pull/562) Add support for the Review resource
162* [#564](https://github.com/stripe/stripe-php/pull/564) Add event name constants for subscription schedule aborted/expiring
163
164## 6.23.0 - 2018-11-27
165* [#542](https://github.com/stripe/stripe-php/pull/542) Add support for `ValueList` and `ValueListItem` for Radar
166
167## 6.22.1 - 2018-11-20
168* [#561](https://github.com/stripe/stripe-php/pull/561) Add cast and some docs to telemetry introduced in 6.22.0/#549
169
170## 6.22.0 - 2018-11-15
171* [#549](https://github.com/stripe/stripe-php/pull/549) Add support for client telemetry
172
173## 6.21.1 - 2018-11-12
174* [#548](https://github.com/stripe/stripe-php/pull/548) Don't mutate `Exception` class properties from `OAuthBase` error
175
176## 6.21.0 - 2018-11-08
177* [#537](https://github.com/stripe/stripe-php/pull/537) Add new API endpoints for the `Invoice` resource.
178
179## 6.20.1 - 2018-11-07
180* [#546](https://github.com/stripe/stripe-php/pull/546) Drop files from the Composer package that aren't needed in the release
181
182## 6.20.0 - 2018-10-30
183* [#536](https://github.com/stripe/stripe-php/pull/536) Add support for the `Person` resource
184* [#541](https://github.com/stripe/stripe-php/pull/541) Add support for the `WebhookEndpoint` resource
185
186## 6.19.5 - 2018-10-17
187* [#539](https://github.com/stripe/stripe-php/pull/539) Fix methods on `\Stripe\PaymentIntent` to properly pass arguments to the API.
188
189## 6.19.4 - 2018-10-11
190* [#534](https://github.com/stripe/stripe-php/pull/534) Fix PSR-4 autoloading for `\Stripe\FileUpload` class alias
191
192## 6.19.3 - 2018-10-09
193* [#530](https://github.com/stripe/stripe-php/pull/530) Add constants for `flow` (`FLOW_*`), `status` (`STATUS_*`) and `usage` (`USAGE_*`) on `\Stripe\Source`
194
195## 6.19.2 - 2018-10-08
196* [#531](https://github.com/stripe/stripe-php/pull/531) Store HTTP response headers in case-insensitive array
197
198## 6.19.1 - 2018-09-25
199* [#526](https://github.com/stripe/stripe-php/pull/526) Ignore null values in request parameters
200
201## 6.19.0 - 2018-09-24
202* [#523](https://github.com/stripe/stripe-php/pull/523) Add support for Stripe Terminal
203
204## 6.18.0 - 2018-09-24
205* [#520](https://github.com/stripe/stripe-php/pull/520) Rename `\Stripe\FileUpload` to `\Stripe\File`
206
207## 6.17.2 - 2018-09-18
208* [#522](https://github.com/stripe/stripe-php/pull/522) Fix warning when adding a new additional owner to an existing array
209
210## 6.17.1 - 2018-09-14
211* [#517](https://github.com/stripe/stripe-php/pull/517) Integer-index encode all sequential arrays
212
213## 6.17.0 - 2018-09-05
214* [#514](https://github.com/stripe/stripe-php/pull/514) Add support for reporting resources
215
216## 6.16.0 - 2018-08-23
217* [#509](https://github.com/stripe/stripe-php/pull/509) Add support for usage record summaries
218
219## 6.15.0 - 2018-08-03
220* [#504](https://github.com/stripe/stripe-php/pull/504) Add cancel support for topups
221
222## 6.14.0 - 2018-08-02
223* [#505](https://github.com/stripe/stripe-php/pull/505) Add support for file links
224
225## 6.13.0 - 2018-07-31
226* [#502](https://github.com/stripe/stripe-php/pull/502) Add `isDeleted()` method to `\Stripe\StripeObject`
227
228## 6.12.0 - 2018-07-28
229* [#501](https://github.com/stripe/stripe-php/pull/501) Add support for scheduled query runs (`\Stripe\Sigma\ScheduledQueryRun`) for Sigma
230
231## 6.11.0 - 2018-07-26
232* [#500](https://github.com/stripe/stripe-php/pull/500) Add support for Stripe Issuing
233
234## 6.10.4 - 2018-07-19
235* [#498](https://github.com/stripe/stripe-php/pull/498) Internal improvements to the `\Stripe\ApiResource.classUrl()` method
236
237## 6.10.3 - 2018-07-16
238* [#497](https://github.com/stripe/stripe-php/pull/497) Use HTTP/2 only for HTTPS requests
239
240## 6.10.2 - 2018-07-11
241* [#494](https://github.com/stripe/stripe-php/pull/494) Enable HTTP/2 support
242
243## 6.10.1 - 2018-07-10
244* [#493](https://github.com/stripe/stripe-php/pull/493) Add PHPDoc for `auto_advance` on `\Stripe\Invoice`
245
246## 6.10.0 - 2018-06-28
247* [#488](https://github.com/stripe/stripe-php/pull/488) Add support for `$appPartnerId` to `Stripe::setAppInfo()`
248
249## 6.9.0 - 2018-06-28
250* [#487](https://github.com/stripe/stripe-php/pull/487) Add support for payment intents
251
252## 6.8.2 - 2018-06-24
253* [#486](https://github.com/stripe/stripe-php/pull/486) Make `Account.deauthorize()` return the `StripeObject` from the API
254
255## 6.8.1 - 2018-06-13
256* [#472](https://github.com/stripe/stripe-php/pull/472) Added phpDoc for `ApiRequestor` and others, especially regarding thrown errors
257
258## 6.8.0 - 2018-06-13
259* [#481](https://github.com/stripe/stripe-php/pull/481) Add new `\Stripe\Discount` and `\Stripe\OrderItem` classes, add more PHPDoc describing object attributes
260
261## 6.7.4 - 2018-05-29
262* [#480](https://github.com/stripe/stripe-php/pull/480) PHPDoc changes for API version 2018-05-21 and the addition of the new `CHARGE_EXPIRED` event type
263
264## 6.7.3 - 2018-05-28
265* [#479](https://github.com/stripe/stripe-php/pull/479) Fix unnecessary traits on `\Stripe\InvoiceLineItem`
266
267## 6.7.2 - 2018-05-28
268* [#471](https://github.com/stripe/stripe-php/pull/471) Add `OBJECT_NAME` constant to all API resource classes, add `\Stripe\InvoiceLineItem` class
269
270## 6.7.1 - 2018-05-13
271* [#468](https://github.com/stripe/stripe-php/pull/468) Update fields in PHP docs for accuracy
272
273## 6.7.0 - 2018-05-09
274* [#466](https://github.com/stripe/stripe-php/pull/466) Add support for issuer fraud records
275
276## 6.6.0 - 2018-04-11
277* [#460](https://github.com/stripe/stripe-php/pull/460) Add support for flexible billing primitives
278
279## 6.5.0 - 2018-04-05
280* [#461](https://github.com/stripe/stripe-php/pull/461) Don't zero keys on non-`metadata` subobjects
281
282## 6.4.2 - 2018-03-17
283* [#458](https://github.com/stripe/stripe-php/pull/458) Add PHPDoc for `account` on `\Stripe\Event`
284
285## 6.4.1 - 2018-03-02
286* [#455](https://github.com/stripe/stripe-php/pull/455) Fix namespaces in PHPDoc
287* [#456](https://github.com/stripe/stripe-php/pull/456) Fix namespaces for some exceptions
288
289## 6.4.0 - 2018-02-28
290* [#453](https://github.com/stripe/stripe-php/pull/453) Add constants for `reason` (`REASON_*`) and `status` (`STATUS_*`) on `\Stripe\Dispute`
291
292## 6.3.2 - 2018-02-27
293* [#452](https://github.com/stripe/stripe-php/pull/452) Add PHPDoc for `amount_paid` and `amount_remaining` on `\Stripe\Invoice`
294
295## 6.3.1 - 2018-02-26
296* [#443](https://github.com/stripe/stripe-php/pull/443) Add event types as constants to `\Stripe\Event` class
297
298## 6.3.0 - 2018-02-23
299* [#450](https://github.com/stripe/stripe-php/pull/450) Add support for `code` attribute on all Stripe exceptions
300
301## 6.2.0 - 2018-02-21
302* [#440](https://github.com/stripe/stripe-php/pull/440) Add support for topups
303* [#442](https://github.com/stripe/stripe-php/pull/442) Fix PHPDoc for `\Stripe\Error\SignatureVerification`
304
305## 6.1.0 - 2018-02-12
306* [#435](https://github.com/stripe/stripe-php/pull/435) Fix header persistence on `Collection` objects
307* [#436](https://github.com/stripe/stripe-php/pull/436) Introduce new `Idempotency` error class
308
309## 6.0.0 - 2018-02-07
310Major version release. List of backwards incompatible changes to watch out for:
311+ The minimum PHP version is now 5.4.0. If you're using PHP 5.3 or older, consider upgrading to a more recent version.
312* `\Stripe\AttachedObject` no longer exists. Attributes that used to be instances of `\Stripe\AttachedObject` (such as `metadata`) are now instances of `\Stripe\StripeObject`.
313+ Attributes that used to be PHP arrays (such as `legal_entity->additional_owners` on `\Stripe\Account` instances) are now instances of `\Stripe\StripeObject`, except when they are empty. `\Stripe\StripeObject` has array semantics so this should not be an issue unless you are actively checking types.
314* `\Stripe\Collection` now derives from `\Stripe\StripeObject` rather than from `\Stripe\ApiResource`.
315
316Pull requests included in this release:
317* [#410](https://github.com/stripe/stripe-php/pull/410) Drop support for PHP 5.3
318* [#411](https://github.com/stripe/stripe-php/pull/411) Use traits for common API operations
319* [#414](https://github.com/stripe/stripe-php/pull/414) Use short array syntax
320* [#404](https://github.com/stripe/stripe-php/pull/404) Fix serialization logic
321* [#417](https://github.com/stripe/stripe-php/pull/417) Remove `ExternalAccount` class
322* [#418](https://github.com/stripe/stripe-php/pull/418) Increase test coverage
323* [#421](https://github.com/stripe/stripe-php/pull/421) Update CA bundle and add script for future updates
324* [#422](https://github.com/stripe/stripe-php/pull/422) Use vendored CA bundle for all requests
325* [#428](https://github.com/stripe/stripe-php/pull/428) Support for automatic request retries
326
327## 5.9.2 - 2018-02-07
328* [#431](https://github.com/stripe/stripe-php/pull/431) Update PHPDoc @property tags for latest API version
329
330## 5.9.1 - 2018-02-06
331* [#427](https://github.com/stripe/stripe-php/pull/427) Add and update PHPDoc @property tags on all API resources
332
333## 5.9.0 - 2018-01-17
334* [#421](https://github.com/stripe/stripe-php/pull/421) Updated bundled CA certificates
335* [#423](https://github.com/stripe/stripe-php/pull/423) Escape unsanitized input in OAuth example
336
337## 5.8.0 - 2017-12-20
338* [#403](https://github.com/stripe/stripe-php/pull/403) Add `__debugInfo()` magic method to `StripeObject`
339
340## 5.7.0 - 2017-11-28
341* [#390](https://github.com/stripe/stripe-php/pull/390) Remove some unsupported API methods
342* [#391](https://github.com/stripe/stripe-php/pull/391) Alphabetize the list of API resources in `Util::convertToStripeObject()` and add missing resources
343* [#393](https://github.com/stripe/stripe-php/pull/393) Fix expiry date update for card sources
344
345## 5.6.0 - 2017-10-31
346* [#386](https://github.com/stripe/stripe-php/pull/386) Support for exchange rates APIs
347
348## 5.5.1 - 2017-10-30
349* [#387](https://github.com/stripe/stripe-php/pull/387) Allow `personal_address_kana` and `personal_address_kanji` to be updated on an account
350
351## 5.5.0 - 2017-10-27
352* [#385](https://github.com/stripe/stripe-php/pull/385) Support for listing source transactions
353
354## 5.4.0 - 2017-10-24
355* [#383](https://github.com/stripe/stripe-php/pull/383) Add static methods to manipulate resources from parent
356    * `Account` gains methods for external accounts and login links (e.g. `createExternalAccount`, `createLoginLink`)
357    * `ApplicationFee` gains methods for refunds
358    * `Customer` gains methods for sources
359    * `Transfer` gains methods for reversals
360
361## 5.3.0 - 2017-10-11
362* [#378](https://github.com/stripe/stripe-php/pull/378) Rename source `delete` to `detach` (and deprecate the former)
363
364## 5.2.3 - 2017-09-27
365* Add PHPDoc for `Card`
366
367## 5.2.2 - 2017-09-20
368* Fix deserialization mapping of `FileUpload` objects
369
370## 5.2.1 - 2017-09-14
371* Serialized `shipping` nested attribute
372
373## 5.2.0 - 2017-08-29
374* Add support for `InvalidClient` OAuth error
375
376## 5.1.3 - 2017-08-14
377* Allow `address_kana` and `address_kanji` to be updated for custom accounts
378
379## 5.1.2 - 2017-08-01
380* Fix documented return type of `autoPagingIterator()` (was missing namespace)
381
382## 5.1.1 - 2017-07-03
383* Fix order returns to use the right URL `/v1/order_returns`
384
385## 5.1.0 - 2017-06-30
386* Add support for OAuth
387
388## 5.0.0 - 2017-06-27
389* `pay` on invoice now takes params as well as opts
390
391## 4.13.0 - 2017-06-19
392* Add support for ephemeral keys
393
394## 4.12.0 - 2017-06-05
395* Clients can implement `getUserAgentInfo()` to add additional user agent information
396
397## 4.11.0 - 2017-06-05
398* Implement `Countable` for `AttachedObject` (`metadata` and `additional_owners`)
399
400## 4.10.0 - 2017-05-25
401* Add support for login links
402
403## 4.9.1 - 2017-05-10
404* Fix docs to include arrays on `$id` parameter for retrieve methods
405
406## 4.9.0 - 2017-04-28
407* Support for checking webhook signatures
408
409## 4.8.1 - 2017-04-24
410* Allow nested field `payout_schedule` to be updated
411
412## 4.8.0 - 2017-04-20
413* Add `\Stripe\Stripe::setLogger()` to support an external PSR-3 compatible logger
414
415## 4.7.0 - 2017-04-10
416* Add support for payouts and recipient transfers
417
418## 4.6.0 - 2017-04-06
419* Please see 4.7.0 instead (no-op release)
420
421## 4.5.1 - 2017-03-22
422* Remove hard dependency on cURL
423
424## 4.5.0 - 2017-03-20
425* Support for detaching sources from customers
426
427## 4.4.2 - 2017-02-27
428* Correct handling of `owner` parameter when updating sources
429
430## 4.4.1 - 2017-02-24
431* Correct the error check on a bad JSON decoding
432
433## 4.4.0 - 2017-01-18
434* Add support for updating sources
435
436## 4.3.0 - 2016-11-30
437* Add support for verifying sources
438
439## 4.2.0 - 2016-11-21
440* Add retrieve method for 3-D Secure resources
441
442## 4.1.1 - 2016-10-21
443* Add docblock with model properties for `Plan`
444
445## 4.1.0 - 2016-10-18
446* Support for 403 status codes (permission denied)
447
448## 4.0.1 - 2016-10-17
449* Fix transfer reversal materialization
450* Fixes for some property definitions in docblocks
451
452## 4.0.0 - 2016-09-28
453* Support for subscription items
454* Drop attempt to force TLS 1.2: please note that this could be breaking if you're using old OS distributions or packages and upgraded recently (so please make sure to test your integration!)
455
456## 3.23.0 - 2016-09-15
457* Add support for Apple Pay domains
458
459## 3.22.0 - 2016-09-13
460* Add `Stripe::setAppInfo` to allow plugins to register user agent information
461
462## 3.21.0 - 2016-08-25
463* Add `Source` model for generic payment sources
464
465## 3.20.0 - 2016-08-08
466* Add `getDeclineCode` to card errors
467
468## 3.19.0 - 2016-07-29
469* Opt requests directly into TLS 1.2 where OpenSSL >= 1.0.1 (see #277 for context)
470
471## 3.18.0 - 2016-07-28
472* Add new `STATUS_` constants for subscriptions
473
474## 3.17.1 - 2016-07-28
475* Fix auto-paging iterator so that it plays nicely with `iterator_to_array`
476
477## 3.17.0 - 2016-07-14
478* Add field annotations to model classes for better editor hinting
479
480## 3.16.0 - 2016-07-12
481* Add `ThreeDSecure` model for 3-D secure payments
482
483## 3.15.0 - 2016-06-29
484* Add static `update` method to all resources that can be changed.
485
486## 3.14.3 - 2016-06-20
487* Make sure that cURL never sends `Expects: 100-continue`, even on large request bodies
488
489## 3.14.2 - 2016-06-03
490* Add `inventory` under `SKU` to list of keys that have nested data and can be updated
491
492## 3.14.1 - 2016-05-27
493* Fix some inconsistencies in PHPDoc
494
495## 3.14.0 - 2016-05-25
496* Add support for returning Relay orders
497
498## 3.13.0 - 2016-05-04
499* Add `list`, `create`, `update`, `retrieve`, and `delete` methods to the Subscription class
500
501## 3.12.1 - 2016-04-07
502* Additional check on value arrays for some extra safety
503
504## 3.12.0 - 2016-03-31
505* Fix bug `refreshFrom` on `StripeObject` would not take an `$opts` array
506* Fix bug where `$opts` not passed to parent `save` method in `Account`
507* Fix bug where non-existent variable was referenced in `reverse` in `Transfer`
508* Update CA cert bundle for compatibility with OpenSSL versions below 1.0.1
509
510## 3.11.0 - 2016-03-22
511* Allow `CurlClient` to be initialized with default `CURLOPT_*` options
512
513## 3.10.1 - 2016-03-22
514* Fix bug where request params and options were ignored in `ApplicationFee`'s `refund.`
515
516## 3.10.0 - 2016-03-15
517* Add `reject` on `Account` to support the new API feature
518
519## 3.9.2 - 2016-03-04
520* Fix error when an object's metadata is set more than once
521
522## 3.9.1 - 2016-02-24
523* Fix encoding behavior of nested arrays for requests (see #227)
524
525## 3.9.0 - 2016-02-09
526* Add automatic pagination mechanism with `autoPagingIterator()`
527* Allow global account ID to be set with `Stripe::setAccountId()`
528
529## 3.8.0 - 2016-02-08
530* Add `CountrySpec` model for looking up country payment information
531
532## 3.7.1 - 2016-02-01
533* Update bundled CA certs
534
535## 3.7.0 - 2016-01-27
536* Support deleting Relay products and SKUs
537
538## 3.6.0 - 2016-01-05
539* Allow configuration of HTTP client timeouts
540
541## 3.5.0 - 2015-12-01
542* Add a verification routine for external accounts
543
544## 3.4.0 - 2015-09-14
545* Products, SKUs, and Orders -- https://stripe.com/relay
546
547## 3.3.0 - 2015-09-11
548* Add support for 429 Rate Limit response
549
550## 3.2.0 - 2015-08-17
551* Add refund listing and retrieval without an associated charge
552
553## 3.1.0 - 2015-08-03
554* Add dispute listing and retrieval
555* Add support for manage account deletion
556
557## 3.0.0 - 2015-07-28
558* Rename `\Stripe\Object` to `\Stripe\StripeObject` (PHP 7 compatibility)
559* Rename `getCode` and `getParam` in exceptions to `getStripeCode` and `getStripeParam`
560* Add support for calling `json_encode` on Stripe objects in PHP 5.4+
561* Start supporting/testing PHP 7
562
563## 2.3.0 - 2015-07-06
564* Add request ID to all Stripe exceptions
565
566## 2.2.0 - 2015-06-01
567* Add support for Alipay accounts as sources
568* Add support for bank accounts as sources (private beta)
569* Add support for bank accounts and cards as external_accounts on Account objects
570
571## 2.1.4 - 2015-05-13
572* Fix CA certificate file path (thanks @lphilps & @matthewarkin)
573
574## 2.1.3 - 2015-05-12
575* Fix to account updating to permit `tos_acceptance` and `personal_address` to be set properly
576* Fix to Transfer reversal creation (thanks @neatness!)
577* Network requests are now done through a swappable class for easier mocking
578
579## 2.1.2 - 2015-04-10
580* Remove SSL cert revokation checking (all pre-Heartbleed certs have expired)
581* Bug fixes to account updating
582
583## 2.1.1 - 2015-02-27
584* Support transfer reversals
585
586## 2.1.0 - 2015-02-19
587* Support new API version (2015-02-18)
588* Added Bitcoin Receiever update and delete actions
589* Edited tests to prefer "source" over "card" as per new API version
590
591## 2.0.1 - 2015-02-16
592* Fix to fetching endpoints that use a non-default baseUrl (`FileUpload`)
593
594## 2.0.0 - 2015-02-14
595* Bumped minimum version to 5.3.3
596* Switched to Stripe namespace instead of Stripe_ class name prefiexes (thanks @chadicus!)
597* Switched tests to PHPUnit (thanks @chadicus!)
598* Switched style guide to PSR2 (thanks @chadicus!)
599* Added $opts hash to the end of most methods: this permits passing 'idempotency_key', 'stripe_account', or 'stripe_version'. The last 2 will persist across multiple object loads.
600* Added support for retrieving Account by ID
601
602## 1.18.0 - 2015-01-21
603* Support making bitcoin charges through BitcoinReceiver source object
604
605## 1.17.5 - 2014-12-23
606* Adding support for creating file uploads.
607
608## 1.17.4 - 2014-12-15
609* Saving objects fetched with a custom key now works (thanks @JustinHook & @jpasilan)
610* Added methods for reporting charges as safe or fraudulent and for specifying the reason for refunds
611
612## 1.17.3 - 2014-11-06
613* Better handling of HHVM support for SSL certificate blacklist checking.
614
615## 1.17.2 - 2014-09-23
616* Coupons now are backed by a `Stripe_Coupon` instead of `Stripe_Object`, and support updating metadata
617* Running operations (`create`, `retrieve`, `all`) on upcoming invoice items now works
618
619## 1.17.1 - 2014-07-31
620* Requests now send Content-Type header
621
622## 1.17.0 - 2014-07-29
623* Application Fee refunds now a list instead of array
624* HHVM now works
625* Small bug fixes (thanks @bencromwell & @fastest963)
626* `__toString` now returns the name of the object in addition to its JSON representation
627
628## 1.16.0 - 2014-06-17
629* Add metadata for refunds and disputes
630
631## 1.15.0 - 2014-05-28
632* Support canceling transfers
633
634## 1.14.1 - 2014-05-21
635* Support cards for recipients.
636
637## 1.13.1 - 2014-05-15
638* Fix bug in account resource where `id` wasn't in the result
639
640## 1.13.0 - 2014-04-10
641* Add support for certificate blacklisting
642* Update ca bundle
643* Drop support for HHVM (Temporarily)
644
645## 1.12.0 - 2014-04-01
646* Add Stripe_RateLimitError for catching rate limit errors.
647* Update to Zend coding style (thanks,  @jpiasetz)
648
649## 1.11.0 - 2014-01-29
650* Add support for multiple subscriptions per customer
651
652## 1.10.1 - 2013-12-02
653* Add new ApplicationFee
654
655## 1.9.1 - 2013-11-08
656* Fix a bug where a null nestable object causes warnings to fire.
657
658## 1.9.0 - 2013-10-16
659* Add support for metadata API.
660
661## 1.8.4 - 2013-09-18
662* Add support for closing disputes.
663
664## 1.8.3 - 2013-08-13
665* Add new Balance and BalanceTransaction
666
667## 1.8.2 - 2013-08-12
668* Add support for unsetting attributes by updating to NULL. Setting properties to a blank string is now an error.
669
670## 1.8.1 - 2013-07-12
671* Add support for multiple cards API (Stripe API version 2013-07-12: https://stripe.com/docs/upgrades#2013-07-05)
672
673## 1.8.0 - 2013-04-11
674* Allow Transfers to be creatable
675* Add new Recipient resource
676
677## 1.7.15 - 2013-02-21
678* Add 'id' to the list of permanent object attributes
679
680## 1.7.14 - 2013-02-20
681
682* Don't re-encode strings that are already encoded in UTF-8. If you were previously using plan or coupon objects with UTF-8 IDs, they may have been treated as ISO-8859-1 (Latin-1) and encoded to UTF-8 a 2nd time. You may now need to pass the IDs to utf8_encode before passing them to Stripe_Plan::retrieve or Stripe_Coupon::retrieve.
683* Ensure that all input is encoded in UTF-8 before submitting it to Stripe's servers. (github issue #27)
684
685## 1.7.13 - 2013-02-01
686* Add support for passing options when retrieving Stripe objects e.g., Stripe_Charge::retrieve(array("id"=>"foo", "expand" => array("customer"))); Stripe_Charge::retrieve("foo") will continue to work
687
688## 1.7.12 - 2013-01-15
689* Add support for setting a Stripe API version override
690
691## 1.7.11 - 2012-12-30
692* Version bump to cleanup constants and such (fix issue #26)
693
694## 1.7.10 - 2012-11-08
695* Add support for updating charge disputes.
696* Fix bug preventing retrieval of null attributes
697
698## 1.7.9 - 2012-11-08
699* Fix usage under autoloaders such as the one generated by composer (fix issue #22)
700
701## 1.7.8 - 2012-10-30
702* Add support for creating invoices.
703* Add support for new invoice lines return format
704* Add support for new list objects
705
706## 1.7.7 - 2012-09-14
707* Get all of the various version numbers in the repo in sync (no other changes)
708
709## 1.7.6 - 2012-08-31
710* Add update and pay methods to Invoice resource
711
712## 1.7.5 - 2012-08-23
713* Change internal function names so that Stripe_SingletonApiRequest is E_STRICT-clean (github issue #16)
714
715## 1.7.4 - 2012-08-21
716* Bugfix so that Stripe objects (e.g. Customer, Charge objects) used in API calls are transparently converted to their object IDs
717
718## 1.7.3 - 2012-08-15
719* Add new Account resource
720
721## 1.7.2 - 2012-06-26
722* Make clearer that you should be including lib/Stripe.php, not test/Stripe.php (github issue #14)
723
724## 1.7.1 - 2012-05-24
725* Add missing argument to Stripe_InvalidRequestError constructor in Stripe_ApiResource::instanceUrl. Fixes a warning when Stripe_ApiResource::instanceUrl is called on a resource with no ID (fix issue #12)
726
727## 1.7.0 - 2012-05-17
728* Support Composer and Packagist (github issue #9)
729* Add new deleteDiscount method to Stripe_Customer
730* Add new Transfer resource
731* Switch from using HTTP Basic auth to Bearer auth. (Note: Stripe will support Basic auth for the indefinite future, but recommends Bearer auth when possible going forward)
732* Numerous test suite improvements
733