Skip to content

chore(regen): update streaming control types - #128

Merged
GregHolmes merged 8 commits into
mainfrom
gh/sdk-gen-2026-10-14
Oct 14, 2026
Merged

GregHolmes merged 8 commits into
mainfrom
gh/sdk-gen-2026-10-14

Conversation

@GregHolmes

@GregHolmes GregHolmes commented Oct 14, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Regenerate the Java SDK from deepgram-docs main with fern-java-sdk 4.23.1.
  • Retain the intentional direct Topics and Intents segments API introduced in 0.11.0.
  • Preserve existing Speak V2 failure-code Visitor implementations with a default CONTROL_COMBINATION_INVALID handler that delegates to visitUnknown.
  • Reapply existing transport, WebSocket, union-default, model, header, and fields-less hashCode patches.

Release

  • This is a maintenance regeneration. Keep committed Maven, Gradle, Fern metadata, and SDK header versions at the published 0.11.1.
  • Release Please owns the next version bump when a user-facing release is needed.

Compatibility

  • Preserve repeated query values and additionalProperties on streaming connections.
  • Preserve forward-compatible handling of unknown WebSocket frames.
  • Preserve legacy versionless Agent listen-provider payloads.
  • Preserve the Flux Renee model constant.

Validation

  • ./gradlew spotlessCheck test compileExamples
  • Fields-less hashCode sweep
  • git diff --check

@GregHolmes GregHolmes changed the title chore: SDK regeneration 2026-10-14 chore(regen): preserve Topics and Intents compatibility Oct 14, 2026
@GregHolmes GregHolmes changed the title chore(regen): preserve Topics and Intents compatibility fix(regen): restore Topics/Intents and Visitor compatibility Oct 14, 2026
@GregHolmes GregHolmes mentioned this pull request Oct 14, 2026
@GregHolmes GregHolmes changed the title fix(regen): restore Topics/Intents and Visitor compatibility chore(regen): update streaming control types Oct 14, 2026
…precation

- Restore the accurate ClientOptions.close() Javadoc: synchronous requests
  still run after close(); only asynchronous requests hit the rejected
  dispatcher.
- Make the FLUX_RENEE_EN deprecation note actionable (unlisted voice,
  prefer a listed one from GET /v2/models), and annotate the v0.8 to v0.9
  migration guide.
- Update AGENTS.md: Renee was delisted on purpose, so drop it at the next
  major release; add the .bak workflow to the SpeakV2ConfigureFailureCode
  entry.
- README and LiveReconfigure example: an over-limit keyterm update does not
  close the stream (verified in prod); the server may send a
  ConfigureFailure, which the V1 client reports to onError.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@dg-coreylweathers dg-coreylweathers left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving. I pushed c63d88f with text-only fixes; no code behavior changed.

What this PR does: regenerates the Java SDK with Fern 4.23.1, re-applies the manual patches, and keeps the version at 0.11.1. User-visible changes: FLUX_RENEE_EN is deprecated (Renee is an unlisted voice per #project-flux-tts, 2026-08-19, and it still synthesizes), and SpeakV2ConfigureFailureCode.Visitor no longer requires visitControlCombinationInvalid().

What I checked

  • Build and tests? Pass: CI, plus spotlessCheck test compileExamples in Docker before and after my commit.
  • Patches survived? Yes. All frozen paths are present, no .bak leftovers, the hashCode sweep is clean, and no new voices were dropped.
  • Is Renee still live? Yes. POST /v2/speak?model=flux-renee-en returns 200 audio.

What c63d88f fixes

  • ClientOptions.close() Javadoc again says sync execute() calls still run after close; only async calls hit the rejected dispatcher.
  • The Renee deprecation note now points callers to a listed voice and GET /v2/models.
  • AGENTS.md: Renee was delisted on purpose, so drop it at the next major; the SpeakV2ConfigureFailureCode entry gets the .bak workflow.
  • README and LiveReconfigure: an over-limit keyterm update does not close the stream. Verified in 2 prod runs (request IDs 01a13abb-0c5f-7b91-a305-2f513d6946a4 and 01a13abc-7911-7e83-98c0-55990aba766b).

Follow-ups (not blocking)

  • The deepgram-docs spec still says an over-limit keyterm update stops transcription and closes with 1011, and that text regenerates into ListenV1Configure Javadoc.
  • Listen V1 doesn't model ConfigureFailure, so the V1 client reports it to onError as "Update your SDK version". The server sent it in only 1 of 2 identical runs.
  • Optional: make Visitor.visitFluxReneeEn() a default that delegates to visitUnknown.

@GregHolmes
GregHolmes merged commit aedbef9 into main Oct 14, 2026
8 checks passed
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.

2 participants