Skip to content

Releases: bitpay/nodejs-bitpay-client

5.0.1

17 Jul 03:09
Compare
Choose a tag to compare

Overview

We are releasing the next major version of the Node.js SDK - version 5.0.0.

Note: Version 5.x of the SDK has aspects that are not backward compatible with 4.x. We are detailing the differences in our documentation.

Highlights

Client Class Breakdown

The Client class was very large and difficult to test. To make this easier to work on and more testable, we have:

  • Implemented a facade for the client
  • Created a class to handle generic REST GET, PUT, POST, and DELETE
  • Created separate classes for each resource, providing a better representation of the API
  • Added unit and integration tests for new client classes

Implement POS Facade

Prior to version 5.0.0, we had two separate SDKs, the "Light" SDK, which could only use the POS facade, and the "Full" SDK, which used the merchant and payout facades. This created the need for additional effort both in maintaining and implementing the SDK.

As of version 5.0.0, the SDK supports both methods. You can use just the POS facade, which is limited in feature set but does not require signed requests (no private key to manage) or with the merchant/payout facade, which has more functionality but is more complex to implement.

This provides an easier upgrade path and reduces the duplicate work of maintaining two separate SDKs regarding dependency upgrades, bug fixes, etc.

Unit Test Suite

A new unit test suite has been added to the codebase that runs against all currently supported versions of Node.js. The tests run in GitHub Actions for non-master commits as well as pull requests.

Functional Test Suite

A functional test suite has been added to the codebase that will run against the test API. Due to there being so many outside variables from external resources, this does not run in the GitHub Actions pipeline.

Linter

We are using Prettier in GitHub Actions for non-master commits as well as pull requests.

Other Notes

  • Implemented Husky to run Prettier locally via Git commit hook
  • Moved documentation to Readme.com
  • Replaced TSLint with ESLint
  • Added an npm run setup script to run the setup script easily
  • Added JSDoc
  • Added Payout Group functionality

Bug Fixes

  • Fixed an issue when calling GetLedger client method

Full Changelog: 4.0.0...5.0.0

4.0.0

20 Feb 21:17
Compare
Choose a tag to compare

NOTE: This is a small, intermediary release to address an issue with CreateRefund(). It is backwards incompatible so it is being released as version 4.0.0, but 5.0.0 is coming shortly.

What's New (⚠️ = breaking changes):

Changed
  • ⚠️ Use new endpoint to create refunds
  • ⚠️ Update Refund model and calls for GetRefund and GetRefunds
  • ⚠️ Update CancelRefund

v3.0.2202

31 Jan 10:36
dd933b1
Compare
Choose a tag to compare

What's New (⚠️ = breaking changes):

Changed
  • ⚠️ Request replaced by Axios
  • ⚠️ NodeJs 12 as minimum required
Added
  • Travis file
  • Full documentation

v1.4.2102

19 Feb 12:08
172eb9b
Compare
Choose a tag to compare

What's New (⚠️ = breaking changes):

Changed
  • ⚠️ Payouts methods renamed
  • Functional tests updated
Added

-Subscriptions resource

Fixed
  • Exception injection bugfix

v1.3.2102

15 Feb 14:23
e196f8a
Compare
Choose a tag to compare

What's New:

Changed
  • Updated setup
  • Removed unused dependencies
  • Repaired npm package
  • Updated guide
  • Code refactor

v1.1.2102

04 Feb 11:40
db2b4f2
Compare
Choose a tag to compare

What's New:

Added
  • Full support for Settlements
  • Full support for Ledger

v1.0.2102

01 Feb 13:13
8e0ab35
Compare
Choose a tag to compare

What's New (⚠️ = breaking changes):

##⚠️ This SDK is not compatible with previous versions or older SDKs

Added
  • Full support for Invoices and Refunds
  • Full support for Billing
  • Full support for Payout

v1.0.2101

29 Jan 16:53
1572850
Compare
Choose a tag to compare
v1.0.2101 Pre-release
Pre-release

What's New (⚠️ = breaking changes):

##⚠️ This SDK is not compatible with previous versions or older SDKs

Added
  • Full support for Invoices and Refunds
  • Full support for Billing
  • Full support for Payout