Skip to content

Commit e1bb6bb

Browse files
berndverstBernd Verst
andauthored
Add Python 3.15 support across all SDKs (#284)
* Add Python 3.15 support across SDKs Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 94b181dc-bdd7-4d3c-825e-96264b026c85 * Simplify Python 3.15 changelog entries Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 94b181dc-bdd7-4d3c-825e-96264b026c85 --------- Co-authored-by: Bernd Verst <beverst@microsoft.com> Copilot-Session: 94b181dc-bdd7-4d3c-825e-96264b026c85
1 parent 912d335 commit e1bb6bb

11 files changed

Lines changed: 41 additions & 12 deletions

File tree

‎.github/workflows/durabletask-azurefunctions.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
strategy:
3434
fail-fast: false
3535
matrix:
36-
python-version: ["3.13", "3.14"]
36+
python-version: ["3.13", "3.14", "3.15"]
3737
needs: lint
3838
runs-on: ubuntu-latest
3939
steps:

‎.github/workflows/durabletask-azuremanaged.yml‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ jobs:
1818
runs-on: ubuntu-latest
1919
steps:
2020
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
21-
- name: Set up Python 3.14
21+
- name: Set up Python 3.15
2222
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
2323
with:
24-
python-version: 3.14
24+
python-version: "3.15"
2525
- name: Install dependencies
2626
run: |
2727
python -m pip install --upgrade pip
@@ -33,7 +33,7 @@ jobs:
3333
strategy:
3434
fail-fast: false
3535
matrix:
36-
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
36+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"]
3737
needs: lint
3838
runs-on: ubuntu-latest
3939
steps:

‎.github/workflows/durabletask.yml‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ jobs:
1818
runs-on: ubuntu-latest
1919
steps:
2020
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
21-
- name: Set up Python 3.14
21+
- name: Set up Python 3.15
2222
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
2323
with:
24-
python-version: 3.14
24+
python-version: "3.15"
2525
- name: Install dependencies
2626
run: |
2727
python -m pip install --upgrade pip
@@ -33,7 +33,7 @@ jobs:
3333
strategy:
3434
fail-fast: false
3535
matrix:
36-
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
36+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"]
3737
needs: lint-and-unit-tests
3838
runs-on: ubuntu-latest
3939
steps:

‎CHANGELOG.md‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

88
## Unreleased
99

10+
ADDED
11+
12+
- Added Python 3.15 support.
13+
1014
FIXED
1115

1216
- Single-instance `purge_orchestration()` requests now explicitly target

‎azure-functions-durable/CHANGELOG.md‎

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

88
## Unreleased
99

10+
ADDED
11+
12+
- Added Python 3.15 support. The minimum supported Python version remains 3.13.
13+
1014
FIXED
1115

1216
- With the corresponding core `durabletask` SDK fix, single-instance

‎azure-functions-durable/pyproject.toml‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ keywords = [
2121
classifiers = [
2222
"Development Status :: 4 - Beta",
2323
"Programming Language :: Python :: 3",
24+
"Programming Language :: Python :: 3.13",
25+
"Programming Language :: Python :: 3.14",
26+
"Programming Language :: Python :: 3.15",
2427
"License :: OSI Approved :: MIT License",
2528
]
2629
requires-python = ">=3.13"

‎docs/development.md‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,17 @@ The `ci` session runs linting, strict type checks, core SDK and Azure Managed
1515
tests on Python 3.10, Azure Functions unit tests on Python 3.13, and Azure
1616
Functions end-to-end tests on Python 3.13. It intentionally runs one
1717
representative version rather than the complete CI matrix, keeping routine
18-
local validation fast. To use another supported version (3.10--3.14) for the
18+
local validation fast. To use another supported version (3.10--3.15) for the
1919
core SDK and Azure Managed tests, pass it after `--`:
2020

2121
```sh
22-
nox -s ci -- 3.14
22+
nox -s ci -- 3.15
2323
```
2424

2525
Run the versioned test sessions directly when a change needs complete matrix
2626
coverage, for example `nox -s core_tests` or `nox -s azuremanaged_tests`.
27+
Azure Functions unit tests cover Python 3.13--3.15; use
28+
`nox -s functions_unit-3.15` to target Python 3.15 specifically.
2729
Nox fails rather than silently skipping a session when its required Python
2830
interpreter is unavailable.
2931

‎durabletask-azuremanaged/CHANGELOG.md‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

88
## Unreleased
99

10+
ADDED
11+
12+
- Added Python 3.15 support.
13+
1014
FIXED
1115

1216
- With the corresponding core `durabletask` SDK fix, single-instance

‎durabletask-azuremanaged/pyproject.toml‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@ keywords = [
2020
classifiers = [
2121
"Development Status :: 5 - Production/Stable",
2222
"Programming Language :: Python :: 3",
23+
"Programming Language :: Python :: 3.10",
24+
"Programming Language :: Python :: 3.11",
25+
"Programming Language :: Python :: 3.12",
26+
"Programming Language :: Python :: 3.13",
27+
"Programming Language :: Python :: 3.14",
28+
"Programming Language :: Python :: 3.15",
2329
"License :: OSI Approved :: MIT License",
2430
]
2531
requires-python = ">=3.10"

‎noxfile.py‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
E2E_APPS_DIR = REPO_ROOT / "tests" / "azure-functions-durable" / "e2e" / "apps"
4747
# Sample apps that need an in-app virtual environment for the E2E suite.
4848
E2E_APPS = ("v1_style", "dtask_style", "tracing")
49-
PYTHON_VERSIONS = ("3.10", "3.11", "3.12", "3.13", "3.14")
49+
PYTHON_VERSIONS = ("3.10", "3.11", "3.12", "3.13", "3.14", "3.15")
5050
DEFAULT_CI_PYTHON = "3.10"
5151

5252

@@ -446,7 +446,7 @@ def azuremanaged_tests(session: nox.Session) -> None:
446446
_stop_dts_emulator(container_name)
447447

448448

449-
@nox.session(python=["3.13", "3.14"])
449+
@nox.session(python=["3.13", "3.14", "3.15"])
450450
def functions_unit(session: nox.Session) -> None:
451451
"""Run the azure-functions-durable unit tests (no func/azurite required)."""
452452
session.install("-r", "requirements.txt")
@@ -524,7 +524,7 @@ def ci(session: nox.Session) -> None:
524524
"""Run the representative local lint, type, test, emulator, and E2E checks.
525525
526526
Pass a core/Azure Managed Python version after ``--`` to override the
527-
default representative version, for example ``nox -s ci -- 3.14``.
527+
default representative version, for example ``nox -s ci -- 3.15``.
528528
"""
529529
if len(session.posargs) > 1 or (
530530
session.posargs and session.posargs[0] not in PYTHON_VERSIONS

0 commit comments

Comments
 (0)