From 97b7fd426b6512aca9a9744e8b887b9c26528b37 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 10 Feb 2026 04:05:42 +0000 Subject: [PATCH 1/5] chore(internal): bump dependencies --- requirements-dev.lock | 20 ++++++++++---------- requirements.lock | 8 ++++---- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/requirements-dev.lock b/requirements-dev.lock index d2748b9..9af7970 100644 --- a/requirements-dev.lock +++ b/requirements-dev.lock @@ -12,14 +12,14 @@ -e file:. aiohappyeyeballs==2.6.1 # via aiohttp -aiohttp==3.13.2 +aiohttp==3.13.3 # via httpx-aiohttp # via trycourier aiosignal==1.4.0 # via aiohttp annotated-types==0.7.0 # via pydantic -anyio==4.12.0 +anyio==4.12.1 # via httpx # via trycourier argcomplete==3.6.3 @@ -31,7 +31,7 @@ attrs==25.4.0 # via nox backports-asyncio-runner==1.2.0 # via pytest-asyncio -certifi==2025.11.12 +certifi==2026.1.4 # via httpcore # via httpx colorlog==6.10.1 @@ -61,7 +61,7 @@ httpx==0.28.1 # via httpx-aiohttp # via respx # via trycourier -httpx-aiohttp==0.1.9 +httpx-aiohttp==0.1.12 # via trycourier humanize==4.13.0 # via nox @@ -69,7 +69,7 @@ idna==3.11 # via anyio # via httpx # via yarl -importlib-metadata==8.7.0 +importlib-metadata==8.7.1 iniconfig==2.1.0 # via pytest markdown-it-py==3.0.0 @@ -82,14 +82,14 @@ multidict==6.7.0 mypy==1.17.0 mypy-extensions==1.1.0 # via mypy -nodeenv==1.9.1 +nodeenv==1.10.0 # via pyright nox==2025.11.12 packaging==25.0 # via dependency-groups # via nox # via pytest -pathspec==0.12.1 +pathspec==1.0.3 # via mypy platformdirs==4.4.0 # via virtualenv @@ -115,13 +115,13 @@ python-dateutil==2.9.0.post0 # via time-machine respx==0.22.0 rich==14.2.0 -ruff==0.14.7 +ruff==0.14.13 six==1.17.0 # via python-dateutil sniffio==1.3.1 # via trycourier time-machine==2.19.0 -tomli==2.3.0 +tomli==2.4.0 # via dependency-groups # via mypy # via nox @@ -141,7 +141,7 @@ typing-extensions==4.15.0 # via virtualenv typing-inspection==0.4.2 # via pydantic -virtualenv==20.35.4 +virtualenv==20.36.1 # via nox yarl==1.22.0 # via aiohttp diff --git a/requirements.lock b/requirements.lock index ca4eeb3..773b46f 100644 --- a/requirements.lock +++ b/requirements.lock @@ -12,21 +12,21 @@ -e file:. aiohappyeyeballs==2.6.1 # via aiohttp -aiohttp==3.13.2 +aiohttp==3.13.3 # via httpx-aiohttp # via trycourier aiosignal==1.4.0 # via aiohttp annotated-types==0.7.0 # via pydantic -anyio==4.12.0 +anyio==4.12.1 # via httpx # via trycourier async-timeout==5.0.1 # via aiohttp attrs==25.4.0 # via aiohttp -certifi==2025.11.12 +certifi==2026.1.4 # via httpcore # via httpx distro==1.9.0 @@ -43,7 +43,7 @@ httpcore==1.0.9 httpx==0.28.1 # via httpx-aiohttp # via trycourier -httpx-aiohttp==0.1.9 +httpx-aiohttp==0.1.12 # via trycourier idna==3.11 # via anyio From 694297d1b43db328197fedf4a5e1495c48c49dff Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 12 Feb 2026 05:08:24 +0000 Subject: [PATCH 2/5] chore(internal): fix lint error on Python 3.14 --- src/courier/_utils/_compat.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/courier/_utils/_compat.py b/src/courier/_utils/_compat.py index dd70323..2c70b29 100644 --- a/src/courier/_utils/_compat.py +++ b/src/courier/_utils/_compat.py @@ -26,7 +26,7 @@ def is_union(tp: Optional[Type[Any]]) -> bool: else: import types - return tp is Union or tp is types.UnionType + return tp is Union or tp is types.UnionType # type: ignore[comparison-overlap] def is_typeddict(tp: Type[Any]) -> bool: From f4f04e7c0c3b7e057b382df24a5e5c54e2797823 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 12 Feb 2026 19:46:25 +0000 Subject: [PATCH 3/5] feat(api): remove brand field from ElementalContent --- .stats.yml | 4 ++-- src/courier/types/shared/elemental_content.py | 4 +--- src/courier/types/shared_params/elemental_content.py | 4 +--- tests/api_resources/tenants/test_templates.py | 2 -- 4 files changed, 4 insertions(+), 10 deletions(-) diff --git a/.stats.yml b/.stats.yml index 17749e2..290f28d 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 81 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/courier%2Fcourier-3fc1c86b4a83a16393aaf17d1fb3ac6098d30dd057ba872973b57285a7a3f0d0.yml -openapi_spec_hash: 02a545d217b13399f311e99561f9de1d +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/courier%2Fcourier-b3852cdd1020811766572923d26a6c95f4a538bf4c7268462b6ba39f34480b3e.yml +openapi_spec_hash: b2e2f2357342e9a6b16a591d0b946e38 config_hash: 0789c3cddc625bb9712b3bded274ab6c diff --git a/src/courier/types/shared/elemental_content.py b/src/courier/types/shared/elemental_content.py index 4a099fb..24d0636 100644 --- a/src/courier/types/shared/elemental_content.py +++ b/src/courier/types/shared/elemental_content.py @@ -1,6 +1,6 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -from typing import List, Optional +from typing import List from ..._models import BaseModel from .elemental_node import ElementalNode @@ -13,5 +13,3 @@ class ElementalContent(BaseModel): version: str """For example, "2022-01-01" """ - - brand: Optional[str] = None diff --git a/src/courier/types/shared_params/elemental_content.py b/src/courier/types/shared_params/elemental_content.py index 81dbae8..8e57dbe 100644 --- a/src/courier/types/shared_params/elemental_content.py +++ b/src/courier/types/shared_params/elemental_content.py @@ -2,7 +2,7 @@ from __future__ import annotations -from typing import Iterable, Optional +from typing import Iterable from typing_extensions import Required, TypedDict from .elemental_node import ElementalNode @@ -15,5 +15,3 @@ class ElementalContent(TypedDict, total=False): version: Required[str] """For example, "2022-01-01" """ - - brand: Optional[str] diff --git a/tests/api_resources/tenants/test_templates.py b/tests/api_resources/tenants/test_templates.py index 6805fb0..430b198 100644 --- a/tests/api_resources/tenants/test_templates.py +++ b/tests/api_resources/tenants/test_templates.py @@ -223,7 +223,6 @@ def test_method_replace_with_all_params(self, client: Courier) -> None: } ], "version": "version", - "brand": "brand", }, "channels": { "foo": { @@ -544,7 +543,6 @@ async def test_method_replace_with_all_params(self, async_client: AsyncCourier) } ], "version": "version", - "brand": "brand", }, "channels": { "foo": { From 51f315169bf7e928d24a216f7f110d829d103f4e Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 13 Feb 2026 03:58:20 +0000 Subject: [PATCH 4/5] chore: format all `api.md` files --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 71b5355..492037b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -69,7 +69,7 @@ format = { chain = [ # run formatting again to fix any inconsistencies when imports are stripped "format:ruff", ]} -"format:docs" = "python scripts/utils/ruffen-docs.py README.md api.md" +"format:docs" = "bash -c 'python scripts/utils/ruffen-docs.py README.md $(find . -type f -name api.md)'" "format:ruff" = "ruff format" "lint" = { chain = [ From 37071125fb49c00eb00929763a21da456b3f9dfe Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 13 Feb 2026 03:58:35 +0000 Subject: [PATCH 5/5] release: 7.9.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 15 +++++++++++++++ pyproject.toml | 2 +- src/courier/_version.py | 2 +- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 6e39864..a75e9e7 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "7.8.0" + ".": "7.9.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index de6c40b..cb75cc7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,20 @@ # Changelog +## 7.9.0 (2026-02-13) + +Full Changelog: [v7.8.0...v7.9.0](https://github.com/trycourier/courier-python/compare/v7.8.0...v7.9.0) + +### Features + +* **api:** remove brand field from ElementalContent ([f4f04e7](https://github.com/trycourier/courier-python/commit/f4f04e7c0c3b7e057b382df24a5e5c54e2797823)) + + +### Chores + +* format all `api.md` files ([51f3151](https://github.com/trycourier/courier-python/commit/51f315169bf7e928d24a216f7f110d829d103f4e)) +* **internal:** bump dependencies ([97b7fd4](https://github.com/trycourier/courier-python/commit/97b7fd426b6512aca9a9744e8b887b9c26528b37)) +* **internal:** fix lint error on Python 3.14 ([694297d](https://github.com/trycourier/courier-python/commit/694297d1b43db328197fedf4a5e1495c48c49dff)) + ## 7.8.0 (2026-02-06) Full Changelog: [v7.7.1...v7.8.0](https://github.com/trycourier/courier-python/compare/v7.7.1...v7.8.0) diff --git a/pyproject.toml b/pyproject.toml index 492037b..f17335a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "trycourier" -version = "7.8.0" +version = "7.9.0" description = "The official Python library for the Courier API" dynamic = ["readme"] license = "Apache-2.0" diff --git a/src/courier/_version.py b/src/courier/_version.py index b92a5b1..c3d0de8 100644 --- a/src/courier/_version.py +++ b/src/courier/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "courier" -__version__ = "7.8.0" # x-release-please-version +__version__ = "7.9.0" # x-release-please-version