implement onSubChange for FID-based registration#9996
Conversation
|
There was a problem hiding this comment.
Code Review
This pull request refactors the FCM registration revocation and refresh logic, renaming deleteTokenInternal to revokeRegistrationInternal and introducing refreshFidRegistrationIfStored to handle push subscription changes for FID-based registrations. Feedback highlights a high-severity issue where VAPID keys are not persisted for FID-only registrations, potentially causing refreshes to use default keys. It is also recommended to explicitly clear legacy tokens during FID refreshes and to ensure that both legacy and FID registrations are independently revoked on the server to maintain consistent state.
f1f4f0e to
a46f59a
Compare
1c015a3 to
cd68673
Compare
- 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.
801c3b2 to
3ab80ac
Compare
|
Manual testing on a test app were done to verify that changes in this PR do not break existing functionalities. Also verified that onSubChange change works by simulating a pushsubscription change and verifying that the |
* feat(firestore): Added search stage support for languageCode, offset, limit, and retrievalDepth (#9884) * feat(firestore): Added search stage support for languageCode, offset, limit, and retrievalDepth * Create four-bottles-marry.md * docgen * PR feedback * Update packages/firestore/src/lite-api/stage_options.ts Co-authored-by: Daniel La Rocque <dlarocque@google.com> * Improve ref doc * More search refDoc improvements * Consistent capitalization of search within ref docs * remove deleted rut file * docs devsite --------- Co-authored-by: Daniel La Rocque <dlarocque@google.com> * chore: Update picomatch and rollup-plugin-typescript2 (#9892) * build(deps): bump picomatch from 2.3.1 to 2.3.2 Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2. - [Release notes](https://github.com/micromatch/picomatch/releases) - [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md) - [Commits](micromatch/picomatch@2.3.1...2.3.2) --- updated-dependencies: - dependency-name: picomatch dependency-version: 2.3.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> * Upgrade picomatch and rollup-plugin-typescript2 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat(ai): ImageConfig and FinishReasons (#9819) * fix(firestore): Assertion ID: ca9 (pendingResponses less than 0) caused by target creation race condition (#9842) * implement remote store target mapping * Add spec test for removeTarget race condition * cleanup * Update packages/firestore/src/remote/remote_store.ts Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * cleanup * Create loud-camels-cross.md * Fix PR concerns and new tests * Cleanup possible leak in watchChangeAggregator * fix build issue with spec tests * Fix integration test failure when running against public api * another build fix * Update spec test builder and runner to allow the spec test to specify the index of a target ID used for a query for some watch message types * lint * add Remote and SDK TargetID types * Fix tests for SDK and Remote TargetId types * refactor spec test to add step watchUsesTargetIndex and remove steps where the target index is passed to individual steps * Remove unnecessary values passed to watchRemoves * Removed unused helpers --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * build(deps): bump axios from 1.13.5 to 1.15.2 (#9860) Bumps [axios](https://github.com/axios/axios) from 1.13.5 to 1.15.2. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](axios/axios@v1.13.5...v1.15.2) --- updated-dependencies: - dependency-name: axios dependency-version: 1.15.1 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: migrate test functions to v2 (#9910) * feat(data-connect): add de-duplication, resume, and intelligent reconnection with backoff (#9905) * chore(data-connect): update documentation and names in stream transport (#9846) * rename in preparation for future changes * finish renaming + updating comments * minor typo fix * feat(data-connect): add query de-duplication to stream transport (#9850) * rename in preparation for future changes * finish renaming + updating comments * minor typo fix * add de-duping - now for tests * add de-duplication tests for invokeQuery * finish invoke operation dedupe tests * add subscribe de-duping as well * add more query dedupe tests * chore(data-connect): clean up streaming tests a bit (#9851) * rename in preparation for future changes * finish renaming + updating comments * minor typo fix * add de-duping - now for tests * add de-duplication tests for invokeQuery * finish invoke operation dedupe tests * add subscribe de-duping as well * add more query dedupe tests * clean up stream tests * clean up promise types in streaming tests * Pasta/bucatini resume refactor (#9885) * add test changes * add transportchanges * finalize changes, run yarn format * finalize changes based on reviewer feedback * feat(data-connect): add prefer resume over execute optimization to stream transport (#9879) * initial implementation - now for testing * finish tests * merge pasta/bucatini-resume-refactor * address reviewer comments * remove old comments * address reviewer comments * feat(data-connect): add intelligent reconnection to streaming transport and harden disconnect/cleanup functionality (#9893) * WIP * first pass * fixing names * tidying up, fixing tests * fixed tests * address reviewer comments * address reviewer comments and harden close/cleanup lifecycle * address reviewer comments * make listener registering and unregistering more robust * merge main, add changeset * chore: fix e2e tests for functions and AI (#9924) * Version Packages (#9923) Release v12.13.0 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * fix(messaging): wire Firelog delivery metrics flush (startLoggingService) (#9916) * fix(data-connect): Reduce Stream Transport Idle Timeout to Instant (#9936) * reduce idle cooldown to instant * run yarn format and add changeset * update changelog * fix(ai): Fix sendMessageStream bug that sends duplicate user turns (#9956) * build(deps): bump protobufjs from 7.5.5 to 7.5.8 in /e2e/smoke-tests (#9958) Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.5.5 to 7.5.8. - [Release notes](https://github.com/protobufjs/protobuf.js/releases) - [Changelog](https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.5.8/CHANGELOG.md) - [Commits](protobufjs/protobuf.js@protobufjs-v7.5.5...protobufjs-v7.5.8) --- updated-dependencies: - dependency-name: protobufjs dependency-version: 7.5.8 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * test(firestore): skip database source test that is timing out (#9966) * test(firestore): skip database source test that is timing out The test database keeps growing, causing this tests executionn time to keep growing, repeatedly exceeding new timeouts we set. For now, let's just skip this test. * add eslint disable * fix(auth): retry IndexedDB availability check on startup failure (#9845) * fix(auth): retry IndexedDB availability check on startup failure In environments like Chrome Extension Manifest V3 Service Workers, the initial IndexedDB transaction upon a cold start can sometimes drop or timeout. Previously, `_isAvailable()` would immediately catch the error, assume IndexedDB is broken, and silently fall back to `inMemoryPersistence`. This updates `_isAvailable()` to use the `_withRetries()` helper, ensuring it benefits from the same retry logic as actual storage operations. This prevents the SDK from incorrectly abandoning existing IndexedDB auth state. Fixes #9732 * style(auth): run yarn format * chore: add changeset for IndexedDB availability check retry * fix(auth): robust IndexedDB connection handling and test stability * build(deps-dev): bump protobufjs in /packages/firestore (#9960) Merge rules bypassed due to errant format diff. Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.5.5 to 7.5.6. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/protobufjs/protobuf.js/releases">protobufjs's releases</a>.</em></p> <blockquote> <h2>protobufjs: v7.5.6</h2> <h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.6">7.5.6</a> (2026-04-27)</h2> <h3>Bug Fixes</h3> <ul> <li>Backport input hardening and CLI fixes to 7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2173">#2173</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/75392ea1b78bdc4faba027b5db44ad7c50e9c454">75392ea</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.5.6/CHANGELOG.md">protobufjs's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.6">7.5.6</a> (2026-04-27)</h2> <h3>Bug Fixes</h3> <ul> <li>Backport input hardening and CLI fixes to 7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2173">#2173</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/75392ea1b78bdc4faba027b5db44ad7c50e9c454">75392ea</a>)</li> </ul> <h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.3...protobufjs-v7.5.4">7.5.4</a> (2025-08-15)</h2> <h3>Bug Fixes</h3> <ul> <li>invalid syntax in descriptor.proto (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2092">#2092</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/5a3769a465fead089a533ad55c21d069299df760">5a3769a</a>)</li> </ul> <h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.2...protobufjs-v7.5.3">7.5.3</a> (2025-05-28)</h2> <h3>Bug Fixes</h3> <ul> <li>descriptor extensions handling post-editions (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2075">#2075</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/6e255d4ad6982cc857f26e1731c2cedcf5796f68">6e255d4</a>)</li> </ul> <h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.1...protobufjs-v7.5.2">7.5.2</a> (2025-05-14)</h2> <h3>Bug Fixes</h3> <ul> <li>ensure that types are always resolved (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2068">#2068</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/4b51cb2b8450b77f9f5de1c562e7fae93b19d040">4b51cb2</a>)</li> </ul> <h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.0...protobufjs-v7.5.1">7.5.1</a> (2025-05-08)</h2> <h3>Bug Fixes</h3> <ul> <li>optimize regressions from editions implementations (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2066">#2066</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/6406d4c18afae309fc7b5f4a24d9674d85da180b">6406d4c</a>)</li> <li>reserved field inside group blocks fail parsing (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2058">#2058</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/56782bff0c4b5132806eb1a6bc4d08f930c4aaad">56782bf</a>)</li> </ul> <h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.4.0...protobufjs-v7.5.0">7.5.0</a> (2025-04-15)</h2> <h3>Features</h3> <ul> <li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/f04ded3a03a3ddd383f0228e2fe2627a51f31aa3">f04ded3</a>)</li> <li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/ac9a3b9fe3134d48187e41b08d54ffaceddc6c1b">ac9a3b9</a>)</li> <li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/e5ca5c84e326699e10258367883a54934e0bfe14">e5ca5c8</a>)</li> <li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/a84409b47f9ba0dba56da1af8054fb54f85d85a1">a84409b</a>)</li> <li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/9c5a178c4b59e0aa65ecac0bd7420171213b2ff9">9c5a178</a>)</li> <li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/b2c686721e3b63d092419fa1cbe58e1deb89534e">b2c6867</a>)</li> <li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/60f3e51087ca2c247473410f39331e1c766aefef">60f3e51</a>)</li> <li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/a6563617de04d510d6e8865eb6c5067f10247f64">a656361</a>)</li> <li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/869a95b1e5f553c76243aac45619061407a41084">869a95b</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/protobufjs/protobuf.js/commit/2189e5beeca6a70e4c104dfdb9fb8200bc5f81fe"><code>2189e5b</code></a> chore: release protobufjs-v7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2174">#2174</a>)</li> <li><a href="https://github.com/protobufjs/protobuf.js/commit/75392ea1b78bdc4faba027b5db44ad7c50e9c454"><code>75392ea</code></a> fix: Backport input hardening and CLI fixes to 7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2173">#2173</a>)</li> <li><a href="https://github.com/protobufjs/protobuf.js/commit/8af8d7c0e9800879625f7d0d4a7fb51beb4410cd"><code>8af8d7c</code></a> chore(ci): Fix 7.x release please configuration (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2169">#2169</a>)</li> <li><a href="https://github.com/protobufjs/protobuf.js/commit/e92ca42244ad67203b48d836290062dae037ead6"><code>e92ca42</code></a> chore(ci): Enable release-please for 7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2166">#2166</a>)</li> <li>See full diff in <a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.6">compare view</a></li> </ul> </details> <details> <summary>Maintainer changes</summary> <p>This version was pushed to npm by <a href="https://www.npmjs.com/~GitHub%20Actions">GitHub Actions</a>, a new releaser for protobufjs since your current version.</p> </details> <br /> * build(deps): bump @protobufjs/utf8 (#9952) Bumps [@protobufjs/utf8](https://github.com/dcodeIO/protobuf.js) from 1.1.0 to 1.1.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dcodeIO/protobuf.js/releases">@protobufjs/utf8's releases</a>.</em></p> <blockquote> <h2>protobufjs-cli: v1.1.1</h2> <h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-cli-v1.1.0...protobufjs-cli-v1.1.1">1.1.1</a> (2023-02-02)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>cli:</strong> fix relative path to Google pb files (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/1859">#1859</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/e42eea4868b11f4a07934804a56683321ed191e2">e42eea4</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/protobufjs/protobuf.js/commit/644d588c0495da6a570344248e1b5af901bc3b0c"><code>644d588</code></a> chore: release master (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1865">#1865</a>)</li> <li><a href="https://github.com/protobufjs/protobuf.js/commit/e42eea4868b11f4a07934804a56683321ed191e2"><code>e42eea4</code></a> fix(cli): fix relative path to Google pb files (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1859">#1859</a>)</li> <li><a href="https://github.com/protobufjs/protobuf.js/commit/dce9a2ef92d363752e40b295b0da9bd178f82e83"><code>dce9a2e</code></a> fix: use bundled filename to fix common pb includes (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1860">#1860</a>)</li> <li><a href="https://github.com/protobufjs/protobuf.js/commit/64e8936ad9f73c68b3fa1e57857dd38323b5a745"><code>64e8936</code></a> fix: use ES5 style function syntax (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1830">#1830</a>)</li> <li><a href="https://github.com/protobufjs/protobuf.js/commit/4489fa771464bcb49b57149760e9cc4131e8077e"><code>4489fa7</code></a> Revert "fix: error should be thrown (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1817">#1817</a>)" (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1864">#1864</a>)</li> <li>See full diff in <a href="https://github.com/dcodeIO/protobuf.js/compare/protobufjs-cli-v1.1.0...protobufjs-cli-v1.1.1">compare view</a></li> </ul> </details> <br /> * 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](protobufjs/protobuf.js@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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump protobufjs from 7.5.5 to 7.5.8 (#9973) Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.5.5 to 7.5.8. - [Release notes](https://github.com/protobufjs/protobuf.js/releases) - [Changelog](https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.5.8/CHANGELOG.md) - [Commits](protobufjs/protobuf.js@protobufjs-v7.5.5...protobufjs-v7.5.8) --- updated-dependencies: - dependency-name: protobufjs dependency-version: 7.5.8 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps-dev): bump protobufjs-cli from 1.1.3 to 1.2.1 (#9955) Bumps [protobufjs-cli](https://github.com/protobufjs/protobuf.js) from 1.1.3 to 1.2.1. - [Release notes](https://github.com/protobufjs/protobuf.js/releases) - [Changelog](https://github.com/protobufjs/protobuf.js/blob/master/CHANGELOG.md) - [Commits](protobufjs/protobuf.js@protobufjs-cli-v1.1.3...protobufjs-cli-v1.2.1) --- updated-dependencies: - dependency-name: protobufjs-cli dependency-version: 1.2.1 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump protobufjs from 7.4.0 to 7.5.9 in /e2e/data-connect (#9977) Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.4.0 to 7.5.9. - [Release notes](https://github.com/protobufjs/protobuf.js/releases) - [Changelog](https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.5.9/CHANGELOG.md) - [Commits](protobufjs/protobuf.js@protobufjs-v7.4.0...protobufjs-v7.5.9) --- updated-dependencies: - dependency-name: protobufjs dependency-version: 7.5.9 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feature(firestore): added minimum and maximum FieldValue operations (#9913) Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * fix(changelog-generator): fix postinstall build failure (#9948) The fix has two parts: 1. Add `"types": ["node"]` to tsconfig. 2. Fix an incorrect type cast in `index.ts`. The parsed GitHub API response was being cast to the DOM `Response` type to access its `.body` property, which is wrong — `Response.body` is a `ReadableStream`, not a string. The actual value is the parsed JSON from the GitHub PR API, whose `body` field is `string | null` per the API schema. Updated the cast accordingly. Resolves #9947 * Feat/messaging api series (#9917) * fix(app-check): Fix getLimitedUseToken() (#9987) * 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 * fix(firestore): improved robustness and logging in query listen stream creation and re-creation (#9985) * 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 <zwu52@users.noreply.github.com> * feat(ai)!: Add explicit `initializeDeviceModel()` method when using hybrid (#9800) * feat(ai): Update tags to mark hybrid inference features as GA (#9926) * Version Packages (#10004) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * fix(auth,app-check): Fix Auth/AppCheck ReCAPTCHA Enterprise conflict (#9991) * 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 * chore: Add explicit types to tsconfig (#10015) * Update CODEOWNERS for auth packages (#10001) * feat(app-check,app): Add ability for App Check to initialize with a default provider (#10023) * chore(ci): make all firestore integration tests optional (#10028) * 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 * 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 * 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 Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * 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 Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * Update packages/firestore/src/lite-api/pipeline.ts Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * docs-devsite --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * 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: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com> * 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 * 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 Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * Fix test helper URL generation to match new querystring order * Run yarn format --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com> Co-authored-by: Daniel La Rocque <dlarocque@google.com> Co-authored-by: Christina Holland <chholland@google.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Paul Beusterien <paulbeusterien@google.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: Google Open Source Bot <firebase-oss-bot@google.com> Co-authored-by: Stephen Rosa <84193009+stephenarosaj@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: DellaBitta <drsanta@google.com> Co-authored-by: Kai Wu <zwu52@users.noreply.github.com> Co-authored-by: macastelaz <34776182+macastelaz@users.noreply.github.com> Co-authored-by: swseverance <swseverance@gmail.com> Co-authored-by: Athira M <athiramanu9400@gmail.com> Co-authored-by: Doris-Ge <dorisge@google.com> Co-authored-by: wu-hui <53845758+wu-hui@users.noreply.github.com> Co-authored-by: sedanah-m <mashhour@google.com>
* Squashed commit of the following:
commit 4ec18b527104beb312222e2e35f82d8c3ea3cda4
Author: Rebecca He <31138589+rebehe@users.noreply.github.com>
Date: Tue Jun 16 09:38:20 2026 -0400
Merge main into crashlytics2 (#10082)
* feat(firestore): Added search stage support for languageCode, offset, limit, and retrievalDepth (#9884)
* feat(firestore): Added search stage support for languageCode, offset, limit, and retrievalDepth
* Create four-bottles-marry.md
* docgen
* PR feedback
* Update packages/firestore/src/lite-api/stage_options.ts
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
* Improve ref doc
* More search refDoc improvements
* Consistent capitalization of search within ref docs
* remove deleted rut file
* docs devsite
---------
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
* chore: Update picomatch and rollup-plugin-typescript2 (#9892)
* build(deps): bump picomatch from 2.3.1 to 2.3.2
Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)
---
updated-dependencies:
- dependency-name: picomatch
dependency-version: 2.3.2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* Upgrade picomatch and rollup-plugin-typescript2
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(ai): ImageConfig and FinishReasons (#9819)
* fix(firestore): Assertion ID: ca9 (pendingResponses less than 0) caused by target creation race condition (#9842)
* implement remote store target mapping
* Add spec test for removeTarget race condition
* cleanup
* Update packages/firestore/src/remote/remote_store.ts
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* cleanup
* Create loud-camels-cross.md
* Fix PR concerns and new tests
* Cleanup possible leak in watchChangeAggregator
* fix build issue with spec tests
* Fix integration test failure when running against public api
* another build fix
* Update spec test builder and runner to allow the spec test to specify the index of a target ID used for a query for some watch message types
* lint
* add Remote and SDK TargetID types
* Fix tests for SDK and Remote TargetId types
* refactor spec test to add step watchUsesTargetIndex and remove steps where the target index is passed to individual steps
* Remove unnecessary values passed to watchRemoves
* Removed unused helpers
---------
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* build(deps): bump axios from 1.13.5 to 1.15.2 (#9860)
Bumps [axios](https://github.com/axios/axios) from 1.13.5 to 1.15.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.5...v1.15.2)
---
updated-dependencies:
- dependency-name: axios
dependency-version: 1.15.1
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore: migrate test functions to v2 (#9910)
* feat(data-connect): add de-duplication, resume, and intelligent reconnection with backoff (#9905)
* chore(data-connect): update documentation and names in stream transport (#9846)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* feat(data-connect): add query de-duplication to stream transport (#9850)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* add de-duping - now for tests
* add de-duplication tests for invokeQuery
* finish invoke operation dedupe tests
* add subscribe de-duping as well
* add more query dedupe tests
* chore(data-connect): clean up streaming tests a bit (#9851)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* add de-duping - now for tests
* add de-duplication tests for invokeQuery
* finish invoke operation dedupe tests
* add subscribe de-duping as well
* add more query dedupe tests
* clean up stream tests
* clean up promise types in streaming tests
* Pasta/bucatini resume refactor (#9885)
* add test changes
* add transportchanges
* finalize changes, run yarn format
* finalize changes based on reviewer feedback
* feat(data-connect): add prefer resume over execute optimization to stream transport (#9879)
* initial implementation - now for testing
* finish tests
* merge pasta/bucatini-resume-refactor
* address reviewer comments
* remove old comments
* address reviewer comments
* feat(data-connect): add intelligent reconnection to streaming transport and harden disconnect/cleanup functionality (#9893)
* WIP
* first pass
* fixing names
* tidying up, fixing tests
* fixed tests
* address reviewer comments
* address reviewer comments and harden close/cleanup lifecycle
* address reviewer comments
* make listener registering and unregistering more robust
* merge main, add changeset
* chore: fix e2e tests for functions and AI (#9924)
* Version Packages (#9923)
Release v12.13.0
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix(messaging): wire Firelog delivery metrics flush (startLoggingService) (#9916)
* fix(data-connect): Reduce Stream Transport Idle Timeout to Instant (#9936)
* reduce idle cooldown to instant
* run yarn format and add changeset
* update changelog
* fix(ai): Fix sendMessageStream bug that sends duplicate user turns (#9956)
* build(deps): bump protobufjs from 7.5.5 to 7.5.8 in /e2e/smoke-tests (#9958)
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.5.5 to 7.5.8.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.5.8/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.8)
---
updated-dependencies:
- dependency-name: protobufjs
dependency-version: 7.5.8
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* test(firestore): skip database source test that is timing out (#9966)
* test(firestore): skip database source test that is timing out
The test database keeps growing, causing this tests executionn time to
keep growing, repeatedly exceeding new timeouts we set. For now, let's
just skip this test.
* add eslint disable
* fix(auth): retry IndexedDB availability check on startup failure (#9845)
* fix(auth): retry IndexedDB availability check on startup failure
In environments like Chrome Extension Manifest V3 Service Workers, the initial IndexedDB transaction upon a cold start can sometimes drop or timeout. Previously, `_isAvailable()` would immediately catch the error, assume IndexedDB is broken, and silently fall back to `inMemoryPersistence`.
This updates `_isAvailable()` to use the `_withRetries()` helper, ensuring it benefits from the same retry logic as actual storage operations. This prevents the SDK from incorrectly abandoning existing IndexedDB auth state.
Fixes #9732
* style(auth): run yarn format
* chore: add changeset for IndexedDB availability check retry
* fix(auth): robust IndexedDB connection handling and test stability
* build(deps-dev): bump protobufjs in /packages/firestore (#9960)
Merge rules bypassed due to errant format diff.
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.5.5 to 7.5.6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/protobufjs/protobuf.js/releases">protobufjs's releases</a>.</em></p>
<blockquote>
<h2>protobufjs: v7.5.6</h2>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.6">7.5.6</a> (2026-04-27)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>Backport input hardening and CLI fixes to 7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2173">#2173</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/75392ea1b78bdc4faba027b5db44ad7c50e9c454">75392ea</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.5.6/CHANGELOG.md">protobufjs's changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.6">7.5.6</a> (2026-04-27)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>Backport input hardening and CLI fixes to 7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2173">#2173</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/75392ea1b78bdc4faba027b5db44ad7c50e9c454">75392ea</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.3...protobufjs-v7.5.4">7.5.4</a> (2025-08-15)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>invalid syntax in descriptor.proto (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2092">#2092</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/5a3769a465fead089a533ad55c21d069299df760">5a3769a</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.2...protobufjs-v7.5.3">7.5.3</a> (2025-05-28)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>descriptor extensions handling post-editions (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2075">#2075</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/6e255d4ad6982cc857f26e1731c2cedcf5796f68">6e255d4</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.1...protobufjs-v7.5.2">7.5.2</a> (2025-05-14)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>ensure that types are always resolved (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2068">#2068</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/4b51cb2b8450b77f9f5de1c562e7fae93b19d040">4b51cb2</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.0...protobufjs-v7.5.1">7.5.1</a> (2025-05-08)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>optimize regressions from editions implementations (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2066">#2066</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/6406d4c18afae309fc7b5f4a24d9674d85da180b">6406d4c</a>)</li>
<li>reserved field inside group blocks fail parsing (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2058">#2058</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/56782bff0c4b5132806eb1a6bc4d08f930c4aaad">56782bf</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.4.0...protobufjs-v7.5.0">7.5.0</a> (2025-04-15)</h2>
<h3>Features</h3>
<ul>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/f04ded3a03a3ddd383f0228e2fe2627a51f31aa3">f04ded3</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/ac9a3b9fe3134d48187e41b08d54ffaceddc6c1b">ac9a3b9</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/e5ca5c84e326699e10258367883a54934e0bfe14">e5ca5c8</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/a84409b47f9ba0dba56da1af8054fb54f85d85a1">a84409b</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/9c5a178c4b59e0aa65ecac0bd7420171213b2ff9">9c5a178</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/b2c686721e3b63d092419fa1cbe58e1deb89534e">b2c6867</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/60f3e51087ca2c247473410f39331e1c766aefef">60f3e51</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/a6563617de04d510d6e8865eb6c5067f10247f64">a656361</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/869a95b1e5f553c76243aac45619061407a41084">869a95b</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/2189e5beeca6a70e4c104dfdb9fb8200bc5f81fe"><code>2189e5b</code></a> chore: release protobufjs-v7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2174">#2174</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/75392ea1b78bdc4faba027b5db44ad7c50e9c454"><code>75392ea</code></a> fix: Backport input hardening and CLI fixes to 7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2173">#2173</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/8af8d7c0e9800879625f7d0d4a7fb51beb4410cd"><code>8af8d7c</code></a> chore(ci): Fix 7.x release please configuration (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2169">#2169</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/e92ca42244ad67203b48d836290062dae037ead6"><code>e92ca42</code></a> chore(ci): Enable release-please for 7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2166">#2166</a>)</li>
<li>See full diff in <a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.6">compare view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a href="https://www.npmjs.com/~GitHub%20Actions">GitHub Actions</a>, a new releaser for protobufjs since your current version.</p>
</details>
<br />
* build(deps): bump @protobufjs/utf8 (#9952)
Bumps [@protobufjs/utf8](https://github.com/dcodeIO/protobuf.js) from 1.1.0 to 1.1.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dcodeIO/protobuf.js/releases">@protobufjs/utf8's releases</a>.</em></p>
<blockquote>
<h2>protobufjs-cli: v1.1.1</h2>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-cli-v1.1.0...protobufjs-cli-v1.1.1">1.1.1</a> (2023-02-02)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>cli:</strong> fix relative path to Google pb files (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/1859">#1859</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/e42eea4868b11f4a07934804a56683321ed191e2">e42eea4</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/644d588c0495da6a570344248e1b5af901bc3b0c"><code>644d588</code></a> chore: release master (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1865">#1865</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/e42eea4868b11f4a07934804a56683321ed191e2"><code>e42eea4</code></a> fix(cli): fix relative path to Google pb files (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1859">#1859</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/dce9a2ef92d363752e40b295b0da9bd178f82e83"><code>dce9a2e</code></a> fix: use bundled filename to fix common pb includes (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1860">#1860</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/64e8936ad9f73c68b3fa1e57857dd38323b5a745"><code>64e8936</code></a> fix: use ES5 style function syntax (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1830">#1830</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/4489fa771464bcb49b57149760e9cc4131e8077e"><code>4489fa7</code></a> Revert "fix: error should be thrown (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1817">#1817</a>)" (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1864">#1864</a>)</li>
<li>See full diff in <a href="https://github.com/dcodeIO/protobuf.js/compare/protobufjs-cli-v1.1.0...protobufjs-cli-v1.1.1">compare view</a></li>
</ul>
</details>
<br />
* 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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump protobufjs from 7.5.5 to 7.5.8 (#9973)
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.5.5 to 7.5.8.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.5.8/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.8)
---
updated-dependencies:
- dependency-name: protobufjs
dependency-version: 7.5.8
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps-dev): bump protobufjs-cli from 1.1.3 to 1.2.1 (#9955)
Bumps [protobufjs-cli](https://github.com/protobufjs/protobuf.js) from 1.1.3 to 1.2.1.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-cli-v1.1.3...protobufjs-cli-v1.2.1)
---
updated-dependencies:
- dependency-name: protobufjs-cli
dependency-version: 1.2.1
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump protobufjs from 7.4.0 to 7.5.9 in /e2e/data-connect (#9977)
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.4.0 to 7.5.9.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.5.9/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.4.0...protobufjs-v7.5.9)
---
updated-dependencies:
- dependency-name: protobufjs
dependency-version: 7.5.9
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feature(firestore): added minimum and maximum FieldValue operations (#9913)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* fix(changelog-generator): fix postinstall build failure (#9948)
The fix has two parts:
1. Add `"types": ["node"]` to tsconfig.
2. Fix an incorrect type cast in `index.ts`. The parsed GitHub API response
was being cast to the DOM `Response` type to access its `.body` property,
which is wrong — `Response.body` is a `ReadableStream`, not a string. The
actual value is the parsed JSON from the GitHub PR API, whose `body` field
is `string | null` per the API schema. Updated the cast accordingly.
Resolves #9947
* Feat/messaging api series (#9917)
* fix(app-check): Fix getLimitedUseToken() (#9987)
* 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
* fix(firestore): improved robustness and logging in query listen stream creation and re-creation (#9985)
* 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 <zwu52@users.noreply.github.com>
* feat(ai)!: Add explicit `initializeDeviceModel()` method when using hybrid (#9800)
* feat(ai): Update tags to mark hybrid inference features as GA (#9926)
* Version Packages (#10004)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix(auth,app-check): Fix Auth/AppCheck ReCAPTCHA Enterprise conflict (#9991)
* 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
* chore: Add explicit types to tsconfig (#10015)
* Update CODEOWNERS for auth packages (#10001)
* feat(app-check,app): Add ability for App Check to initialize with a default provider (#10023)
* chore(ci): make all firestore integration tests optional (#10028)
* 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
* 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
* 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
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* 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
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update packages/firestore/src/lite-api/pipeline.ts
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* docs-devsite
---------
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* 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: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
* 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
* 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
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Fix test helper URL generation to match new querystring order
* Run yarn format
---------
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
Co-authored-by: Christina Holland <chholland@google.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Paul Beusterien <paulbeusterien@google.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Google Open Source Bot <firebase-oss-bot@google.com>
Co-authored-by: Stephen Rosa <84193009+stephenarosaj@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: DellaBitta <drsanta@google.com>
Co-authored-by: Kai Wu <zwu52@users.noreply.github.com>
Co-authored-by: macastelaz <34776182+macastelaz@users.noreply.github.com>
Co-authored-by: swseverance <swseverance@gmail.com>
Co-authored-by: Athira M <athiramanu9400@gmail.com>
Co-authored-by: Doris-Ge <dorisge@google.com>
Co-authored-by: wu-hui <53845758+wu-hui@users.noreply.github.com>
Co-authored-by: sedanah-m <mashhour@google.com>
commit 6868f5fdcb95dcc3cb55bad6f03e86cfeeaf97db
Author: Rebecca He <31138589+rebehe@users.noreply.github.com>
Date: Mon Jun 15 14:48:15 2026 -0400
Prefactor `AttributesStore` to more cleanly support span attributes (#10079)
commit 558ee841dbd889dd0d7812613a7e553687b80517
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Mon Jun 15 08:49:18 2026 -0400
Update crashlytics otel log attributes (#10062)
commit e6637173bc7e24630987b88ea9614a744509e9ae
Author: Rebecca He <31138589+rebehe@users.noreply.github.com>
Date: Fri Jun 12 14:16:50 2026 -0400
Migrate route path provider into `AttributesStore` (#10060)
commit 1e203bcb02c248567320b7efc28dabd9b4f81928
Author: Rebecca He <31138589+rebehe@users.noreply.github.com>
Date: Fri Jun 12 11:31:32 2026 -0400
Migrate all common/log attributes and logic into `AttributesStore` (#10053)
commit 5421eb9331f1fa8f9a188a3c3a6f3c577f069b50
Author: Rebecca He <31138589+rebehe@users.noreply.github.com>
Date: Fri Jun 12 09:34:45 2026 -0400
Migrate installation id provider logic into new `AttributeStore` (#10054)
commit 48f2deb81f97e51de31aacf9700a53e0af132ca7
Author: MaesterChestnut <40321652+MaesterChestnut@users.noreply.github.com>
Date: Thu Jun 4 11:26:46 2026 -0400
Crashlytics merge main (#10034)
commit 06423a1af4ff4017f76a8cd0d0f381f3c0bf1660
Author: Christina Holland <chholland@google.com>
Date: Tue May 26 17:44:58 2026 -0700
Update release workflows to use NPM publish token from Github secrets (#10006)
commit c9f1064327463e7a16e03fd0c420336fd99cee9b
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Tue May 26 20:42:09 2026 -0400
Add crashlytics as export in packages/firebase package.json (#10005)
commit 3dd4e65d9746cadbd7e846149f393883a602fcb9
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Tue May 26 18:26:20 2026 -0400
Add default telemetry endpoint for crashlytics (#10003)
commit 751dd8120f95ad1b6be215ff126eec5dfb6fd7df
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Thu May 21 08:43:42 2026 -0400
Merge branch "main" into crashlytics2 (#9989)
* feat(firestore): Added search stage support for languageCode, offset, limit, and retrievalDepth (#9884)
* feat(firestore): Added search stage support for languageCode, offset, limit, and retrievalDepth
* Create four-bottles-marry.md
* docgen
* PR feedback
* Update packages/firestore/src/lite-api/stage_options.ts
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
* Improve ref doc
* More search refDoc improvements
* Consistent capitalization of search within ref docs
* remove deleted rut file
* docs devsite
---------
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
* chore: Update picomatch and rollup-plugin-typescript2 (#9892)
* build(deps): bump picomatch from 2.3.1 to 2.3.2
Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)
---
updated-dependencies:
- dependency-name: picomatch
dependency-version: 2.3.2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* Upgrade picomatch and rollup-plugin-typescript2
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(ai): ImageConfig and FinishReasons (#9819)
* fix(firestore): Assertion ID: ca9 (pendingResponses less than 0) caused by target creation race condition (#9842)
* implement remote store target mapping
* Add spec test for removeTarget race condition
* cleanup
* Update packages/firestore/src/remote/remote_store.ts
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* cleanup
* Create loud-camels-cross.md
* Fix PR concerns and new tests
* Cleanup possible leak in watchChangeAggregator
* fix build issue with spec tests
* Fix integration test failure when running against public api
* another build fix
* Update spec test builder and runner to allow the spec test to specify the index of a target ID used for a query for some watch message types
* lint
* add Remote and SDK TargetID types
* Fix tests for SDK and Remote TargetId types
* refactor spec test to add step watchUsesTargetIndex and remove steps where the target index is passed to individual steps
* Remove unnecessary values passed to watchRemoves
* Removed unused helpers
---------
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* build(deps): bump axios from 1.13.5 to 1.15.2 (#9860)
Bumps [axios](https://github.com/axios/axios) from 1.13.5 to 1.15.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.5...v1.15.2)
---
updated-dependencies:
- dependency-name: axios
dependency-version: 1.15.1
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore: migrate test functions to v2 (#9910)
* feat(data-connect): add de-duplication, resume, and intelligent reconnection with backoff (#9905)
* chore(data-connect): update documentation and names in stream transport (#9846)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* feat(data-connect): add query de-duplication to stream transport (#9850)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* add de-duping - now for tests
* add de-duplication tests for invokeQuery
* finish invoke operation dedupe tests
* add subscribe de-duping as well
* add more query dedupe tests
* chore(data-connect): clean up streaming tests a bit (#9851)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* add de-duping - now for tests
* add de-duplication tests for invokeQuery
* finish invoke operation dedupe tests
* add subscribe de-duping as well
* add more query dedupe tests
* clean up stream tests
* clean up promise types in streaming tests
* Pasta/bucatini resume refactor (#9885)
* add test changes
* add transportchanges
* finalize changes, run yarn format
* finalize changes based on reviewer feedback
* feat(data-connect): add prefer resume over execute optimization to stream transport (#9879)
* initial implementation - now for testing
* finish tests
* merge pasta/bucatini-resume-refactor
* address reviewer comments
* remove old comments
* address reviewer comments
* feat(data-connect): add intelligent reconnection to streaming transport and harden disconnect/cleanup functionality (#9893)
* WIP
* first pass
* fixing names
* tidying up, fixing tests
* fixed tests
* address reviewer comments
* address reviewer comments and harden close/cleanup lifecycle
* address reviewer comments
* make listener registering and unregistering more robust
* merge main, add changeset
* chore: fix e2e tests for functions and AI (#9924)
* Version Packages (#9923)
Release v12.13.0
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix(messaging): wire Firelog delivery metrics flush (startLoggingService) (#9916)
* fix(data-connect): Reduce Stream Transport Idle Timeout to Instant (#9936)
* reduce idle cooldown to instant
* run yarn format and add changeset
* update changelog
* fix(ai): Fix sendMessageStream bug that sends duplicate user turns (#9956)
* build(deps): bump protobufjs from 7.5.5 to 7.5.8 in /e2e/smoke-tests (#9958)
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.5.5 to 7.5.8.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.5.8/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.8)
---
updated-dependencies:
- dependency-name: protobufjs
dependency-version: 7.5.8
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* test(firestore): skip database source test that is timing out (#9966)
* test(firestore): skip database source test that is timing out
The test database keeps growing, causing this tests executionn time to
keep growing, repeatedly exceeding new timeouts we set. For now, let's
just skip this test.
* add eslint disable
* fix(auth): retry IndexedDB availability check on startup failure (#9845)
* fix(auth): retry IndexedDB availability check on startup failure
In environments like Chrome Extension Manifest V3 Service Workers, the initial IndexedDB transaction upon a cold start can sometimes drop or timeout. Previously, `_isAvailable()` would immediately catch the error, assume IndexedDB is broken, and silently fall back to `inMemoryPersistence`.
This updates `_isAvailable()` to use the `_withRetries()` helper, ensuring it benefits from the same retry logic as actual storage operations. This prevents the SDK from incorrectly abandoning existing IndexedDB auth state.
Fixes #9732
* style(auth): run yarn format
* chore: add changeset for IndexedDB availability check retry
* fix(auth): robust IndexedDB connection handling and test stability
* build(deps-dev): bump protobufjs in /packages/firestore (#9960)
Merge rules bypassed due to errant format diff.
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.5.5 to 7.5.6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/protobufjs/protobuf.js/releases">protobufjs's releases</a>.</em></p>
<blockquote>
<h2>protobufjs: v7.5.6</h2>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.6">7.5.6</a> (2026-04-27)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>Backport input hardening and CLI fixes to 7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2173">#2173</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/75392ea1b78bdc4faba027b5db44ad7c50e9c454">75392ea</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.5.6/CHANGELOG.md">protobufjs's changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.6">7.5.6</a> (2026-04-27)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>Backport input hardening and CLI fixes to 7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2173">#2173</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/75392ea1b78bdc4faba027b5db44ad7c50e9c454">75392ea</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.3...protobufjs-v7.5.4">7.5.4</a> (2025-08-15)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>invalid syntax in descriptor.proto (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2092">#2092</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/5a3769a465fead089a533ad55c21d069299df760">5a3769a</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.2...protobufjs-v7.5.3">7.5.3</a> (2025-05-28)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>descriptor extensions handling post-editions (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2075">#2075</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/6e255d4ad6982cc857f26e1731c2cedcf5796f68">6e255d4</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.1...protobufjs-v7.5.2">7.5.2</a> (2025-05-14)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>ensure that types are always resolved (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2068">#2068</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/4b51cb2b8450b77f9f5de1c562e7fae93b19d040">4b51cb2</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.0...protobufjs-v7.5.1">7.5.1</a> (2025-05-08)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>optimize regressions from editions implementations (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2066">#2066</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/6406d4c18afae309fc7b5f4a24d9674d85da180b">6406d4c</a>)</li>
<li>reserved field inside group blocks fail parsing (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2058">#2058</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/56782bff0c4b5132806eb1a6bc4d08f930c4aaad">56782bf</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.4.0...protobufjs-v7.5.0">7.5.0</a> (2025-04-15)</h2>
<h3>Features</h3>
<ul>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/f04ded3a03a3ddd383f0228e2fe2627a51f31aa3">f04ded3</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/ac9a3b9fe3134d48187e41b08d54ffaceddc6c1b">ac9a3b9</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/e5ca5c84e326699e10258367883a54934e0bfe14">e5ca5c8</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/a84409b47f9ba0dba56da1af8054fb54f85d85a1">a84409b</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/9c5a178c4b59e0aa65ecac0bd7420171213b2ff9">9c5a178</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/b2c686721e3b63d092419fa1cbe58e1deb89534e">b2c6867</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/60f3e51087ca2c247473410f39331e1c766aefef">60f3e51</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/a6563617de04d510d6e8865eb6c5067f10247f64">a656361</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/869a95b1e5f553c76243aac45619061407a41084">869a95b</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/2189e5beeca6a70e4c104dfdb9fb8200bc5f81fe"><code>2189e5b</code></a> chore: release protobufjs-v7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2174">#2174</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/75392ea1b78bdc4faba027b5db44ad7c50e9c454"><code>75392ea</code></a> fix: Backport input hardening and CLI fixes to 7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2173">#2173</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/8af8d7c0e9800879625f7d0d4a7fb51beb4410cd"><code>8af8d7c</code></a> chore(ci): Fix 7.x release please configuration (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2169">#2169</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/e92ca42244ad67203b48d836290062dae037ead6"><code>e92ca42</code></a> chore(ci): Enable release-please for 7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2166">#2166</a>)</li>
<li>See full diff in <a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.6">compare view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a href="https://www.npmjs.com/~GitHub%20Actions">GitHub Actions</a>, a new releaser for protobufjs since your current version.</p>
</details>
<br />
* build(deps): bump @protobufjs/utf8 (#9952)
Bumps [@protobufjs/utf8](https://github.com/dcodeIO/protobuf.js) from 1.1.0 to 1.1.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dcodeIO/protobuf.js/releases">@protobufjs/utf8's releases</a>.</em></p>
<blockquote>
<h2>protobufjs-cli: v1.1.1</h2>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-cli-v1.1.0...protobufjs-cli-v1.1.1">1.1.1</a> (2023-02-02)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>cli:</strong> fix relative path to Google pb files (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/1859">#1859</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/e42eea4868b11f4a07934804a56683321ed191e2">e42eea4</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/644d588c0495da6a570344248e1b5af901bc3b0c"><code>644d588</code></a> chore: release master (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1865">#1865</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/e42eea4868b11f4a07934804a56683321ed191e2"><code>e42eea4</code></a> fix(cli): fix relative path to Google pb files (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1859">#1859</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/dce9a2ef92d363752e40b295b0da9bd178f82e83"><code>dce9a2e</code></a> fix: use bundled filename to fix common pb includes (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1860">#1860</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/64e8936ad9f73c68b3fa1e57857dd38323b5a745"><code>64e8936</code></a> fix: use ES5 style function syntax (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1830">#1830</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/4489fa771464bcb49b57149760e9cc4131e8077e"><code>4489fa7</code></a> Revert "fix: error should be thrown (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1817">#1817</a>)" (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1864">#1864</a>)</li>
<li>See full diff in <a href="https://github.com/dcodeIO/protobuf.js/compare/protobufjs-cli-v1.1.0...protobufjs-cli-v1.1.1">compare view</a></li>
</ul>
</details>
<br />
* 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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump protobufjs from 7.5.5 to 7.5.8 (#9973)
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.5.5 to 7.5.8.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.5.8/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.8)
---
updated-dependencies:
- dependency-name: protobufjs
dependency-version: 7.5.8
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps-dev): bump protobufjs-cli from 1.1.3 to 1.2.1 (#9955)
Bumps [protobufjs-cli](https://github.com/protobufjs/protobuf.js) from 1.1.3 to 1.2.1.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-cli-v1.1.3...protobufjs-cli-v1.2.1)
---
updated-dependencies:
- dependency-name: protobufjs-cli
dependency-version: 1.2.1
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump protobufjs from 7.4.0 to 7.5.9 in /e2e/data-connect (#9977)
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.4.0 to 7.5.9.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.5.9/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.4.0...protobufjs-v7.5.9)
---
updated-dependencies:
- dependency-name: protobufjs
dependency-version: 7.5.9
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feature(firestore): added minimum and maximum FieldValue operations (#9913)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* fix(changelog-generator): fix postinstall build failure (#9948)
The fix has two parts:
1. Add `"types": ["node"]` to tsconfig.
2. Fix an incorrect type cast in `index.ts`. The parsed GitHub API response
was being cast to the DOM `Response` type to access its `.body` property,
which is wrong — `Response.body` is a `ReadableStream`, not a string. The
actual value is the parsed JSON from the GitHub PR API, whose `body` field
is `string | null` per the API schema. Updated the cast accordingly.
Resolves #9947
* Feat/messaging api series (#9917)
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
Co-authored-by: Christina Holland <chholland@google.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Paul Beusterien <paulbeusterien@google.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Google Open Source Bot <firebase-oss-bot@google.com>
Co-authored-by: Stephen Rosa <84193009+stephenarosaj@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: DellaBitta <drsanta@google.com>
Co-authored-by: Kai Wu <zwu52@users.noreply.github.com>
Co-authored-by: macastelaz <34776182+macastelaz@users.noreply.github.com>
Co-authored-by: swseverance <swseverance@gmail.com>
commit c71db890acf551cbd843ae8d148b0b3952f6c39f
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Wed May 20 22:57:01 2026 -0400
Unify react router error boundaries and prevent duplicate logs (#9975)
* Unify react router error boundaries and prevent duplicate logs
* Fix tests
commit d3c3e0e768f0170c0af615e568367b445f9e7352
Author: Sai Sakhamuri <ssakhamu@google.com>
Date: Fri May 15 13:29:14 2026 -0400
refactoring common log attributes retrieval (#9967)
* refactoring common log attributes retrieval
* adding trace info as common attributes, refactoring options variable and startNewSession
* yarn format
commit 98a08233c6cc3c4597453cdcb1e07ad06724ca2a
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Tue May 12 14:39:06 2026 -0400
Update custom log attributes to align with OTel (#9953)
commit 6d3aed80851ef56facd46b2824b66bbfd95d89ae
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Tue May 12 11:22:14 2026 -0400
Merge branch "main" into crashlytics2 (#9941)
* feat(firestore): Added search stage support for languageCode, offset, limit, and retrievalDepth (#9884)
* feat(firestore): Added search stage support for languageCode, offset, limit, and retrievalDepth
* Create four-bottles-marry.md
* docgen
* PR feedback
* Update packages/firestore/src/lite-api/stage_options.ts
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
* Improve ref doc
* More search refDoc improvements
* Consistent capitalization of search within ref docs
* remove deleted rut file
* docs devsite
---------
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
* chore: Update picomatch and rollup-plugin-typescript2 (#9892)
* build(deps): bump picomatch from 2.3.1 to 2.3.2
Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)
---
updated-dependencies:
- dependency-name: picomatch
dependency-version: 2.3.2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* Upgrade picomatch and rollup-plugin-typescript2
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(ai): ImageConfig and FinishReasons (#9819)
* fix(firestore): Assertion ID: ca9 (pendingResponses less than 0) caused by target creation race condition (#9842)
* implement remote store target mapping
* Add spec test for removeTarget race condition
* cleanup
* Update packages/firestore/src/remote/remote_store.ts
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* cleanup
* Create loud-camels-cross.md
* Fix PR concerns and new tests
* Cleanup possible leak in watchChangeAggregator
* fix build issue with spec tests
* Fix integration test failure when running against public api
* another build fix
* Update spec test builder and runner to allow the spec test to specify the index of a target ID used for a query for some watch message types
* lint
* add Remote and SDK TargetID types
* Fix tests for SDK and Remote TargetId types
* refactor spec test to add step watchUsesTargetIndex and remove steps where the target index is passed to individual steps
* Remove unnecessary values passed to watchRemoves
* Removed unused helpers
---------
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* build(deps): bump axios from 1.13.5 to 1.15.2 (#9860)
Bumps [axios](https://github.com/axios/axios) from 1.13.5 to 1.15.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.5...v1.15.2)
---
updated-dependencies:
- dependency-name: axios
dependency-version: 1.15.1
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore: migrate test functions to v2 (#9910)
* feat(data-connect): add de-duplication, resume, and intelligent reconnection with backoff (#9905)
* chore(data-connect): update documentation and names in stream transport (#9846)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* feat(data-connect): add query de-duplication to stream transport (#9850)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* add de-duping - now for tests
* add de-duplication tests for invokeQuery
* finish invoke operation dedupe tests
* add subscribe de-duping as well
* add more query dedupe tests
* chore(data-connect): clean up streaming tests a bit (#9851)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* add de-duping - now for tests
* add de-duplication tests for invokeQuery
* finish invoke operation dedupe tests
* add subscribe de-duping as well
* add more query dedupe tests
* clean up stream tests
* clean up promise types in streaming tests
* Pasta/bucatini resume refactor (#9885)
* add test changes
* add transportchanges
* finalize changes, run yarn format
* finalize changes based on reviewer feedback
* feat(data-connect): add prefer resume over execute optimization to stream transport (#9879)
* initial implementation - now for testing
* finish tests
* merge pasta/bucatini-resume-refactor
* address reviewer comments
* remove old comments
* address reviewer comments
* feat(data-connect): add intelligent reconnection to streaming transport and harden disconnect/cleanup functionality (#9893)
* WIP
* first pass
* fixing names
* tidying up, fixing tests
* fixed tests
* address reviewer comments
* address reviewer comments and harden close/cleanup lifecycle
* address reviewer comments
* make listener registering and unregistering more robust
* merge main, add changeset
* chore: fix e2e tests for functions and AI (#9924)
* Version Packages (#9923)
Release v12.13.0
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix(messaging): wire Firelog delivery metrics flush (startLoggingService) (#9916)
* fix(data-connect): Reduce Stream Transport Idle Timeout to Instant (#9936)
* reduce idle cooldown to instant
* run yarn format and add changeset
* update changelog
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
Co-authored-by: Christina Holland <chholland@google.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Paul Beusterien <paulbeusterien@google.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Google Open Source Bot <firebase-oss-bot@google.com>
Co-authored-by: Stephen Rosa <84193009+stephenarosaj@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: DellaBitta <drsanta@google.com>
Co-authored-by: Kai Wu <zwu52@users.noreply.github.com>
commit f1ce91f6fd815e0a81e21648afd1797f21aef2b6
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Tue May 12 10:25:18 2026 -0400
Add crashlytics to packages/firebase/package.json (#9946)
commit 95e5307dd57ab56465a915b0c7dd4760cb087d29
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Thu May 7 16:57:12 2026 -0400
Add crashlytics option for specifying cloud region (#9933)
commit f6902a26c18cbec5c0f1eb1ba216180f91cee98a
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Thu May 7 16:35:04 2026 -0400
Merge branch "main" into crashlytics2 (#9932)
* feat(firestore): Added search stage support for languageCode, offset, limit, and retrievalDepth (#9884)
* feat(firestore): Added search stage support for languageCode, offset, limit, and retrievalDepth
* Create four-bottles-marry.md
* docgen
* PR feedback
* Update packages/firestore/src/lite-api/stage_options.ts
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
* Improve ref doc
* More search refDoc improvements
* Consistent capitalization of search within ref docs
* remove deleted rut file
* docs devsite
---------
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
* chore: Update picomatch and rollup-plugin-typescript2 (#9892)
* build(deps): bump picomatch from 2.3.1 to 2.3.2
Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)
---
updated-dependencies:
- dependency-name: picomatch
dependency-version: 2.3.2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* Upgrade picomatch and rollup-plugin-typescript2
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(ai): ImageConfig and FinishReasons (#9819)
* fix(firestore): Assertion ID: ca9 (pendingResponses less than 0) caused by target creation race condition (#9842)
* implement remote store target mapping
* Add spec test for removeTarget race condition
* cleanup
* Update packages/firestore/src/remote/remote_store.ts
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* cleanup
* Create loud-camels-cross.md
* Fix PR concerns and new tests
* Cleanup possible leak in watchChangeAggregator
* fix build issue with spec tests
* Fix integration test failure when running against public api
* another build fix
* Update spec test builder and runner to allow the spec test to specify the index of a target ID used for a query for some watch message types
* lint
* add Remote and SDK TargetID types
* Fix tests for SDK and Remote TargetId types
* refactor spec test to add step watchUsesTargetIndex and remove steps where the target index is passed to individual steps
* Remove unnecessary values passed to watchRemoves
* Removed unused helpers
---------
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* build(deps): bump axios from 1.13.5 to 1.15.2 (#9860)
Bumps [axios](https://github.com/axios/axios) from 1.13.5 to 1.15.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.5...v1.15.2)
---
updated-dependencies:
- dependency-name: axios
dependency-version: 1.15.1
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore: migrate test functions to v2 (#9910)
* feat(data-connect): add de-duplication, resume, and intelligent reconnection with backoff (#9905)
* chore(data-connect): update documentation and names in stream transport (#9846)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* feat(data-connect): add query de-duplication to stream transport (#9850)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* add de-duping - now for tests
* add de-duplication tests for invokeQuery
* finish invoke operation dedupe tes…
commit 4ec18b527104beb312222e2e35f82d8c3ea3cda4
Author: Rebecca He <31138589+rebehe@users.noreply.github.com>
Date: Tue Jun 16 09:38:20 2026 -0400
Merge main into crashlytics2 (#10082)
* feat(firestore): Added search stage support for languageCode, offset, limit, and retrievalDepth (#9884)
* feat(firestore): Added search stage support for languageCode, offset, limit, and retrievalDepth
* Create four-bottles-marry.md
* docgen
* PR feedback
* Update packages/firestore/src/lite-api/stage_options.ts
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
* Improve ref doc
* More search refDoc improvements
* Consistent capitalization of search within ref docs
* remove deleted rut file
* docs devsite
---------
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
* chore: Update picomatch and rollup-plugin-typescript2 (#9892)
* build(deps): bump picomatch from 2.3.1 to 2.3.2
Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)
---
updated-dependencies:
- dependency-name: picomatch
dependency-version: 2.3.2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* Upgrade picomatch and rollup-plugin-typescript2
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(ai): ImageConfig and FinishReasons (#9819)
* fix(firestore): Assertion ID: ca9 (pendingResponses less than 0) caused by target creation race condition (#9842)
* implement remote store target mapping
* Add spec test for removeTarget race condition
* cleanup
* Update packages/firestore/src/remote/remote_store.ts
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* cleanup
* Create loud-camels-cross.md
* Fix PR concerns and new tests
* Cleanup possible leak in watchChangeAggregator
* fix build issue with spec tests
* Fix integration test failure when running against public api
* another build fix
* Update spec test builder and runner to allow the spec test to specify the index of a target ID used for a query for some watch message types
* lint
* add Remote and SDK TargetID types
* Fix tests for SDK and Remote TargetId types
* refactor spec test to add step watchUsesTargetIndex and remove steps where the target index is passed to individual steps
* Remove unnecessary values passed to watchRemoves
* Removed unused helpers
---------
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* build(deps): bump axios from 1.13.5 to 1.15.2 (#9860)
Bumps [axios](https://github.com/axios/axios) from 1.13.5 to 1.15.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.5...v1.15.2)
---
updated-dependencies:
- dependency-name: axios
dependency-version: 1.15.1
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore: migrate test functions to v2 (#9910)
* feat(data-connect): add de-duplication, resume, and intelligent reconnection with backoff (#9905)
* chore(data-connect): update documentation and names in stream transport (#9846)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* feat(data-connect): add query de-duplication to stream transport (#9850)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* add de-duping - now for tests
* add de-duplication tests for invokeQuery
* finish invoke operation dedupe tests
* add subscribe de-duping as well
* add more query dedupe tests
* chore(data-connect): clean up streaming tests a bit (#9851)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* add de-duping - now for tests
* add de-duplication tests for invokeQuery
* finish invoke operation dedupe tests
* add subscribe de-duping as well
* add more query dedupe tests
* clean up stream tests
* clean up promise types in streaming tests
* Pasta/bucatini resume refactor (#9885)
* add test changes
* add transportchanges
* finalize changes, run yarn format
* finalize changes based on reviewer feedback
* feat(data-connect): add prefer resume over execute optimization to stream transport (#9879)
* initial implementation - now for testing
* finish tests
* merge pasta/bucatini-resume-refactor
* address reviewer comments
* remove old comments
* address reviewer comments
* feat(data-connect): add intelligent reconnection to streaming transport and harden disconnect/cleanup functionality (#9893)
* WIP
* first pass
* fixing names
* tidying up, fixing tests
* fixed tests
* address reviewer comments
* address reviewer comments and harden close/cleanup lifecycle
* address reviewer comments
* make listener registering and unregistering more robust
* merge main, add changeset
* chore: fix e2e tests for functions and AI (#9924)
* Version Packages (#9923)
Release v12.13.0
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix(messaging): wire Firelog delivery metrics flush (startLoggingService) (#9916)
* fix(data-connect): Reduce Stream Transport Idle Timeout to Instant (#9936)
* reduce idle cooldown to instant
* run yarn format and add changeset
* update changelog
* fix(ai): Fix sendMessageStream bug that sends duplicate user turns (#9956)
* build(deps): bump protobufjs from 7.5.5 to 7.5.8 in /e2e/smoke-tests (#9958)
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.5.5 to 7.5.8.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.5.8/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.8)
---
updated-dependencies:
- dependency-name: protobufjs
dependency-version: 7.5.8
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* test(firestore): skip database source test that is timing out (#9966)
* test(firestore): skip database source test that is timing out
The test database keeps growing, causing this tests executionn time to
keep growing, repeatedly exceeding new timeouts we set. For now, let's
just skip this test.
* add eslint disable
* fix(auth): retry IndexedDB availability check on startup failure (#9845)
* fix(auth): retry IndexedDB availability check on startup failure
In environments like Chrome Extension Manifest V3 Service Workers, the initial IndexedDB transaction upon a cold start can sometimes drop or timeout. Previously, `_isAvailable()` would immediately catch the error, assume IndexedDB is broken, and silently fall back to `inMemoryPersistence`.
This updates `_isAvailable()` to use the `_withRetries()` helper, ensuring it benefits from the same retry logic as actual storage operations. This prevents the SDK from incorrectly abandoning existing IndexedDB auth state.
Fixes #9732
* style(auth): run yarn format
* chore: add changeset for IndexedDB availability check retry
* fix(auth): robust IndexedDB connection handling and test stability
* build(deps-dev): bump protobufjs in /packages/firestore (#9960)
Merge rules bypassed due to errant format diff.
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.5.5 to 7.5.6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/protobufjs/protobuf.js/releases">protobufjs's releases</a>.</em></p>
<blockquote>
<h2>protobufjs: v7.5.6</h2>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.6">7.5.6</a> (2026-04-27)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>Backport input hardening and CLI fixes to 7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2173">#2173</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/75392ea1b78bdc4faba027b5db44ad7c50e9c454">75392ea</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.5.6/CHANGELOG.md">protobufjs's changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.6">7.5.6</a> (2026-04-27)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>Backport input hardening and CLI fixes to 7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2173">#2173</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/75392ea1b78bdc4faba027b5db44ad7c50e9c454">75392ea</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.3...protobufjs-v7.5.4">7.5.4</a> (2025-08-15)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>invalid syntax in descriptor.proto (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2092">#2092</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/5a3769a465fead089a533ad55c21d069299df760">5a3769a</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.2...protobufjs-v7.5.3">7.5.3</a> (2025-05-28)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>descriptor extensions handling post-editions (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2075">#2075</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/6e255d4ad6982cc857f26e1731c2cedcf5796f68">6e255d4</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.1...protobufjs-v7.5.2">7.5.2</a> (2025-05-14)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>ensure that types are always resolved (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2068">#2068</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/4b51cb2b8450b77f9f5de1c562e7fae93b19d040">4b51cb2</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.0...protobufjs-v7.5.1">7.5.1</a> (2025-05-08)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>optimize regressions from editions implementations (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2066">#2066</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/6406d4c18afae309fc7b5f4a24d9674d85da180b">6406d4c</a>)</li>
<li>reserved field inside group blocks fail parsing (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2058">#2058</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/56782bff0c4b5132806eb1a6bc4d08f930c4aaad">56782bf</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.4.0...protobufjs-v7.5.0">7.5.0</a> (2025-04-15)</h2>
<h3>Features</h3>
<ul>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/f04ded3a03a3ddd383f0228e2fe2627a51f31aa3">f04ded3</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/ac9a3b9fe3134d48187e41b08d54ffaceddc6c1b">ac9a3b9</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/e5ca5c84e326699e10258367883a54934e0bfe14">e5ca5c8</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/a84409b47f9ba0dba56da1af8054fb54f85d85a1">a84409b</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/9c5a178c4b59e0aa65ecac0bd7420171213b2ff9">9c5a178</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/b2c686721e3b63d092419fa1cbe58e1deb89534e">b2c6867</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/60f3e51087ca2c247473410f39331e1c766aefef">60f3e51</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/a6563617de04d510d6e8865eb6c5067f10247f64">a656361</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/869a95b1e5f553c76243aac45619061407a41084">869a95b</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/2189e5beeca6a70e4c104dfdb9fb8200bc5f81fe"><code>2189e5b</code></a> chore: release protobufjs-v7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2174">#2174</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/75392ea1b78bdc4faba027b5db44ad7c50e9c454"><code>75392ea</code></a> fix: Backport input hardening and CLI fixes to 7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2173">#2173</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/8af8d7c0e9800879625f7d0d4a7fb51beb4410cd"><code>8af8d7c</code></a> chore(ci): Fix 7.x release please configuration (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2169">#2169</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/e92ca42244ad67203b48d836290062dae037ead6"><code>e92ca42</code></a> chore(ci): Enable release-please for 7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2166">#2166</a>)</li>
<li>See full diff in <a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.6">compare view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a href="https://www.npmjs.com/~GitHub%20Actions">GitHub Actions</a>, a new releaser for protobufjs since your current version.</p>
</details>
<br />
* build(deps): bump @protobufjs/utf8 (#9952)
Bumps [@protobufjs/utf8](https://github.com/dcodeIO/protobuf.js) from 1.1.0 to 1.1.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dcodeIO/protobuf.js/releases">@protobufjs/utf8's releases</a>.</em></p>
<blockquote>
<h2>protobufjs-cli: v1.1.1</h2>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-cli-v1.1.0...protobufjs-cli-v1.1.1">1.1.1</a> (2023-02-02)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>cli:</strong> fix relative path to Google pb files (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/1859">#1859</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/e42eea4868b11f4a07934804a56683321ed191e2">e42eea4</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/644d588c0495da6a570344248e1b5af901bc3b0c"><code>644d588</code></a> chore: release master (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1865">#1865</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/e42eea4868b11f4a07934804a56683321ed191e2"><code>e42eea4</code></a> fix(cli): fix relative path to Google pb files (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1859">#1859</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/dce9a2ef92d363752e40b295b0da9bd178f82e83"><code>dce9a2e</code></a> fix: use bundled filename to fix common pb includes (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1860">#1860</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/64e8936ad9f73c68b3fa1e57857dd38323b5a745"><code>64e8936</code></a> fix: use ES5 style function syntax (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1830">#1830</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/4489fa771464bcb49b57149760e9cc4131e8077e"><code>4489fa7</code></a> Revert "fix: error should be thrown (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1817">#1817</a>)" (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1864">#1864</a>)</li>
<li>See full diff in <a href="https://github.com/dcodeIO/protobuf.js/compare/protobufjs-cli-v1.1.0...protobufjs-cli-v1.1.1">compare view</a></li>
</ul>
</details>
<br />
* 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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump protobufjs from 7.5.5 to 7.5.8 (#9973)
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.5.5 to 7.5.8.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.5.8/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.8)
---
updated-dependencies:
- dependency-name: protobufjs
dependency-version: 7.5.8
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps-dev): bump protobufjs-cli from 1.1.3 to 1.2.1 (#9955)
Bumps [protobufjs-cli](https://github.com/protobufjs/protobuf.js) from 1.1.3 to 1.2.1.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-cli-v1.1.3...protobufjs-cli-v1.2.1)
---
updated-dependencies:
- dependency-name: protobufjs-cli
dependency-version: 1.2.1
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump protobufjs from 7.4.0 to 7.5.9 in /e2e/data-connect (#9977)
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.4.0 to 7.5.9.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.5.9/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.4.0...protobufjs-v7.5.9)
---
updated-dependencies:
- dependency-name: protobufjs
dependency-version: 7.5.9
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feature(firestore): added minimum and maximum FieldValue operations (#9913)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* fix(changelog-generator): fix postinstall build failure (#9948)
The fix has two parts:
1. Add `"types": ["node"]` to tsconfig.
2. Fix an incorrect type cast in `index.ts`. The parsed GitHub API response
was being cast to the DOM `Response` type to access its `.body` property,
which is wrong — `Response.body` is a `ReadableStream`, not a string. The
actual value is the parsed JSON from the GitHub PR API, whose `body` field
is `string | null` per the API schema. Updated the cast accordingly.
Resolves #9947
* Feat/messaging api series (#9917)
* fix(app-check): Fix getLimitedUseToken() (#9987)
* 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
* fix(firestore): improved robustness and logging in query listen stream creation and re-creation (#9985)
* 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 <zwu52@users.noreply.github.com>
* feat(ai)!: Add explicit `initializeDeviceModel()` method when using hybrid (#9800)
* feat(ai): Update tags to mark hybrid inference features as GA (#9926)
* Version Packages (#10004)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix(auth,app-check): Fix Auth/AppCheck ReCAPTCHA Enterprise conflict (#9991)
* 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
* chore: Add explicit types to tsconfig (#10015)
* Update CODEOWNERS for auth packages (#10001)
* feat(app-check,app): Add ability for App Check to initialize with a default provider (#10023)
* chore(ci): make all firestore integration tests optional (#10028)
* 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
* 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
* 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
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* 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
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update packages/firestore/src/lite-api/pipeline.ts
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* docs-devsite
---------
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* 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: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
* 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
* 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
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Fix test helper URL generation to match new querystring order
* Run yarn format
---------
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
Co-authored-by: Christina Holland <chholland@google.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Paul Beusterien <paulbeusterien@google.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Google Open Source Bot <firebase-oss-bot@google.com>
Co-authored-by: Stephen Rosa <84193009+stephenarosaj@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: DellaBitta <drsanta@google.com>
Co-authored-by: Kai Wu <zwu52@users.noreply.github.com>
Co-authored-by: macastelaz <34776182+macastelaz@users.noreply.github.com>
Co-authored-by: swseverance <swseverance@gmail.com>
Co-authored-by: Athira M <athiramanu9400@gmail.com>
Co-authored-by: Doris-Ge <dorisge@google.com>
Co-authored-by: wu-hui <53845758+wu-hui@users.noreply.github.com>
Co-authored-by: sedanah-m <mashhour@google.com>
commit 6868f5fdcb95dcc3cb55bad6f03e86cfeeaf97db
Author: Rebecca He <31138589+rebehe@users.noreply.github.com>
Date: Mon Jun 15 14:48:15 2026 -0400
Prefactor `AttributesStore` to more cleanly support span attributes (#10079)
commit 558ee841dbd889dd0d7812613a7e553687b80517
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Mon Jun 15 08:49:18 2026 -0400
Update crashlytics otel log attributes (#10062)
commit e6637173bc7e24630987b88ea9614a744509e9ae
Author: Rebecca He <31138589+rebehe@users.noreply.github.com>
Date: Fri Jun 12 14:16:50 2026 -0400
Migrate route path provider into `AttributesStore` (#10060)
commit 1e203bcb02c248567320b7efc28dabd9b4f81928
Author: Rebecca He <31138589+rebehe@users.noreply.github.com>
Date: Fri Jun 12 11:31:32 2026 -0400
Migrate all common/log attributes and logic into `AttributesStore` (#10053)
commit 5421eb9331f1fa8f9a188a3c3a6f3c577f069b50
Author: Rebecca He <31138589+rebehe@users.noreply.github.com>
Date: Fri Jun 12 09:34:45 2026 -0400
Migrate installation id provider logic into new `AttributeStore` (#10054)
commit 48f2deb81f97e51de31aacf9700a53e0af132ca7
Author: MaesterChestnut <40321652+MaesterChestnut@users.noreply.github.com>
Date: Thu Jun 4 11:26:46 2026 -0400
Crashlytics merge main (#10034)
commit 06423a1af4ff4017f76a8cd0d0f381f3c0bf1660
Author: Christina Holland <chholland@google.com>
Date: Tue May 26 17:44:58 2026 -0700
Update release workflows to use NPM publish token from Github secrets (#10006)
commit c9f1064327463e7a16e03fd0c420336fd99cee9b
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Tue May 26 20:42:09 2026 -0400
Add crashlytics as export in packages/firebase package.json (#10005)
commit 3dd4e65d9746cadbd7e846149f393883a602fcb9
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Tue May 26 18:26:20 2026 -0400
Add default telemetry endpoint for crashlytics (#10003)
commit 751dd8120f95ad1b6be215ff126eec5dfb6fd7df
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Thu May 21 08:43:42 2026 -0400
Merge branch "main" into crashlytics2 (#9989)
* feat(firestore): Added search stage support for languageCode, offset, limit, and retrievalDepth (#9884)
* feat(firestore): Added search stage support for languageCode, offset, limit, and retrievalDepth
* Create four-bottles-marry.md
* docgen
* PR feedback
* Update packages/firestore/src/lite-api/stage_options.ts
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
* Improve ref doc
* More search refDoc improvements
* Consistent capitalization of search within ref docs
* remove deleted rut file
* docs devsite
---------
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
* chore: Update picomatch and rollup-plugin-typescript2 (#9892)
* build(deps): bump picomatch from 2.3.1 to 2.3.2
Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)
---
updated-dependencies:
- dependency-name: picomatch
dependency-version: 2.3.2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* Upgrade picomatch and rollup-plugin-typescript2
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(ai): ImageConfig and FinishReasons (#9819)
* fix(firestore): Assertion ID: ca9 (pendingResponses less than 0) caused by target creation race condition (#9842)
* implement remote store target mapping
* Add spec test for removeTarget race condition
* cleanup
* Update packages/firestore/src/remote/remote_store.ts
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* cleanup
* Create loud-camels-cross.md
* Fix PR concerns and new tests
* Cleanup possible leak in watchChangeAggregator
* fix build issue with spec tests
* Fix integration test failure when running against public api
* another build fix
* Update spec test builder and runner to allow the spec test to specify the index of a target ID used for a query for some watch message types
* lint
* add Remote and SDK TargetID types
* Fix tests for SDK and Remote TargetId types
* refactor spec test to add step watchUsesTargetIndex and remove steps where the target index is passed to individual steps
* Remove unnecessary values passed to watchRemoves
* Removed unused helpers
---------
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* build(deps): bump axios from 1.13.5 to 1.15.2 (#9860)
Bumps [axios](https://github.com/axios/axios) from 1.13.5 to 1.15.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.5...v1.15.2)
---
updated-dependencies:
- dependency-name: axios
dependency-version: 1.15.1
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore: migrate test functions to v2 (#9910)
* feat(data-connect): add de-duplication, resume, and intelligent reconnection with backoff (#9905)
* chore(data-connect): update documentation and names in stream transport (#9846)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* feat(data-connect): add query de-duplication to stream transport (#9850)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* add de-duping - now for tests
* add de-duplication tests for invokeQuery
* finish invoke operation dedupe tests
* add subscribe de-duping as well
* add more query dedupe tests
* chore(data-connect): clean up streaming tests a bit (#9851)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* add de-duping - now for tests
* add de-duplication tests for invokeQuery
* finish invoke operation dedupe tests
* add subscribe de-duping as well
* add more query dedupe tests
* clean up stream tests
* clean up promise types in streaming tests
* Pasta/bucatini resume refactor (#9885)
* add test changes
* add transportchanges
* finalize changes, run yarn format
* finalize changes based on reviewer feedback
* feat(data-connect): add prefer resume over execute optimization to stream transport (#9879)
* initial implementation - now for testing
* finish tests
* merge pasta/bucatini-resume-refactor
* address reviewer comments
* remove old comments
* address reviewer comments
* feat(data-connect): add intelligent reconnection to streaming transport and harden disconnect/cleanup functionality (#9893)
* WIP
* first pass
* fixing names
* tidying up, fixing tests
* fixed tests
* address reviewer comments
* address reviewer comments and harden close/cleanup lifecycle
* address reviewer comments
* make listener registering and unregistering more robust
* merge main, add changeset
* chore: fix e2e tests for functions and AI (#9924)
* Version Packages (#9923)
Release v12.13.0
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix(messaging): wire Firelog delivery metrics flush (startLoggingService) (#9916)
* fix(data-connect): Reduce Stream Transport Idle Timeout to Instant (#9936)
* reduce idle cooldown to instant
* run yarn format and add changeset
* update changelog
* fix(ai): Fix sendMessageStream bug that sends duplicate user turns (#9956)
* build(deps): bump protobufjs from 7.5.5 to 7.5.8 in /e2e/smoke-tests (#9958)
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.5.5 to 7.5.8.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.5.8/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.8)
---
updated-dependencies:
- dependency-name: protobufjs
dependency-version: 7.5.8
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* test(firestore): skip database source test that is timing out (#9966)
* test(firestore): skip database source test that is timing out
The test database keeps growing, causing this tests executionn time to
keep growing, repeatedly exceeding new timeouts we set. For now, let's
just skip this test.
* add eslint disable
* fix(auth): retry IndexedDB availability check on startup failure (#9845)
* fix(auth): retry IndexedDB availability check on startup failure
In environments like Chrome Extension Manifest V3 Service Workers, the initial IndexedDB transaction upon a cold start can sometimes drop or timeout. Previously, `_isAvailable()` would immediately catch the error, assume IndexedDB is broken, and silently fall back to `inMemoryPersistence`.
This updates `_isAvailable()` to use the `_withRetries()` helper, ensuring it benefits from the same retry logic as actual storage operations. This prevents the SDK from incorrectly abandoning existing IndexedDB auth state.
Fixes #9732
* style(auth): run yarn format
* chore: add changeset for IndexedDB availability check retry
* fix(auth): robust IndexedDB connection handling and test stability
* build(deps-dev): bump protobufjs in /packages/firestore (#9960)
Merge rules bypassed due to errant format diff.
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.5.5 to 7.5.6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/protobufjs/protobuf.js/releases">protobufjs's releases</a>.</em></p>
<blockquote>
<h2>protobufjs: v7.5.6</h2>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.6">7.5.6</a> (2026-04-27)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>Backport input hardening and CLI fixes to 7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2173">#2173</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/75392ea1b78bdc4faba027b5db44ad7c50e9c454">75392ea</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.5.6/CHANGELOG.md">protobufjs's changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.6">7.5.6</a> (2026-04-27)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>Backport input hardening and CLI fixes to 7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2173">#2173</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/75392ea1b78bdc4faba027b5db44ad7c50e9c454">75392ea</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.3...protobufjs-v7.5.4">7.5.4</a> (2025-08-15)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>invalid syntax in descriptor.proto (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2092">#2092</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/5a3769a465fead089a533ad55c21d069299df760">5a3769a</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.2...protobufjs-v7.5.3">7.5.3</a> (2025-05-28)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>descriptor extensions handling post-editions (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2075">#2075</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/6e255d4ad6982cc857f26e1731c2cedcf5796f68">6e255d4</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.1...protobufjs-v7.5.2">7.5.2</a> (2025-05-14)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>ensure that types are always resolved (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2068">#2068</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/4b51cb2b8450b77f9f5de1c562e7fae93b19d040">4b51cb2</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.0...protobufjs-v7.5.1">7.5.1</a> (2025-05-08)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>optimize regressions from editions implementations (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2066">#2066</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/6406d4c18afae309fc7b5f4a24d9674d85da180b">6406d4c</a>)</li>
<li>reserved field inside group blocks fail parsing (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2058">#2058</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/56782bff0c4b5132806eb1a6bc4d08f930c4aaad">56782bf</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.4.0...protobufjs-v7.5.0">7.5.0</a> (2025-04-15)</h2>
<h3>Features</h3>
<ul>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/f04ded3a03a3ddd383f0228e2fe2627a51f31aa3">f04ded3</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/ac9a3b9fe3134d48187e41b08d54ffaceddc6c1b">ac9a3b9</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/e5ca5c84e326699e10258367883a54934e0bfe14">e5ca5c8</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/a84409b47f9ba0dba56da1af8054fb54f85d85a1">a84409b</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/9c5a178c4b59e0aa65ecac0bd7420171213b2ff9">9c5a178</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/b2c686721e3b63d092419fa1cbe58e1deb89534e">b2c6867</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/60f3e51087ca2c247473410f39331e1c766aefef">60f3e51</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/a6563617de04d510d6e8865eb6c5067f10247f64">a656361</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/869a95b1e5f553c76243aac45619061407a41084">869a95b</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/2189e5beeca6a70e4c104dfdb9fb8200bc5f81fe"><code>2189e5b</code></a> chore: release protobufjs-v7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2174">#2174</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/75392ea1b78bdc4faba027b5db44ad7c50e9c454"><code>75392ea</code></a> fix: Backport input hardening and CLI fixes to 7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2173">#2173</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/8af8d7c0e9800879625f7d0d4a7fb51beb4410cd"><code>8af8d7c</code></a> chore(ci): Fix 7.x release please configuration (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2169">#2169</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/e92ca42244ad67203b48d836290062dae037ead6"><code>e92ca42</code></a> chore(ci): Enable release-please for 7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2166">#2166</a>)</li>
<li>See full diff in <a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.6">compare view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a href="https://www.npmjs.com/~GitHub%20Actions">GitHub Actions</a>, a new releaser for protobufjs since your current version.</p>
</details>
<br />
* build(deps): bump @protobufjs/utf8 (#9952)
Bumps [@protobufjs/utf8](https://github.com/dcodeIO/protobuf.js) from 1.1.0 to 1.1.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dcodeIO/protobuf.js/releases">@protobufjs/utf8's releases</a>.</em></p>
<blockquote>
<h2>protobufjs-cli: v1.1.1</h2>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-cli-v1.1.0...protobufjs-cli-v1.1.1">1.1.1</a> (2023-02-02)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>cli:</strong> fix relative path to Google pb files (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/1859">#1859</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/e42eea4868b11f4a07934804a56683321ed191e2">e42eea4</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/644d588c0495da6a570344248e1b5af901bc3b0c"><code>644d588</code></a> chore: release master (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1865">#1865</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/e42eea4868b11f4a07934804a56683321ed191e2"><code>e42eea4</code></a> fix(cli): fix relative path to Google pb files (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1859">#1859</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/dce9a2ef92d363752e40b295b0da9bd178f82e83"><code>dce9a2e</code></a> fix: use bundled filename to fix common pb includes (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1860">#1860</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/64e8936ad9f73c68b3fa1e57857dd38323b5a745"><code>64e8936</code></a> fix: use ES5 style function syntax (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1830">#1830</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/4489fa771464bcb49b57149760e9cc4131e8077e"><code>4489fa7</code></a> Revert "fix: error should be thrown (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1817">#1817</a>)" (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1864">#1864</a>)</li>
<li>See full diff in <a href="https://github.com/dcodeIO/protobuf.js/compare/protobufjs-cli-v1.1.0...protobufjs-cli-v1.1.1">compare view</a></li>
</ul>
</details>
<br />
* 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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump protobufjs from 7.5.5 to 7.5.8 (#9973)
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.5.5 to 7.5.8.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.5.8/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.8)
---
updated-dependencies:
- dependency-name: protobufjs
dependency-version: 7.5.8
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps-dev): bump protobufjs-cli from 1.1.3 to 1.2.1 (#9955)
Bumps [protobufjs-cli](https://github.com/protobufjs/protobuf.js) from 1.1.3 to 1.2.1.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-cli-v1.1.3...protobufjs-cli-v1.2.1)
---
updated-dependencies:
- dependency-name: protobufjs-cli
dependency-version: 1.2.1
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump protobufjs from 7.4.0 to 7.5.9 in /e2e/data-connect (#9977)
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.4.0 to 7.5.9.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.5.9/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.4.0...protobufjs-v7.5.9)
---
updated-dependencies:
- dependency-name: protobufjs
dependency-version: 7.5.9
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feature(firestore): added minimum and maximum FieldValue operations (#9913)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* fix(changelog-generator): fix postinstall build failure (#9948)
The fix has two parts:
1. Add `"types": ["node"]` to tsconfig.
2. Fix an incorrect type cast in `index.ts`. The parsed GitHub API response
was being cast to the DOM `Response` type to access its `.body` property,
which is wrong — `Response.body` is a `ReadableStream`, not a string. The
actual value is the parsed JSON from the GitHub PR API, whose `body` field
is `string | null` per the API schema. Updated the cast accordingly.
Resolves #9947
* Feat/messaging api series (#9917)
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
Co-authored-by: Christina Holland <chholland@google.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Paul Beusterien <paulbeusterien@google.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Google Open Source Bot <firebase-oss-bot@google.com>
Co-authored-by: Stephen Rosa <84193009+stephenarosaj@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: DellaBitta <drsanta@google.com>
Co-authored-by: Kai Wu <zwu52@users.noreply.github.com>
Co-authored-by: macastelaz <34776182+macastelaz@users.noreply.github.com>
Co-authored-by: swseverance <swseverance@gmail.com>
commit c71db890acf551cbd843ae8d148b0b3952f6c39f
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Wed May 20 22:57:01 2026 -0400
Unify react router error boundaries and prevent duplicate logs (#9975)
* Unify react router error boundaries and prevent duplicate logs
* Fix tests
commit d3c3e0e768f0170c0af615e568367b445f9e7352
Author: Sai Sakhamuri <ssakhamu@google.com>
Date: Fri May 15 13:29:14 2026 -0400
refactoring common log attributes retrieval (#9967)
* refactoring common log attributes retrieval
* adding trace info as common attributes, refactoring options variable and startNewSession
* yarn format
commit 98a08233c6cc3c4597453cdcb1e07ad06724ca2a
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Tue May 12 14:39:06 2026 -0400
Update custom log attributes to align with OTel (#9953)
commit 6d3aed80851ef56facd46b2824b66bbfd95d89ae
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Tue May 12 11:22:14 2026 -0400
Merge branch "main" into crashlytics2 (#9941)
* feat(firestore): Added search stage support for languageCode, offset, limit, and retrievalDepth (#9884)
* feat(firestore): Added search stage support for languageCode, offset, limit, and retrievalDepth
* Create four-bottles-marry.md
* docgen
* PR feedback
* Update packages/firestore/src/lite-api/stage_options.ts
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
* Improve ref doc
* More search refDoc improvements
* Consistent capitalization of search within ref docs
* remove deleted rut file
* docs devsite
---------
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
* chore: Update picomatch and rollup-plugin-typescript2 (#9892)
* build(deps): bump picomatch from 2.3.1 to 2.3.2
Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)
---
updated-dependencies:
- dependency-name: picomatch
dependency-version: 2.3.2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* Upgrade picomatch and rollup-plugin-typescript2
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(ai): ImageConfig and FinishReasons (#9819)
* fix(firestore): Assertion ID: ca9 (pendingResponses less than 0) caused by target creation race condition (#9842)
* implement remote store target mapping
* Add spec test for removeTarget race condition
* cleanup
* Update packages/firestore/src/remote/remote_store.ts
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* cleanup
* Create loud-camels-cross.md
* Fix PR concerns and new tests
* Cleanup possible leak in watchChangeAggregator
* fix build issue with spec tests
* Fix integration test failure when running against public api
* another build fix
* Update spec test builder and runner to allow the spec test to specify the index of a target ID used for a query for some watch message types
* lint
* add Remote and SDK TargetID types
* Fix tests for SDK and Remote TargetId types
* refactor spec test to add step watchUsesTargetIndex and remove steps where the target index is passed to individual steps
* Remove unnecessary values passed to watchRemoves
* Removed unused helpers
---------
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* build(deps): bump axios from 1.13.5 to 1.15.2 (#9860)
Bumps [axios](https://github.com/axios/axios) from 1.13.5 to 1.15.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.5...v1.15.2)
---
updated-dependencies:
- dependency-name: axios
dependency-version: 1.15.1
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore: migrate test functions to v2 (#9910)
* feat(data-connect): add de-duplication, resume, and intelligent reconnection with backoff (#9905)
* chore(data-connect): update documentation and names in stream transport (#9846)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* feat(data-connect): add query de-duplication to stream transport (#9850)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* add de-duping - now for tests
* add de-duplication tests for invokeQuery
* finish invoke operation dedupe tests
* add subscribe de-duping as well
* add more query dedupe tests
* chore(data-connect): clean up streaming tests a bit (#9851)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* add de-duping - now for tests
* add de-duplication tests for invokeQuery
* finish invoke operation dedupe tests
* add subscribe de-duping as well
* add more query dedupe tests
* clean up stream tests
* clean up promise types in streaming tests
* Pasta/bucatini resume refactor (#9885)
* add test changes
* add transportchanges
* finalize changes, run yarn format
* finalize changes based on reviewer feedback
* feat(data-connect): add prefer resume over execute optimization to stream transport (#9879)
* initial implementation - now for testing
* finish tests
* merge pasta/bucatini-resume-refactor
* address reviewer comments
* remove old comments
* address reviewer comments
* feat(data-connect): add intelligent reconnection to streaming transport and harden disconnect/cleanup functionality (#9893)
* WIP
* first pass
* fixing names
* tidying up, fixing tests
* fixed tests
* address reviewer comments
* address reviewer comments and harden close/cleanup lifecycle
* address reviewer comments
* make listener registering and unregistering more robust
* merge main, add changeset
* chore: fix e2e tests for functions and AI (#9924)
* Version Packages (#9923)
Release v12.13.0
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix(messaging): wire Firelog delivery metrics flush (startLoggingService) (#9916)
* fix(data-connect): Reduce Stream Transport Idle Timeout to Instant (#9936)
* reduce idle cooldown to instant
* run yarn format and add changeset
* update changelog
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
Co-authored-by: Christina Holland <chholland@google.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Paul Beusterien <paulbeusterien@google.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Google Open Source Bot <firebase-oss-bot@google.com>
Co-authored-by: Stephen Rosa <84193009+stephenarosaj@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: DellaBitta <drsanta@google.com>
Co-authored-by: Kai Wu <zwu52@users.noreply.github.com>
commit f1ce91f6fd815e0a81e21648afd1797f21aef2b6
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Tue May 12 10:25:18 2026 -0400
Add crashlytics to packages/firebase/package.json (#9946)
commit 95e5307dd57ab56465a915b0c7dd4760cb087d29
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Thu May 7 16:57:12 2026 -0400
Add crashlytics option for specifying cloud region (#9933)
commit f6902a26c18cbec5c0f1eb1ba216180f91cee98a
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Thu May 7 16:35:04 2026 -0400
Merge branch "main" into crashlytics2 (#9932)
* feat(firestore): Added search stage support for languageCode, offset, limit, and retrievalDepth (#9884)
* feat(firestore): Added search stage support for languageCode, offset, limit, and retrievalDepth
* Create four-bottles-marry.md
* docgen
* PR feedback
* Update packages/firestore/src/lite-api/stage_options.ts
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
* Improve ref doc
* More search refDoc improvements
* Consistent capitalization of search within ref docs
* remove deleted rut file
* docs devsite
---------
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
* chore: Update picomatch and rollup-plugin-typescript2 (#9892)
* build(deps): bump picomatch from 2.3.1 to 2.3.2
Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)
---
updated-dependencies:
- dependency-name: picomatch
dependency-version: 2.3.2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* Upgrade picomatch and rollup-plugin-typescript2
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(ai): ImageConfig and FinishReasons (#9819)
* fix(firestore): Assertion ID: ca9 (pendingResponses less than 0) caused by target creation race condition (#9842)
* implement remote store target mapping
* Add spec test for removeTarget race condition
* cleanup
* Update packages/firestore/src/remote/remote_store.ts
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* cleanup
* Create loud-camels-cross.md
* Fix PR concerns and new tests
* Cleanup possible leak in watchChangeAggregator
* fix build issue with spec tests
* Fix integration test failure when running against public api
* another build fix
* Update spec test builder and runner to allow the spec test to specify the index of a target ID used for a query for some watch message types
* lint
* add Remote and SDK TargetID types
* Fix tests for SDK and Remote TargetId types
* refactor spec test to add step watchUsesTargetIndex and remove steps where the target index is passed to individual steps
* Remove unnecessary values passed to watchRemoves
* Removed unused helpers
---------
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* build(deps): bump axios from 1.13.5 to 1.15.2 (#9860)
Bumps [axios](https://github.com/axios/axios) from 1.13.5 to 1.15.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.5...v1.15.2)
---
updated-dependencies:
- dependency-name: axios
dependency-version: 1.15.1
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore: migrate test functions to v2 (#9910)
* feat(data-connect): add de-duplication, resume, and intelligent reconnection with backoff (#9905)
* chore(data-connect): update documentation and names in stream transport (#9846)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* feat(data-connect): add query de-duplication to stream transport (#9850)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* add de-duping - now for tests
* add de-duplication tests for invokeQuery
* finish invoke operation dedupe tests
* add subscribe de-duping as well
* add mor…
commit 9ab4a97ca92c038471853ddab1af09c4c6eb03e5
Author: Rebecca He <31138589+rebehe@users.noreply.github.com>
Date: Tue Jun 16 15:17:16 2026 -0400
Fix fetch transport appending headers bug (#10092)
There's a bug with the dynamic headers in fetch transport where the app check token get continuously appended on subsequent requests.
commit 4ec18b527104beb312222e2e35f82d8c3ea3cda4
Author: Rebecca He <31138589+rebehe@users.noreply.github.com>
Date: Tue Jun 16 09:38:20 2026 -0400
Merge main into crashlytics2 (#10082)
* feat(firestore): Added search stage support for languageCode, offset, limit, and retrievalDepth (#9884)
* feat(firestore): Added search stage support for languageCode, offset, limit, and retrievalDepth
* Create four-bottles-marry.md
* docgen
* PR feedback
* Update packages/firestore/src/lite-api/stage_options.ts
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
* Improve ref doc
* More search refDoc improvements
* Consistent capitalization of search within ref docs
* remove deleted rut file
* docs devsite
---------
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
* chore: Update picomatch and rollup-plugin-typescript2 (#9892)
* build(deps): bump picomatch from 2.3.1 to 2.3.2
Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)
---
updated-dependencies:
- dependency-name: picomatch
dependency-version: 2.3.2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* Upgrade picomatch and rollup-plugin-typescript2
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(ai): ImageConfig and FinishReasons (#9819)
* fix(firestore): Assertion ID: ca9 (pendingResponses less than 0) caused by target creation race condition (#9842)
* implement remote store target mapping
* Add spec test for removeTarget race condition
* cleanup
* Update packages/firestore/src/remote/remote_store.ts
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* cleanup
* Create loud-camels-cross.md
* Fix PR concerns and new tests
* Cleanup possible leak in watchChangeAggregator
* fix build issue with spec tests
* Fix integration test failure when running against public api
* another build fix
* Update spec test builder and runner to allow the spec test to specify the index of a target ID used for a query for some watch message types
* lint
* add Remote and SDK TargetID types
* Fix tests for SDK and Remote TargetId types
* refactor spec test to add step watchUsesTargetIndex and remove steps where the target index is passed to individual steps
* Remove unnecessary values passed to watchRemoves
* Removed unused helpers
---------
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* build(deps): bump axios from 1.13.5 to 1.15.2 (#9860)
Bumps [axios](https://github.com/axios/axios) from 1.13.5 to 1.15.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.5...v1.15.2)
---
updated-dependencies:
- dependency-name: axios
dependency-version: 1.15.1
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore: migrate test functions to v2 (#9910)
* feat(data-connect): add de-duplication, resume, and intelligent reconnection with backoff (#9905)
* chore(data-connect): update documentation and names in stream transport (#9846)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* feat(data-connect): add query de-duplication to stream transport (#9850)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* add de-duping - now for tests
* add de-duplication tests for invokeQuery
* finish invoke operation dedupe tests
* add subscribe de-duping as well
* add more query dedupe tests
* chore(data-connect): clean up streaming tests a bit (#9851)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* add de-duping - now for tests
* add de-duplication tests for invokeQuery
* finish invoke operation dedupe tests
* add subscribe de-duping as well
* add more query dedupe tests
* clean up stream tests
* clean up promise types in streaming tests
* Pasta/bucatini resume refactor (#9885)
* add test changes
* add transportchanges
* finalize changes, run yarn format
* finalize changes based on reviewer feedback
* feat(data-connect): add prefer resume over execute optimization to stream transport (#9879)
* initial implementation - now for testing
* finish tests
* merge pasta/bucatini-resume-refactor
* address reviewer comments
* remove old comments
* address reviewer comments
* feat(data-connect): add intelligent reconnection to streaming transport and harden disconnect/cleanup functionality (#9893)
* WIP
* first pass
* fixing names
* tidying up, fixing tests
* fixed tests
* address reviewer comments
* address reviewer comments and harden close/cleanup lifecycle
* address reviewer comments
* make listener registering and unregistering more robust
* merge main, add changeset
* chore: fix e2e tests for functions and AI (#9924)
* Version Packages (#9923)
Release v12.13.0
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix(messaging): wire Firelog delivery metrics flush (startLoggingService) (#9916)
* fix(data-connect): Reduce Stream Transport Idle Timeout to Instant (#9936)
* reduce idle cooldown to instant
* run yarn format and add changeset
* update changelog
* fix(ai): Fix sendMessageStream bug that sends duplicate user turns (#9956)
* build(deps): bump protobufjs from 7.5.5 to 7.5.8 in /e2e/smoke-tests (#9958)
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.5.5 to 7.5.8.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.5.8/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.8)
---
updated-dependencies:
- dependency-name: protobufjs
dependency-version: 7.5.8
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* test(firestore): skip database source test that is timing out (#9966)
* test(firestore): skip database source test that is timing out
The test database keeps growing, causing this tests executionn time to
keep growing, repeatedly exceeding new timeouts we set. For now, let's
just skip this test.
* add eslint disable
* fix(auth): retry IndexedDB availability check on startup failure (#9845)
* fix(auth): retry IndexedDB availability check on startup failure
In environments like Chrome Extension Manifest V3 Service Workers, the initial IndexedDB transaction upon a cold start can sometimes drop or timeout. Previously, `_isAvailable()` would immediately catch the error, assume IndexedDB is broken, and silently fall back to `inMemoryPersistence`.
This updates `_isAvailable()` to use the `_withRetries()` helper, ensuring it benefits from the same retry logic as actual storage operations. This prevents the SDK from incorrectly abandoning existing IndexedDB auth state.
Fixes #9732
* style(auth): run yarn format
* chore: add changeset for IndexedDB availability check retry
* fix(auth): robust IndexedDB connection handling and test stability
* build(deps-dev): bump protobufjs in /packages/firestore (#9960)
Merge rules bypassed due to errant format diff.
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.5.5 to 7.5.6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/protobufjs/protobuf.js/releases">protobufjs's releases</a>.</em></p>
<blockquote>
<h2>protobufjs: v7.5.6</h2>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.6">7.5.6</a> (2026-04-27)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>Backport input hardening and CLI fixes to 7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2173">#2173</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/75392ea1b78bdc4faba027b5db44ad7c50e9c454">75392ea</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.5.6/CHANGELOG.md">protobufjs's changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.6">7.5.6</a> (2026-04-27)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>Backport input hardening and CLI fixes to 7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2173">#2173</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/75392ea1b78bdc4faba027b5db44ad7c50e9c454">75392ea</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.3...protobufjs-v7.5.4">7.5.4</a> (2025-08-15)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>invalid syntax in descriptor.proto (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2092">#2092</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/5a3769a465fead089a533ad55c21d069299df760">5a3769a</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.2...protobufjs-v7.5.3">7.5.3</a> (2025-05-28)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>descriptor extensions handling post-editions (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2075">#2075</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/6e255d4ad6982cc857f26e1731c2cedcf5796f68">6e255d4</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.1...protobufjs-v7.5.2">7.5.2</a> (2025-05-14)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>ensure that types are always resolved (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2068">#2068</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/4b51cb2b8450b77f9f5de1c562e7fae93b19d040">4b51cb2</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.0...protobufjs-v7.5.1">7.5.1</a> (2025-05-08)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>optimize regressions from editions implementations (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2066">#2066</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/6406d4c18afae309fc7b5f4a24d9674d85da180b">6406d4c</a>)</li>
<li>reserved field inside group blocks fail parsing (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2058">#2058</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/56782bff0c4b5132806eb1a6bc4d08f930c4aaad">56782bf</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.4.0...protobufjs-v7.5.0">7.5.0</a> (2025-04-15)</h2>
<h3>Features</h3>
<ul>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/f04ded3a03a3ddd383f0228e2fe2627a51f31aa3">f04ded3</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/ac9a3b9fe3134d48187e41b08d54ffaceddc6c1b">ac9a3b9</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/e5ca5c84e326699e10258367883a54934e0bfe14">e5ca5c8</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/a84409b47f9ba0dba56da1af8054fb54f85d85a1">a84409b</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/9c5a178c4b59e0aa65ecac0bd7420171213b2ff9">9c5a178</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/b2c686721e3b63d092419fa1cbe58e1deb89534e">b2c6867</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/60f3e51087ca2c247473410f39331e1c766aefef">60f3e51</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/a6563617de04d510d6e8865eb6c5067f10247f64">a656361</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/869a95b1e5f553c76243aac45619061407a41084">869a95b</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/2189e5beeca6a70e4c104dfdb9fb8200bc5f81fe"><code>2189e5b</code></a> chore: release protobufjs-v7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2174">#2174</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/75392ea1b78bdc4faba027b5db44ad7c50e9c454"><code>75392ea</code></a> fix: Backport input hardening and CLI fixes to 7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2173">#2173</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/8af8d7c0e9800879625f7d0d4a7fb51beb4410cd"><code>8af8d7c</code></a> chore(ci): Fix 7.x release please configuration (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2169">#2169</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/e92ca42244ad67203b48d836290062dae037ead6"><code>e92ca42</code></a> chore(ci): Enable release-please for 7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2166">#2166</a>)</li>
<li>See full diff in <a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.6">compare view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a href="https://www.npmjs.com/~GitHub%20Actions">GitHub Actions</a>, a new releaser for protobufjs since your current version.</p>
</details>
<br />
* build(deps): bump @protobufjs/utf8 (#9952)
Bumps [@protobufjs/utf8](https://github.com/dcodeIO/protobuf.js) from 1.1.0 to 1.1.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dcodeIO/protobuf.js/releases">@protobufjs/utf8's releases</a>.</em></p>
<blockquote>
<h2>protobufjs-cli: v1.1.1</h2>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-cli-v1.1.0...protobufjs-cli-v1.1.1">1.1.1</a> (2023-02-02)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>cli:</strong> fix relative path to Google pb files (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/1859">#1859</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/e42eea4868b11f4a07934804a56683321ed191e2">e42eea4</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/644d588c0495da6a570344248e1b5af901bc3b0c"><code>644d588</code></a> chore: release master (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1865">#1865</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/e42eea4868b11f4a07934804a56683321ed191e2"><code>e42eea4</code></a> fix(cli): fix relative path to Google pb files (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1859">#1859</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/dce9a2ef92d363752e40b295b0da9bd178f82e83"><code>dce9a2e</code></a> fix: use bundled filename to fix common pb includes (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1860">#1860</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/64e8936ad9f73c68b3fa1e57857dd38323b5a745"><code>64e8936</code></a> fix: use ES5 style function syntax (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1830">#1830</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/4489fa771464bcb49b57149760e9cc4131e8077e"><code>4489fa7</code></a> Revert "fix: error should be thrown (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1817">#1817</a>)" (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1864">#1864</a>)</li>
<li>See full diff in <a href="https://github.com/dcodeIO/protobuf.js/compare/protobufjs-cli-v1.1.0...protobufjs-cli-v1.1.1">compare view</a></li>
</ul>
</details>
<br />
* 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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump protobufjs from 7.5.5 to 7.5.8 (#9973)
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.5.5 to 7.5.8.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.5.8/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.8)
---
updated-dependencies:
- dependency-name: protobufjs
dependency-version: 7.5.8
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps-dev): bump protobufjs-cli from 1.1.3 to 1.2.1 (#9955)
Bumps [protobufjs-cli](https://github.com/protobufjs/protobuf.js) from 1.1.3 to 1.2.1.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-cli-v1.1.3...protobufjs-cli-v1.2.1)
---
updated-dependencies:
- dependency-name: protobufjs-cli
dependency-version: 1.2.1
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump protobufjs from 7.4.0 to 7.5.9 in /e2e/data-connect (#9977)
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.4.0 to 7.5.9.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.5.9/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.4.0...protobufjs-v7.5.9)
---
updated-dependencies:
- dependency-name: protobufjs
dependency-version: 7.5.9
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feature(firestore): added minimum and maximum FieldValue operations (#9913)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* fix(changelog-generator): fix postinstall build failure (#9948)
The fix has two parts:
1. Add `"types": ["node"]` to tsconfig.
2. Fix an incorrect type cast in `index.ts`. The parsed GitHub API response
was being cast to the DOM `Response` type to access its `.body` property,
which is wrong — `Response.body` is a `ReadableStream`, not a string. The
actual value is the parsed JSON from the GitHub PR API, whose `body` field
is `string | null` per the API schema. Updated the cast accordingly.
Resolves #9947
* Feat/messaging api series (#9917)
* fix(app-check): Fix getLimitedUseToken() (#9987)
* 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
* fix(firestore): improved robustness and logging in query listen stream creation and re-creation (#9985)
* 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 <zwu52@users.noreply.github.com>
* feat(ai)!: Add explicit `initializeDeviceModel()` method when using hybrid (#9800)
* feat(ai): Update tags to mark hybrid inference features as GA (#9926)
* Version Packages (#10004)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix(auth,app-check): Fix Auth/AppCheck ReCAPTCHA Enterprise conflict (#9991)
* 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
* chore: Add explicit types to tsconfig (#10015)
* Update CODEOWNERS for auth packages (#10001)
* feat(app-check,app): Add ability for App Check to initialize with a default provider (#10023)
* chore(ci): make all firestore integration tests optional (#10028)
* 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
* 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
* 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
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* 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
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update packages/firestore/src/lite-api/pipeline.ts
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* docs-devsite
---------
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* 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: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
* 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
* 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
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Fix test helper URL generation to match new querystring order
* Run yarn format
---------
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
Co-authored-by: Christina Holland <chholland@google.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Paul Beusterien <paulbeusterien@google.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Google Open Source Bot <firebase-oss-bot@google.com>
Co-authored-by: Stephen Rosa <84193009+stephenarosaj@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: DellaBitta <drsanta@google.com>
Co-authored-by: Kai Wu <zwu52@users.noreply.github.com>
Co-authored-by: macastelaz <34776182+macastelaz@users.noreply.github.com>
Co-authored-by: swseverance <swseverance@gmail.com>
Co-authored-by: Athira M <athiramanu9400@gmail.com>
Co-authored-by: Doris-Ge <dorisge@google.com>
Co-authored-by: wu-hui <53845758+wu-hui@users.noreply.github.com>
Co-authored-by: sedanah-m <mashhour@google.com>
commit 6868f5fdcb95dcc3cb55bad6f03e86cfeeaf97db
Author: Rebecca He <31138589+rebehe@users.noreply.github.com>
Date: Mon Jun 15 14:48:15 2026 -0400
Prefactor `AttributesStore` to more cleanly support span attributes (#10079)
commit 558ee841dbd889dd0d7812613a7e553687b80517
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Mon Jun 15 08:49:18 2026 -0400
Update crashlytics otel log attributes (#10062)
commit e6637173bc7e24630987b88ea9614a744509e9ae
Author: Rebecca He <31138589+rebehe@users.noreply.github.com>
Date: Fri Jun 12 14:16:50 2026 -0400
Migrate route path provider into `AttributesStore` (#10060)
commit 1e203bcb02c248567320b7efc28dabd9b4f81928
Author: Rebecca He <31138589+rebehe@users.noreply.github.com>
Date: Fri Jun 12 11:31:32 2026 -0400
Migrate all common/log attributes and logic into `AttributesStore` (#10053)
commit 5421eb9331f1fa8f9a188a3c3a6f3c577f069b50
Author: Rebecca He <31138589+rebehe@users.noreply.github.com>
Date: Fri Jun 12 09:34:45 2026 -0400
Migrate installation id provider logic into new `AttributeStore` (#10054)
commit 48f2deb81f97e51de31aacf9700a53e0af132ca7
Author: MaesterChestnut <40321652+MaesterChestnut@users.noreply.github.com>
Date: Thu Jun 4 11:26:46 2026 -0400
Crashlytics merge main (#10034)
commit 06423a1af4ff4017f76a8cd0d0f381f3c0bf1660
Author: Christina Holland <chholland@google.com>
Date: Tue May 26 17:44:58 2026 -0700
Update release workflows to use NPM publish token from Github secrets (#10006)
commit c9f1064327463e7a16e03fd0c420336fd99cee9b
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Tue May 26 20:42:09 2026 -0400
Add crashlytics as export in packages/firebase package.json (#10005)
commit 3dd4e65d9746cadbd7e846149f393883a602fcb9
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Tue May 26 18:26:20 2026 -0400
Add default telemetry endpoint for crashlytics (#10003)
commit 751dd8120f95ad1b6be215ff126eec5dfb6fd7df
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Thu May 21 08:43:42 2026 -0400
Merge branch "main" into crashlytics2 (#9989)
* feat(firestore): Added search stage support for languageCode, offset, limit, and retrievalDepth (#9884)
* feat(firestore): Added search stage support for languageCode, offset, limit, and retrievalDepth
* Create four-bottles-marry.md
* docgen
* PR feedback
* Update packages/firestore/src/lite-api/stage_options.ts
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
* Improve ref doc
* More search refDoc improvements
* Consistent capitalization of search within ref docs
* remove deleted rut file
* docs devsite
---------
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
* chore: Update picomatch and rollup-plugin-typescript2 (#9892)
* build(deps): bump picomatch from 2.3.1 to 2.3.2
Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)
---
updated-dependencies:
- dependency-name: picomatch
dependency-version: 2.3.2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* Upgrade picomatch and rollup-plugin-typescript2
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(ai): ImageConfig and FinishReasons (#9819)
* fix(firestore): Assertion ID: ca9 (pendingResponses less than 0) caused by target creation race condition (#9842)
* implement remote store target mapping
* Add spec test for removeTarget race condition
* cleanup
* Update packages/firestore/src/remote/remote_store.ts
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* cleanup
* Create loud-camels-cross.md
* Fix PR concerns and new tests
* Cleanup possible leak in watchChangeAggregator
* fix build issue with spec tests
* Fix integration test failure when running against public api
* another build fix
* Update spec test builder and runner to allow the spec test to specify the index of a target ID used for a query for some watch message types
* lint
* add Remote and SDK TargetID types
* Fix tests for SDK and Remote TargetId types
* refactor spec test to add step watchUsesTargetIndex and remove steps where the target index is passed to individual steps
* Remove unnecessary values passed to watchRemoves
* Removed unused helpers
---------
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* build(deps): bump axios from 1.13.5 to 1.15.2 (#9860)
Bumps [axios](https://github.com/axios/axios) from 1.13.5 to 1.15.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.5...v1.15.2)
---
updated-dependencies:
- dependency-name: axios
dependency-version: 1.15.1
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore: migrate test functions to v2 (#9910)
* feat(data-connect): add de-duplication, resume, and intelligent reconnection with backoff (#9905)
* chore(data-connect): update documentation and names in stream transport (#9846)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* feat(data-connect): add query de-duplication to stream transport (#9850)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* add de-duping - now for tests
* add de-duplication tests for invokeQuery
* finish invoke operation dedupe tests
* add subscribe de-duping as well
* add more query dedupe tests
* chore(data-connect): clean up streaming tests a bit (#9851)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* add de-duping - now for tests
* add de-duplication tests for invokeQuery
* finish invoke operation dedupe tests
* add subscribe de-duping as well
* add more query dedupe tests
* clean up stream tests
* clean up promise types in streaming tests
* Pasta/bucatini resume refactor (#9885)
* add test changes
* add transportchanges
* finalize changes, run yarn format
* finalize changes based on reviewer feedback
* feat(data-connect): add prefer resume over execute optimization to stream transport (#9879)
* initial implementation - now for testing
* finish tests
* merge pasta/bucatini-resume-refactor
* address reviewer comments
* remove old comments
* address reviewer comments
* feat(data-connect): add intelligent reconnection to streaming transport and harden disconnect/cleanup functionality (#9893)
* WIP
* first pass
* fixing names
* tidying up, fixing tests
* fixed tests
* address reviewer comments
* address reviewer comments and harden close/cleanup lifecycle
* address reviewer comments
* make listener registering and unregistering more robust
* merge main, add changeset
* chore: fix e2e tests for functions and AI (#9924)
* Version Packages (#9923)
Release v12.13.0
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix(messaging): wire Firelog delivery metrics flush (startLoggingService) (#9916)
* fix(data-connect): Reduce Stream Transport Idle Timeout to Instant (#9936)
* reduce idle cooldown to instant
* run yarn format and add changeset
* update changelog
* fix(ai): Fix sendMessageStream bug that sends duplicate user turns (#9956)
* build(deps): bump protobufjs from 7.5.5 to 7.5.8 in /e2e/smoke-tests (#9958)
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.5.5 to 7.5.8.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.5.8/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.8)
---
updated-dependencies:
- dependency-name: protobufjs
dependency-version: 7.5.8
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* test(firestore): skip database source test that is timing out (#9966)
* test(firestore): skip database source test that is timing out
The test database keeps growing, causing this tests executionn time to
keep growing, repeatedly exceeding new timeouts we set. For now, let's
just skip this test.
* add eslint disable
* fix(auth): retry IndexedDB availability check on startup failure (#9845)
* fix(auth): retry IndexedDB availability check on startup failure
In environments like Chrome Extension Manifest V3 Service Workers, the initial IndexedDB transaction upon a cold start can sometimes drop or timeout. Previously, `_isAvailable()` would immediately catch the error, assume IndexedDB is broken, and silently fall back to `inMemoryPersistence`.
This updates `_isAvailable()` to use the `_withRetries()` helper, ensuring it benefits from the same retry logic as actual storage operations. This prevents the SDK from incorrectly abandoning existing IndexedDB auth state.
Fixes #9732
* style(auth): run yarn format
* chore: add changeset for IndexedDB availability check retry
* fix(auth): robust IndexedDB connection handling and test stability
* build(deps-dev): bump protobufjs in /packages/firestore (#9960)
Merge rules bypassed due to errant format diff.
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.5.5 to 7.5.6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/protobufjs/protobuf.js/releases">protobufjs's releases</a>.</em></p>
<blockquote>
<h2>protobufjs: v7.5.6</h2>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.6">7.5.6</a> (2026-04-27)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>Backport input hardening and CLI fixes to 7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2173">#2173</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/75392ea1b78bdc4faba027b5db44ad7c50e9c454">75392ea</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.5.6/CHANGELOG.md">protobufjs's changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.6">7.5.6</a> (2026-04-27)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>Backport input hardening and CLI fixes to 7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2173">#2173</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/75392ea1b78bdc4faba027b5db44ad7c50e9c454">75392ea</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.3...protobufjs-v7.5.4">7.5.4</a> (2025-08-15)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>invalid syntax in descriptor.proto (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2092">#2092</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/5a3769a465fead089a533ad55c21d069299df760">5a3769a</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.2...protobufjs-v7.5.3">7.5.3</a> (2025-05-28)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>descriptor extensions handling post-editions (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2075">#2075</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/6e255d4ad6982cc857f26e1731c2cedcf5796f68">6e255d4</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.1...protobufjs-v7.5.2">7.5.2</a> (2025-05-14)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>ensure that types are always resolved (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2068">#2068</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/4b51cb2b8450b77f9f5de1c562e7fae93b19d040">4b51cb2</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.0...protobufjs-v7.5.1">7.5.1</a> (2025-05-08)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>optimize regressions from editions implementations (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2066">#2066</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/6406d4c18afae309fc7b5f4a24d9674d85da180b">6406d4c</a>)</li>
<li>reserved field inside group blocks fail parsing (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2058">#2058</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/56782bff0c4b5132806eb1a6bc4d08f930c4aaad">56782bf</a>)</li>
</ul>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.4.0...protobufjs-v7.5.0">7.5.0</a> (2025-04-15)</h2>
<h3>Features</h3>
<ul>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/f04ded3a03a3ddd383f0228e2fe2627a51f31aa3">f04ded3</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/ac9a3b9fe3134d48187e41b08d54ffaceddc6c1b">ac9a3b9</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/e5ca5c84e326699e10258367883a54934e0bfe14">e5ca5c8</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/a84409b47f9ba0dba56da1af8054fb54f85d85a1">a84409b</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/9c5a178c4b59e0aa65ecac0bd7420171213b2ff9">9c5a178</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/b2c686721e3b63d092419fa1cbe58e1deb89534e">b2c6867</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/60f3e51087ca2c247473410f39331e1c766aefef">60f3e51</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/a6563617de04d510d6e8865eb6c5067f10247f64">a656361</a>)</li>
<li>add Edition 2023 Support (<a href="https://github.com/protobufjs/protobuf.js/commit/869a95b1e5f553c76243aac45619061407a41084">869a95b</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/2189e5beeca6a70e4c104dfdb9fb8200bc5f81fe"><code>2189e5b</code></a> chore: release protobufjs-v7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2174">#2174</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/75392ea1b78bdc4faba027b5db44ad7c50e9c454"><code>75392ea</code></a> fix: Backport input hardening and CLI fixes to 7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2173">#2173</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/8af8d7c0e9800879625f7d0d4a7fb51beb4410cd"><code>8af8d7c</code></a> chore(ci): Fix 7.x release please configuration (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2169">#2169</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/e92ca42244ad67203b48d836290062dae037ead6"><code>e92ca42</code></a> chore(ci): Enable release-please for 7.x (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/2166">#2166</a>)</li>
<li>See full diff in <a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.6">compare view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a href="https://www.npmjs.com/~GitHub%20Actions">GitHub Actions</a>, a new releaser for protobufjs since your current version.</p>
</details>
<br />
* build(deps): bump @protobufjs/utf8 (#9952)
Bumps [@protobufjs/utf8](https://github.com/dcodeIO/protobuf.js) from 1.1.0 to 1.1.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dcodeIO/protobuf.js/releases">@protobufjs/utf8's releases</a>.</em></p>
<blockquote>
<h2>protobufjs-cli: v1.1.1</h2>
<h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-cli-v1.1.0...protobufjs-cli-v1.1.1">1.1.1</a> (2023-02-02)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>cli:</strong> fix relative path to Google pb files (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/1859">#1859</a>) (<a href="https://github.com/protobufjs/protobuf.js/commit/e42eea4868b11f4a07934804a56683321ed191e2">e42eea4</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/644d588c0495da6a570344248e1b5af901bc3b0c"><code>644d588</code></a> chore: release master (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1865">#1865</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/e42eea4868b11f4a07934804a56683321ed191e2"><code>e42eea4</code></a> fix(cli): fix relative path to Google pb files (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1859">#1859</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/dce9a2ef92d363752e40b295b0da9bd178f82e83"><code>dce9a2e</code></a> fix: use bundled filename to fix common pb includes (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1860">#1860</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/64e8936ad9f73c68b3fa1e57857dd38323b5a745"><code>64e8936</code></a> fix: use ES5 style function syntax (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1830">#1830</a>)</li>
<li><a href="https://github.com/protobufjs/protobuf.js/commit/4489fa771464bcb49b57149760e9cc4131e8077e"><code>4489fa7</code></a> Revert "fix: error should be thrown (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1817">#1817</a>)" (<a href="https://redirect.github.com/dcodeIO/protobuf.js/issues/1864">#1864</a>)</li>
<li>See full diff in <a href="https://github.com/dcodeIO/protobuf.js/compare/protobufjs-cli-v1.1.0...protobufjs-cli-v1.1.1">compare view</a></li>
</ul>
</details>
<br />
* 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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump protobufjs from 7.5.5 to 7.5.8 (#9973)
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.5.5 to 7.5.8.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.5.8/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.5...protobufjs-v7.5.8)
---
updated-dependencies:
- dependency-name: protobufjs
dependency-version: 7.5.8
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps-dev): bump protobufjs-cli from 1.1.3 to 1.2.1 (#9955)
Bumps [protobufjs-cli](https://github.com/protobufjs/protobuf.js) from 1.1.3 to 1.2.1.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-cli-v1.1.3...protobufjs-cli-v1.2.1)
---
updated-dependencies:
- dependency-name: protobufjs-cli
dependency-version: 1.2.1
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump protobufjs from 7.4.0 to 7.5.9 in /e2e/data-connect (#9977)
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.4.0 to 7.5.9.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.5.9/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.4.0...protobufjs-v7.5.9)
---
updated-dependencies:
- dependency-name: protobufjs
dependency-version: 7.5.9
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feature(firestore): added minimum and maximum FieldValue operations (#9913)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* fix(changelog-generator): fix postinstall build failure (#9948)
The fix has two parts:
1. Add `"types": ["node"]` to tsconfig.
2. Fix an incorrect type cast in `index.ts`. The parsed GitHub API response
was being cast to the DOM `Response` type to access its `.body` property,
which is wrong — `Response.body` is a `ReadableStream`, not a string. The
actual value is the parsed JSON from the GitHub PR API, whose `body` field
is `string | null` per the API schema. Updated the cast accordingly.
Resolves #9947
* Feat/messaging api series (#9917)
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
Co-authored-by: Christina Holland <chholland@google.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Paul Beusterien <paulbeusterien@google.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Google Open Source Bot <firebase-oss-bot@google.com>
Co-authored-by: Stephen Rosa <84193009+stephenarosaj@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: DellaBitta <drsanta@google.com>
Co-authored-by: Kai Wu <zwu52@users.noreply.github.com>
Co-authored-by: macastelaz <34776182+macastelaz@users.noreply.github.com>
Co-authored-by: swseverance <swseverance@gmail.com>
commit c71db890acf551cbd843ae8d148b0b3952f6c39f
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Wed May 20 22:57:01 2026 -0400
Unify react router error boundaries and prevent duplicate logs (#9975)
* Unify react router error boundaries and prevent duplicate logs
* Fix tests
commit d3c3e0e768f0170c0af615e568367b445f9e7352
Author: Sai Sakhamuri <ssakhamu@google.com>
Date: Fri May 15 13:29:14 2026 -0400
refactoring common log attributes retrieval (#9967)
* refactoring common log attributes retrieval
* adding trace info as common attributes, refactoring options variable and startNewSession
* yarn format
commit 98a08233c6cc3c4597453cdcb1e07ad06724ca2a
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Tue May 12 14:39:06 2026 -0400
Update custom log attributes to align with OTel (#9953)
commit 6d3aed80851ef56facd46b2824b66bbfd95d89ae
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Tue May 12 11:22:14 2026 -0400
Merge branch "main" into crashlytics2 (#9941)
* feat(firestore): Added search stage support for languageCode, offset, limit, and retrievalDepth (#9884)
* feat(firestore): Added search stage support for languageCode, offset, limit, and retrievalDepth
* Create four-bottles-marry.md
* docgen
* PR feedback
* Update packages/firestore/src/lite-api/stage_options.ts
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
* Improve ref doc
* More search refDoc improvements
* Consistent capitalization of search within ref docs
* remove deleted rut file
* docs devsite
---------
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
* chore: Update picomatch and rollup-plugin-typescript2 (#9892)
* build(deps): bump picomatch from 2.3.1 to 2.3.2
Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)
---
updated-dependencies:
- dependency-name: picomatch
dependency-version: 2.3.2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* Upgrade picomatch and rollup-plugin-typescript2
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(ai): ImageConfig and FinishReasons (#9819)
* fix(firestore): Assertion ID: ca9 (pendingResponses less than 0) caused by target creation race condition (#9842)
* implement remote store target mapping
* Add spec test for removeTarget race condition
* cleanup
* Update packages/firestore/src/remote/remote_store.ts
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* cleanup
* Create loud-camels-cross.md
* Fix PR concerns and new tests
* Cleanup possible leak in watchChangeAggregator
* fix build issue with spec tests
* Fix integration test failure when running against public api
* another build fix
* Update spec test builder and runner to allow the spec test to specify the index of a target ID used for a query for some watch message types
* lint
* add Remote and SDK TargetID types
* Fix tests for SDK and Remote TargetId types
* refactor spec test to add step watchUsesTargetIndex and remove steps where the target index is passed to individual steps
* Remove unnecessary values passed to watchRemoves
* Removed unused helpers
---------
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* build(deps): bump axios from 1.13.5 to 1.15.2 (#9860)
Bumps [axios](https://github.com/axios/axios) from 1.13.5 to 1.15.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.5...v1.15.2)
---
updated-dependencies:
- dependency-name: axios
dependency-version: 1.15.1
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore: migrate test functions to v2 (#9910)
* feat(data-connect): add de-duplication, resume, and intelligent reconnection with backoff (#9905)
* chore(data-connect): update documentation and names in stream transport (#9846)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* feat(data-connect): add query de-duplication to stream transport (#9850)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* add de-duping - now for tests
* add de-duplication tests for invokeQuery
* finish invoke operation dedupe tests
* add subscribe de-duping as well
* add more query dedupe tests
* chore(data-connect): clean up streaming tests a bit (#9851)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* add de-duping - now for tests
* add de-duplication tests for invokeQuery
* finish invoke operation dedupe tests
* add subscribe de-duping as well
* add more query dedupe tests
* clean up stream tests
* clean up promise types in streaming tests
* Pasta/bucatini resume refactor (#9885)
* add test changes
* add transportchanges
* finalize changes, run yarn format
* finalize changes based on reviewer feedback
* feat(data-connect): add prefer resume over execute optimization to stream transport (#9879)
* initial implementation - now for testing
* finish tests
* merge pasta/bucatini-resume-refactor
* address reviewer comments
* remove old comments
* address reviewer comments
* feat(data-connect): add intelligent reconnection to streaming transport and harden disconnect/cleanup functionality (#9893)
* WIP
* first pass
* fixing names
* tidying up, fixing tests
* fixed tests
* address reviewer comments
* address reviewer comments and harden close/cleanup lifecycle
* address reviewer comments
* make listener registering and unregistering more robust
* merge main, add changeset
* chore: fix e2e tests for functions and AI (#9924)
* Version Packages (#9923)
Release v12.13.0
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix(messaging): wire Firelog delivery metrics flush (startLoggingService) (#9916)
* fix(data-connect): Reduce Stream Transport Idle Timeout to Instant (#9936)
* reduce idle cooldown to instant
* run yarn format and add changeset
* update changelog
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
Co-authored-by: Christina Holland <chholland@google.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Paul Beusterien <paulbeusterien@google.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Google Open Source Bot <firebase-oss-bot@google.com>
Co-authored-by: Stephen Rosa <84193009+stephenarosaj@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: DellaBitta <drsanta@google.com>
Co-authored-by: Kai Wu <zwu52@users.noreply.github.com>
commit f1ce91f6fd815e0a81e21648afd1797f21aef2b6
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Tue May 12 10:25:18 2026 -0400
Add crashlytics to packages/firebase/package.json (#9946)
commit 95e5307dd57ab56465a915b0c7dd4760cb087d29
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Thu May 7 16:57:12 2026 -0400
Add crashlytics option for specifying cloud region (#9933)
commit f6902a26c18cbec5c0f1eb1ba216180f91cee98a
Author: Anthony Barone <tonybaroneee@gmail.com>
Date: Thu May 7 16:35:04 2026 -0400
Merge branch "main" into crashlytics2 (#9932)
* feat(firestore): Added search stage support for languageCode, offset, limit, and retrievalDepth (#9884)
* feat(firestore): Added search stage support for languageCode, offset, limit, and retrievalDepth
* Create four-bottles-marry.md
* docgen
* PR feedback
* Update packages/firestore/src/lite-api/stage_options.ts
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
* Improve ref doc
* More search refDoc improvements
* Consistent capitalization of search within ref docs
* remove deleted rut file
* docs devsite
---------
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
* chore: Update picomatch and rollup-plugin-typescript2 (#9892)
* build(deps): bump picomatch from 2.3.1 to 2.3.2
Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)
---
updated-dependencies:
- dependency-name: picomatch
dependency-version: 2.3.2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* Upgrade picomatch and rollup-plugin-typescript2
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(ai): ImageConfig and FinishReasons (#9819)
* fix(firestore): Assertion ID: ca9 (pendingResponses less than 0) caused by target creation race condition (#9842)
* implement remote store target mapping
* Add spec test for removeTarget race condition
* cleanup
* Update packages/firestore/src/remote/remote_store.ts
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* cleanup
* Create loud-camels-cross.md
* Fix PR concerns and new tests
* Cleanup possible leak in watchChangeAggregator
* fix build issue with spec tests
* Fix integration test failure when running against public api
* another build fix
* Update spec test builder and runner to allow the spec test to specify the index of a target ID used for a query for some watch message types
* lint
* add Remote and SDK TargetID types
* Fix tests for SDK and Remote TargetId types
* refactor spec test to add step watchUsesTargetIndex and remove steps where the target index is passed to individual steps
* Remove unnecessary values passed to watchRemoves
* Removed unused helpers
---------
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* build(deps): bump axios from 1.13.5 to 1.15.2 (#9860)
Bumps [axios](https://github.com/axios/axios) from 1.13.5 to 1.15.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.5...v1.15.2)
---
updated-dependencies:
- dependency-name: axios
dependency-version: 1.15.1
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore: migrate test functions to v2 (#9910)
* feat(data-connect): add de-duplication, resume, and intelligent reconnection with backoff (#9905)
* chore(data-connect): update documentation and names in stream transport (#9846)
* rename in preparation for future changes
* finish renaming + updating comments
* minor typo fix
* feat(data-conn…
A clone of implement onSubChange for FID-based registration with some fixes