Switch from `request` to `axios` is a breaking change?
grahamsawers opened this issue ยท 7 comments
SDK you're using (please complete the following information):
- Version >=5.0.0
Describe the bug
Release notes for version 5.0.0
list a bug fix:
#579 | Get rid of deprecated "request" dependency
Switching out the request
package for axios
changes the response shape for the SDK API methods. Previously they returned a request response whereas now they return an AxiosResponse.
As you can see these responses have a different shape. IMHO changing the response shape of the SDK should be explicitly called out as a breaking change. We didn't pick this up until we noticed runtime errors in production.
PETOSS-401
Thanks for raising an issue, a ticket has been created to track your request
I've also noticed that when the request fails the response returned by the SDK is mapped to a Response class and an error is constructed from this.
This response object has a similar shape to the original request
response returned on success and not an AxiosResponse
. I feel the response object for both error and success should have the same shape.
The errors are also being thrown as a string now - JSON.Stringify is being called on the error object where it used to be a JSON object.
The errors are also being thrown as a string now - JSON.Stringify is being called on the error object where it used to be a JSON object.
I confirm. This should have been mentioned in the release notes!
I confirm. This should have been mentioned in the release notes!
Same here. We are now having issues categorising errors from our Xero integrations because thrown errors are now strings for some reason.
Yes we rolled back from this release, waiting for an update.