Skip to content

Bump firebase-functions from 6.6 to 7.2.5#767

Merged
rzueger merged 1 commit into
developfrom
chore/bump-firebase-functions-to-v7
May 15, 2026
Merged

Bump firebase-functions from 6.6 to 7.2.5#767
rzueger merged 1 commit into
developfrom
chore/bump-firebase-functions-to-v7

Conversation

@rzueger
Copy link
Copy Markdown
Member

@rzueger rzueger commented May 15, 2026

Summary

Trivial dep bump that completes the v7 prep work. v7's main breaking change (removal of functions.config()) was handled in PR #766 and rolled out to all 11 envs on 2026-05-15.

  • functions/package.json: firebase-functions: ^6.6.0^7.0.0
  • Lockfile resolves to firebase-functions@7.2.5 (latest stable).
  • No code changes.

v7 breaking-change enumeration (per regression-risk feedback)

Affects us, already handled or N/A:

Change Status
functions.config() removed Handled in PR #766 — all 5 call sites migrated to process.env, deployed to all 11 envs.
Node 18 minimum We run Node 22 (functions/package.json engines + CI).
firebase-admin peer-dep ^11 || ^12 || ^13 We're on ^13.9.0. ✓

Affects us, behaviour change (low risk):

Change Impact
Firebase emulator now returns 500 on unhandled async rejections in onRequest handlers (production behaviour unchanged) Our onRequest handlers (auth/*, /api/*) all wrap their async work in try/catch. The only surface risk is Cypress E2E against the emulator, which the test plan probes.

Does not affect us:

  • TS5 / ES2022 target — functions/ is plain JS, no tsconfig.
  • v1 Event TS type renamed to LegacyEvent — TS-only.
  • attemptDeadlineSeconds removed from Gen 2 scheduled — we use Gen 1 pubsub.schedule(...).
  • Gen 2 RTDB triggers (onValueCreated/Updated/Deleted/Written), defineString, firebase-functions/params — APIs unchanged across v7.x.

Tests

npm run test:functions — 36 suites / 314 tests passing under v7.2.5.

Test plan

  • CI green
  • Cypress E2E green against the emulator (sole surface where the v7 emulator behaviour change could trip a regression)
  • Deploy canary on lszm_testfirebase functions:log --project lszm-test clean, no cold-start crashes
  • Roll across remaining 5 dev envs, then prod (per-env manual approvals)

Out of scope

  • Stale WEBHOOK_REGION GH vars across all 11 envs — dead config from the early Gen 2 webhook migration. Harmless. Clean separately.
  • Stale auth.testcredentials.* (on lspv-test) and serviceaccount.* (on mfgt-flights, project-...332047) in firebase functions:config — zero references in code. Clean via firebase functions:config:unset separately.
  • The functions/package.json shell script still references firebase functions:config:get (a CLI subcommand). The CLI may still support reading from a now-permanently-empty config; not exercised by deploys. Out of scope.

v7 removed functions.config() entirely. All call sites were
migrated to process.env in PR #766 and deployed across all 11
envs; this PR is the trivial dep bump that completes the v7
prep work.

Breaking changes in v7 relevant to this codebase:
- functions.config() removed — handled in PR #766.
- Node 18 minimum — we run Node 22.
- Emulator now returns 500 on unhandled async errors in
  onRequest handlers (production unchanged). Our onRequest
  handlers (auth/*, api/*) use try/catch wrappers, so the
  surface risk is in Cypress E2E only.

All other v7 breakages are TS-only or affect APIs we don't use
(Gen 2 scheduled attemptDeadlineSeconds, v1 Event type rename).
Gen 2 RTDB triggers and defineString/params APIs unchanged.

firebase-admin ^13.9.0 satisfies v7's peer-dep range
(^11 || ^12 || ^13). No other deps need updating.

Tests: 36 suites / 314 tests passing under v7.2.5.
@rzueger rzueger merged commit 6444edf into develop May 15, 2026
2 checks passed
@rzueger rzueger deleted the chore/bump-firebase-functions-to-v7 branch May 15, 2026 19:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant