C# Unified SDK v5.0.0

We were releasing our next major version of the .NET SDK - version 5.0.0. The full release notes can be found here.


Client Class Breakdown

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
  • Add 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.

Test Suites

We have implemented functional and unit test suites to the API, and the unit tests run in GitHub Actions for all commits and pull requests.

Other Notes

  • The SDK is now at parity with the API

Full Changelog: https://github.com/bitpay/csharp-bitpay-client/compare/v4.4.2203...5.0.0