chore(main): release 7.12.0 - #798
Conversation
|
dg-coreylweathers
left a comment
There was a problem hiding this comment.
Approve, with one changelog fix to land before merge.
What this PR does. Cuts 7.12.0 from main. The release ships exactly one change, #797: Flux TTS inline pause and pronunciation markers, a typed Listen v2 Warning message, and Topics/Intents retyped to the segments shape the API returns, with the old results path kept as a deprecated facade.
What I checked.
- Version carriers: pyproject.toml, .fern/metadata.json, the release-please manifest and the client_wrapper fallback all say 7.12.0; nothing outside CHANGELOG.md still says 7.11.0.
- Changelog claims vs code: pause range 500–3000 ms in 100 ms steps, max 8 per request,
ValueErroron malformed/out-of-range/mixed controls, escaped\{pause:500ms\}output,Warningin the Listen v2 response union withresponse["code"]still working,segmentsplus the deprecatedresultsfacade. All verified at file:line. - Public docs match: developers.deepgram.com/docs/tts-voice-controls states pronunciation Early Access, pauses batch-only, English-only, 500–3000 ms, max 8. The publish gate from #797 has lifted.
- Live API (prod,
/v2/speak?model=flux-alexis-en): the 7.12.0 pause marker returns 200 withdg-breaks-applied: 1; the marker 7.11.0's TextBuilder emitted ({pause:1000}) returns 400BREAK_SYNTAX_INVALID; 7.11.0's unescaped pronunciation returns audio withdg-pronunciations-applied: 0, the 7.12.0 form applies 1. So 7.12.0 does not break any request that works today; it replaces a server 400 with a localValueErrorand makes pronunciation take effect. - Build and test:
python:3.12container,mypy src/clean on 918 files,pytest1069 passed / 1 skipped including the wire tests against WireMock 3.9.1. CI green on 3.10–3.13. - Semver: no written policy in the repo; 7.12.0 as a minor is consistent with the facade-preserving Topics/Intents retype (Java removed the wrappers and correctly shipped 0.11.0 as breaking).
Fix before merge.
The TextBuilder bullet reads as a pure addition, but 7.11.0 allowed 500–5000 ms and 50 pauses, from_ssml() rounded off-grid breaks, and the emitted marker was {pause:500}, which production now rejects. A 7.11.0 user hitting 400s today needs the changelog to tell them to upgrade. Suggested replacement for the TextBuilder bullet:
- TextBuilder: Emit the Flux marker syntax the API accepts: pauses as
\{pause:500ms\}and pronunciations as\{"word": "...", "pronounce": "<IPA>"\}. The 7.11.0 markers ({pause:500}and the unescaped pronunciation form) are rejected by/v2/speakwithBREAK_SYNTAX_INVALIDor 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(), andbuild()raiseValueErrorfor 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.
Nits.
- The "Release highlights" block sits above the first
---in the PR body, which Release Please treats as header; today's JS 5.14.0 and Java 0.11.0 release pages carry only the changelog section. Harmless since CHANGELOG.md has the expanded bullets; move it below the---if it should show on the release page. - Any new commit to main before merge makes Release Please force-push this branch and drop the hand edits in 6c88a67. Merge first or re-apply.
The TextBuilder bullet read as a pure addition. 7.11.0 emitted
`{pause:N}` markers that /v2/speak now rejects with
BREAK_SYNTAX_INVALID, allowed 500-5000 ms and 50 pauses, and rounded
off-grid SSML breaks. Say so, so a 7.11.0 user hitting 400s knows to
upgrade and what changed.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
dg-coreylweathers
left a comment
There was a problem hiding this comment.
Approve.
What this PR does. Cuts 7.12.0 from main. The release ships exactly one change, #797: Flux TTS inline pause and pronunciation markers, a typed Listen v2 Warning message, and Topics/Intents retyped to the segments shape the API returns, with the old results path kept as a deprecated facade.
What I checked.
- Version carriers: pyproject.toml, .fern/metadata.json, the release-please manifest and the client_wrapper fallback all say 7.12.0; nothing outside CHANGELOG.md still says 7.11.0.
- Changelog claims vs code: pause range 500–3000 ms in 100 ms steps, max 8 per request,
ValueErroron malformed/out-of-range/mixed controls, escaped\{pause:500ms\}output,Warningin the Listen v2 response union withresponse["code"]still working,segmentsplus the deprecatedresultsfacade. All verified at file:line. - Public docs match: developers.deepgram.com/docs/tts-voice-controls states pronunciation Early Access, pauses batch-only, English-only, 500–3000 ms, max 8. The publish gate from #797 has lifted.
- Live API (prod,
/v2/speak?model=flux-alexis-en): the 7.12.0 pause marker returns 200 withdg-breaks-applied: 1; the marker 7.11.0's TextBuilder emitted ({pause:1000}) returns 400BREAK_SYNTAX_INVALID; 7.11.0's unescaped pronunciation returns audio withdg-pronunciations-applied: 0, the 7.12.0 form applies 1. So 7.12.0 does not break any request that works today; it replaces a server 400 with a localValueErrorand makes pronunciation take effect. - Build and test:
python:3.12container,mypy src/clean on 918 files,pytest1069 passed / 1 skipped including the wire tests against WireMock 3.9.1. CI green on 3.10–3.13. - Semver: no written policy in the repo; 7.12.0 as a minor is consistent with the facade-preserving Topics/Intents retype (Java removed the wrappers and correctly shipped 0.11.0 as breaking).
Changelog fix applied. Commit 132d460 on this branch rewrites the TextBuilder bullet so it states what changed from 7.11.0: markers moved to the API's escaped \{pause:500ms\} form (the old {pause:500} form is rejected by /v2/speak with BREAK_SYNTAX_INVALID), limits tightened to 500-3000 ms and 8 pauses (was 500-5000 and 50), and from_ssml() raises on off-grid breaks instead of rounding. A 7.11.0 user hitting 400s today can now read why and upgrade.
Nits.
- The "Release highlights" block sits above the first
---in the PR body, which Release Please treats as header; today's JS 5.14.0 and Java 0.11.0 release pages carry only the changelog section. Harmless since CHANGELOG.md has the expanded bullets; move it below the---if it should show on the release page. - Any new commit to main before merge makes Release Please force-push this branch and drop the hand edits in 6c88a67. Merge first or re-apply.
|
🤖 Created releases: 🌻 |
🤖 I have created a release beep boop
7.12.0 (2026-10-01)
Features
\{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(), andbuild()now raiseValueErrorfor malformed, out-of-range, off-grid, or mixed pause-and-pronunciation controls before sending a request the API would reject.Warningresponses while retaining dict-style response access during the v7 transition.Compatibility
segmentsresponse shape while retaining deprecatedresultsfacades, legacy import paths, and legacy construction throughout v7.This PR was generated with Release Please. See documentation.