Skip to content

Releases: bitpay/python-bitpay-client

7.0.0

09 Dec 17:48
eef8b96
Compare
Choose a tag to compare

Overview

This is a patch update that updates dependencies.

Note: This version of the SDK requires Python 3.9+.

What's Changed

  • pydantic updated to 2.10.3
  • pytest updated to 8.3.4
  • pytest-cov updated to 6.0.0
  • Bump version to 7.0.0

Full Changelog: 6.1.1...7.0.0

6.1.1

28 Oct 17:48
55c3bd9
Compare
Choose a tag to compare

Overview

This is a patch update that updates dependencies.

Note: This will be the last version of the 6.x version of the SDK, with 7.0.0 being released in November. The breaking change will be that Python 3.9+ will be required.

What's Changed

  • Add Python 3.12 to test matrix
  • Add Python 3.13 to test matrix
  • Update pydantic to 2.9.2
  • Update black to 8.3.3
  • Update pytest to 8.3.3
  • Update mypy to 1.11.12
  • Bump version to 6.1.1

Full Changelog: 6.1.0...6.1.1

6.1.0

06 Sep 21:30
61ee249
Compare
Choose a tag to compare

Overview

This is a minor update that adds support for a new optional header called X-BitPay-Platform-Info that will be used in BitPay plugins to show both the SDK version and plugin version.

What's Changed

  • Add X-BitPay-Platform-Info header
  • Bump version to 6.1.0

Full Changelog: 6.0.5...6.1.0

6.0.5

02 Jul 15:57
ef16e8a
Compare
Choose a tag to compare

Overview

This is a patch release that updates dependencies.

What's Changed

  • Update GitHub Action versions
  • Update Project.toml to match Pipfile
  • Update mypy to 1.10.1

Full Changelog: 6.0.4...6.0.5

6.0.4

01 Jul 19:19
560d04a
Compare
Choose a tag to compare

Overview

This is a patch release that updates dependencies.

Full Changelog: 6.0.3...6.0.4

6.0.3

20 May 00:54
3c798de
Compare
Choose a tag to compare

Overview

This is a patch release that addresses a type issue with paymentTotals.* and paymentSubtotals.* where it was defined as an int but is coming back from the API with scientific notation. These large numbers such as 1.321044547e+21 will not fit in an int, so we have to import the decimal library and define them as the Decimal type.

What's Changed

  • Changed paymentTotals.* and paymentSubtotals.* to the Decimal type

Full Changelog: 6.0.2...6.0.3

6.0.2

06 May 16:53
2ebabb3
Compare
Choose a tag to compare

Overview

This is a patch release that addresses a type issue with satoshisPerByte where it was defined as an int but is coming back from the API as a float. We've also updated the examples to remove .value on the facade as it's not necessary.

What's Changed

  • Fix satoshisPerByte
  • Remove '.value' from examples

Full Changelog: 6.0.1...6.0.2

6.0.1

11 Mar 15:29
d2b084a
Compare
Choose a tag to compare

Overview

This is a patch release that fixes a small issue to allows a POS client to be created with either create_client() or create_pos_client(). Currently, passing in a config to create_client() will work, but this PR makes it easier to use create_pos_client() directly by passing a POS token.

Full Changelog: 6.0.0...6.0.1

5.0.5

11 Mar 15:25
b746fed
Compare
Choose a tag to compare

Overview

This is a patch release that fixes a small issue to allows a POS client to be created with either create_client() or create_pos_client(). Currently, passing in a config to create_client() will work, but this PR makes it easier to use create_pos_client() directly by passing a POS token.

Full Changelog: 5.0.4...5.0.5

6.0.0

09 Mar 00:23
4b4b754
Compare
Choose a tag to compare

Overview

Note: ⚠️ denotes breaking changes

This is a major version that provides numerous enhancements, such as:

  • Examples in the codebase
  • ⚠️ More consistent exceptions
  • ⚠️ Better integration with custom loggers
  • ⚠️ General improvements to align with the API

Examples in the Codebase

There are new examples in the codebase to show how the SDK can be used for various scenarios:

  • Logging
    • Using a custom logger with the SDK
  • Bills (Merchant Facade)
    • Creating a bill
    • Getting a bill
    • Updating a bill
    • Delivering a bill via email
  • Invoices (Merchant Facade)
    • Creating an invoice
    • Getting an invoice
    • Updating an invoice
    • Canceling an invoice
    • Requesting an invoice notification
  • Ledgers (Merchant Facade)
    • Getting ledgers
    • Getting ledger entries
  • Refunds (Merchant Facade)
    • Creating a refund
    • Updating a refund
    • Getting a refund
    • Canceling a refund
    • Request a refund notification to be resent
  • Settlements (Merchant Facade)
    • Getting a settlement reconciliation report
  • Payouts (Payout Facade)
    • Creating a payout
    • Getting a payout
    • Canceling a payout
    • Requesting a payout webhook to be resent
    • Requesting payout notifications
  • Recipients (Payout Facade)
    • Invite payout recipients
    • Get payout recipients
    • Update payout recipients
    • Remove payout recipients
  • Bills (POS Facade)
    • Creating a bill
    • Getting a bill
    • Delivering a bill
  • Invoices (POS Facade)
    • Creating an invoice
    • Getting an invoice
  • Rates (Public Facade)
    • Get rates for a cryptocurrency
    • Get cryptocurrency / fiat currency pair rates
  • Wallets (Public Facade)
    • Get supported wallets

⚠️ More Consistent Exceptions

We have removed the old exception classes that added a tremendous amount of duplication across the SDK in favor of parsing the errors from the API. This makes the SDK less opinionated and relies on the API to inform consumers what happened, providing more consistency between the SDK and API. The result is that response messages and codes in exceptions thrown by the SDK will be 1:1 with API.

⚠️ Better Integration with Custom Loggers

You can now use your own logging framework using the new logger provider, giving more control over how logs are handled.

⚠️ General Improvements

  • Updated dependencies
  • Updated field types where they were misaligned with the API
  • Added fields to the SDK that were missing
  • Removed fields that are no longer in the API

Full Changelog: 5.0.4...6.0.0