Skip to content

Commit 55b50ee

Browse files
zulquerdanielcivitCopilot
authored
Release of 3.0.0 (#49)
* PTHMINT:94: Introduce transport abstraction and examples Add a pluggable HTTP transport layer so callers can inject custom HTTP clients. Introduces src/multisafepay/transport (HTTP transport interface, RequestsTransport and underlying http transport), updates SDK and client to accept/select a transport, and adds example transports for httpx, requests.Session and urllib3 (including a response adapter). Includes new unit/e2e tests and test helpers for transport selection and mocks, plus minor README/pyproject tweaks. * PTHMINT-94: Use Optional types and standardize docstrings Annotate client methods' context parameter as Optional[dict[str, Any]] and standardize parameter/type annotations in HTTPTransport and RequestsTransport docstrings (consistently use parenthetical param types and shorter, PEP-484-like type expressions). These edits improve typing clarity and make the transport docs consistent and easier to read. * PTHMINT-94: Add OSLv3 license headers to tests Add copyright, Open Software License (OSL) v3.0 and disclaimer header comments to several test and support modules for legal/attribution purposes. Affected files: tests/multisafepay/e2e/examples/transport/test_custom_httpx_transport.py, tests/multisafepay/e2e/examples/transport/test_custom_requests_session_transport.py, tests/multisafepay/e2e/examples/transport/test_custom_urllib3_transport.py, tests/multisafepay/unit/transport/test_unit_transport_selection.py, tests/support/alt_http_transports.py, tests/support/mock_transport.py. No functional code changes. * PTHMINT-94: Remove changes not needed in tests (#48) * Fix pyproject.toml * Document transport options and add requests extra Expand README with an optional HTTP transport section detailing the transport abstraction, how to use the built-in RequestsTransport (multisafepay[requests]) or provide a custom transport, and a small example. Update example import to use from multisafepay import Sdk. Tweak RequestsTransport's ModuleNotFoundError message to also suggest installing requests directly. Update poetry.lock to reflect the new optional extra and lockfile checksum. * Release of 3.0.0 * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update CHANGELOG.md --------- Co-authored-by: Daniel Civit <daniel.civit@multisafepay.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent ee15a54 commit 55b50ee

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

CHANGELOG.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [3.0.0] - 2026-03-05
11+
12+
### Added
13+
- PTHMINT-94: Introduce transport abstraction layer with `HTTPTransport` and `RequestsTransport`
14+
- PTHMINT-94: Add transport examples for `httpx`, `requests.Session`, and `urllib3`
15+
- PTHMINT-94: Add optional `requests` extra in dependency metadata for transport usage
16+
17+
### Changed
18+
- PTHMINT-99: Use PEP 585 built-in generics
19+
- PTHMINT-94: Refactor `Sdk` and client request flow to support custom transport injection
20+
- PTHMINT-94: Update README with transport customization documentation and examples
21+
22+
### Removed
23+
- PTHMINT-94: Remove `requests` as a mandatory dependency (now an optional extra)
24+
1025
## [2.2.0] - 2026-02-06
1126

1227
### Added
@@ -72,4 +87,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7287
- requests ^2.32.3
7388
- toml ^0.10.2
7489
- pydantic ^1.10.0
75-
- python-dotenv ^1.0.1
90+
- python-dotenv ^1.0.1

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ authors = ["Multisafepay <integration@multisafepay.com>"]
33
description = "Multisafepay API wrapper"
44
license = "OSL-3.0"
55
name = "multisafepay"
6-
version = "2.2.0"
6+
version = "3.0.0"
77
readme = "README.md"
88
repository = "https://github.com/MultiSafepay/python-sdk"
99
homepage = "https://multisafepay.com"

0 commit comments

Comments
 (0)