Skip to content

Latest commit

 

History

History
685 lines (471 loc) · 29.4 KB

CHANGELOG.md

File metadata and controls

685 lines (471 loc) · 29.4 KB

Unreleased

v2.16.2 (2018-08-21)

This brings us up to API version 2.14. There are no breaking changes.

  • Support TransactionAuthorizedNotification webhook PR
  • Support updating an invoice from client PR
  • Support custom fields on Subscription#update_notes PR

v2.16.1 (2018-08-06)

  • Adjust inline documentation for clarity, grammar, and syntax PR
  • Correctly document the response type in Purchases PR
  • Add gateway_token and gateway_code attributes to BillingInfo class PR
  • Remove the old recurly binary PR

v2.16.0 (2018-06-26)

  • Don't set the logger in railtie PR
  • Make currencies method public PR
  • Allow programmer to set gateway code in purchases PR
  • Add all_transactions link to Invoice PR
  • Auth and Capture for Purchases PR
  • Custom Fields PR
  • Remove rails code and railtie PR
  • Subscription Terms PR

Upgrade Notes

This brings us up to API version 2.13. The only breaking change is the removal of the railtie. The railtie was being included automatically on detecting rails and was automatically setting the accept_language for each request. If this is something you wish to continue doing, you'll need to set this yourself.

v2.15.4 (2018-05-15)

  • API version 2.12 PR
  • New Credit Invoice Webhooks PR

v2.15.2 (2018-04-18)

  • Keep original_invoice link on Invoice PR
  • Coupon#redeem! should raise Invalid on failure PR

v2.15.1 (2018-04-02)

  • Fix nokogiri security warnings PR
  • API v2.11 changes PR

v2.15.0 (2018-02-27)

  • Invoice refunds do not return InvoiceCollection PR
  • Support gift card webhook PR
  • Fixes to Resource#find_each PR

Upgrade Notes

1. Invoice#refund and Invoice#refund_amount return type

If you are upgrading from 2.13.X or 2.14.X, a design bug was fixed. Invoice#refund and Invoice#refund_amount once again return an Invoice and not an InvoiceCollection.

2. Resource#find_each arguments

Resource#find_each previously only accepted per_page but now accepts an options Hash for pagination params. If you want to preserve functionality:

# Change This
RecurlyLegacyGem::Invoice.find_each(50) do |invoice|
  puts invoice
end

# To This
RecurlyLegacyGem::Invoice.find_each(per_page: 50) do |invoice|
  puts invoice
end

v2.14.0 (2018-02-20)

Note: We recommend upgrading to 2.15.X for a bug fix around Invoice refunds.

  • Updates to credit memos feature PR

Upgrade Notes

1. Invoice#mark_failed now returns InvoiceCollection

mark_failed no longer reloads the invoice with the response returning true or false, it returns either an InvoiceCollection if failable and request is successful, it returns false if invoice cannot be marked failed. To keep functionality, take the charge_invoice of the returned collection:

invoice = RecurlyLegacyGem::Invoice.find('1001')

failed_collection = invoice.mark_failed
if failed_collection
  invoice = failed_collection.charge_invoice
end

2. Subscription previews and InvoiceCollection

Subscription previews and preview changes now return InvoiceCollections rather than Invoice. Utilize the charge_invoice to keep functionality the same:

subscription.preview

# Change
invoice = subscription.invoice
# To
invoice = subscription.invoice_collection.charge_invoice

v2.13.0 (2018-02-09)

Note: We recommend upgrading to 2.15.X for a bug fix around Invoice refunds.

  • Add NewUsageNotification class for Recurly webhook PR
  • Verify CVV Endpoint PR
  • Credit Memos PR

Upgrade Notes

This version bumps us to API version 2.10. There are many breaking changes due to the Credit Memos PR

1. InvoiceCollection

When creating or refunding invoices, we now return an InvoiceCollection object rather than an Invoice. If you wish to upgrade your application without changing functionality, we recommend that you use the charge_invoice on the InvoiceCollection. Example:

# Change this
invoice = my_account.invoice!       # Returns an Invoice

# To this
collection = my_account.invoice!    # Returns an InvoiceCollection
invoice = collection.charge_invoice # Returns an Invoice

These methods, which before returned Invoice now return InvoiceCollection:

  • Purchase.preview!
  • Purchase.invoice!
  • Purchase.authorize!
  • Account#invoice!
  • Account#build_invoice

2. Invoice subtotal_* changes

If you want to preserve functionality, change any use of Invoice#subtotal_after_discount_in_cents to Invoice#subtotal_in_cents. If you were previously using Invoice#subtotal_in_cents, this has been changed to Invoice#subtotal_before_discount_in_cents.

3. Invoice Refund -- refund_apply_order changed to refund_method

If you were using refund_apply_order on any refunds, then you need to change this to use refund_method instead. The keys from this have changed from (credit, transaction) to (credit_first, transaction_first)

# If you use `credit` with refund_amount or refund
invoice.refund_amount(1000, 'credit')
invoice.refund(line_items, 'credit')
# Change to use `credit_first`
invoice.refund(line_items, 'credit_first')

# If you use `transaction` with refund_amount or refund
invoice.refund_amount(1000, 'transaction')
invoice.refund(line_items, 'transaction')
# Change to use `transaction_first`
invoice.refund(line_items, 'transaction_first')

4. Invoice States

If you are checking Invoice#state anywhere, you will want to check that you have the new correct values. collected has changed to paid and open has changed to pending. Example:

# Change this
if invoice.state == 'collected'
# To this
if invoice.state == 'paid'

# Change this
if invoice.state == 'open'
# To this
if invoice.state == 'pending'

v2.12.1 (2018-01-19)

  • Update Rubies on Travis (and add 2.5.0) PR
  • Added proration_rate float to Adjustment PR

v2.12.0 (2017-11-20)

  • Added purchase authorize endpoint and other API version 2.9 changes. PR

Upgrade Notes

This version bumps us to API version 2.9. There are a few breaking changes.

  1. The 'subscription' link on an instance of Adjustment is now only created if adjustment is originating from a subscription plan charge, setup fee, add on, trial or proration credit. It is no longer created for other adjustments.
  2. Instances of Transaction and Invoice no longer have a subscription link and you must now use the subscriptions link.

v2.11.3 (2017-11-10)

  • Fix Resource#reload method.

v2.11.2 (2017-11-09)

  • Fix SSRF vulnerability in Resource#find. CVE is pending.

v2.11.1 (2017-10-20)

  • Added subscriptions link to Invoice and Transaction PR

v2.11.0 (2017-10-04)

This release will upgrade us to API version 2.8.

  • Added custom invoice notes to Purchase PR
  • Added imported_trial boolean field to Subscription Commit

Upgrade Notes

There are two breaking changes in this API version you must consider.

Country Codes

All country fields must now contain valid 2 letter ISO 3166 country codes. If your country code fails validation, you will receive a validation error. This affects any endpoint where an address is collected.

Purchase Currency

The purchases endpoint can create and invoice multiple adjustments at once but our invoices can only contain items in one currency. To make this explicit the currency can no longer be provided on an adjustment, it must be set once for the entire purchase:

purchase = RecurlyLegacyGem::Purchase.new(
  # The purchase object is the only place you can set the currency:
  currency: 'USD',
  account: {
    account_code: 'someone'
  }
  adjustments: [
    {
       # Remove this currency
       # You can no longer set the currency on adjustment level
       currency: 'USD',
       unit_amount_in_cents: 1000
    }
  ]
)

v2.10.4 (2017-11-10)

  • Fix Resource#reload method.

v2.10.3 (2017-11-09)

  • Fix SSRF vulnerability in Resource#find. CVE is pending.

v2.10.2 (2017-09-27)

  • Fix Subscription constructor API breakage PR

v2.10.1 (2017-07-03)

NOTE: This release contains an accidental breaking change on Subscription.new. See #338 for more details. Upgrade to 2.10.2 for the fix.

This release will upgrade us to API version 2.7.

  • Added updated_account_notification notification event PR
  • Removed Plan#trial_requires_billing_info coercion PR
  • Fixed "address" being serialized as "addres" bug PR
  • Bump to API v2.7 (Purchase endpoint updates) PR

v2.10.0 (2017-05-19)

  • resource_class option should be class_name and other mislabeled options PR
  • Upgrade rake to fix warnings PR
  • Purchases endpoint PR
  • Removal of X-Records header PR

Upgrade Notes:

This release will upgrade us to API version 2.6. There are two breaking changes:

  1. Since the X-Records header was removed in the pagination endpoint, you can no longer call count on a Pager and expect it to return a cached response. From now on, when you call Pager#count, it will send a HEAD request to the server. So make sure you aren't calling that method in places where you expect the value to be cached for you. For more info see PR #324.
  2. For POST /v2/subscriptions Sending nil for total_billing_cycles attribute will now override plan total_billing_cycles setting and will make subscription renew forever. Omitting the attribute will cause the setting to default to the value of plan total_billing_cycles.

v2.9.2 (2017-11-10)

  • Fix Resource#reload method.

v2.9.1 (2017-11-09)

  • Fix SSRF vulnerability in Resource#find. CVE is pending.

v2.9.0 (2017-04-05)

  • Remove Nokogiri as a dependency of the recurly gem. If you'd like to continue using it (for that nice speed boost), make sure to add gem "nokogiri" to your Gemfile. PR
  • Add sort and filter params to Pager rubydocs PR
  • Ban nokogiri on dead rubies PR
  • Fix Address serialization bug (serialize every attribute on update) PR
  • Upgrade webmock so specs can run on ruby 2.4 PR

Upgrade Notes:

Ruby 1.9 and 2.0 are now deprecated. You may no longer use nokogiri on these rubies. Please see PR #317 for more information. If you wish to use nokogiri and it's not already required (by rails for instance), you will need to explicitly add it as a dependency and require it.

v2.8.2 (2017-11-10)

  • Fix Resource#reload method.

v2.8.1 (2017-11-09)

  • Fix SSRF vulnerability in Resource#find. CVE is pending.

v2.8.0 (2017-03-21)

  • Finishes API v2.5 updates PR
  • Adding product_code to Transactions and Adjustments PR
  • Adding all_line_items PR
  • Implement fields for Vertex integration PR
  • Adds geo_code to billing_info, account address, and shipping address PR
  • Guard against passing Resource.find empty strings #307 PR
  • Add yard docs link #305 PR

Upgrade Notes:

If you are using as_json on a Resource (previously unsupported) we are now returning the attributes as json rather than the resource as json. This means your returned Hash will not have an attributes key but will rather BE the attributes value. See #295

v2.7.8 (2017-11-10)

  • Fix Resource#reload method.

v2.7.7 (2017-11-09)

  • Fix SSRF vulnerability in Resource#find. CVE is pending.

v2.7.6 (2017-01-30)

  • Fix cloudflare 502 error #296 PR
  • Fix stack-level-too-deep for as_json #295 PR

v2.7.5 (2016-11-30)

  • Fix coupon redemption bug on bulk coupons #284 PR

v2.7.4 (2016-11-17)

  • Fix coupon redemption errors PR
  • Remove "base" from pretty printed error messages PR
  • Fix rails deprecation warning PR
  • Add updated_at to MeasuredUnit PR
  • Support gift card canceled_at timestamp PR
  • Fix AddOns quantity accumulator bug from #226 PR
  • Fix Ruby 1.9.3 and jruby testing dependencies PR
  • Add new dunning event webhook PR
  • Add timeframe attribute to Subscription PR

v2.7.3 (2016-08-19)

  • Gift cards support was not merged properly in #257. This adds it correctly.

v2.7.2 (2016-08-15)

  • Support Shipping Addresses PR

v2.7.1 (2016-08-04)

Bumps to API version 2.4

  • Add updated_at fields PR
  • Add support for gift cards PR

v2.7.0 (2016-07-07)

  • API Version 2.3 PR

v2.6.3 (2017-11-10)

  • Fix Resource#reload method.

v2.6.2 (2017-11-09)

  • Fix SSRF vulnerability in Resource#find. CVE is pending.

v2.6.1 (2016-06-01)

  • Fix method missing changed? in Account PR

v2.6.0 (2016-06-01)

  • Add support for free trial coupons PR
  • Add support for roku_billing_agreement_id PR
  • Fix Account#address_changed? dirty check PR
  • Add support for <fraud> if it exists on Transaction PR
  • Fix updating unit_amount_in_cents on Subscription PR
  • Fix stray puts in specs PR

Upgrade Notes

This version has a bug around creating accounts. We recommend using 2.6.1 or later https://github.com/recurly/recurly-client-ruby/releases/tag/v2.6.1

v2.5.4 (2017-11-10)

  • Fix Resource#reload method.

v2.5.3 (2017-11-09)

  • Fix SSRF vulnerability in Resource#find. CVE is pending.

v2.5.2 (2016-05-02)

  • Remove Gemfile.lock, add more rubies to testing matrix PR
  • Remove autoload and reorder requires PR
  • Usage Based Billing PR

v2.5.1 (2016-02-18)

  • Add currency attribute to BillingInfo object so client can pass currency on create/update PR

v2.5.0 (2016-01-13)

  • Fix redemption destroy path for accounts with multiple redemptions PR

Upgrade Notes

This release has API breaking changes around coupon redemptions. See PR to see if you are affected.

v2.4.11 (2017-11-10)

  • Fix Resource#reload method.

v2.4.10 (2017-11-09)

  • Fix SSRF vulnerability in Resource#find. CVE is pending.

v2.4.9 (2015-11-18)

  • Fixed array change tracking issue around redemptions PR

v2.4.8 (2015-10-21)

  • Add cc_emails attribute to Account PR
  • Add webhooks parsers PR
  • Fixed setup_fee_accounting_code spec PR

v2.4.7 (2015-10-02)

  • Ignore associations defined in xml but not in the Resource subclasses PR
  • Added support for editing and restoring coupons PR
  • Added support for bulk coupons and coupon code generation PR

v2.4.6 (2015-8-31)

  • Added applies_to_non_plan_charges attribute to Coupon
  • Adding gateway_error_code to Transaction
  • Adding redemption_resource to Coupon
  • Added max_redemptions_per_account attribute to Coupon
  • Added redemptions attribute to Subscription
  • Added setup_fee_accounting_code attribute to Plan
  • Add support for Resource.find_each to be chained with other iterator methods without passing a block

v2.4.5 (2015-7-31)

  • Added ability to enter offline payment PR
  • Add tax_exempt, tax_code, and accounting_code support for one time transactions PR
  • Added duration, temporal_unit, and temporal_amount to 'Coupon' PR

v2.4.4 (2015-6-25)

  • Added config to Recurly to allow for per thread configuration of Recurly client. PR
  • Add refund_apply_order to Invoice when creating a refund PR
  • Fix association loading when fetching a resource via RJSv2 PR

v2.4.3 (2015-5-26)

  • Add bank_account_authorized_at to Subscription PR
  • Add ip_address to Transaction PR

v2.4.2 (2015-4-28)

  • Fix paged resource loading when the uuid needs to be escaped, fixes 174, PR
  • Add tax_type, tax_rate, tax_region to Adjustment PR
  • Add net_terms and collection_method to Invoice PR
  • Added bank_account attributes to BillingInfo:
    • name_on_account
    • account_type (checking or savings)
    • last_four
    • routing_number
    • PR

v2.4.1 (2015-1-23)

  • Add vat_location_valid to Account PR
  • Add Invoice#invoice_number_prefix and Invoice#invoice_number_with_prefix to make use of the new Country Invoice Sequencing feature PR
  • Fixes issue with Subscription#pending_subscription currency value PR

v2.4.0 (2015-1-7)

  • Add Invoice#original_invoice for refund invoices PR

v2.3.10 (2017-11-10)

  • Fix Resource#reload method.

v2.3.9 (2017-11-09)

  • Fix SSRF vulnerability in Resource#find. CVE is pending.

v2.3.8 (2014-12-22)

  • Add Invoice#tax_region and Subscription#tax_region PR
  • Add Invoice#address and Subscription#address when previewing PR
  • Add Subscription#update_notes to update a subscription's notes PR
  • Add AddOn#accounting_code PR

v2.3.7 (2014-12-8)

  • Add 'public_key' property to Recurly.js 1ad6aa0
  • Adds support for reading and writing custom invoice notes PR
  • Add Plan#tax_code, AddOn#tax_code and Adjustment#tax_code PR

v2.3.6 (2014-11-4)

  • Fixes issue with broken association lookups ca0b015

v2.3.5 (2014-10-30)

  • Adding invoice refunds by line item: invoice.refund(line_items) 9acc7a5

v2.3.4 (2014-10-3)

  • Adding invoice preview: account.build_invoice 0bc0d01

v2.3.3 (2014-9-29)

  • Adding the bulk parameter to the Subscription#postpone method 8bf72bc

v2.3.2 (2014-9-9)

Features

  • Added Amazon Billing Agreement support 024269
  • Added account entity_use_code when the site is integrated with Avalara 633df6
  • Added bulk parameter 8cb157

v2.3.1 (2014-5-23)

Features

  • Added subscription change preview: subscription.preview 57a69d3
  • Added subscription estimated cost for new and change previews: subscription.cost_in_cents 57a69d3
  • Added subscription remaining billing cycles: subscription.remaining_billing_cycles PR

v2.3.0 (2014-5-14)

Features

  • Added subscription preview: Recurly::Subscription.preview 0d55115
  • Added tax details to adjustments: adjustment.tax_details c672258
  • Removed taxable support on adjustments b542b8a
  • Added tax_exempt to accounts, adjustments and plans b542b8a
  • Added tax_rate, tax_type to invoices and subscriptions 6a43f37
  • Added tax_in_cents to subscriptions 6a43f37

v2.2.5 (2017-11-10)

  • Fix Resource#reload method.

v2.2.4 (2017-11-09)

  • Fix SSRF vulnerability in Resource#find. CVE is pending.
  • Backported fix for URL encoding #157

v2.2.3 (2014-5-9)

  • Added token_id support to BillingInfo #137

v2.2.2 (2014-2-21)

Features

  • Added ability to determine a transaction's payment method: Transaction#payment_method (PR)
  • Added ability to determine the date an invoice was closed: Invoice#closed_at (PR)

Bug Fixes

  • The gem now explicitly requires Ruby 1.9.3 or newer (PR)

v2.2.1 (2014-1-2)

Features

  • Added ability to get the active invoice for a subscription: Subscription#invoice (PR)
  • Added ability to get the subscription for an adjustment: Adjustment#subscription (PR)
  • Added ability to get the subscription for a invoice: Invoice#subscription (PR)

v2.2.0 (2013-11-12)

Bug Fixes

  • Raise Recurly::Error for all internal HTTP errors (f3c473a)
  • Correctly serialize all API links for a resource so that they are not lost on cache marshalling (c8ae2d5)

Features

  • Added easier way to get an add-on from the subscription: SubscriptionAddOn#addon (8ad87c6)
  • Drop support for Ruby < 1.9.3 (b0f1daa)