Skip to content

feat!: sdk regeneration 2026-09-30 - #120

Open
GregHolmes wants to merge 7 commits into
mainfrom
gh/sdk-gen-2026-09-30
Open

GregHolmes wants to merge 7 commits into
mainfrom
gh/sdk-gen-2026-09-30

Conversation

@GregHolmes

@GregHolmes GregHolmes commented Sep 30, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Regenerate the Java SDK with fernapi/fern-java-sdk 4.23.1 from the Flux TTS Controls specification branch.
  • Add Flux TTS Controls semantics and CONTROL_COMBINATION_INVALID support.
  • Retain required local patches for streaming query serialization, forward-compatible frames, reconnect policy, release-managed headers, model compatibility, equality contracts, and Agent provider unions.
  • Remove the obsolete Agent V1 WebSocket pre-connect-close patch; Fern now generates it.
  • Retain generated root-client WebSocket lifecycle management.

Migration and Examples

  • Add v0.10 to v0.11 migration guidance for corrected Topics/Intents paths, the new Configure failure visitor method, retry behavior changes, and Flux TTS Controls.
  • Add examples/speak/FluxTtsControls.java, which produces separate batch pause and pronunciation MP3 files.
  • Update README migration links and root-client lifecycle guidance.

Breaking API Changes

  • SharedTopics and SharedIntents now expose production-correct segments directly. Consumers must migrate from results.topics.results.topics.segments and results.intents.results.intents.segments.
  • SpeakV2ConfigureFailureCode.Visitor<T> gains visitControlCombinationInvalid(). Existing Visitor implementations must add the method.

Controls Integration Coverage

Add opt-in DEEPGRAM_FLUX_TTS_CONTROLS coverage for batch pause, batch pronunciation, an invalid speed/pronunciation combination, and streaming pronunciation metadata. The suite uses DEEPGRAM_BASE_URL, so it runs against staging temporarily and production later without source changes.

Generator Review

  • Retry timeout diagnostics now include the closing parenthesis.
  • connectionTimeoutMs, its validation, and the transport override remain locally patched; Fern still hardcodes 4000 ms.
  • Root-client close now disconnects tracked WebSockets before shutting down SDK-owned OkHttp resources.
  • The generator now buffers retryable error bodies and can return a prior HTTP response if a retry transport attempt fails; review this changed error-observation behavior.

Validation

  • ./gradlew spotlessCheck test compileExamples
  • DEEPGRAM_FLUX_TTS_CONTROLS=1 ./gradlew integrationTest --rerun-tasks --tests "*SpeakV2Controls*" with staging DEEPGRAM_BASE_URL

@GregHolmes GregHolmes changed the title chore: SDK regeneration 2026-09-30 feat!: sdk regeneration 2026-09-30 Sep 30, 2026
@GregHolmes
GregHolmes force-pushed the gh/sdk-gen-2026-09-30 branch from c9f8f8c to eefcde4 Compare September 30, 2026 13:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant