Skip to content
Open
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
2 changes: 1 addition & 1 deletion .github/workflows/durabletask-azurefunctions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.13", "3.14"]
python-version: ["3.13", "3.14", "3.15"]
needs: lint
runs-on: ubuntu-latest
steps:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/durabletask-azuremanaged.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Set up Python 3.14
- name: Set up Python 3.15
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: 3.14
python-version: "3.15"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
Expand All @@ -33,7 +33,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"]
needs: lint
runs-on: ubuntu-latest
steps:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/durabletask.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Set up Python 3.14
- name: Set up Python 3.15
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: 3.14
python-version: "3.15"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
Expand All @@ -33,7 +33,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"]
needs: lint-and-unit-tests
runs-on: ubuntu-latest
steps:
Expand Down
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## Unreleased

ADDED

- Added Python 3.15 support.

FIXED

- Single-instance `purge_orchestration()` requests now explicitly target
Expand Down
4 changes: 4 additions & 0 deletions azure-functions-durable/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## Unreleased

ADDED

- Added Python 3.15 support. The minimum supported Python version remains 3.13.

FIXED

- With the corresponding core `durabletask` SDK fix, single-instance
Expand Down
3 changes: 3 additions & 0 deletions azure-functions-durable/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ keywords = [
classifiers = [
"Development Status :: 4 - Beta",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: 3.15",
"License :: OSI Approved :: MIT License",
]
requires-python = ">=3.13"
Expand Down
6 changes: 4 additions & 2 deletions docs/development.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,17 @@ The `ci` session runs linting, strict type checks, core SDK and Azure Managed
tests on Python 3.10, Azure Functions unit tests on Python 3.13, and Azure
Functions end-to-end tests on Python 3.13. It intentionally runs one
representative version rather than the complete CI matrix, keeping routine
local validation fast. To use another supported version (3.10--3.14) for the
local validation fast. To use another supported version (3.10--3.15) for the
core SDK and Azure Managed tests, pass it after `--`:

```sh
nox -s ci -- 3.14
nox -s ci -- 3.15
```

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

Expand Down
4 changes: 4 additions & 0 deletions durabletask-azuremanaged/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## Unreleased

ADDED

- Added Python 3.15 support.

FIXED

- With the corresponding core `durabletask` SDK fix, single-instance
Expand Down
6 changes: 6 additions & 0 deletions durabletask-azuremanaged/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,12 @@ keywords = [
classifiers = [
"Development Status :: 5 - Production/Stable",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: 3.15",
"License :: OSI Approved :: MIT License",
]
requires-python = ">=3.10"
Expand Down
6 changes: 3 additions & 3 deletions noxfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
E2E_APPS_DIR = REPO_ROOT / "tests" / "azure-functions-durable" / "e2e" / "apps"
# Sample apps that need an in-app virtual environment for the E2E suite.
E2E_APPS = ("v1_style", "dtask_style", "tracing")
PYTHON_VERSIONS = ("3.10", "3.11", "3.12", "3.13", "3.14")
PYTHON_VERSIONS = ("3.10", "3.11", "3.12", "3.13", "3.14", "3.15")
DEFAULT_CI_PYTHON = "3.10"


Expand Down Expand Up @@ -446,7 +446,7 @@ def azuremanaged_tests(session: nox.Session) -> None:
_stop_dts_emulator(container_name)


@nox.session(python=["3.13", "3.14"])
@nox.session(python=["3.13", "3.14", "3.15"])
def functions_unit(session: nox.Session) -> None:
"""Run the azure-functions-durable unit tests (no func/azurite required)."""
session.install("-r", "requirements.txt")
Expand Down Expand Up @@ -524,7 +524,7 @@ def ci(session: nox.Session) -> None:
"""Run the representative local lint, type, test, emulator, and E2E checks.

Pass a core/Azure Managed Python version after ``--`` to override the
default representative version, for example ``nox -s ci -- 3.14``.
default representative version, for example ``nox -s ci -- 3.15``.
"""
if len(session.posargs) > 1 or (
session.posargs and session.posargs[0] not in PYTHON_VERSIONS
Expand Down
6 changes: 6 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,12 @@ keywords = [
classifiers = [
"Development Status :: 5 - Production/Stable",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: 3.15",
"License :: OSI Approved :: MIT License",
]
requires-python = ">=3.10"
Expand Down
Loading