Releases: waynerobinson/xeroizer
v3.0.1: Minor Bug Fix
v3.0.0
Xeroizer v3.0.0 - 'Here's one for the heroes'
There's been a whole lot of changes over the past 2 years, and this release makes them all official. While most of you have been pulling from master, it's time to get an official 3.0.0 release out to RubyGems. Thanks to everyone who submitting a PR or commit for these changes. No one likes breaking changes, so thank you to everyone who made the effort to get their apps switched over to OAuth2.
Thank you: 🎉 @CloCkWeRX @kitebuggy @AndyWendt @jhiggi44 @anaprimawaty @SorchaAbel @dannemanne @francois @mhssmnn @nnc @toyhammered @sdavies @wasabigeek @KevinMulhern 🎉
This is a major release with breaking changes & major deprecations, do not upgrade unless you've switched to OAuth2.
Deprecations
- #542 OAuth1 Deprecated
- #542 Partner App deprecated & removed from SDK (officially deprecated in March 2021)
- #542 Public App deprecated & removed from SDK (officially deprecated March 2021)
- #542 Private App deprecated & removed from SDK (officially deprecated September 2021)
New Feature: OAuth2
Xero has upgraded to OAuth2, replacing the existing Public & Partner App types with a single OAuth2 Application. Tho the application has two flavours, 'code flow' & 'PKCE flow'. Both styles are support by the SDK. In case you still haven't migrated, check these guides (but yo wayyyy late at this point)
Merges related to OAuth2:
#500 #503 #521 #522 #531 #533
New Feature: Custom Connections #539
Custom Connections are a new feature to replace Private Apps. You can read about their announcement here, or read more in the docs. Custom connections are a solid option for server to server integrations, backend only integrations or one off / bespoke integrations.
Check the SDK docs for more details on implementing Custom Connections.
Other Features & Improvements:
#532 (SDK now supports History & Notes endpoint)
#530 (BigDecimal.new deprecation)
#529 (Additional validations to lineitems model)
#528 (CreditNotes are now saved with either .save or .save!)
#523 (ContactPeople improvement)
#520 (TrackingCategory Status key added)
#519 (BatchPayments improvements)
#514 (API Rate Limits errors now supported)
#508 (ManualJournals now support File Attachments)
#504 (BankTransactions now support File Attachments)
v2.20.0
Changes
- #440 override add_contact to handle different API endpoint (@hegedus)
- #483 Add discount_amount attribute for invoice line item (@jasonheecs)
- #485 Update cell parser regex (@bertiecroll)
- #488 Add Batch Payment model (@jono-booth)
Bug fixes
- Make sure we can convert to BigDecimal with discount_amount (@jasonheecs)
Docs
v2.19.0
Changes
- #451 Fix PurchaseOrder#updated_date_utc (@nnc)
- #377 Update README with info on updating payments (@orangethunder)
- #464 Fix PurchaseOrder model datatypes (@chrisgreen1993)
- #459 Add yearly as schedule unit (@drewish)
- #465 Add name to bank account model fields (@chrisgreen1993)
- #433 Remove unused rest-client gem (@wkruszewski)
- #469 Allow invoices to be sent via email (@stephenbinns)
- #439 Payment services (@jono-booth)
- #423 Prevent nil being returned if value is a
false
(@pareeohnos) - #397 Coerce decimals when calculating line amount (@danielfone)
- #419 raise undefined method error on build with useful message (@stellard)
2.18: Goodbye TLS 1.0
"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.
Anno 2017: The death of Entrust Certificates
Big thanks to @waynerobinson for his support on this SDK historically. Thanks to @CloCkWeRX for taking on the reigns over the past 6 months. And everyone else who pushed a commit for this new version: @kushalsinghbajra @chrisgreen1993 @wosigor @danielfone @timrossinfo @CharlesHarley @sktocha @fimmtiu @lonnv @hinammehra
Some highlights:
Partner App:
- Entrust certificates have been deprecated: https://developer.xero.com/documentation/auth-and-limits/entrust-certificate-deprecation
- This release brings the Ruby SDK in line with those changes
New Models / Endpoints:
- BankTransfers
- OverPayments
- InvoiceReminderSettings
Attachments included for endpoints:
- CreditNotes
- ManualJournals
- Contacts
- BankTransfers
RuboCop has been added to the repository.