3271 Commits
Author SHA1 Message Date
6628ce177d feat(data-connect): Align SQL Connect Stream Transport Exponential Backoff Parameters with Other Platform SDKs (#10221)
* udpate exponential backoff params to match other SDKs

* add changeset

* update changeset

* Apply reviewer suggestion

* yarn run format

---------

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-28 13:48:25 -07:00
Christina HollandandGitHub 18d46d06dd chore(deps): Upgrade more dependencies (#10193) 2026-07-28 11:33:52 -07:00
Christina HollandandGitHub bf7060a12c fix: add "@firebase/app" as a peerDep in compat packages (#10097) 2026-07-28 11:33:32 -07:00
sedanah-mandGitHub e88c1c4126 feat(ai): support text-to-speech capabilities (single & multi-speaker configurations) for non-Live API models (#10145)
* feat(ai): implementmulti-speaker speech config; includes tests

* add changeset, fix typo

* fix: yarn format

* fix changeset

* fix changeset typo

* remove unnecessary tests; fix interface description to match proposal

* Generate documentation

* fix: yarn format & lint fix

* add more descriptive changeset

* Adds tests for speech config to check if its correctly passed through to the API requests for both generateContent and generateContentStream methods

* yarn format

* yarn format

* Refine changeset file description

* Fix typo

* format fix

* update description BaseSpeechConfig

* update descriptions

* format doc

* yarn format

* fix @ typo over MultiSpeakerSpeechConfig

* fix: adjusted description wording for the interfaces; fix: public tags to beta

* fix: formatting using @remarks

* fix: typo

* yarn format

* run yarn docgen:all

* update SpeechConfig to beta

* update speech config to beta

* upd SingleSpeakerSpeechConfig description

* doc generation
2026-07-27 13:40:50 -07:00
Christina HollandandGitHub d4366fcff5 fix(app-check,app): Revert app check default provider initialization (#10210) 2026-07-24 09:44:16 -07:00
Daniel La RocqueandGitHub a61d5510fc fix(firestore): replace type with interface in Cache config APIs (#10208) 2026-07-24 10:11:19 -04:00
Christina HollandandGitHub 811a603573 feat(ai): Add AgentPlatformBackend and deprecate VertexAIBackend (#10184) 2026-07-23 14:52:53 -07:00
722b4d5ebe fix(auth): prevent null hydration on pagehide/reload (#10123)
* fix(auth): prevent null hydration on pagehide/reload

* fix(auth): address reviewer comments for pagehide/reload hydration fix

* add changeset for pagehide/reload null hydration fix

* Fixing Unit tests

* style(auth): format indexed_db.test.ts with prettier

* style(auth): format indexed_db.ts with prettier

* style: format unformatted files in main with prettier

* Revert "style: format unformatted files in main with prettier"

This reverts commit 252efd71911d34610f505794948392da7bbde7fe.

* Fixing Yarn format issues.

---------

Co-authored-by: Teja Gorthi <[email protected]>
2026-07-23 16:46:08 -04:00
Daniel La RocqueandGitHub 34d8ab381c feat(firestore): Add support for 16MB documents (#10078)
* feat(firestore): Add support for 16MB documents

* lint fixes

* use writes in integration tests

* consistent seed name

* add setting but not plugged in

* remove setting, settings fix

* lint

* lint

* fix timeout
2026-07-22 17:06:01 -04:00
Christina HollandandGitHub 0feb45343b fix(app): Add more detailed warning for duplicate app error (#10182) 2026-07-21 15:12:46 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
0003ae2a25 build(deps-dev): bump protobufjs from 7.5.6 to 7.6.5 (#10187)
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.5.6 to 7.6.5.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.6.5/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.6...protobufjs-v7.6.5)

---
updated-dependencies:
- dependency-name: protobufjs
  dependency-version: 7.6.5
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-21 11:49:07 -07:00
macastelazandGitHub 3b4eccd8d9 test(auth): fix flakiness in browser integration and webdriver tests (#10155)
* test(auth): fix flakiness in browser integration and webdriver tests

* Fix WebDriver email sign-in test flakiness by using robust JS click/fill

* Ensure deleteApp is called even if resetEmulator fails

* test(auth): catch emulator and deleteApp cleanup errors to prevent failing afterEach hook

* build: do not throw on missing deploying token if deployment is not needed

* build: add --include-dependencies to build_changed so dependents compile successfully

* build: workaround glob-stream singular glob Node 22 bug in firestore integration tests

* chore: revert allowEmpty: true
2026-07-17 14:24:32 -05:00
macastelazandGitHub 9825de58e8 Fix ReDoS vulnerability in FirebaseError template replacement (#10146)
* Fix ReDoS vulnerability in FirebaseError template replacement

* chore: add changeset and fix FirebaseError template replacing bug

* chore(auth): update chromedriver to ^150.0.0 to match environment

* ci: skip chromedriver download in firefox and webkit jobs

* style: format packages/util/src/errors.ts

* fix(auth): fix typescript mismatch for `User` type in webdriver tests

* chore(auth): configure custom emulator ports to avoid CI conflicts

* test: add unit test for FirebaseError template replace fallback

* Fix formatting and clean up yarn.lock conflict resolution

* build: workaround glob-stream singular glob Node 22 bug in firestore integration tests

* style: fix prettier formatting for firestore

* chore: address PR feedback (revert formatting & workaround, isolate auth config)

* chore: restore firestore formatting to satisfy prettier and update changeset
2026-07-17 13:55:07 -05:00
Daniel La RocqueandGitHub e6df33b459 feat(firestore): Increase HTTP/2 flow control window (#10116) 2026-07-15 13:08:50 -04:00
Christina HollandandGitHub 343eb17424 chore(deps): Upgrade rollup and gulp (#10136) 2026-07-13 11:11:10 -07:00
Christina HollandGitHubGoogle Open Source Botgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
4e9bd2e824 Merge release into main
version 12.16.0

Co-authored-by: Google Open Source Bot <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-09 13:34:45 -07:00
Christina HollandandGitHub 46e97c7b78 build: put include-dependencies flag back (#10137) 2026-07-09 10:59:47 -07:00
78ab102683 Update re2js version (#10104)
* Update re2js

* Update re2js, add changeset

* chore(changeset): use @firebase/firestore patch bump per review comment (#10104)

---------

Co-authored-by: wu-hui <[email protected]>
2026-07-09 13:56:09 -04:00
Mark DuckworthandGitHub fb22a1b4fd fix: Resolve duplicate assertion ID and add check to Firestore CI (#10138) 2026-07-09 11:40:10 -06:00
Stephen RosaandGitHub b11c2d3e99 chore(data-connect): refactor streaming tests and change idle timeout back to 15s (#10133)
* re-organize tests, introduce helper function to flush microtask queue

* fix some formatting and ordering

* return idle timeout to 15 seconds

* address reviewer comments

* run yarn format

* address reviewer comments

* fix tests calling closeConnection twice

* update changeset to patch
2026-07-08 13:04:26 -07:00
sedanah-mandGitHub ce33864445 fix(ai): update deprecated gemini models strings" (#10043)
* update gemini models

* fix extra bracket error

* remove extra duplicate line

* fix lint error

* fix lint

* fix lint error

* fix prettier errors

* update gemini model in e2e

* revert tests

* yarn format

* Update AI integration tests and add new models

* yarn format

* chore: add minor changeset for hybrid fallback model update and revert generate-content.test

* revert old file: got rid of URL context and fixed tests

* revert cloud model change in src/constants to put in another PR

* delete changeset
2026-07-01 15:49:01 -04:00
Christina HollandandGitHub 3180c9a700 build(deps): update deps with security issues (pass 1) (#10119) 2026-07-01 12:30:03 -07:00
DellaBittaandGitHub 71b94c4e87 build(deps): Upgrade Lerna to 9.0.6 (#10032)
### Discussion

Upgrade `lerna` from `4.x` to `9.x`. This newer version of `lerna` is powered by `NX`, which also requires a newer minor version bump of `node` in our workflows, and slight changes our test execution parms.

The new version of Lerna is said to improve performance, and that seems to have exacerbated race conditions in the Auth test suites (@firebase/auth and @firebase/auth-compat). To resolve intermittent CI failures caused by these race conditions, I've configured these tests to run in serial instead of concurrently.

Also I needed to bump the node version of our workflows by 2 minor versions (20.10.0 -> 2.12.0) because Lerna 9.0.6 isn't supported in Node 20.10.0.

### Testing
 - Clean repo, clean cache, clean dependency installs.
 - CI, local builds and tests. 

Note: The Firestore WebKit failure in the optional CI execution list is a known issue (b/524995481).

### API Changes

None.
2026-06-30 20:27:27 -04:00
Christina HollandandGitHub 104b1e50db chore(auth): rm auth-commpat/demo and auth/cordova/demo (#10118) 2026-06-29 12:45:27 -07:00
Tushar KhandelwalandGitHub 74eb167774 Support realtime updates for Rollouts (#10106)
* Support realtime updates for Rollouts

* Map optimization and lint

* update changeset
2026-06-26 00:06:40 +05:30
Daniel La RocqueandGitHub e0aabcc41e chore(format): optimize code formatting speed repo-wide (#10111)
Enable prettier caching (--cache) across all package prettier scripts and the main format script, and optimize the custom license header checker to read only the first 1000 bytes of each file.

Performance Data:
- Repo-wide formatting (yarn format --all):
  - Before caching: ~35-40s (uncached formatting + full license check)
  - After caching: ~5.8s (cached formatting + header-only license check)
  - Speedup: ~6x speedup
2026-06-24 16:34:57 -04:00
Mark DuckworthandGitHub bdb465b265 ci(firestore): skip timestamp tests in safari that were failing due to rounding behavior (#10115) 2026-06-24 14:11:48 -06:00
Daniel La RocqueandGitHub c66dd63b93 optimize linting speed repo-wide (#10110)
Enable eslint caching (--cache) across all package lint scripts and centralize cache files inside the root node_modules/.cache/eslint/ directory using the --cache-location option to prevent repository clutter.

Update the root lint script to run concurrently without topological sorting (--no-sort) to maximize CPU core usage.

Performance Data:
- Package-level (e.g. firestore):
  - Before: ~15-18s
  - After: ~4s (4x speedup)
- Repo-wide (yarn lint):
  - Before: ~35-40s
  - After: ~8.6s (4.3x speedup)
2026-06-24 10:28:25 -04:00
wu-huiandGitHub 2377b8e533 Fix querySnapshotFromJSON to preserve query sort order (#10107) (#10109) 2026-06-24 09:39:51 -04:00
Mark DuckworthandGitHub 291d852787 chore: add _customHeader setting for console (#10108) 2026-06-23 12:04:34 -06:00
Google Open Source BotGitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
02adb05c4b Version Packages (#10080)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-16 11:41:36 -07:00
DellaBittaandGitHub dd03437dbb feat(ai): Deprecate Google Maps Grounding enableWidget (#10035)
### Discussion

Marks the `enableWidget` field of the `GoogleMaps` interface as deprecated.

### Testing

None.

### API Changes

See `Discussion` above.
2026-06-16 10:47:02 -04:00
ac45220472 Fix querystring to always use apiKey even if a key is specified in the request (#10048)
* Fix querystring to always use apiKey even if a key is specified in the request

* Update packages/auth/src/api/index.ts

* Fix test helper URL generation to match new querystring order

* Run yarn format

---------

Co-authored-by: Hanzo Dev <[email protected]>
2026-06-12 22:06:37 -05:00
macastelazandGitHub 5c366778a1 Support API key referrer restrictions by changing the Auth SDK referrer policy (#10049)
* feat(auth): Update referrer policy to strict-origin-when-cross-origin

* chore: Add changeset tame-yaks-yawn.md
2026-06-12 15:51:46 -05:00
6e6fe20243 docs(firestore): fix formatting for pipelines docs (#9908)
* docs(firestore): fix formatting for docs code snippets

- Fixes `findNearest` example doc formatting, which was causing
  formatting to be lost for all subsequent APIs in the TOC in devsite.
- Removes `Example:` and `<p>Example:` from before all code examples,
  since we use `@example` for this.

* add changeset firebase

* Update packages/firestore/src/lite-api/pipeline.ts

* update docs

* docs(firestore): fix ref doc issues for piplines (#9912)

* docs(firestore): fix ref doc issues for piplines

* Update packages/firestore/src/lite-api/pipeline.ts

* Update packages/firestore/src/lite-api/pipeline.ts

* docs-devsite

---------

* docs(firestore): add missing `typescript` formatting to docs (#9909)

Adds `typescript` code formatting to the code examples in docs, where
they're missing.

* cleanup

* remove changeset

---------

Co-authored-by: Mark Duckworth <[email protected]>

Co-authored-by: Hanzo Dev <[email protected]>
2026-06-09 11:48:42 -05:00
sedanah-mandGitHub 17b697099a fix(ai): format systemInstruction string in ChatSession constructor (#10026)
* fix(ai): format systemInstruction string in ChatSession constructor

* adding a changeset file

* test(ai): verify systemInstruction in sendMessage and sendMessageStream

* remove extra folder in changeset

* remove extra changeset file

* restore deleted file

* adding check if systemInstruction is not null/undefined

* simplify systemInstruction assignment

* fix lint error

* revert to original structure
2026-06-07 16:37:58 -07:00
wu-huiandGitHub 4703c99e12 merge off pipeline into main (#9929)
* chore(ci): make all firestore integration tests optional

* fix: align expressions and pipelines, address review comments, update yarn.lock, and fix package versions

* chore: update yarn.lock after merge

* fix: restore firestore package version and devDependencies to 4.15.0
2026-06-05 10:28:06 -04:00
Christina HollandandGitHub 3c3a1c1598 feat(app-check,app): Add ability for App Check to initialize with a default provider (#10023) 2026-06-03 13:45:20 -07:00
Athira MandGitHub fd716f93b5 fix(remoteconfig) Support ABT realtime when variant value matches default value of parameter
When an experiment is added whose variant value matches default value, the parameter key is not listed as updated. This becomes a problem when the client app calls activate only on config change as the experiment will not get started

Before fix - https://screencast.googleplex.com/cast/NDgxNTYwNjU0NDA3MjcwNHxiOWY1MmIyNy1iMQ
After fix - https://screencast.googleplex.com/cast/NDcxODUwODQ0MDAyNzEzNnwzODc2YTRlMC01MA
2026-06-01 11:01:22 +05:30
Christina HollandandGitHub 0e9d937ed0 fix(auth,app-check): Fix Auth/AppCheck ReCAPTCHA Enterprise conflict (#9991) 2026-05-29 11:30:09 -07:00
Google Open Source BotGitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
04f0019988 Version Packages (#10004)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-28 14:05:35 -07:00
Christina HollandandGitHub f623ba3737 feat(ai): Update tags to mark hybrid inference features as GA (#9926) 2026-05-26 11:29:27 -07:00
Christina HollandandGitHub 013797f6df feat(ai)!: Add explicit initializeDeviceModel() method when using hybrid (#9800) 2026-05-26 10:04:04 -07:00
7b87b29ef7 implement onSubChange for FID-based registration (#9996)
* implement onSubChange for FID-based registration

* Persist VAPID key in FID registration metadata to fix re-registration issue

* Enforce mutual exclusivity of token and FID registrations in DB layer

* Notify clients in onSubChange on successful FID refresh

- Update onSubChange to notify window clients when FID registration is refreshed. Previously it did not notify clients.
- Update refreshFidRegistrationIfStored to return the current FID.
- Update onSubChange to use the returned FID and only notify if the refresh was successful.
- Add unit tests to verify client notification on success, failure, and when not registered.
- Fix a lint error in window-listener.ts by adding the FidRegisteredPayload interface.

---------

Co-authored-by: Kai Wu <[email protected]>
2026-05-23 14:45:23 -07:00
Mark DuckworthandGitHub e5515101c2 fix(firestore): improved robustness and logging in query listen stream creation and re-creation (#9985) 2026-05-22 10:37:10 -06:00
Athira MandGitHub 778a12c456 fix(remoteconfig): Stopping last running experiment must call updateActiveExperiments (#9981)
Context: Currently, experiments are updated at activation only if the fetch response explicitly contains an experiments payload.

Problem: When the last running experiment is stopped, the fetch response returns experiments as undefined. This causes the client to skip the update call entirely, meaning the local state never registers that the experiment was stopped.

Fix: If fetch response does not contain experiments, pass an empty list to update
2026-05-22 21:45:40 +05:30
Christina HollandandGitHub 7398eedf58 fix(app-check): Fix getLimitedUseToken() (#9987) 2026-05-21 15:52:49 -07:00
Kai WuandGitHub 2f0f360ac8 Feat/messaging api series (#9917) 2026-05-19 14:30:28 -07:00
116b971d19 feature(firestore): added minimum and maximum FieldValue operations (#9913)
Co-authored-by: Hanzo Dev <[email protected]>
2026-05-19 09:23:10 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dad8d4c1ff build(deps): bump @protobufjs/utf8 (#9949)
Bumps [@protobufjs/utf8](https://github.com/dcodeIO/protobuf.js) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/dcodeIO/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/dcodeIO/protobuf.js/compare/protobufjs-cli-v1.1.0...protobufjs-cli-v1.1.1)

---
updated-dependencies:
- dependency-name: "@protobufjs/utf8"
  dependency-version: 1.1.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-15 15:00:47 -04:00