=== 2.4.0 2017-04-18 * Add `Stripe.set_app_info` for use by plugin creators === 2.3.0 2017-04-14 * Add question mark accessor when assigning boolean value to undefined field === 2.2.1 2017-04-07 * Declare minimum required Faraday as 0.9 === 2.2.0 2017-04-06 * Add support for payouts and recipient transfers === 2.1.0 2017-03-17 * Support for detaching sources from customers === 2.0.3 2017-03-16 * Fix marshalling of `StripeObjects` that have an embedded client === 2.0.2 2017-03-16 * Fix bad field reference when recovering from a JSON parsing problem === 2.0.1 2017-02-22 * Fix multipart parameter encoding to repair broken file uploads === 2.0.0 2017-02-14 * Drop support for Ruby 1.9 * Allow HTTP client that makes Stripe calls to be configured via Faraday * Drop RestClient * Switch to OpenAPI 2.0 spec and generated fixtures in test suite * Switch to Webmock in test suite === 1.58.0 2017-01-19 * Remove erroneously added list methods for `Source` model === 1.57.1 2016-11-28 * Disallow sending protected fields along with API resource `.update` === 1.57.0 2016-11-21 * Add retrieve method for 3-D Secure resources === 1.56.2 2016-11-17 * Improve `StripeObject`'s `#to_s` to better handle how embedded objects are displayed === 1.56.1 2016-11-09 * Fix (fairly serious) memory like in `StripeObject` === 1.56.0 2016-10-24 * Add accessors for new fields added in `#update_attributes` * Handle multi-plan subscriptions through new subscription items * Handle 403 status codes from the API === 1.55.1 2016-10-24 Identical to 1.56.0 above. I incorrectly cut a patch-level release. === 1.55.0 2016-09-15 * Add support for Apple Pay domains === 1.54.0 2016-09-01 * Whitelist errors that should be retried; scope to known socket and HTTP errors === 1.53.0 2016-08-31 * Relax version constraint on rest-client (and by extension mime-types) for users on Ruby 2+ === 1.52.0 2016-08-30 * Make sure `Subscription`'s `source` is saved with its parent === 1.51.1 2016-08-30 * Make sure `Account`'s `external_account` is saved with its parent === 1.51.0 2016-08-26 * Error when an array of maps is detected that cannot be accurately encoded * Start using strings for header names instead of symbols for better clarity === 1.50.1 2016-08-25 * Fix encoding of arrays of maps where maps unequal sets of keys === 1.50.0 2016-08-15 * Allow sources to be created === 1.49.0 2016-07-28 * Add top-level `Source` model === 1.48.0 2016-07-12 * Add `ThreeDSecure` model for 3-D secure payments === 1.47.0 2016-07-11 * Allow rest-client version 2.0+ to be used with the gem === 1.46.0 2016-07-07 * Allow retry when a 409 conflict is encountered === 1.45.0 2016-07-07 * Do not send subresources when updating except when explicitly told to do so (see #433) === 1.44.0 2016-06-29 * Add `update` class method to all resources that can be updated === 1.43.1 2016-06-17 * Fix type of resource returned from `Order#return_order` === 1.43.0 2016-05-20 * Allow Relay orders to be returned and add associated types * Support Alipay account retrieval and deletion === 1.42.0 2016-05-04 * Add support for the new /v1/subscriptions endpoint * Stripe::Subscription.retrieve * Stripe::Subscription.list * Stripe::Subscription.create * Stripe::Subscription.update * Stripe::Subscription.delete === 1.41.0 2016-04-13 * Add global `stripe_account` option that adds a `Stripe-Account` header to all requests === 1.40.0 2016-04-06 * Fix bug that omitted subresources from serialization === 1.39.0 2016-03-31 * Update CA cert bundle for compatibility with OpenSSL versions below 1.0.1 === 1.38.0 2016-03-18 * Allow `opts` to be passed to an API resource's `#save` method === 1.37.0 2016-03-14 * Add `Account#reject` to support the new API feature === 1.36.2 2016-03-14 * Fix reference to non-existent `#url` in `ListObject` === 1.36.1 2016-03-04 * Fix serialization when subhash given to `#save` or `#update_attributes` === 1.36.0 2016-02-08 * Add `CountrySpec` model for looking up country payment information === 1.35.1 2016-02-03 * Add compatibility layer for old API versions on `Charge#refund` === 1.35.0 2016-02-01 * Allow CA cert bundle location to be configured * Updated bundled CA certs === 1.34.0 2016-01-25 * Add support for deleting products and SKUs === 1.33.1 2016-01-21 * Pass through arguments of `Charge#refund` === 1.33.0 2016-01-19 * Re-implement `Charge#refund` helper to use the modern endpoint suggested by docs === 1.32.1 2016-01-07 * Fix bug where ivar left uninitialized in StripeObject could error on serialization * Fix bug where a nil customer from API could error Bitcoin model on refresh === 1.32.0 2016-01-05 * Add configuration to optionally retry network failures * Use modern API endpoint for producing application fee refunds === 1.31.0 2015-10-29 * Add BankAccount#verify convenience method === 1.30.3 2015-10-28 * Fix bug where arrays that were not `additional_owners` were not properly encoded for requests === 1.30.2 2015-10-12 * Fix bug where `opts` didn't properly propagate to descendant `StripeObjects` === 1.30.1 2015-10-10 * Fix bug that prevent lists of hashes from being URI-encoded properly * Fix bug where filter conditions were not making it past the first instantiated `ListObject` === 1.30.0 2015-10-09 * Add `StripeObject#deleted?` for a reliable way to check whether an object is alive * Deprecate `StripeObject#refresh_from` * New parameter encoding scheme that doesn't use `URI.escape` === 1.29.1 2015-10-06 * Fix bug where ampersands were not being properly encoded === 1.29.0 2015-10-05 * Add pagination helpers `#auto_paging_each`, `#previous_page`, and `#next_page` === 1.28.1 2015-10-05 * Fix URI being referenced by file upload resources === 1.28.0 2015-10-05 * Make StripeObject's #save "upsert"-like; creates an object if new * Add #update_attributes to StripeObject for safe mass assignment * Properly mass assign attributes on calls to #save * Add question mark helpers for boolean fields (e.g. #paid? as well as old #paid) * Fix a bug that broke the API for StripeObject initialization * Remove use of deprecated URI.escape === 1.27.2 2015-09-25 * Correct the URLs used to fetch Bitcoin transactions. === 1.27.1 2015-09-20 * Use hash rockets for backwards compatibility. === 1.27.0 2015-09-14 * Add Orders, Products, and SKUs for Relay. === 1.26.0 2015-09-11 * Add support for 429 Rate Limited response === 1.25.0 2015-08-17 * Added support for refund listing and retrieval without an associated charge === 1.24.0 2015-08-03 * Added support for deleting managed accounts * Added support for dispute listing and retrieval * Bugfix: token objects now are the correct class === 1.23.0 2015-07-06 * Added request IDs and HTTP headers to errors. === 1.22.0 2015-06-10 * Added support for bank accounts and debit cards in managed accounts (via the `external_accounts` param) === 1.21.0 2015-04-14 * Remove TLS cert revocation check. (All pre-heartbleed certs have expired.) * Bugfix: don't unset keys when they don't exist on StripeObject. === 1.20.4 2015-03-26 * Raise an error when explicitly passing nil as the API key on resource methods * Fix error when passing an API key to Balance.retrieve (github issue #232) === 1.20.3 2015-03-13 * Fixed error when updating certain resources (github issue #224) === 1.20.2 2015-03-10 * Added support for updating nested hashes besides `metadata` (which was already supported) * Fixed bug in balance retrieval === 1.20.1 2015-02-26 * Updated Card to point to customer sources endpoint when customer property is set === 1.20.0 2015-02-19 * Added Update & Delete operations to Bitcoin Receivers === 1.19.1 2015-02-18 * Fixed fetching upcoming invoice/paying invoice methods === 1.19.0 2015-02-15 * Support for new Transfers /reversals endpoint * Account retrieval now optionally accepts an account ID * Better support for passing custom headers, like Stripe-Account, through requests === 1.18.0 2015-01-21 * 1 major enhancement: * Added support for making bitcoin charges through BitcoinReceiver source object === 1.17.3 2015-01-12 * 1 bugfix: * Fixed API key propagation for ApplicationFee#refund === 1.17.2 2015-01-08 * 1 bugfix: * Fixed API key propagation for child resources === 1.17.1 2015-01-07 * 2 minor enhacements: * Fixed dependencies for Ruby versions less than 1.9.3 * Added deauthorize method to Account object === 1.17.0 2014-12-15 * 1 major enhacement: * File uploads resource was added (for uploading pdf or image documents for disputes) === 1.16.1 2014-12-19 * 2 minor enhancements: * Ability to send idempotent requests * Ability to specify stripe account as a header. === 1.16.0 2014-10-08 * 1 minor enhacement: * Coupons now support update operations - useful for manipulating metadata. === 1.15.0 2014-07-26 * 1 major enhacement: * Application Fee refunds now a list instead of array === 1.14.0 2014-06-17 * 1 major enhancement: * Add metadata for refunds and disputes === 1.13.0 2014-05-28 * 1 major enhancement: * Support for canceling transfers === 1.12.0 2014-05-21 * 1 major enhancement: * Support for cards for recipients. === 1.11.0 2014-04-09 * 2 minor enhancements: * Update included ca bundles * Implement certificate blacklisting === 1.10.2 2014-02-18 * 1 minor enhancement: * Add create_subscription on Customer resources, so you can create subscriptions without needing to retrieve the customer first (github issue #120) === 1.10.1 2014-02-03 * 1 bugfix: * Fix marshaling of StripeObjects === 1.10.0 2014-01-29 * 2 major enhancements * Support for multiple subscriptions per customer * Testing ruby 2.1.0 * 2 minor enhancements * Replace multi_json with json * Allow #save to take opts (for :expand) * 1 bugfix * Fix #try and #respond_to? on StripeObjects === 1.9.9 2013-12-02 * 1 major enhancement * Add ApplicationFee resource === 1.8.9 2013-11-14 * 2 bugfixes: * Fix gemspec dependencies so the gem doesn't break for Ruby 1.8 users * Fix api_resource_test to not use returns as a way of testing rescue behavior === 1.8.8 2013-10-3 * 1 major enhancement * Add support for metadata on resources === 1.8.7 2013-08-18 * 1 minor enhancement * Add support for closing disputes. === 1.8.6 2013-08-13 * 1 major enhancement * Add Balance and BalanceTransaction resources === 1.8.5 2013-08-12 * 1 major enhancement * Add support for unsetting attributes by setting to nil. This permits unsetting email and description on customers and description on charges. Setting properties to a blank string is now an error. * Attempting to set an object's id is now an error. === 1.8.4 2013-07-11 * 1 major enhancement * Add support for new cards API (Stripe API version 2013-07-05) === 1.8.3 2013-05-06 * 1 bugfix: * Fix handling of per-call API keys (github issue #67) === 1.8.2 2013-05-01 * 3 minor enhancements: * Use to_sym instead of type checking for minor performance improvement (github issue #59) * Handle low-memory situations without throwing an exception (github issue #61) * Add an Customer#upcoming_invoice convenience method (github issue #65) * 1 bugfix: * Allow updating resources without first retrieving them (github issue #60) === 1.8.1 2013-04-19 * 1 minor enhancement: * Add support for specifying an API key when retrieving an upcoming invoice === 1.8.0 2013-04-11 * 1 major enhancement: * Add new Recipient resource * Allow Transfers to be createable === 1.7.11 2013-02-21 * 1 minor enhancement * Add 'id' to the list of permanent attributes === 1.7.10 2013-02-01 * 1 major enhancement * Add support for passing options when retrieving Stripe objects e.g., Stripe::Charge.retrieve({id:"foo", expand:["customer"]}) Stripe::Charge("foo") is still supported as well === 1.7.9 2013-01-15 * 1 major enhancement * Add support for setting a Stripe API version override. === 1.7.8 2012-11-21 * 1 bugfix * Relax the version constraint on multi_json (github issue #44) === 1.7.7 2012-11-07 * 1 minor enhancement: * Add support for updating charge disputes * 1 bugfix * Fix Account API resource bug === 1.7.6 2012-10-30 * 1 major enhancement * Add support for creating invoices === 1.7.5 2012-10-25 * 1 major enhancement * Add support for new API lists === 1.7.4 2012-10-08 * 1 bugfix * Fix bug introduced in 1.7.3 calling API methods that take no arguments, like Stripe::Invoice#pay (github issue #42) === 1.7.3 2012-09-14 * 2 bugfixes * Make sure that both keys and values of GET params are URL-encoded. NOTE: If you were previously URL-encoding values yourself, you may need to adjust your code. * URL-encode POST params directly, instead of allowing rest-client to do it to work around an unfortunate interaction with the hashery gem (github issue #38) === 1.7.2 2012-08-31 * 1 major enhancement * Add support for new pay and update methods for Invoice objects === 1.7.1 2012-08-15 * 1 major enhancement * Add new Account API resource === 1.7.0 2012-05-17 * 3 major enhancements: * Switch from vendored stripe-json to multi_json for all JSON parsing and rendering. This should not impact programmatic usage of the library, but may cause small rendering differences from, e.g., StripeObject#inspect (github issue #22) * Add new delete_discount method to Customer objects * Add new Transfer API resource * 2 minor enhancements: * Switch from HTTP Basic auth to Bearer auth (Note: Stripe will support Basic auth for the indefinite future, but recommends Bearer auth when possible going forward) * Numerous test suite improvements === 1.6.3 2012-03-22 * 1 bugfix: * Encode GET query strings ourselves instead of using rest-client to work around a bug === 1.6.2 2012-02-24 * 1 bugfix: * Correct argument handling in StripeObject#as_json === 1.6.1 2012-02-22 * 1 bugfix: * Fix StripeObject#inspect when ActiveSupport 3.0 is loaded === 1.6.0 2012-02-01 * A whole bunch of releases between 1.5.0 and 1.6.0, but few changes, mainly the addition of: - plans - coupons - events - tokens * 1.6.0 also contains a new inspect/to_string implementation === 1.5.0 2011-05-09 * 1 major enhancement: * Update for new RESTful API === 1.3.4 2011-01-07 * 1 major enhancement: * Rename to Stripe === 1.2 2010-06-06 * 1 major enhancement: * Support for the set_customer_subscription and delete_customer API methods === 1.1 2010-03-14 * 1 major enhancement: * Support for recurring billing === 1.0 2010-01-05 * 1 major enhancement: * Initial release