-
Notifications
You must be signed in to change notification settings - Fork 989
feat/pipelines to main #9356
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
MarkDuckworth
wants to merge
116
commits into
main
Choose a base branch
from
feat/pipelines
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
feat/pipelines to main #9356
+29,845
−1,179
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…dk into markduckworth/ppl
…dk into markduckworth/ppl
…ase-js-sdk into markduckworth/ppl-augment
…ase-js-sdk into markduckworth/ppl-augment
…js-sdk into feat/pipelines
…oint to an internal build. This fixes issues with type mismatch between Pipelines and classic Firestore in the integration tests CI step.
…tegration/firestore tests, so that internal APIs are still available for the compat build
commit 5a760b4244142c83d6f036ecf1170d2e164eba74
Author: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Date: Fri Nov 14 11:42:48 2025 -0700
add missing copyright header
commit a4685f6910f9cd77fff5b5324f0138e818052d10
Author: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Date: Fri Nov 14 11:36:51 2025 -0700
fixed regex in rollup plugin
commit 299f614f114ad861ff22ecf8d1de3a13772a00f7
Merge: 6d7628042 f817c54d5
Author: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Date: Fri Nov 14 11:15:29 2025 -0700
Merge branch 'feat/pipelines' into markduckworth/g3-import-firestore-globals. Gets release 12.6.0 from main.
commit 6d7628042e48b35c662b5e64bcc2db880b910934
Author: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Date: Fri Nov 14 11:11:19 2025 -0700
Exporting proto types that are access directly by the console.
commit 2a895baaa1a42d9988ab68b0b024ac1daaf20f52
Author: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Date: Thu Nov 13 16:46:05 2025 -0700
Refactoring rollup plugin to extract the contents of the database module declaration in global_index.d.ts. This is responding to feedback from the peer review about location and documentation of this plugin
commit 20c7bdbe396accbcbe8cb4804f081c7149474801
Merge: 3f8d12ee3 f4c72a781
Author: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Date: Mon Nov 10 14:53:07 2025 -0700
Merge branch 'feat/pipelines' into markduckworth/g3-import-firestore-globals
commit 3f8d12ee30b1373de51175e6ebbee05ef430aefc
Author: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Date: Wed Oct 29 10:47:25 2025 -0600
fixes
commit 56239231c4817ff6e9e3ea856ab70afce400ff69
Merge: 637027a56 0aca73595
Author: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Date: Wed Oct 29 10:14:14 2025 -0600
Merge branch 'feat/pipelines' into markduckworth/g3-import-firestore-globals
commit 637027a56bc8dfe96a036fe654bdcf170589f03d
Author: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Date: Mon Oct 20 12:43:37 2025 -0600
Rename grpc_connection.node.test.ts, so the file is filtered from browser unit testing.
commit 6251400adacb24c069686cf489d1522726d74451
Author: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Date: Mon Oct 20 09:50:55 2025 -0600
send api key to DBE requests (#9331)
commit 81698f971a711e2c900f185d4bdc4b35d2be5de9
Author: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Date: Fri Oct 17 15:43:00 2025 -0600
Add support for index.cdn.ts files in packages/firebase. Then added a cdn.ts to packages/firebase/firestore/pipelines
commit 54a17c61c08ddc9f690b475460b30f3b4f780b8a
Author: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Date: Fri Oct 17 10:34:11 2025 -0600
Fix binary size script
commit cdfc931d2167e698ba52486a209470a3c6752be1
Author: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Date: Fri Oct 17 09:44:11 2025 -0600
Fixing missing paths in package.json
commit a78b76125f3f4e9d8feac36b7f7297eadce0d161
Author: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Date: Thu Oct 16 16:17:52 2025 -0600
Fix regression in _internalPipelineToExecutePipelineRequestProto
commit 31535d932d42c0de5ba2fc907e9421a271447eb1
Author: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Date: Thu Oct 16 14:49:15 2025 -0600
Updated CDN bundles so that firebase-firestore.js is not modified, but firebase-firestore-pipelines.js contains both classic and pipelines APIs.
commit d7052089797528490322137b7f7c212a7afe5e58
Author: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Date: Thu Oct 16 13:58:56 2025 -0600
Update CDN and g3 builds of Firestore to include Pipelines in the firebase-firestore.js file
commit 5fb6ebec45b0452b451eb832ffa09514c7fb3875
Author: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Date: Wed Oct 15 16:59:48 2025 -0600
Custom replacer plugin to remove declare module block from global.d.ts
commit d175049cf0973844c7408cded44bf99ec4e4608e
Author: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Date: Wed Oct 15 14:10:38 2025 -0600
Update global.ts
commit a11ea79f30c9a35023ff226371e1b2bb26d44725
Author: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Date: Wed Oct 15 12:32:56 2025 -0600
dist/firestore/src/global_index.d.ts now includes pipelines in namespace 'pipelines'
commit 90fed2f3ad102f438696685b935de645f8f98ade
Author: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Date: Fri Oct 10 12:54:30 2025 -0600
feat/pipeline to the console branch (#9312)
feat/pipeline to the console branch
commit 8e69956f0a0b783ba7b5aa8fc4246a66b97b46a8
Author: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Date: Fri Oct 10 08:13:03 2025 -0600
Markduckworth/main to console 3 (#9311)
* Add FDC Integration Tests (#8703)
* Upgrade two more `download-artifact` v3 actions to v4 in Firestore workflow (#8706)
There were a pair of `download-artifact` GitHub actions that were still set to `v3` instead of `v4`. The `v3` actions were unable to find the build archive in the test-changed-firestore workflow. This PR upgrades those to `v4` actions.
* Version Packages (#8705) v11.2.0
Release v11.2.0
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* chore(deps): replace dependency npm-run-all with npm-run-all2 5.0.0 (#8112)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Add App Check token to FirebaseServerApp (#8651)
FirebaseServerApp now accepts an optional App Check token at initialization. The product SDKs will look for this token, and if it's present, the SDKs will use this value in lieu of calling getToken on App Check.
This change affects the following SDKs: Auth, Cloud Functions, Data Connect, Firestore, Realtime Database, Vertex AI
* Update rollup-plugin-terser dep (#8709)
* chore(deps): update actions/github-script action to v7 (#8711)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Fireperf web vitals (#8644)
* Add support for capturing web vitals metrics in Firebase performance for Web (Largest Contentful Paint, Interaction to Next Paint, Cumulative Layout Shift)
* Modifies export to use sendBeacon instead of fetch API, and shifts the upload time to the first time the page is hidden or unloaded.
* Update a lot of dependencies (#8716)
* chore(config): migrate config renovate.json (#8723)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update actions/setup-node action to v4 (#8712)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency firebase-tools to v13 [security] (#8607)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Have renovate ignore karma-webpack (#8725)
* Workflow CI: Update CHROME_VALIDATED_VERSION for Auth tests (#8722)
Update our CI's logged `CHROME_VALIDATED_VERSION` to the currently tested version. We haven't updated it in a while.
Keeping this up to date should reduce support burden later.
* chore(deps): update dependency @rollup/plugin-json to v6 (#8727)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Update dev dependency firebase-tools
13.6.0 -> 13.29.2
* Discard earliest heartbeat once there are 30 heartbeats (#8724)
* Delete earliest heartbeats only once there are 30 heartbeats
* Add changeset
* Use max heartbeat const in tests
* Fix test name in all caps
* Fix test names
* Formatting
* Fix negative offset of reconnect delay (#8718) (#8719)
RTDB Fix negative offset of reconnect delay. Fixes #8718.
* Swap Performance's owner from jposuna to visumickey (#8737)
* Give `check-version` job pull request write permissions (#8743)
* Add pull_request write permissions
* fix typo
* Skip flaky auth recaptcha test (#8753)
* Update dependencies in packages and repo-scripts (#8729)
* Add ActionCodeSettings.linkDomain and deprecate ActionCodeSettings.dynamicLinkDomain (#8738)
* Add linkDomain field to ActionCodeSettings (#8428)
* Add linkDomain field to ActionCodeSettings
* Update API reports
* Update error message for ERROR_INVALID_HOSTING_LINK_DOMAIN to include that default hosting domains cannot be used.
* Use constants for test values
---------
Co-authored-by: NhienLam <NhienLam@users.noreply.github.com>
* FDL Deprecation & Hosting link Integration Test (#8603)
* Implement Integration test for passwordless email sign-in via firebase-hosting links.
* Add license to new test file created' did not match any files
* Remove unwanted _
* Add support for setting custom hosting link domain in test app (#8614)
* Add afterEach method and apply formatting to the hosting links integration test (#8615)
* Mark ActionCodeSettings.dynamicLinkDomain as deprecated
* Add changeset
* Update API reports
* Address review comments
* Fix changeset
* Update refdocs and address review comments
* Update deprecated comment
* Add FDL deprecation FAQ link
* Fix linkDomain link in refdocs
---------
Co-authored-by: NhienLam <NhienLam@users.noreply.github.com>
Co-authored-by: mansisampat <sammansi@google.com>
* FIX: sort strings in UTF-8 encoded byte order (#8691)
* Added more granular tracking for web frameworks
* fix "TextEncoder undefined" issue in some platforms (#8765)
* Version Packages (#8766)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Adds a "firebase" changeset to release PR as needed (#8770)
* Use Node's `TextEncoder` in E2E JSDOM Environment (#8783)
* Update Firebase index.d.ts type definition file reference (#8543)
Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
* Revert the UTF-8 encoding in string sorting (#8782)
* Version Packages (#8786)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Emulator Idempotency: Firestore (#8780)
Update `connectFirestoreEmulator` to support its invocation more than once. If the Firestore instance is already in use, and `connectFirestoreEmulator` is invoked with the same configuration, then the invocation will now succeed instead of assert.
The implementation takes the Data Connect implementation as inspiration. Data Connect stores the parameters passed to `connectDataConnectEmulator` on the instance of Data Connect itself, so that they can be quickly checked to see if subsequent invocations match. This PR implements a similar storage and compare process with the optional `emulatorOptions` parameter (host and port are already stored).
This PR unlocks support for SSR frameworks which render the page numerous times with the same instances of Firestore. Before this PR customers were required to guard against calling `connectFirestoreEmulator` in their SSR logic, which added to code complexity. Now the Firebase SDK does that guarding logic so that our users' apps don't have to.
* Emulator Idempotency: Database (#8769)
Update the `connectDatabaseEmulator` function to support its invocation more than once. If the Database instance is already in use, and `connectDatabaseEmulator` is invoked with the same configuration, then the invocation will now succeed instead of assert.
This unlocks support for web frameworks which may render the page numerous times with the same instances of RTDB. Before this PR customers needed to add extra code to guard against calling `connectDatabaseEmulator` in their SSR logic. Now we do that guarding logic on their behalf which should simplify our customer's apps.
Fixes #6824.
* SSR related improvements for RC client SDK. (#8699)
SSR related improvements for RC client SDK.
* Exposes an initialFetchResponse arg that pre-hydrates the client SDK state
* Adds an argument that allows setting an alternate template ID to fetch from
* Splits storage impls into a simple in-memory version that can be run in SSR contexts
* Adds some basic tests for the API functions, which were previously untested
* Emulator Idempotency: Auth (#8750)
Update the `connectAuthEmulator` function to support its invocation more than once. If the Auth instance is already in use, and `connectAuthEmulator` is invoked with the same configuration, then the invocation will now succeed instead of assert.
This unlocks support for web frameworks which may render the page numerous times with the same instances of auth. Before this PR customers needed to add extra code to guard against calling `connectAuthEmulator` in their SSR logic. Now we do that guarding logic on their behalf which should simplify our customer's apps.
Fixes #6824.
* Upgrade dependencies (#8781)
* first batch
* @rollup/plugin-node-resolve 13 -> 16
* Publish VertexAI API's tagged with `@beta` (#8788)
* Filter empty text parts when streaming (#8736)
* Filter empty text parts when streaming
* Add changeset
* Remove unused filterEmptyTextParts()
* Move logic into a function
* final
* dont throw if mock response file isn't found
* update responses version to 6
* Only ignore empty text parts in the aggregated response.
* review fixes
* Throw in `aggregateResponses` if `newPart` has no properties
* Change API Documenter (BETA) annotation to (Public Preview) (#8789)
* Change (BETA) annotation to (Public Preview)
* format
* Minor bump
* Create VertexAI Node CJS and ESM bundles (#8728)
* Create Node CJS and ESM bundles
* Add changeset
* Run formatter
* register version with node
* Catch errors in debug token exchange logic (#8792)
* Throw error if mock response file not found (#8739)
* Fix vectorvalue docs (#8453)
* Fix vectorvalue docs
* Use @link vector
* Fix vector link with code tag
* Re-enable auth redirect tests (#8803)
* Re-enable redirect tests
* Fix lint
* Add Image Generation support using Imagen (#8683)
* WIP
* Introduce VertexAIModel base class, add documentation, and respond to other comments
* Generate devsite docs
* revert dataconnect change
* formatting
* WIP
* Introduce VertexAIModel base class, add documentation, and respond to other comments
* Generate devsite docs
* revert dataconnect change
* formatting
* Fix ImagenRequestConfig comment
* Improve tests
* Formatting
* Add ImagenGenerationResponse
* Formatting
* Update to match API changes
* fixes
* format
* Update API reports
* add changeset
* update
* format
* Update API reports
* remove public docs
* Nest imageFormat in outputOptions
* remove unecessary console.log
* Log warning if compressionQuality outside of range
* format
* Imagen Documentation (#8776)
* Revert "remove public docs"
This reverts commit f0955630d319b05fd85af39bb8d149caf11481d5.
* update docs
* update docs
* format
* minor fixes
* format
* mark all APIs beta instead of public
* review fixes
* format
* Replace (BETA) with (Public Preview) in docs
* fix links
* another pass
* format
* review fixes
* Cleanup
* update changeset
---------
Co-authored-by: dlarocque <dlarocque@users.noreply.github.com>
* Add support for token-based usage metrics. (#8757)
* Add support for token-based usage metrics.
Token measurement is broken down by modaliy, with separate counters for image, audio, etc.
Tests are in version 6.*, so this change also includes bumping update_responses.sh
* Use right name for unspecified enum
* Update API reports
* Make promptTokensDetails an array
* Update API reports
* Add missing documentation
* Add changeset entry
* Fix formatting errors
* Update API reports
* Add missing refdoc
* Update API reports
* Use correct formatting for Modality documentation.
* Update API reports
* Update docs
* Update packages/vertexai/src/types/enums.ts
Co-authored-by: rachelsaunders <52258509+rachelsaunders@users.noreply.github.com>
* Update md files
* Revert changes to api-extractor.json
---------
Co-authored-by: rachelsaunders <52258509+rachelsaunders@users.noreply.github.com>
* Add Vertex and DataConnect E2E smoke tests (#8805)
* Update dev script dependency @changesets/types to v6 (#8806)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Bump cross-spawn from 7.0.3 to 7.0.6 in /e2e (#8645)
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)
---
updated-dependencies:
- dependency-name: cross-spawn
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Revert "Bump cross-spawn from 7.0.3 to 7.0.6 in /e2e (#8645)" (#8811)
This reverts commit 117279e2759cde3e1ac028794fabf948d304d795.
* App Hosting JS SDK autoinit (#8483)
Adds a `postinstall` step to `@firebase/util` which hardcodes autoinit defaults into `@firebase/util/dist/postinstall.(m)js` for both CJS and ESM variants [go/firestack-autoinit](http://goto.google.com/firestack-autoinit).
Hardcoding is important since environment variable substitution doesn't dive into a developer's `node_modules` folder. This gives us a framework agnostic way to inject configuration and is a more robust solution than the _experimental_ autoinit methods provided by Web Frameworks [go/firebase-api-client-autoinit](https://goto.google.com/firebase-api-client-autoinit). Once this lands, we'll backport to Hosting and Functions and aim to deprecate the other autoinit methods.
* Added non-null properties to database.ThenableReference (#8800)
* Version Packages (#8794)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* DataConnect: Update requests to point to v1 backend endpoints instead of v1beta (#8820)
* update API requests to point to v1 instead of v1beta
* update changelog
* Remove auto-commit API report workflow (#8808)
* Add missing `BlockReason` and `FinishReason` enum values (#8741)
* Convert enum comments to JSDoc comments (#8742)
* Add `systemInstruction`, `tools`, and `generationConfig` to `CountTokensRequest` (#8827)
* Update yarn.lock in e2e (#8831)
* Fix transport service retry logic condition (Fixes #8813) (#8814)
Modify the retry mechanism to stop when remaining tries is less than or equal to zero, improving the robustness of the retry handling.
Fixes #8813
* Give `check-changeset` job pull request write permissions (#8833)
* Fix: sort strings in UTF-8 encoded byte order with lazy encoding (#8787)
* fix golden files test (#8843)
* fix golden files test
* update responses version
---------
Co-authored-by: David Motsonashvili <davidmotson@google.com>
* Surface all App Check errors in public getToken() method (#8842)
* Grant Create PR workflow pull-request write perms. (#8846)
Our staging release workflow failed to create a Version Packages PR. Grant the PR creation workflow `pull-request` `write` permissions.
* Grant Create PR content write permissions. (#8848)
Our staging release workflow failed to merge branch. Grant the PR creation workflow `content` `write` permissions to fix this.
* Version Packages (#8849) - v11.5.0
Release version 11.5.0.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Deprecate `GroundingAttribution` (#8832)
* Stream full logs of test-all firestore job (#8851)
* Set github actions to use commit hashes (#8852)
* Implement Partial Errors for FDC (#8821)
* Add `X-Firebase-AppId` header to VertexAI requests (#8809)
* Update dependency webpack to v5.94.0 [SECURITY] (#8734)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Update dependency express to v4.20.0 [SECURITY] (#8759)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* karma.base.js: replace "BROWSER" with "BROWSERS" in log messages, to reflect the actual name of the environment variable (see #8491) (#8875)
* Auth cookie persistence (#8839)
Adding `Persistence.COOKIE` a new persistence method backed by cookies. The `browserCookiePersistence` implementation is designed to be used in conjunction with middleware that ensures both your front and backend authentication state remains synchronized.
* firestore: fix `undefined` document snapshot data after "clear site data" (#8871)
* Use base browsers variable in Firestore karma config (#8876)
* [chore] Update some dependencies (#8868)
* Version Packages (#8878)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Fix 'window is not defined' error when calling clearIndexedDbPersistence
* Fix Data Connect Types (#8898)
* test(vertexai): update mock responses to v8 (#8904)
* Fix: display WebChannel error message (#8907)
* test(vertexai): add `backendName` param to mock response getters (#8906)
`backendName` can be either `googleAI` or `vertexAI`. This can be passed
to `getMockResponse` or `getMockResponseStreaming` to specify whether
the mock response lookup should be done in the set of vertexAI or
googleAI mock files.
Modified the `convert-mocks.ts` script to read mock responses from the
'developerapi' directory, and add an export to the generated file for
the new lookup object with those mock responses.
* fix: remove `null` value inclusion from `!=` and `not-in` filter results (#8915)
* Add assertion IDs that will be included in production log statements for fail and hardAsserts (#8313)
* docs(vertexai): remove HTML `<code>` tags (#8900)
We wrap links that reference public APIs with `<code>` tags so that they
can be rendered as code in devsite. Unfortunately, VSCode's hover
feature can not render these links at all.
Since there are no other alternatives for creating code-formatted links,
we should remove the problematic HTML `<code>` tags.
* test(vertexai): update developerapi mock response dir to googleai (#8921)
* Fix languageCode parameter in action_code_url (#8912)
* Fix languageCode parameter in action_code_url
* Add changeset
* test(vertexai): update mock responses to v10 (#8959)
* Version Packages (#8956)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Improve the integration test coverage for online vs offline comparisons. (#8975)
* Improve the integration test coverage for online vs offline comparisons.
* prettier.
* Add missing cases.
* fix(vertexai): add missing quote to chat role error message (#8979)
* Auto Enable SSL for Firebase Studio (#8980)
* Add support for running the emulators in Cloud Workstation (#8968)
* Add Cookie Support For Firebase Studio (#8986)
* Fix Auth Port for Firebase Studio (#8998)
* Change automaticDataCollectionEnabled to default to true. (#8999)
* Version Packages (#8997)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Roll back #8999 (#9007)
* Revert "Change automaticDataCollectionEnabled to default to true. (#8999)"
This reverts commit 3789b5ad16ffd462fce1d0b9c2e9ffae373bc6eb.
* Revert #8999 - backend is not ready
* Version Packages (#9008)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix(vertexai): pass `GenerativeModel`'s `BaseParams` to `ChatSession` (#8972)
startChat wasn't passing GenerativeModel's BaseParams to ChatSession.
So, if a model had a generationConfig, it would never be passed to ChatSession.
* feat(vertexai): Gemini multimodal output (#8922)
Adds new ResponseModality enum that allows users to specify which modalities should be included in a response.
Since we provide a text() accessor, a similar inlineDataParts() accessor was added to return all InlineDataPart[] in the first candidate.
* test: Clean up vscode launch file and add vertexai debug config (#9000)
* Fix encoding of CSI keys in Safari (#8993)
* Restore #8999 (#9010)
* Revert "Roll back #8999 (#9007)"
This reverts commit 51e7b489d8aadd531453f882421903da8727b19d.
* Changeset
* feat(ai): Migrate to `AI` and add GoogleAI support (#8931)
* Add Emulator Overlay (#8977)
* Rename `@firebase/vertexai` package to `@firebase/ai` (#9011)
* Add Emulator Overlay (#8977) (#9031)
Co-authored-by: Maneesh Tewani <maneesht@users.noreply.github.com>
* add temporary release branch (#9032)
* Allow custom branch for release (#9033)
* add temporary release branch
* restore Vertex token for temp publish (#9036)
* Version Packages (manual PR) (#9034)
* Fixed scroll behavior (#9043)
* Version Packages (manual PR) (#9044)
* Remove redundant changeset
* Update e2e tests to reflect AI package and new API (#9017)
* Version Packages (#9016)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Revert "Fixed scroll behavior (#8977)" (#9053)
* Revert "Fixed scroll behavior (#9043)"
This reverts commit 9bcd1ea9b8cc5b55692765d40df000da8ddef02b.
* Revert "Add Emulator Overlay (#8977) (#9031)"
This reverts commit 8593fa05bd884c2f1f6f3b4ae062efa48af93d24.
* Undid revert of util
* Create dirty-crews-cross.md
* Removed unnecessary markdown file
* Updated to only show banner when calling connect*Emulator (#9055)
* Version Packages (#9054)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Close webchannel instances on terminate (#9041)
Explicitly close any unclosed WebChannel instances on Firestore#terminate()
* Reorder reporters to prevent log message duplication in CI (#9040)
* docs(ai): Fix 'occured' typo in error codes (#9021)
* feat(ai): Add `HarmBlockThreshold.OFF` (#9050)
* feat(ai): Schema `title`, `maximum`, `minimum`, and `propertyOrdering` (#9047)
* feat(ai): Add support for `minItems` and `maxItems` to `Schema` (#9026)
* Build out e2e subdirectories (#9065)
* Added test project to fdc (#8924)
* Version Packages (#9073)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Release version 11.9.0.
* test(ai): add integration tests (#8853)
* Update issue template to rename VertexAI > AI (#9074)
* ci: Fix Firefox error and streamline cross-browser tests (#9015)
* Fixed issue where requestSts wasn't including the Studio cookie in it (#9075)
* Fix issue where we ping an endpoint that hasn't been implemented (#9059)
* Updated firebase auth changeset (#9088)
* build(all): Version Packages v11.9.1 (#9089)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
v11.9.1 release.
* test(ai): Upgrade mock responses to v14 (#9091)
* Feat/google3 typings support (#9085)
* fix(ai): Add deprecation tag to `totalBillableCharacters` (#9090)
* test(ai): Add `gemini-2.5-flash` to integration tests (#9110)
Added gemini-2.5-flash to our integration tests now that it's publicly available.
The token counts differ slightly between 2.0-flash and 2.5-flash so I introduced conditionals when checking token counts.
* firestore: minor refactor of listener registration of "versionchange" indexedb events (#9087)
* Fixed issue where storage wasn't passing cookies when using firebase Studio (#9111)
* fix: Add "react-native" entry point to @firebase/app (#9112)
* Feat(Firestore) JSON serialization of types to improve SSR support. (#8926)
Support the ability to resume `onSnapshot` listeners in the CSR phase based on serialized `DataSnapshot`s and `QuerySnapshot`s built in the SSR phase. Allow Firestore result types to be serialized with `toJSON` and then deserialized with `fromJSON` methods on the objects.
`DocumentSnapshot` and `QuerySnapshot` deserialization methods will be standalone, tree-shakable functions `dataSnapshotFromJSON` and `querySnapshotFromJSON`.
* chore(Firestore) add changeset for PR #8926 (#9115)
Add the missing changset for PR #8926.
* Update Fireperf logging to use sendBeacon only if the payload is under the 64KB limit (#9120)
* Update Fireperf logging to use sendBeacon only if the payload is under the 64KB limit for most browsers.
- For the flush, attempt to use sendBeacon with a low number of events incase sendBeacon is also used by other libraries.
* Add changeset and fix format
* Add additional comments
* Put max flush size behind remote config flag
* Version Packages (#9126)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Increase unit test coverage for facebook.ts to 100% (#9129)
* Increase unit test coverage for facebook.ts to 100%
* Increase unit test coverage for github.ts to 100% (#9130)
* Increase unit test coverage for github.ts to 100%
* test: Use inline source maps for webpack test output (#9109)
* Increase unit test coverage for saml.ts to 100% (#9131)
* Increase unit test coverage for saml.ts to 100%
* firestore: misc.ts: further improved performance of UTF-8 string comparison logic
* fix(ai): typings for functionDeclaration.parameters. (#8948)
* feat(ai): add support for grounding with google search (#9068)
* feat!(ai): Remove `vertexai` import alias (#9081)
* docs(firestore): add an example to the detailed comment in compareUtf8Strings() (#9154)
* feat(ai): Add support for Thinking Budget (#9156)
* feat!(ai): remove `VertexAI` APIs (#9063)
* fix!(ai): convert TS enums exports in Firebase AI into const variables (#9137)
* fix(firestore): revert fix for `undefined` document snapshot data after "clear site data" (#9162)
This reverts https://github.com/firebase/firebase-js-sdk/pull/8871 because it had unexpected negative customer impacts (https://github.com/firebase/firebase-js-sdk/issues/9056) and caused CI failures.
* build!: update build targets to ES2020 (#9101)
* (feat) initializeServerApp support for App Hosting auto init (#9151)
Implement Auto Init for `initializeServerApp`.
Auto init was previously implemented for `initializeApp` in #8483. This PR adds the same functionality to the `initializeServerApp` API surface.
Fixes #8863
* feat!(ai): Remove `GroundingAttribution` (#9079)
* feat!(ai): add support for `anyOf` schemas (#9042)
* chore!: update engines.node to minimum of 20 (#9128)
* fix(ci): Update e2e tests to import from ai instead of vertexai (#9164)
* chore: Add missing changeset for 9101 (#9167)
* Revert "firestore: minor refactor of listener registration of "versionchange" indexedb events (#9087) (#9168)
* Revert "firestore: minor refactor of listener registration of "versionchange" indexedb events (#9087)"
This reverts commit f73e08b212314547b39a10cd3e393f9e94776f21.
* Create hungry-icons-dream.md
* docs: fix doc typos found by g3 presubmit (#9166)
* Version Packages (#9165)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Fixes a bug where the out-of-the-box core web vital metrics would throw an error when the target element name exceeds the max length of a custom attribute value. (#9178)
* fix(app-check): Prevent redundant exchangeToken calls in debug mode (#9187)
* Update BrowsersList DB (#9188)
* Firebase AI Hybrid Inference Implementation (#9029)
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
Co-authored-by: Erik Eldridge <erikeldridge@google.com>
Co-authored-by: Christina Holland <chholland@google.com>
* Version Packages (#9195)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Backfill fixes for hybrid docs (#9197)
* Fix Firebase Functions Emulator usage on Firebase Studio (#9204)
* Used valid path for pingserver
* Added test
* Create three-balloons-collect.md
* Fixed fromUrl
* Removed only
* Fixed typings
* fix(firestore): fix empty message reject inside transaction body (#9177)
* Add limitedUseToken option to AI SDK (#9201)
* [Firebase AI] Add thought summary and signature support (#9192)
* fix(ai): Only include unexpected `prediction` element in error message (#9222)
* fix(ai): Only include unexpected prediction element in error message.
If the `responseJson` from the Predict request has an image, the entire
image base64 will be included in the error message. This can make the error
message >400kB (!!), which could cause performance issues in apps.
I ran into this when testing https://github.com/firebase/firebase-js-sdk/pull/9216,
since the `safetyAttributes` would be included in a response and trigger
this error, but the `predictions` array in `responseJson` would have images.
I noticed that when the sample app rendered the `error.message`, it
began running into serious performance issues.
* fix(ai): Add `'includeSafetyAttributes'` to Predict request payloads (#9216)
* fix(ai): keep window-specific code out of Node bundle (#9225)
* feat(ai): add support for the Live API (#9224)
* Version Packages (#9230)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* remove accidental factory export (#9232)
* Version Packages (#9233)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix(ai): Fix test script broken by #9232 (#9235)
* Update CHANGELOG.md (#9237)
* feat(ai): Add prefer_in_cloud option for inference mode (#9236)
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
Co-authored-by: rachelsaunders <52258509+rachelsaunders@users.noreply.github.com>
* Remote Config Realtime for Web (#9221)
* feat(ai): Add code execution (#9249)
* chore(firestore): Update closure-net dependency to the latest release (#9242)
* Update closure-net dependency to the latest release (6f48f578d3e80fe7a85e530a5d95b9351433d135)
* Change documentation tags for hybrid inference from EXPERIMENTAL to public preview (#9253)
* docs: Fix docgen script to clean out package temp folders first (#9250)
* Version Packages (#9258)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Expose setUserProperties from internal analytics instance (#9263)
* feat(ai): add support for URL context (#9254)
* docs(ai): tag code execution with "beta" tag (public preview) (#9274)
* fix(ai): Handle empty parts when streaming (#9262)
* feat(ai): Add method to send function responses in a live session (#9272)
* Update ai model name used for e2e tests (#9282)
* docs(ai): promote gemini developer api and imagen to GA (#9255)
* Version Packages (#9300) release v12.4.0
For JS SDK release v12.4.0
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* remove emulator files that were readded
* Update util.api.md
---------
Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Maneesh Tewani <maneesht@users.noreply.github.com>
Co-authored-by: DellaBitta <DellaBitta@users.noreply.github.com>
Co-authored-by: Google Open Source Bot <firebase-oss-bot@google.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: DellaBitta <drsanta@google.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Christina Holland <chholland@google.com>
Co-authored-by: Bryan Atkinson <bryanatkinson@google.com>
Co-authored-by: Daniel La Rocque <dlarocque@google.com>
Co-authored-by: Alexander <74536256+alexander-at-t@users.noreply.github.com>
Co-authored-by: jposuna <49734+jposuna@users.noreply.github.com>
Co-authored-by: Nhien (Ricky) Lam <62775270+NhienLam@users.noreply.github.com>
Co-authored-by: NhienLam <NhienLam@users.noreply.github.com>
Co-authored-by: mansisampat <sammansi@google.com>
Co-authored-by: Mila <107142260+milaGGL@users.noreply.github.com>
Co-authored-by: Stephen Rosa <84193009+stephenarosaj@users.noreply.github.com>
Co-authored-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
Co-authored-by: Kevin Elko <kjelko@gmail.com>
Co-authored-by: dlarocque <dlarocque@users.noreply.github.com>
Co-authored-by: Rodrigo Lazo <rlazo@users.noreply.github.com>
Co-authored-by: rachelsaunders <52258509+rachelsaunders@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: James Daniels <jamesdaniels@google.com>
Co-authored-by: Rich Hodgkins <rich@bookcreator.com>
Co-authored-by: Leo <khalx.leo@gmail.com>
Co-authored-by: David Motsonashvili <davidmotson@gmail.com>
Co-authored-by: David Motsonashvili <davidmotson@google.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Denver Coneybeare <dconeybe@google.com>
Co-authored-by: Pavan Shankar <pavanshankar@google.com>
Co-authored-by: Ehsan <ehsannas@gmail.com>
Co-authored-by: eranc-google <eranc@google.com>
Co-authored-by: Raymond Lam <here.is.raymond.lam@gmail.com>
Co-authored-by: Raymond Lam <raymondlam@google.com>
Co-authored-by: Nicole <103509584+nicole0707@users.noreply.github.com>
Co-authored-by: gsiddh <92327772+gsiddh@users.noreply.github.com>
Co-authored-by: Erik Eldridge <erikeldridge@google.com>
Co-authored-by: cherylEnkidu <96084918+cherylEnkidu@users.noreply.github.com>
Co-authored-by: Andrew Heard <andrew@wizheard.com>
Co-authored-by: Daymon <17409137+daymxn@users.noreply.github.com>
Co-authored-by: Tushar Khandelwal <64364243+tusharkhandelwal8@users.noreply.github.com>
commit ff3a59e4f00953aa38227dcaad950a4739a9fdb6
Author: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Date: Thu Oct 9 08:08:14 2025 -0600
Revert emulator overlay to allow import into g3 (#9307)
* Revert emulator overlay
* Re-add emitEmulatorWarning that was not part of the emulator overlay
* formatting
* remove other references to updateEmulatorBanner
commit 0fd1eda5400d2a39d72e67b52770284e7f945f0b
Author: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Date: Wed Oct 8 14:06:57 2025 -0600
Markduckworth/main to console overwrite (#9305)
commit d3cfa531c6c54b749695b0a86fd089537e54c88e
Author: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com>
Date: Thu Jun 26 13:00:21 2025 -0600
main to console (#9124)
* Version Packages (#8635)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Wait for service worker registration to become active before any operations (#8661)
* Clear fetch abort timeout (#8663)
* Clear fetch abort timeout
* Add timeout constant and bring back minimum timeout value
* Support streaming streaming responses for callable functions. (#8609)
The new .stream() API allows the client to consume streaming responses from the WIP streaming callable functions in Firebase Functions Node.js SDK.
When client makes a request to the callable function w/ header Accept: text/event-stream, the callable function responds with response chunks in Server-Sent Event format.
The sdk changes here abstracts over the wire-protocol by parsing the response chunks and returning an instance of a AsyncIterable to consume to data:
import { getFunctions, httpsCallable } from "firebase/functions";
const functions = getFunctions();
const generateText = httpsCallable(functions, 'generateText');
const resp = await generateText.stream(
{ text: 'What is your favorite Firebase service and why?' },
{ signal: AbortSignal.timeout(60_000) },
);
try {
for await (const message of resp.stream) {
console.log(message); // prints "foo", "bar"
}
console.log(await resp.data) // prints "foo bar"
} catch (e) {
// FirebaseError(code='cancelled', message='Request was cancelled.');
console.error(e)
}
* Fixed issue where multiple calls to connectDataConnectEmulator causes an exception (#8664)
* Convert e2e unit tests to use Jest (#8666)
* Add ts-node dep - needed to read jest.config.ts (#8670)
* Use ubuntu-latest for Firefox CI tests (#8671)
* Version Packages (#8672)
Version Packages for release v11.1.0
* Disable TOC array indentation (#8637)
* Disable TOC array indentation
* add function streaming toc docs
* Fix: sort document reference by long type id (#8673)
* Set e2e test workflow to poll npm to check the version is available (#8684)
* fix regex to include non-numeric (#8692)
* feat(rc): Add custom signals support (#8602)
Add support for custom signal targeting in Remote Config. Using this feature, developers can set custom signals (key/value pairs) in their apps and use them for building custom targeting conditions in their templates.
Design doc (internal): [go/rc-custom-targeting-dd](http://goto.google.com/rc-custom-targeting-dd)
API Proposal (internal): [go/remote-config-custom-targeting-signals-api-review](https://goto.google.com/remote-config-custom-targeting-signals-api-review)
* Replace uuidv4 generator with `crypto.randomUUID()` (#8600)
* Replace uuidv4 generator with `crypto.randomUUID()`
The uuidv4 generator in util used `Math.random()`, which does not provide strong uniqueness guarantees
(https://www.bocoup.com/blog/random-numbers).
The places where the uuidv4 generator were used didn't require strong
uniqueness guarantees (nothing security related), but I think it's good
to move away from this from util in case we try to use it in the future.
A better built-in alternative is `crypto.randomUUID()`, which does provide strong
uniqueness guarantees. Since this is a more modern JS built-in, it's
only [defined in secure
contexts](https://blog.mozilla.org/security/2018/01/15/secure-contexts-everywhere/).
Is this something we're concerned about? Are there any App Check users
with apps running in non-secure environments?
* Update API reports
* Add changeset
* Add comment about availability restricted to secure contexts
---------
Co-authored-by: dlarocque <dlarocque@users.noreply.github.com>
* Update CODEOWNERS for Auth (#8694)
* Update GitHub Artifact Actions to v4 (#8128)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Updated FDC to include promise instead of promiselike (#8667)
* Update actions/setup-node action to v4 (#8186)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update actions/github-script action to v7 (#8154)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update actions/checkout action to v4 (#8153)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Use versions instead of commits in vertexai responses actions scripts (#8702)
* Add FDC Integration Tests (#8703)
* Upgrade two more `download-artifact` v3 actions to v4 in Firestore workflow (#8706)
There were a pair of `download-artifact` GitHub actions that were still set to `v3` instead of `v4`. The `v3` actions were unable to find the build archive in the test-changed-firestore workflow. This PR upgrades those to `v4` actions.
* Version Packages (#8705) v11.2.0
Release v11.2.0
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* chore(deps): replace dependency npm-run-all with npm-run-all2 5.0.0 (#8112)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Add App Check token to FirebaseServerApp (#8651)
FirebaseServerApp now accepts an optional App Check token at initialization. The product SDKs will look for this token, and if it's present, the SDKs will use this value in lieu of calling getToken on App Check.
This change affects the following SDKs: Auth, Cloud Functions, Data Connect, Firestore, Realtime Database, Vertex AI
* Update rollup-plugin-terser dep (#8709)
* chore(deps): update actions/github-script action to v7 (#8711)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Fireperf web vitals (#8644)
* Add support for capturing web vitals metrics in Firebase performance for Web (Largest Contentful Paint, Interaction to Next Paint, Cumulative Layout Shift)
* Modifies export to use sendBeacon instead of fetch API, and shifts the upload time to the first time the page is hidden or unloaded.
* Update a lot of dependencies (#8716)
* chore(config): migrate config renovate.json (#8723)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update actions/setup-node action to v4 (#8712)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency firebase-tools to v13 [security] (#8607)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Have renovate ignore karma-webpack (#8725)
* Workflow CI: Update CHROME_VALIDATED_VERSION for Auth tests (#8722)
Update our CI's logged `CHROME_VALIDATED_VERSION` to the currently tested version. We haven't updated it in a while.
Keeping this up to date should reduce support burden later.
* chore(deps): update dependency @rollup/plugin-json to v6 (#8727)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Update dev dependency firebase-tools
13.6.0 -> 13.29.2
* Discard earliest heartbeat once there are 30 heartbeats (#8724)
* Delete earliest heartbeats only once there are 30 heartbeats
* Add changeset
* Use max heartbeat const in tests
* Fix test name in all caps
* Fix test names
* Formatting
* Fix negative offset of reconnect delay (#8718) (#8719)
RTDB Fix negative offset of reconnect delay. Fixes #8718.
* Swap Performance's owner from jposuna to visumickey (#8737)
* Give `check-version` job pull request write permissions (#8743)
* Add pull_request write permissions
* fix typo
* Skip flaky auth recaptcha test (#8753)
* Update dependencies in packages and repo-scripts (#8729)
* Add ActionCodeSettings.linkDomain and deprecate ActionCodeSettings.dynamicLinkDomain (#8738)
* Add linkDomain field to ActionCodeSettings (#8428)
* Add linkDomain field to ActionCodeSettings
* Update API reports
* Update error message for ERROR_INVALID_HOSTING_LINK_DOMAIN to include that default hosting domains cannot be used.
* Use constants for test values
---------
Co-authored-by: NhienLam <NhienLam@users.noreply.github.com>
* FDL Deprecation & Hosting link Integration Test (#8603)
* Implement Integration test for passwordless email sign-in via firebase-hosting links.
* Add license to new test file created' did not match any files
* Remove unwanted _
* Add support for setting custom hosting link domain in test app (#8614)
* Add afterEach method and apply formatting to the hosting links integration test (#8615)
* Mark ActionCodeSettings.dynamicLinkDomain as deprecated
* Add changeset
* Update API reports
* Address review comments
* Fix changeset
* Update refdocs and address review comments
* Update deprecated comment
* Add FDL deprecation FAQ link
* Fix linkDomain link in refdocs
---------
Co-authored-by: NhienLam <NhienLam@users.noreply.github.com>
Co-authored-by: mansisampat <sammansi@google.com>
* FIX: sort strings in UTF-8 encoded byte order (#8691)
* Added more granular tracking for web frameworks
* fix "TextEncoder undefined" issue in some platforms (#8765)
* Version Packages (#8766)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Adds a "firebase" changeset to release PR as needed (#8770)
* Use Node's `TextEncoder` in E2E JSDOM Environment (#8783)
* Update Firebase index.d.ts type definition file reference (#8543)
Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
* Revert the UTF-8 encoding in string sorting (#8782)
* Version Packages (#8786)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Emulator Idempotency: Firestore (#8780)
Update `connectFirestoreEmulator` to support its invocation more than once. If the Firestore instance is already in use, and `connectFirestoreEmulator` is invoked with the same configuration, then the invocation will now succeed instead of assert.
The implementation takes the Data Connect implementation as inspiration. Data Connect stores the parameters passed to `connectDataConnectEmulator` on the instance of Data Connect itself, so that they can be quickly checked to see if subsequent invocations match. This PR implements a similar storage and compare process with the optional `emulatorOptions` parameter (host and port are already stored).
This PR unlocks support for SSR frameworks which render the page numerous times with the same instances of Firestore. Before this PR customers were required to guard against calling `connectFirestoreEmulator` in their SSR logic, which added to code complexity. Now the Firebase SDK does that guarding logic so that our users' apps don't have to.
* Emulator Idempotency: Database (#8769)
Update the `connectDatabaseEmulator` function to support its invocation more than once. If the Database instance is already in use, and `connectDatabaseEmulator` is invoked with the same configuration, then the invocation will now succeed instead of assert.
This unlocks support for web frameworks which may render the page numerous times with the same instances of RTDB. Before this PR customers needed to add extra code to guard against calling `connectDatabaseEmulator` in their SSR logic. Now we do that guarding logic on their behalf which should simplify our customer's apps.
Fixes #6824.
* SSR related improvements for RC client SDK. (#8699)
SSR related improvements for RC client SDK.
* Exposes an initialFetchResponse arg that pre-hydrates the client SDK state
* Adds an argument that allows setting an alternate template ID to fetch from
* Splits storage impls into a simple in-memory version that can be run in SSR contexts
* Adds some basic tests for the API functions, which were previously untested
* Emulator Idempotency: Auth (#8750)
Update the `connectAuthEmulator` function to support its invocation more than once. If the Auth instance is already in use, and `connectAuthEmulator` is invoked with the same configuration, then the invocation will now succeed instead of assert.
This unlocks support for web frameworks which may render the page numerous times with the same instances of auth. Before this PR customers needed to add extra code to guard against calling `connectAuthEmulator` in their SSR logic. Now we do that guarding logic on their behalf which should simplify our customer's apps.
Fixes #6824.
* Upgrade dependencies (#8781)
* first batch
* @rollup/plugin-node-resolve 13 -> 16
* Publish VertexAI API's tagged with `@beta` (#8788)
* Filter empty text parts when streaming (#8736)
* Filter empty text parts when streaming
* Add changeset
* Remove unused filterEmptyTextParts()
* Move logic into a function
* final
* dont throw if mock response file isn't found
* update responses version to 6
* Only ignore empty text parts in the aggregated response.
* review fixes
* Throw in `aggregateResponses` if `newPart` has no properties
* Change API Documenter (BETA) annotation to (Public Preview) (#8789)
* Change (BETA) annotation to (Public Preview)
* format
* Minor bump
* Create VertexAI Node CJS and ESM bundles (#8728)
* Create Node CJS and ESM bundles
* Add changeset
* Run formatter
* register version with node
* Catch errors in debug token exchange logic (#8792)
* Throw error if mock response file not found (#8739)
* Fix vectorvalue docs (#8453)
* Fix vectorvalue docs
* Use @link vector
* Fix vector link with code tag
* Re-enable auth redirect tests (#8803)
* Re-enable redirect tests
* Fix lint
* Add Image Generation support using Imagen (#8683)
* WIP
* Introduce VertexAIModel base class, add documentation, and respond to other comments
* Generate devsite docs
* revert dataconnect change
* formatting
* WIP
* Introduce VertexAIModel base class, add documentation, and respond to other comments
* Generate devsite docs
* revert dataconnect change
* formatting
* Fix ImagenRequestConfig comment
* Improve tests
* Formatting
* Add ImagenGenerationResponse
* Formatting
* Update to match API changes
* fixes
* format
* Update API reports
* add changeset
* update
* format
* Update API reports
* remove public docs
* Nest imageFormat in outputOptions
* remove unecessary console.log
* Log warning if compressionQuality outside of range
* format
* Imagen Documentation (#8776)
* Revert "remove public docs"
This reverts commit f0955630d319b05fd85af39bb8d149caf11481d5.
* update docs
* update docs
* format
* minor fixes
* format
* mark all APIs beta instead of public
* review fixes
* format
* Replace (BETA) with (Public Preview) in docs
* fix links
* another pass
* format
* review fixes
* Cleanup
* update changeset
---------
Co-authored-by: dlarocque <dlarocque@users.noreply.github.com>
* Add support for token-based usage metrics. (#8757)
* Add support for token-based usage metrics.
Token measurement is broken down by modaliy, with separate counters for image, audio, etc.
Tests are in version 6.*, so this change also includes bumping update_responses.sh
* Use right name for unspecified enum
* Update API reports
* Make promptTokensDetails an array
* Update API reports
* Add missing documentation
* Add changeset entry
* Fix formatting errors
* Update API reports
* Add missing refdoc
* Update API reports
* Use correct formatting for Modality documentation.
* Update API reports
* Update docs
* Update packages/vertexai/src/types/enums.ts
Co-authored-by: rachelsaunders <52258509+rachelsaunders@users.noreply.github.com>
* Update md files
* Revert changes to api-extractor.json
---------
Co-authored-by: rachelsaunders <52258509+rachelsaunders@users.noreply.github.com>
* Add Vertex and DataConnect E2E smoke tests (#8805)
* Update dev script dependency @changesets/types to v6 (#8806)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Bump cross-spawn from 7.0.3 to 7.0.6 in /e2e (#8645)
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)
---
updated-dependencies:
- dependency-name: cross-spawn
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Revert "Bump cross-spawn from 7.0.3 to 7.0.6 in /e2e (#8645)" (#8811)
This reverts commit 117279e2759cde3e1ac028794fabf948d304d795.
* App Hosting JS SDK autoinit (#8483)
Adds a `postinstall` step to `@firebase/util` which hardcodes autoinit defaults into `@firebase/util/dist/postinstall.(m)js` for both CJS and ESM variants [go/firestack-autoinit](http://goto.google.com/firestack-autoinit).
Hardcoding is important since environment variable substitution doesn't dive into a developer's `node_modules` folder. This gives us a framework agnostic way to inject configuration and is a more robust solution than the _experimental_ autoinit methods provided by Web Frameworks [go/firebase-api-client-autoinit](https://goto.google.com/firebase-api-client-autoinit). Once this lands, we'll backport to Hosting and Functions and aim to deprecate the other autoinit methods.
* Added non-null properties to database.ThenableReference (#8800)
* Version Packages (#8794)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* DataConnect: Update requests to point to v1 backend endpoints instead of v1beta (#8820)
* update API requests to point to v1 instead of v1beta
* update changelog
* Remove auto-commit API report workflow (#8808)
* Add missing `BlockReason` and `FinishReason` enum values (#8741)
* Convert enum comments to JSDoc comments (#8742)
* Add `systemInstruction`, `tools`, and `generationConfig` to `CountTokensRequest` (#8827)
* Update yarn.lock in e2e (#8831)
* Fix transport service retry logic condition (Fixes #8813) (#8814)
Modify the retry mechanism to stop when remaining tries is less than or equal to zero, improving the robustness of the retry handling.
Fixes #8813
* Give `check-changeset` job pull request write permissions (#8833)
* Fix: sort strings in UTF-8 encoded byte order with lazy encoding (#8787)
* fix golden files test (#8843)
* fix golden files test
* update responses version
---------
Co-authored-by: David Motsonashvili <davidmotson@google.com>
* Surface all App Check errors in public getToken() method (#8842)
* Grant Create PR workflow pull-request write perms. (#8846)
Our staging release workflow failed to create a Version Packages PR. Grant the PR creation workflow `pull-request` `write` permissions.
* Grant Create PR content write permissions. (#8848)
Our staging release workflow failed to merge branch. Grant the PR creation workflow `content` `write` permissions to fix this.
* Version Packages (#8849) - v11.5.0
Release version 11.5.0.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Deprecate `GroundingAttribution` (#8832)
* Stream full logs of test-all firestore job (#8851)
* Set github actions to use commit hashes (#8852)
* Implement Partial Errors for FDC (#8821)
* Add `X-Firebase-AppId` header to VertexAI requests (#8809)
* Update dependency webpack to v5.94.0 [SECURITY] (#8734)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Update dependency express to v4.20.0 [SECURITY] (#8759)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* karma.base.js: replace "BROWSER" with "BROWSERS" in log messages, to reflect the actual name of the environment variable (see #8491) (#8875)
* Auth cookie persistence (#8839)
Adding `Persistence.COOKIE` a new persistence method backed by cookies. The `browserCookiePersistence` implementation is designed to be used in conjunction with middleware that ensures both your front and backend authentication state remains synchronized.
* firestore: fix `undefined` document snapshot data after "clear site data" (#8871)
* Use base browsers variable in Firestore karma config (#8876)
* [chore] Update some dependencies (#8868)
* Version Packages (#8878)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Fix 'window is not defined' error when calling clearIndexedDbPersistence
* Fix Data Connect Types (#8898)
* test(vertexai): update mock responses to v8 (#8904)
* Fix: display WebChannel error message (#8907)
* test(vertexai): add `backendName` param to mock response getters (#8906)
`backendName` can be either `googleAI` or `vertexAI`. This can be passed
to `getMockResponse` or `getMockResponseStreaming` to specify whether
the mock response lookup should be done in the set of vertexAI or
googleAI mock files.
Modified the `convert-mocks.ts` script to read mock responses from the
'developerapi' directory, and add an export to the generated file for
the new lookup object with those mock responses.
* fix: remove `null` value inclusion from `!=` and `not-in` filter results (#8915)
* Add assertion IDs that will be included in production log statements for fail and hardAsserts (#8313)
* docs(vertexai): remove HTML `<code>` tags (#8900)
We wrap links that reference public APIs with `<code>` tags so that they
can be rendered as code in devsite. Unfortunately, VSCode's hover
feature can not render these links at all.
Since there are no other alternatives for creating code-formatted links,
we should remove the problematic HTML `<code>` tags.
* test(vertexai): update developerapi mock response dir to googleai (#8921)
* Fix languageCode parameter in action_code_url (#8912)
* Fix languageCode parameter in action_code_url
* Add changeset
* test(vertexai): update mock responses to v10 (#8959)
* Version Packages (#8956)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Improve the integration test coverage for online vs offline comparisons. (#8975)
* Improve the integration test coverage for online vs offline comparisons.
* prettier.
* Add missing cases.
* fix(vertexai): add missing quote to chat role error message (#8979)
* Auto Enable SSL for Firebase Studio (#8980)
* Add support for running the emulators in Cloud Workstation (#8968)
* Add Cookie Support For Firebase Studio (#8986)
* Fix Auth Port for Firebase Studio (#8998)
* Change automaticDataCollectionEnabled to default to true. (#8999)
* Version Packages (#8997)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Roll back #8999 (#9007)
* Revert "Change automaticDataCollectionEnabled to default to true. (#8999)"
This reverts commit 3789b5ad16ffd462fce1d0b9c2e9ffae373bc6eb.
* Revert #8999 - backend is not ready
* Version Packages (#9008)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix(vertexai): pass `GenerativeModel`'s `BaseParams` to `ChatSession` (#8972)
startChat wasn't passing GenerativeModel's BaseParams to ChatSession.
So, if a model had a generationConfig, it would never be passed to ChatSession.
* feat(vertexai): Gemini multimodal output (#8922)
Adds new ResponseModality enum that allows users to specify which modalities should be included in a response.
Since we provide a text() accessor, a similar inlineDataParts() accessor was added to return all InlineDataPart[] in the first candidate.
* test: Clean up vscode launch file and add vertexai debug config (#9000)
…
ab58e12 to
ac7641e
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hey there! So you want to contribute to a Firebase SDK?
Before you file this pull request, please read these guidelines:
Discussion
If not, go file an issue about this before creating a pull request to discuss.
Testing
API Changes
us make Firebase APIs better, please propose your change in an issue so that we
can discuss it together.