diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 3b07edf..a26ebfc 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.13.1" + ".": "0.14.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index 76f728e..875ab62 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 40 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/zavu%2Fzavudev-632d79d39ef49ea571930f3e1c71d63145b23905126df2957d4eb61a309e9054.yml -openapi_spec_hash: 74d14877ffe27741c222a83646071717 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/zavu%2Fzavudev-98523053ee0c81ccef4a170757e23736a319d88fd6063a58cf9cdedd8c55ffb8.yml +openapi_spec_hash: bb481265d390902f1ee3e1710e1a7c24 config_hash: ab9d47848e436f9b6b787afd062ff9a7 diff --git a/CHANGELOG.md b/CHANGELOG.md index 56a6392..e91b517 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # Changelog +## 0.14.0 (2025-12-21) + +Full Changelog: [v0.13.1...v0.14.0](https://github.com/zavudev/sdk-python/compare/v0.13.1...v0.14.0) + +### Features + +* **api:** api update ([6e140ca](https://github.com/zavudev/sdk-python/commit/6e140caf1465a60925fcf925c7e4ea39dad31916)) + + +### Chores + +* **internal:** add `--fix` argument to lint script ([24b14b7](https://github.com/zavudev/sdk-python/commit/24b14b78710431593ac3c6a2c31602c7c763bf2d)) + ## 0.13.1 (2025-12-18) Full Changelog: [v0.13.0...v0.13.1](https://github.com/zavudev/sdk-python/compare/v0.13.0...v0.13.1) diff --git a/pyproject.toml b/pyproject.toml index 2f480ef..76f4d3f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "zavudev" -version = "0.13.1" +version = "0.14.0" description = "The official Python library for the zavudev API" dynamic = ["readme"] license = "Apache-2.0" diff --git a/scripts/lint b/scripts/lint index 95d943b..1c003ce 100755 --- a/scripts/lint +++ b/scripts/lint @@ -4,8 +4,13 @@ set -e cd "$(dirname "$0")/.." -echo "==> Running ruff" -uv run ruff check . +if [ "$1" = "--fix" ]; then + echo "==> Running ruff with --fix" + uv run ruff check . --fix +else + echo "==> Running ruff" + uv run ruff check . +fi echo "==> Running pyright" uv run pyright diff --git a/src/zavudev/_version.py b/src/zavudev/_version.py index ae7afea..a05d520 100644 --- a/src/zavudev/_version.py +++ b/src/zavudev/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "zavudev" -__version__ = "0.13.1" # x-release-please-version +__version__ = "0.14.0" # x-release-please-version diff --git a/src/zavudev/resources/messages.py b/src/zavudev/resources/messages.py index 6704208..00c8c94 100644 --- a/src/zavudev/resources/messages.py +++ b/src/zavudev/resources/messages.py @@ -187,6 +187,7 @@ def send( to: str, channel: Channel | Omit = omit, content: MessageContentParam | Omit = omit, + fallback_enabled: bool | Omit = omit, html_body: str | Omit = omit, idempotency_key: str | Omit = omit, message_type: MessageType | Omit = omit, @@ -224,6 +225,8 @@ def send( content: Additional content for non-text message types. + fallback_enabled: Whether to enable automatic fallback to SMS if WhatsApp fails. Defaults to true. + html_body: HTML body for email messages. If provided, email will be sent as multipart with both text and HTML. @@ -256,6 +259,7 @@ def send( "to": to, "channel": channel, "content": content, + "fallback_enabled": fallback_enabled, "html_body": html_body, "idempotency_key": idempotency_key, "message_type": message_type, @@ -424,6 +428,7 @@ async def send( to: str, channel: Channel | Omit = omit, content: MessageContentParam | Omit = omit, + fallback_enabled: bool | Omit = omit, html_body: str | Omit = omit, idempotency_key: str | Omit = omit, message_type: MessageType | Omit = omit, @@ -461,6 +466,8 @@ async def send( content: Additional content for non-text message types. + fallback_enabled: Whether to enable automatic fallback to SMS if WhatsApp fails. Defaults to true. + html_body: HTML body for email messages. If provided, email will be sent as multipart with both text and HTML. @@ -493,6 +500,7 @@ async def send( "to": to, "channel": channel, "content": content, + "fallback_enabled": fallback_enabled, "html_body": html_body, "idempotency_key": idempotency_key, "message_type": message_type, diff --git a/src/zavudev/types/message_send_params.py b/src/zavudev/types/message_send_params.py index 7939bb8..b537042 100644 --- a/src/zavudev/types/message_send_params.py +++ b/src/zavudev/types/message_send_params.py @@ -27,6 +27,12 @@ class MessageSendParams(TypedDict, total=False): content: MessageContentParam """Additional content for non-text message types.""" + fallback_enabled: Annotated[bool, PropertyInfo(alias="fallbackEnabled")] + """Whether to enable automatic fallback to SMS if WhatsApp fails. + + Defaults to true. + """ + html_body: Annotated[str, PropertyInfo(alias="htmlBody")] """HTML body for email messages. diff --git a/tests/api_resources/test_messages.py b/tests/api_resources/test_messages.py index 92ca06c..32218b3 100644 --- a/tests/api_resources/test_messages.py +++ b/tests/api_resources/test_messages.py @@ -215,6 +215,7 @@ def test_method_send_with_all_params(self, client: Zavudev) -> None: "2": "ORD-12345", }, }, + fallback_enabled=True, html_body="htmlBody", idempotency_key="msg_01HZY4ZP7VQY2J3BRW7Z6G0QGE", message_type="text", @@ -452,6 +453,7 @@ async def test_method_send_with_all_params(self, async_client: AsyncZavudev) -> "2": "ORD-12345", }, }, + fallback_enabled=True, html_body="htmlBody", idempotency_key="msg_01HZY4ZP7VQY2J3BRW7Z6G0QGE", message_type="text",