All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
extend.authmodule providing reusableAuthorizationstrategies (e.g.,BasicAuth,BearerAuth).- Support for injecting any
Authorizationimplementation into bothAPIClientandExtendClient.
- Breaking:
APIClientandExtendClientconstructors now require anAuthorizationinstance instead of rawapi_key/api_secretstrings. Wrap credentials inBasicAuthor supply a differentAuthorizationto upgrade. - Updated documentation, examples, and tests to reflect the new initialization pattern.
Transactions.get_transactionsnow accepts multiple status values plus amissing_expense_categoriesflag to focus on records that still need categorization.- Expanded unit and integration coverage validating the new filters along with stricter date-range assertions.
- Transaction queries now send API-native parameter names (
perPage,since,until) and emitreceiptStatus/expenseCategoryStatuseslists whenever those filters are active. - Status inputs are validated and normalized to uppercase before requests to avoid accidental API errors when multiple values are provided.
- A
receipt_missingflag on transaction listings for fetching only records that still need receipts, plus helper utilities/tests that assert attachment counts against that filter.
- Receipt reminder flows now explicitly request
receipt_missing=True, and the integration test tolerates HTTP 429 rate limits while still verifying behavior. - Transaction listing tests share a
get_transactions_from_responsehelper to keep assertions consistent.
Transactions.send_receipt_reminderfor nudging cardholders, with accompanying unit and integration tests.APIClient.post_multipartand a shared_send_requesthelper, enabling consistent handling of multipart uploads and HTTP verbs.
- All HTTP methods now funnel through
_send_request, unifying timeout/error handling and simplifying future instrumentation.
- New
ReceiptCaptureresource (exposed viaExtendClient.receipt_capture) that supports bulk receipt automatching and status polling. - Tests covering the new receipt-capture endpoints alongside improvements to receipt attachments and documentation.
- First public release of the async Extend Python SDK, including typed models, validation utilities, and resource wrappers for credit cards, virtual cards, transactions, expense data, and receipt uploads.
- Developer tooling essentials: packaging metadata, Makefile shortcuts,
.envtemplate, CI release workflow, and contribution guidelines. - Comprehensive automation (unit + integration tests) plus the initial Jupyter notebook for interactive API exploration.
- None (initial release)
- None (initial release)
- None (initial release)
- None (initial release)
- None (initial release)