Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/sonar.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ jobs:
github.event.pull_request.head.repo.full_name == github.repository ||
github.event_name != 'pull_request_target') }}
run: echo "Unsecure PR, must be labelled with the 'safe' label, then run the workflow again" && exit 1
- name: Set up Python 3.12
- name: Set up Python 3.13
uses: actions/setup-python@v4
with:
python-version: 3.12
python-version: 3.13
- name: Install dependencies
run: |
pip3 install --upgrade pip setuptools wheel
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,9 @@ jobs:
strategy:
matrix:
python-version:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12"
- "3.13"
include:
- os: "ubuntu-latest"
steps:
Expand Down
20 changes: 15 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
# Changelog

## [1.10.0] - 2026-11-01

### Added
- Support for Python 3.13.

### Deprecated
- Python 3.8, 3.9 and 3.10 have reached end-of-life. They remain usable with the library, but will not be actively supported going forward.
- Importing the package on Python 3.8, 3.9 or 3.10 emits a `DeprecationWarning` (previously only on 3.8 and 3.9).

### Changed
- Declared `python_requires=">=3.8,<3.14"`, added the 3.13 classifier and removed deprecated `tests_require` in `setup.py`.

### Security
- Python 3.10+ requires `requests>=2.33.0` (unchanged from 1.9.2), which fixes [CVE-2026-25645](https://github.com/advisories/GHSA-gc5v-m9x4-r6x2). This library does not call the affected `extract_zipped_paths()` function, so Python 3.8 and 3.9, which cannot use `requests>=2.33.0`, remain on `requests>=2.31.0,<2.32.5` and are not affected in standard use.

## [1.9.2] - 2026-04-01

### Deprecated
Expand All @@ -11,8 +26,3 @@

### Changed
- Declared `python_requires=">=3.8,<3.13"`.

## [2.0.0] - 2026-05-01 (Planned)

### Breaking Changes
- Minimum supported Python: 3.10 (dropped 3.8 and 3.9).
15 changes: 7 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,13 @@
Python library for generating a Mastercard API compliant OAuth signature.

### Compatibility <a name="compatibility"></a>
| Version | Python | Status | Notes |
|------------------------|--------|--------|-------|
| **1.9.2** | 3.8, 3.9, 3.10, 3.11, 3.12 | Current | Maintenance & security fixes |
| **2.0.0** (coming soon) | 3.10, 3.11, 3.12 | Planned | Drops 3.8/3.9 support |

⚠️ **Deprecation Notice:** Python 3.8 (EOL Oct 2024) and 3.9 (EOL Oct 2025) support will be removed in v2.0.0.
Python 3.8 and 3.9 are deprecated and will be removed in v2.0.0 (Python 3.10+ only).
A `DeprecationWarning` is emitted when importing this package on Python 3.8/3.9.
| Version | Supported Python Versions |
|------------|----------------------------------|
| **1.10.0** | 3.8, 3.9, 3.10, 3.11, 3.12, 3.13 |

⚠️ **Deprecation Notice:**
Python 3.8 (EOL Oct 2024), 3.9 (EOL Oct 2025) and 3.10 (EOL Oct 2026) have reached end-of-life.
We will not be providing ongoing support for these versions.

Release notes: see [CHANGELOG.md](CHANGELOG.md) (or GitHub Releases).

Expand Down
24 changes: 12 additions & 12 deletions oauth1/__init__.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import sys
import warnings
# Deprecation warning for Python 3.8/3.9
if sys.version_info < (3, 10):
warnings.warn(
"Support for Python 3.8 and 3.9 is deprecated and will be removed in v2.0.0 (coming soon). "
"Please upgrade to Python 3.10 or higher. "
"See: https://github.com/Mastercard/oauth1-signer-python#compatibility",
DeprecationWarning,
stacklevel=2
)
import sys
import warnings

# Deprecation warning for Python 3.8/3.9/3.10
if sys.version_info < (3, 11):
warnings.warn(
"Python 3.8, 3.9 and 3.10 have reached EOL and we will not be providing ongoing support for these versions. "
"Please upgrade to Python 3.11 or higher. "
"See: https://github.com/Mastercard/oauth1-signer-python#compatibility",
DeprecationWarning,
stacklevel=2
)
2 changes: 1 addition & 1 deletion oauth1/version.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# -*- coding: utf-8 -*-
__version__ = '1.9.2'
__version__ = '1.10.0'
3 changes: 2 additions & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
requests>=2.31.0,<2.32.5
requests>=2.31.0,<2.32.5; python_version<"3.10"
requests>=2.33.0; python_version>="3.10"
Deprecated==1.2.5
cryptography>=42.0.0
7 changes: 3 additions & 4 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,19 +36,18 @@
url='https://github.com/Mastercard/oauth1-signer-python',
license='MIT',
packages=find_packages(),
python_requires='>=3.8,<3.13',
python_requires='>=3.8,<3.14',
classifiers=[
'Intended Audience :: Developers',
'Natural Language :: English',
'Operating System :: OS Independent',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
Comment on lines -44 to 47

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you check if these should be removed as well ?
I think these show up as info on the PyPi page, and we should probably drop these.
I'm not 100% sure here, so pls check before we remove it.

Image

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should keep these, all the major Python libraries have them.

@joseph-neeraj joseph-neeraj Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sorry I was referring to removing versions 3.6-3.10, not removing the entire list. We've dropped support for them, so I'm not sure if we should keep them here.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The library is still compatible with 3.8, 3.9 and 3.10, that is why I kept them in the supported versions/classifiers.
We have just mentioned that we wont providing additional ongoing support/fixes for them, but library will still work with those versions.

I have removed 3.6 and 3.7 as they were not compatible and remove already.

'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: 3.12',
'Programming Language :: Python :: 3.13',
'Topic :: Software Development :: Libraries :: Python Modules'
],
tests_require=['coverage'],
install_requires=['cryptography>=42.0.0','urllib3', 'Deprecated', 'requests>=2.31.0,<2.32.5; python_version<"3.10"', 'requests>=2.33.0; python_version>="3.10"']
)
Loading