Releases: bitpay/python-bitpay-client
5.0.4
Overview
This is a patch version to the SDK that addresses Pydantic validation for invoice refund addresses.
Full Changelog: 5.0.3...5.0.4
5.0.3
Overview
This is a patch version to the SDK that updates dependencies.
All Changes
- Python dependency updates
- Update pydantic to 2.6.1
- Update black to 24.1.1
- Update pytest to 8.0.0
- Update mypy to 1.8.0
Full Changelog: 5.0.2...5.0.3
5.0.2
Overview
This is a patch version to the SDK that updates dependencies.
All Changes
- Python dependency updates
- Update pydantic to 2.5.2
- Update black to 23.11.0
- Update pytest to 7.4.3
- Update mypy to 1.7.1
- Update pytest-mypy-plugins to 3.0.0
Full Changelog: 5.0.1...5.0.2
5.0.1
Overview
This is a major revision to the SDK that implements Pydantic.
Major Changes
Pydantic helped reduce the amount of boilerplate code, especially around setters and getters, and introduces type validation.
All Changes
- Update black to v23.7.0
- Update mypy, requests, pytest-mock, pytest
- SP-655 Python SDK - pyproject.toml
- SP-673 GitHub Actions - Python throws error on tomli
- SP-685 Python - Implement Pydantic
Full Changelog: 4.0.1...5.0.0
4.0.1
Overview
This is a patch release with small updates and release automation.
What's Changed
- Updated the setup script to be able to use existing keys
- Generated config JSON is now formatted
Full Changelog: 4.0.0...4.0.1
4.0.0
Overview
We were releasing our next major version of the Python SDK - version 4.0.0.
Highlights
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 4.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 4.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.
Standardization
We've are implementing PEP 8 across the entire SDK and are using Black to check every commit.
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
- Black, Mypy, and unit tests run on Python 3.8, 3.9, 3.10, and 3.11 in the pipeline
- The SDK is now at parity with the API
Full Changelog: v3.4.2203...4.0.0