Skip to content

2.18: Goodbye TLS 1.0

Compare
Choose a tag to compare
@rjaus rjaus released this 07 Mar 02:15
· 295 commits to master since this release

"Never say goodbye because goodbye means going away and going away means forgetting" - Peter Pan

Wrong. Peter obviously never had to upgrade his TLS version. You can forget all about TLS 1.0, forever. I promise. It's going away, and it's never coming back.

A big thank you to all those that contributed to this release: @nnc @stellard @dhurba87 @pareeohnos

And a big shoutout to @CloCkWeRX for his continued support in maintaining the repo.

Important notes on this release

Xero is deprecating support for TLS 1.0. You must use TLS 1.1 or TLS 1.2 (1.2 suggested) for requests to the Xero API. For most ruby users, no changes will be required. Tests have been added to the gem to test which version of TLS your application is using. For more information on the deprecation of TLS 1.0 please see this notification: https://developer.xero.com/tls1-deprecation

Changes to Save Method

Important: A save! method has been added, and changes have been made to the save method to bring it in line with how these functions work in ActiveRecord.

save: Will return true/false. This function will not raise an exception if there is a validation error.
save!: Will raise an exception if it does not succeed, ie: if there is a validation error.

If you're unclear, take a look at the code changes: 3b6485c

Some other highlights

Online Invoice URL:

The online invoice url for an invoice has now been exposed via the gem. OnlineInvoice has been implemented as it's own model as it could have additional features exposed in the future, and it requires an additional API call to retrieve the details.

Example usage:

@invoice = client.Invoice.all(:where => 'Type=="ACCREC"').first
@invoice.online_invoice.online_invoice_url
=> "https://in.xero.com/a8KPNEPtRvbR8sBAbCWOgLWO7K1p5U5hD3qF754D"

GET invoices createdByMyApp

Support for the createdByMyApp param has been added to the gem. This param is only applicable to the invoices endpoint. Setting this param to true will retrieve only invoices that have been created by your application.

Add Currency

You can now add (subscribe) a new currency to a Xero org. Note: You can not create new currencies, only subscribe the org to a currency that Xero already supports.
For more details see:

Added save! method

The gem now supports save & save! The save method still returns true/false, the save! will raise a exception if the save is not successful.