NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2226 most downloaded on PyPI
Last release 2 days ago
02 Oct 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 59 of the last 60 stable releases
2 versions withdrawn
withdrawn after publishing
5 years old
132 releases · first in 2021
One column per quarter.
Topics and Intents: Type the direct API segments response shape while retaining deprecated results facades, legacy import paths, and legacy constructi…
\{pause:500ms\} and pronunciations as \{"word": "...", "pronounce": "<IPA>"\}. The 7.11.0 forms are rejected or ignored by /v2/speak, so upgrade when using TextBuilder with Flux TTS.pause(), from_ssml(), and build() now raise ValueError for malformed, out-of-range, off-grid, or mixed pause-and-pronunciation controls before sending a request the API would reject.Warning responses while retaining dict-style response access during the v7 transition.segments response shape while retaining deprecated results facades, legacy import paths, and legacy construction throughout v7.\{pause:500ms\} and pronunciations as \{"word": "...", "pronounce": "<IPA>"\}. The 7.11.0 markers ({pause:500} and the unescaped pronunciation form) are rejected by /v2/speak with BREAK_SYNTAX_INVALID or ignored, so upgrade to use TextBuilder with Flux TTS. Limits now match Flux batch: pauses 500-3000 ms in 100 ms steps (was 500-5000) and at most 8 per request (was 50). pause(), from_ssml(), and build() raise ValueError for out-of-range or off-grid durations (previously rounded), for malformed markers, and for pause-plus-pronunciation combinations, instead of sending a request the API would reject.Warning responses while preserving dict-style response access during the 7.x transition.SharedTopics and SharedIntents now type the direct segments response shape returned by the API. Deprecated results facades, legacy import paths, and legacy construction remain available in v7.Listen v2 (Flux): change numerals during an active connection with connection.send_configure(ListenV2Configure(numerals=True)) . Numerals convert writ
Voice Agent: Add typed FunctionCallCancelled WebSocket events. Events identify function calls that are no longer valid; do not send a FunctionCallResp
FunctionCallCancelled WebSocket events. Events identify function calls that are no longer valid; do not send a FunctionCallResponse for the listed call IDs. (#790) (7f5b642)defer_until_eot function setting. When enabled, it holds a function call until the user's turn is confirmed and discards the deferred call if the turn resumes. Defaults to false. (#790) (7f5b642)Voice Agent: Adds send_force_end_turn() and typed ForceEndTurn messages for V2 Flux listen providers.
send_force_end_turn() and typed ForceEndTurn messages for V2 Flux listen providers. (#783) (ff49864)expressivity from -2 through 2 for Deepgram Flux TTS providers. (#783) (ff49864)speed accepts 0.5 through 1.5 in 0.05 increments, replacing the previously documented 0.85 through 1.15 range. (#783) (ff49864)TextBuilder: ssml_to_deepgram() now preserves a <phoneme> pronunciation when its valid ph and alphabet attributes appear in either order.
ssml_to_deepgram() now preserves a <phoneme> pronunciation when its valid ph and alphabet attributes appear in either order. (#741) (7fd4b63)api_key=None continues to disable ambient DEEPGRAM_API_KEY lookup, which is important for multi-tenant and test environments. (#778) (e675990)DeepgramClient() and AsyncDeepgramClient() now resolve DEEPGRAM_API_KEY when constructed, so load_dotenv() can run after importing the SDK. Closes #734. (#767) (ec362ec)transport_factory, matching the routing behavior of other WebSocket APIs for proxies, test doubles, and custom-hosted transports. (#766) (0980663)language is omitted; non-English and multilingual audio require an explicit language such as fr or multi. (#771) (4574337)sounddevice, device selection, bounded audio buffering, transcript output, and clean Ctrl-C shutdown. (#780) (08f0471).stream attribute. (#749) (178724e)regen: listen v2 force-end-turn and listen v1 diarize metadata
listen/v2: restore subscript access on typed responses
No breaking changes against v7.6.0: 0 removed public exports, 0 deleted modules, baseline socket-client signatures intact, and enum changes are wideni…
Flux TTS streaming controls and Listen v2 redaction.
send_interrupt() (optional playback_offset, {type: "time_ms", value: N}), answered by a SpeechInterrupted server message whose metadata carries the new controls_applied.breaks_applied counter; mid-stream send_configure() to change speed, acknowledged by ConfigureSuccess / ConfigureFailure; new speed and expressivity connect query parameters. Inline pause and pronunciation controls are not applied at launch — they are stripped before synthesis and support is coming soon. (#758) (aab1eae)redact connect parameter (ListenV2Redact: numbers, aggressive_numbers); send_configure() is now properly typed (ListenV2Configure + ListenV2ConfigureSuccess in the response union), replacing the previous typing.Any shim. (#758) (aab1eae)GoogleThinkProviderVersion adds ai-studio-v1beta and gemini-enterprise-agent-v1; AgentV1UpdateListenListenProvider discriminated union (_V1 / _V2, discriminant version); client_wrapper now derives its version from importlib.metadata rather than a hardcoded string. (#758) (aab1eae)deepgram speak provider version widens from Literal["v1"] to str.AgentV1UpdateListenListen.provider moves from a bare DeepgramListenProviderV2 to a required discriminated union; a compatibility validator coerces a legacy provider instance or bare dict into the new shape (both serialize to version: "v2"), so existing callers are unaffected.Breaking change from spec — mitigated (stays non-breaking)
SDK regeneration for 2026-07-20 (Fern generator 5.14.18, spec ff8fd2b7).
Flux STT numerals
ListenV2Numerals type (Literal["true", "false"]) in types/listen_v2numerals.py, exported from the package root and types.numerals query param on listen.v2.connect() and the raw client (connection-time only). See [docs #1020].examples/14-transcription-live-websocket-v2.py.tests/custom/test_listen_v2_connect_wire.py (sync + async) pins that /v2/listen serializes numerals=true and omits it when absent — the /v2/listen handshake previously had no wire test.New Aura-2 multilingual TTS voices
SpeakV1Model and AudioGenerateRequestModel (es / de / nl / fr / it / ja).stt_latency from AgentV1LatencyReport (docs #1006). Because AgentV1LatencyReport is a server-emitted (read-only) message, stt_latency is re-added by hand as a read-side backward-compat field (frozen in .fernignore): report.stt_latency keeps resolving to None instead of raising AttributeError, with no request/wire impact. Covered by tests/custom/test_latency_report_stt_compat.py. This keeps the release a minor bump rather than a major.mypy src/deepgram — clean (857 files)pytest — 331 passed, 1 skippedruff check src/deepgram — cleanRelease PR for 7.5.0 — compare v7.4.0...v7.5.0
chore(main): release 7.5.0 (#743)
Release PR for **7.5.0** — [compare
v7.4.0...v7.5.0](v7.4.0...v7.5.0)
## What's in 7.5.0
- **[#742](#742) —
Flux TTS streaming (Speak V2) + agent listen reconfigure**
- **Speak V2 streaming (WebSocket)** — `client.speak.v2.connect(...)`:
new `speak/v2/` package (client, socket client, request/response types),
top-level `SpeakV2Encoding` / `SpeakV2MipOptOut` / `SpeakV2Model` /
`SpeakV2SampleRate` / `SpeakV2Tag`, and optional `send_flush()` /
`send_close()` control messages.
- **Agent mid-session listen reconfigure** — `send_update_listen(...)`
with `AgentV1UpdateListen` / `AgentV1UpdateListenListen`, plus the
`AgentV1ListenUpdated` server acknowledgement.
- **Flux end-of-turn tuning** — new listen-provider fields
`eot_threshold`, `eager_eot_threshold`, `eot_timeout_ms`.
- **[#744](#744) —
Flux TTS batch (REST) + agent latency report**
- **Speak V2 batch (REST)** — `client.speak.v2.audio.generate(...)` (+
raw client): the REST companion to streaming. `model` required
(flux-only); optional `encoding` / `container` / `sample_rate` /
`bit_rate` / `callback` / `callback_method` / `tag` / `mip_opt_out` /
`priority`. No `speed` (GA-only, excluded for EA).
- `sample_rate` / `bit_rate` are typed as `int` — a float like `24000.0`
is rejected on the wire.
- Callback mode returns the `SpeakV2AcceptedResponse` JSON ack through
the audio byte iterator as raw bytes; join the chunks and parse
`request_id` yourself (documented in the docstring; typed content-type
dispatch tracked as a follow-up).
- **`AgentV1LatencyReport`** — new latency-report type + request, wired
into the agent socket-client response union.
- **Agent inject-message `interrupt`** — new value on
`AgentV1InjectAgentMessageBehavior`.
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please).
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Greg Holmes <greg.holmes@deepgram.com>
speak.v2 — new WebSocket TTS: client.speak.v2.connect(...) streams Speak/Flush/Close and returns audio frames plus control messages. Also adds agent UpdateListen/ListenUpdated (swap the listen provider mid-session) and Flux end-of-turn tuning (eot_threshold, eager_eot_threshold, eot_timeout_ms). (#742) (69a2445)regen: v2 language_hints, profanity filter, word timings, diarize_model
widen pydantic-core bound via fern 5.14.8 regen (closes #701 )
This release ships a single PR (#724), an SDK regeneration that bumped the Fern Python generator 5.8.3 → 5.14.8.
pydantic-core bound widened from >=2.18.2,<2.44.0 to >=2.18.2,<3.0.0 in pyproject.toml and requirements.txt, resolving the resolver conflict with pydantic>=2.13. poetry.lock now resolves pydantic-core 2.46.4.max_retries parameter (generator feature)max_retries parameter, with a per-request override via request_options that takes precedence over the client-level value.2 is unchanged. The only new capability is that retries are now configurable from the client constructor (e.g. pass max_retries=0 to disable).base_client.py, core/client_wrapper.py, plus generated coverage in tests/utils/test_http_client.py.poetry run mypy src/ — clean (801 files)poetry run pytest -rP . — 222 passed, 4 skipped (incl. all custom back-compat regression tests)client: add a declarative reconnect flag with transport-factory auto-disable. DeepgramClient / AsyncDeepgramClient now accept reconnect: bool = True (
reconnect flag with transport-factory auto-disable. DeepgramClient / AsyncDeepgramClient now accept reconnect: bool = True (exposed read-only as client.reconnect). When a custom transport_factory is supplied, reconnect auto-sets to False to signal that the transport owns its own retry/reconnect lifecycle — e.g. the SageMaker transport's jittered backoff + replay buffers — so SDK-level retries don't stack on top and cause storm-on-storm under burst load. Pass reconnect=True explicitly to opt back in. Declarative only for now (the Python SDK has no wrapper reconnect layer; websockets doesn't auto-reconnect), fully backwards-compatible, and parity with the same flag in the JS (#492) and Java SDKs (#720) (b5d5905)🤖 I have created a release *beep* *boop*
chore(main): release 7.2.0 (#716)
🤖 I have created a release *beep* *boop*
## 7.2.0 — what's in this release
This release bundles two Fern SDK regenerations (2026-05-14 and
2026-05-15) plus the manual patches re-applied on top of each.
See the full changelog:
[`v7.1.1...v7.2.0`](v7.1.1...v7.2.0).
### Features
**Diarization v2 batch GA — #714**
- Listen-provider rename: spec deduplicated 5 PascalCase types into 3
canonical top-level names
[`DeepgramListenProviderV1`](https://github.com/deepgram/deepgram-python-sdk/blob/main/src/deepgram/types/deepgram_listen_provider_v1.py),
[`DeepgramListenProviderV2`](https://github.com/deepgram/deepgram-python-sdk/blob/main/src/deepgram/types/deepgram_listen_provider_v2.py),
[`DeepgramListenProviderV2LanguageHint`](https://github.com/deepgram/deepgram-python-sdk/blob/main/src/deepgram/types/deepgram_listen_provider_v2language_hint.py)
(plus matching TypedDicts under
[`src/deepgram/requests/`](https://github.com/deepgram/deepgram-python-sdk/tree/main/src/deepgram/requests)).
- 10 hand-written compat alias files preserve the old names — re-exports
under
[`src/deepgram/agent/v1/types/`](https://github.com/deepgram/deepgram-python-sdk/tree/main/src/deepgram/agent/v1/types)
and
[`src/deepgram/agent/v1/requests/`](https://github.com/deepgram/deepgram-python-sdk/tree/main/src/deepgram/agent/v1/requests)
for both
[`AgentV1SettingsAgentContextListenProvider{V1,V2,V2LanguageHint}`](https://github.com/deepgram/deepgram-python-sdk/blob/main/src/deepgram/agent/v1/types/agent_v1settings_agent_context_listen_provider.py)
and
[`AgentV1SettingsAgentListenProvider{V1,V2}`](https://github.com/deepgram/deepgram-python-sdk/blob/main/src/deepgram/agent/v1/types/agent_v1settings_agent_listen_provider.py),
so the rename is fully backward-compatible. All 10 added to
`.fernignore` as permanently frozen; regression coverage in
[`tests/custom/test_compat_aliases.py`](https://github.com/deepgram/deepgram-python-sdk/blob/main/tests/custom/test_compat_aliases.py).
### Bug fixes
**think/models routed to `agent_rest` — #715**
-
[`agent/v1/settings/think/models/raw_client.py`](https://github.com/deepgram/deepgram-python-sdk/blob/main/src/deepgram/agent/v1/settings/think/models/raw_client.py)
now resolves the base URL via `environment.agent_rest`.
-
[`DeepgramClientEnvironment`](https://github.com/deepgram/deepgram-python-sdk/blob/main/src/deepgram/environment.py)
reshape supports this:
[`DeepgramClientEnvironment.AGENT`](https://github.com/deepgram/deepgram-python-sdk/blob/main/src/deepgram/environment.py)
was dropped and a new `agent_rest` kwarg was added to
[`DeepgramClientEnvironment.__init__`](https://github.com/deepgram/deepgram-python-sdk/blob/main/src/deepgram/environment.py).
This is corrective rather than breaking — the old `.AGENT` env routed
REST traffic to the wrong host, so
[`agent.v1.settings.think.models.list()`](https://github.com/deepgram/deepgram-python-sdk/blob/main/src/deepgram/agent/v1/settings/think/models/raw_client.py)
and any other caller of that endpoint was already broken. Callers
building a custom environment should pass the new `agent_rest=` slot.
### Patches preserved through regen
Both regens re-applied 20 hand-maintained patches (still listed in
`.fernignore`). No patches dropped this cycle.
**Socket clients** — broad `except Exception` for custom transports,
optional `message=` defaults on control sends:
-
[`agent/v1/socket_client.py`](https://github.com/deepgram/deepgram-python-sdk/blob/main/src/deepgram/agent/v1/socket_client.py)
— also restored `_sanitize_numeric_types` (float→int sanitizer).
-
[`listen/v1/socket_client.py`](https://github.com/deepgram/deepgram-python-sdk/blob/main/src/deepgram/listen/v1/socket_client.py).
-
[`listen/v2/socket_client.py`](https://github.com/deepgram/deepgram-python-sdk/blob/main/src/deepgram/listen/v2/socket_client.py)
— also kept `send_configure` as a raw `typing.Any` shim and `typing.Any`
in the response Union (generator now emits
`ListenV2Configure`/`ListenV2ConfigureSuccess` but we don't yet have
evidence the new typed models are wire-correct).
-
[`speak/v1/socket_client.py`](https://github.com/deepgram/deepgram-python-sdk/blob/main/src/deepgram/speak/v1/socket_client.py).
**Agent settings** — callable
[`AgentV1SettingsAgent(...)`](https://github.com/deepgram/deepgram-python-sdk/blob/main/src/deepgram/agent/v1/types/agent_v1settings.py)
wrapper (generator now emits a `Union[AgentV1SettingsAgentContext, str]`
alias, which would break callable usage), broadened
[`AgentV1Settings.agent`](https://github.com/deepgram/deepgram-python-sdk/blob/main/src/deepgram/agent/v1/types/agent_v1settings.py)
union (accepts wrapper + context + agent-id string), legacy `messages=`
validator + read-side property, legacy TypedDict shapes in
[`agent/v1/requests/agent_v1settings.py`](https://github.com/deepgram/deepgram-python-sdk/blob/main/src/deepgram/agent/v1/requests/agent_v1settings.py).
[`agent_v1settings_audio_output.container`](https://github.com/deepgram/deepgram-python-sdk/blob/main/src/deepgram/agent/v1/types/agent_v1settings_audio_output.py)
kept as `Optional[str]` instead of the regenerated
`AgentV1SettingsAudioOutputContainer` enum.
**Misc** —
[`core/query_encoder.py`](https://github.com/deepgram/deepgram-python-sdk/blob/main/src/deepgram/core/query_encoder.py)
bool → lowercase coercion before `urlencode`; wire test
[`tests/wire/test_manage_v1_projects_keys.py`](https://github.com/deepgram/deepgram-python-sdk/blob/main/tests/wire/test_manage_v1_projects_keys.py)
restored `CreateKeyV1RequestOneParams` alias coverage; 7 package
`__init__.py` files restored compat re-exports for
`CreateKeyV1RequestOne(+Params)`, `AgentV1HistoryContent(+Params)`,
`AgentV1HistoryFunctionCalls(+Params)`,
`AgentV1SettingsAgentContextMessagesItem*(+Params)`.
### Near miss (from #715)
Initial review classified
[`agent/v1/types/agent_v1settings.py`](https://github.com/deepgram/deepgram-python-sdk/blob/main/src/deepgram/agent/v1/types/agent_v1settings.py)
and
[`agent/v1/requests/agent_v1settings.py`](https://github.com/deepgram/deepgram-python-sdk/blob/main/src/deepgram/agent/v1/requests/agent_v1settings.py)
as droppable (the new generator declares `agent: AgentV1SettingsAgent`
and `AgentV1SettingsAgent` is now itself
`Union[AgentV1SettingsAgentContext, str]`, structurally equivalent).
Pytest caught the issue: because we patch `AgentV1SettingsAgent` back to
a class for callable backward compat, the bare `agent:
AgentV1SettingsAgent` field rejects string values. Both patches restored
to broaden to `Union[AgentV1SettingsAgent, AgentV1SettingsAgentContext,
str]`.
[`tests/custom/test_compat_aliases.py`](https://github.com/deepgram/deepgram-python-sdk/blob/main/tests/custom/test_compat_aliases.py)
covers this regression.
### Validation
- `uv run pytest -q` — 199 passed / 4 skipped (aiohttp/client autodetect
cases, not regen-related).
- `uv run mypy src` — clean (801 files).
- `uv run ruff check src` — clean (the 57 pre-existing errors live in
`tests/manual/`, untouched by regen).
### Cross-SDK reference
The `agent_rest` env fix has equivalents in deepgram/deepgram-js-sdk#499
and deepgram/deepgram-java-sdk#59. The JS SDK additionally needed a
`src/Client.ts` patch because `client.fetch()` passthrough started
defaulting to `agentRest` instead of `base`. Python has no equivalent
passthrough in the hand-maintained
[`client.py`](https://github.com/deepgram/deepgram-python-sdk/blob/main/src/deepgram/client.py),
so no analogous patch was required here.
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
DeepgramListenProviderV1, DeepgramListenProviderV2, and DeepgramListenProviderV2LanguageHint. The old AgentV1SettingsAgent[Context]ListenProvider* names continue to work as backward-compatible aliases (#714) (9d9a43d)agent.v1.settings.think.models.list() to the correct REST host. Previously this endpoint resolved against the wrong base URL and was unusable (#715) (ffd2e7d)DeepgramClientEnvironment.AGENT with a new agent_rest slot on DeepgramClientEnvironment. Callers constructing a custom environment should pass agent_rest= instead of agent= (#715) (ffd2e7d)lowercase bool query params on websocket connect
update generated SDK models and restore agent settings compatibility
## 7.0.0 (2026-04-27) ### ⚠ BREAKING CHANGES * sdk regeneration 2026-04-24 (#696) * sdk regeneration 2026-04-14 (#690) ### Features * sdk regeneration
websockets: restore optional message param on control send_ methods
agent: support multi-provider speak/think configuration and typed listen parameters
:herb: skip_validation:true to allow unknown messages back from the API
promote v6.0.0-rc.2 to v6.0.0 stable
sagemaker: extract SageMaker transport to separate deepgram-sagemaker package
v6 — fully generated SDK with latest APIs and WebSocket support
pip install deepgram-sdk==6.0.0rc1
deepgram-sagemaker package (pip install deepgram-sagemaker) (#659)This beta release (v6.0.0-beta.2) includes critical fixes for binary audio handling across all WebSocket clients, SDK regeneration with the latest API
This beta release (v6.0.0-beta.2) includes critical fixes for binary audio handling across all WebSocket clients, SDK regeneration with the latest API specifications, and important improvements to the Agent, Listen, and Speak modules.
Binary Audio Support Improvements
send_media() parameter type from str to bytes for proper binary audio handling in both V1 and V2 clientsstr to bytesrecv(), __iter__(), __aiter__(), and start_listening() methods to handle both binary bytes and JSON text messagessend_media(message: bytes) method to both async and sync Agent V1 clientsstr to bytes for binary audio dataentities field in transcription results.fernignore to protect manual socket client fixes from regeneration.github, docs, and examples folders to fernignoresend_media() methods now require bytes instead of str for all WebSocket clients (Listen V1, Listen V2, Agent V1, Speak V1)pip install deepgram-sdk==6.0.0b2
Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v6.0.0-alpha.4...v6.0.0-beta.2
Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v5.3.0...v6.0.0-alpha.4
Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v5.3.0...v6.0.0-alpha.4
listen/v2: allow extra fields on Flux TurnInfo models
Nothing published for this version
speak: correct TTS warning event field names to match API response
Nothing published for this version
add projects billing fields list methods
Added mip_opt_out parameter to Listen V1 Media endpoints (transcribe_url and transcribe_file) allowing users to opt out of the Deepgram Model Improvem
docs: keep alive in migration guide
This is a significant breaking change, and should be carried out in conjunction with our migration guide.
fix: moves agent tags to settings by @jpvajda in https://github.com/deepgram/deepgram-python-sdk/pull/562
Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v4.8.0...v4.8.1
feat: add support for agent tags by @jpvajda in https://github.com/deepgram/deepgram-python-sdk/pull/559
Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v4.7.0...v4.8.0
fix: Logging - Downgrade 'tasks cancelled error' to debug-level logline by @jkroll-deepgram in https://github.com/deepgram/deepgram-python-sdk/pull/55
Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v4.6.0...v4.7.0
feat: Adds support for IUM by @jpvajda in https://github.com/deepgram/deepgram-python-sdk/pull/546
Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v4.5.0...v4.6.0
feat(auth): adding token-based auth to the SDK so access tokens can be used in requests by @lukeocodes in https://github.com/deepgram/deepgram-python-
Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v4.3.1...v4.5.0
fixes GH build status badge by @jpvajda in https://github.com/deepgram/deepgram-python-sdk/pull/538
Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v4.3.0...v4.3.1
feat: support context length option by @naomi-lgbt in https://github.com/deepgram/deepgram-python-sdk/pull/537
Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v4.2.0...v4.3.0
feat: make provider objects generic by @naomi-lgbt in https://github.com/deepgram/deepgram-python-sdk/pull/532
This change means you can pass arbitrary keys to the provider objects in the Agent configuration. You'll now be able to use new providers, such as AWS Polly, as soon as they're available - no more waiting for the SDK to be updated!
Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v4.1.1...v4.2.0
SDK Readme Improvements by @jpvajda in https://github.com/deepgram/deepgram-python-sdk/pull/530
Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v4.1.0...v4.1.1
feat: officially enable aura-2 in live text-to-speech by @lukeocodes in https://github.com/deepgram/deepgram-python-sdk/pull/524
Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v4.0.0...v4.1.0
BREAKING CHANGE: support for agent v1 by @naomi-lgbt in https://github.com/deepgram/deepgram-python-sdk/pull/520
Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v3.11.0...v4.0.0
Fix microphone example link in README.md by @sprajosh in https://github.com/deepgram/deepgram-python-sdk/pull/511
Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v3.10.1...v3.11.0
added link to self-hosted docs to the readme by @jjmaldonis in https://github.com/deepgram/deepgram-python-sdk/pull/505
Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v3.10.0...v3.10.1
Feat/keyterms+nova 3 by @jpvajda in https://github.com/deepgram/deepgram-python-sdk/pull/502
Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v3.9.0...v3.10.0
Correct typo in comments by @Uaitt in https://github.com/deepgram/deepgram-python-sdk/pull/498
Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v3.8.0...v3.9.0
Add threading.Thread Class Override by @gerrymeixiong in https://github.com/deepgram/deepgram-python-sdk/pull/490
Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v3.7.7...v3.8.0
Example Tagging Release by @davidvonthenen in https://github.com/deepgram/deepgram-python-sdk/pull/481
Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v3.7.6...v3.7.7
use clear_result in logs instead of undefined meta_result by @meralan in https://github.com/deepgram/deepgram-python-sdk/pull/479
Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v3.7.5...v3.7.6
Fix get_usage_request when Response Not Available by @dvonthenen in https://github.com/deepgram/deepgram-python-sdk/pull/473
get_usage_request when Response Not Available by @dvonthenen in https://github.com/deepgram/deepgram-python-sdk/pull/473Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v3.7.4...v3.7.5
Port Enhancements from EA by @dvonthenen in https://github.com/deepgram/deepgram-python-sdk/pull/472
Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v3.7.3...v3.7.4
Implement wait_for_complete() for Speaker class by @dvonthenen in https://github.com/deepgram/deepgram-python-sdk/pull/471
wait_for_complete() for Speaker class by @dvonthenen in https://github.com/deepgram/deepgram-python-sdk/pull/471Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v3.7.2...v3.7.3
Fix Issue 264 - Using Shared WebSocket Class Implementation by @dvonthenen in https://github.com/deepgram/deepgram-python-sdk/pull/468
Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v3.7.1...v3.7.2
Fix Mismatch Structs on STT REST by @dvonthenen in https://github.com/deepgram/deepgram-python-sdk/pull/467
Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v3.7.0...v3.7.1
Expose All Response Types/Objects by @dvonthenen in https://github.com/deepgram/deepgram-python-sdk/pull/464
Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v3.6.0...v3.7.0
added the Search response for streaming requests by @jjmaldonis in https://github.com/deepgram/deepgram-python-sdk/pull/463
Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v3.5.2...v3.6.0
Fixed URL re-direction issue by @VpkPrasanna in https://github.com/deepgram/deepgram-python-sdk/pull/456
Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v3.5.1...v3.5.2
Exclude tests package from dist by @rossmacarthur in https://github.com/deepgram/deepgram-python-sdk/pull/453
Full Changelog: https://github.com/deepgram/deepgram-python-sdk/compare/v3.5.0...v3.5.1
Your coding agent can read these notes before it upgrades. Set up the MCP server →