0.7.1 (2026-07-24)
Bug Fixes
- emit additionalProperties as query params on streaming connect (#86) (28229fc)
- emit repeated query params for all multi-value streaming options (#82) (746be15), closes #77
- emit repeated tag query params for multi-value speak v2 streaming (#85) (e748619)
What's in this release
Three related fixes to streaming (WebSocket) query-parameter serialization on listen and speak. All are bug fixes — no API changes.
Multi-keyterm streaming fix
- Streaming connections mis-serialized a multi-value
keyterm(and other array-valued params): aList<String>was stringified into a single param (keyterm=[a, b]) instead of repeated params (keyterm=a&keyterm=b). The server treats the stringified list as one nonsense term, so multiple key terms were not boosted — recognition of them was actually degraded. - Now fixed for every array-valued streaming query param —
listen:keyterm,keywords,replace,search,tag,extra,language_hint;speak:tag— by routing them through the same repeated-param serialization the REST path already uses (#81, #82, #85; closes #77). - If you worked around this by hand-joining terms into a single string, drop that workaround — pass a real
List<String>(e.g.ListenV1Keyterm.of(List.of("a", "b"))) and each term is now sent as its ownkeyterm=param.
Unmodeled streaming query params now work (e.g. no_delay)
- The streaming
connect(...)builders droppedadditionalProperties, so unmodeled params set via.additionalProperty("no_delay", true)never reached the URL — it was impossible to setno_delayon a streaming connection. - Now fixed on all four connect clients (
listenv1/v2,speakv1/v2):additionalPropertiesare emitted as query params, so any not-yet-modeled param can be passed through until it gains a typed option (#86; closes #83).
All four streaming clients remain frozen in .fernignore; the durable fix belongs in the Fern generator's WebSocket template, tracked for the next generator upgrade.