@google/genai 2.8.0 removes StreamTranslationConfig. The interface, the streamTranslationConfig field on LiveConnectConfig that held it, and the re-export are gone from the package root, @google/genai/node and @google/genai/web alike. In their place 2.8.0 declares TranslationConfig, with the same two fields, and a translationConfig field on LiveConnectConfig. Code importing the old type by name, from any of the three entry points, stops compiling on upgrade, and so does a LiveConnectConfig that sets the old field.
What changed
StreamTranslationConfigno longer exists. 2.7.0 exported it as a named interface with two fields,echoTargetLanguageandtargetLanguageCode, describing stream translation for a Live API session. 2.8.0 drops the interface itself, along with thestreamTranslationConfigproperty onLiveConnectConfigthat referenced it, and declaresTranslationConfigwith the same two fields and the same doc comment.LiveConnectConfiggainstranslationConfig?: TranslationConfigin the old field’s place.- The removal is repeated across three subpaths. The same type was re-exported from
@google/genai,@google/genai/nodeand@google/genai/web, and it is gone from all three in 2.8.0. An import written against any one of them breaks the same way.LiveConnectConfigis exported from the same three, and the feed carries a row for each, found wherever the type is named.
Before and after
An import of the type from the package root:
import { StreamTranslationConfig } from '@google/genai';
export { StreamTranslationConfig };@google/genai/node and @google/genai/web break the same import the same way, with only the specifier changed. The field on LiveConnectConfig, as 2.7.0 declared it:
/** Config for stream translation. */ streamTranslationConfig?: StreamTranslationConfig;And as 2.8.0 declares it:
/** Config for translation. */ translationConfig?: TranslationConfig;Migration guidance and its limits
All six findings carry an assisted fix, so naming a model provider on the command line or in emendant.json lets emendant fix try them, and without one they are reported with their guidance and nothing is sent anywhere. For the import, the equivalent the release provides is TranslationConfig. The three LiveConnectConfig findings are medium confidence: review whether your code uses the changed members before applying a patch. Emendant checks each patch in a copy of your repository at 2.8.0 and withholds patches that fail. Read the patch header to see which checks passed.
Rename StreamTranslationConfig to TranslationConfig, and the streamTranslationConfig key to translationConfig, wherever a LiveConnectConfig is built. A literal typed as LiveConnectConfig fails on the old key, which is the easy case. A config object assembled without that annotation, or spread from a looser type, keeps the old key without a type error and silently stops asking for translation.
A clean scan proves only that the import forms and type references these entries name are not in the code. It does not prove the stream translation feature was unused, and it does not cover a StreamTranslationConfig reached through a re-export your own code defines.
What Emendant detects, fixes and verifies
6 changes in @google/genai 2.8.0. 0 automatic fixes, 6 fixes requiring a model provider you choose, 0 report only. Each patch states which checks passed. Understand patch evidence.
| Change | Severity | Detects | Fix | Verified by |
|---|---|---|---|---|
Removed StreamTranslationConfiggoogle-genai-npm-2.8.0-stream-translation-config-removed | Breaking |
| Patch, only when you name a model provider | Your typecheck and tests |
Removed StreamTranslationConfiggoogle-genai-npm-2.8.0-web-stream-translation-config-removed | Breaking |
| Patch, only when you name a model provider | Your typecheck and tests |
Removed StreamTranslationConfiggoogle-genai-npm-2.8.0-node-stream-translation-config-removed | Breaking |
| Patch, only when you name a model provider | Your typecheck and tests |
Changed the members of LiveConnectConfiggoogle-genai-npm-2.8.0-live-connect-config-members-changed | Breaking medium confidence |
| Patch, only when you name a model provider | Your typecheck and tests |
Changed the members of LiveConnectConfiggoogle-genai-npm-2.8.0-web-live-connect-config-members-changed | Breaking medium confidence |
| Patch, only when you name a model provider | Your typecheck and tests |
Changed the members of LiveConnectConfiggoogle-genai-npm-2.8.0-node-live-connect-config-members-changed | Breaking medium confidence |
| Patch, only when you name a model provider | Your typecheck and tests |
emendant explain <change-id> prints any row's entry, guidance and sources at the terminal.
The error TS lines are what TypeScript 5.9.3 printed when code that compiled against @google/genai 2.7.0 was compiled against 2.8.0. A row without one is a change the compiler does not report, such as a deprecation or a change in behaviour.
Coverage
Requires emendant@0.3.0 or later. Run emendant feed update to get the latest coverage.
Coverage details
- Snapshot
2026-09-23.4, sequence 32, signed 23 September 2026- Feed entry
feed/npm/@google/genai/2.8.0.json
emendant feed status shows the snapshot your machine holds.
Primary sources
- @google/genai@2.8.0npm registry, the published package
- @google/genai@2.7.0npm registry, the published package
Scan your repository
Find affected code without editing your files.
npx emendant scanThen npx emendant fix writes the patches the table says exist. The getting started guide covers the flags and the patch grades.
Related release pages
- Earlier @google/genai release: @google/genai 1.50.1: webhooks.retrieve became webhooks.get
Every @google/genai release page is listed on one page.