npm / firebase
firebase
What changed in firebase 12 to 13, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-20.
9 breaking1 security6 deprecations3 new APIs and options1 performance5 behavior and defaults12 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initfirebase 1322 changes
Breaking changes 8
The previously deprecated backend type was removed; use BackendType.AGENT_PLATFORM instead.
ChatSession is now exported as an interface instead of a class.
Part is now a discriminated union with explicit type properties; type discriminators are stripped on wire egress.
templateVariables is now required in StartTemplateChatParams.
Now accepts a unified TemplateRequest object as its first parameter.
Now accepts a unified TemplateRequest object as its first parameter.
templateVariables is now required in TemplateRequest.
The previously deprecated VertexAIBackend API was removed; use AgentPlatformBackend instead.
Deprecations 6
Deprecated in GenerationConfig and LiveGenerationConfig because the parameter is unsupported in Gemini 3.x and later models.
Deprecated in GenerationConfig and LiveGenerationConfig because the parameter is unsupported in Gemini 3.x and later models.
Deprecated in GenerationConfig and LiveGenerationConfig because the parameter is unsupported in Gemini 3.x and later models.
Deprecated in GenerationConfig and LiveGenerationConfig because the parameter is unsupported in Gemini 3.x and later models.
Deprecated in GenerationConfig and LiveGenerationConfig because the parameter is unsupported in Gemini 3.x and later models.
Deprecated in GenerationConfig and LiveGenerationConfig because the parameter is unsupported in Gemini 3.x and later models.
New APIs and options 2
Firestore now supports BSON types.
Added UnknownPart for raw wire and user-provided inputs.
Behavior and default changes 3
Its default model-access location is global; specify us-central1 explicitly when needed.
The default hybrid-in-cloud model is now gemini-3.5-flash-lite.
UpdateData<T> now allows indexed types or Record<X, T> for T.
Fixes and other changes 3
Suppresses false-positive CONFIG_UPDATE_STREAM_ERROR events when the application enters the background and reconnects if it returns to the foreground before closing finishes.
Auth initialization now preserves the persisted user when the initial reload fails due to transient quota or rate-limit errors.
The Temporal namespace declaration is now included in global_index.d.ts.
firebase 1215 changes
Breaking changes 1
Imagen methods and types have been removed because Imagen models were shut down; migrate apps to Gemini Image models as a replacement.
Security 1
Fixed recognition of App Check tokens sent in Firebase SQL Connect Realtime requests.
New APIs and options 1
Firestore now supports conversion and serialization between Temporal.Instant and Firestore Timestamp.
Performance 1
Updated the WebSocket URL path for SQL Connect server affinity to improve server resource usage efficiency and performance.
Behavior and default changes 2
The debug token log message now includes Firebase CLI commands, a Firebase Console registration link, and a debug token guide.
FunctionsError now includes the HTTP status code in its message and the URL in customData, providing more details about the error.
Fixes and other changes 9
Firestore fetch connection error messages are no longer undefined.
Storage and persistence errors during current user updates are wrapped as FirebaseError with code auth/internal-error; the original exception is attached under error.customData.originalError.
The SDK no longer hardcodes an invalid function role, preventing 400 errors during function calling on gemini-3.6-flash.
Persistence can reconnect on demand after pagehide events, fixing Database is closing errors during signInWithPopup on iPadOS and iOS Safari.
When persistence initialization fails or storage is inaccessible, the SDK falls back to in-memory persistence, preventing initialization deadlocks and ensuring authStateReady() resolves.
Structured outputs now accept text/x.enum alongside application/json when responseSchema or responseJsonSchema is provided.
Corrected the log to name the referenced document rather than the document that contains the reference.
Removed the visibilitychange listener to fix signInWithPopup and other background-tab operations failing with “Database is closing/hidden.”
Fixed LanguageModel detection that prevented on-device models from being used in Chrome Extensions.