[{"data":1,"prerenderedAt":2340},["ShallowReactive",2],{"\u002Fblog\u002Ffirebase-extensions-shutting-down-replace-2027\u002F":3,"\u002Fblog\u002Ffirebase-extensions-shutting-down-replace-2027\u002F-related":644,"\u002Fblog\u002Ffirebase-extensions-shutting-down-replace-2027\u002F-resources":2322},{"id":4,"title":5,"author":6,"body":10,"category":569,"createdAt":570,"description":571,"disclosure":572,"extension":573,"faq":574,"howTo":572,"lastVerified":572,"location":590,"meta":591,"navigation":597,"ogImage":572,"path":598,"primaryKeyword":599,"readingTime":600,"related":601,"seo":605,"sources":606,"stem":634,"tags":635,"takeaways":636,"updatedAt":570,"url":642,"__hash__":643},"blog\u002Fblog\u002Ffirebase-extensions-shutting-down-replace-2027.md","Firebase Extensions Shutting Down: Replace Them by 2027",{"name":7,"social":8},"Simon Dziak",{"twitter":9},"@SzymonDziak",{"type":11,"value":12,"toc":550},"minimark",[13,21,24,30,35,107,115,119,122,125,138,141,144,148,151,154,157,161,164,175,178,184,205,209,212,216,219,258,261,266,273,279,297,315,324,328,335,339,350,354,380,435,438,444,451,473,477,492,496,524,527,534,538],[14,15,16,20],"p",{},[17,18,19],"strong",{},"The Firebase Extensions service shuts down on March 31, 2027, and Firebase says extensions you already installed keep running but can no longer be updated, reconfigured or uninstalled through the console or CLI."," Firebase's recommended replacement is a self-managed function kit, which is regular Cloud Functions code that lives in your own repository.",[14,22,23],{},"The facts below come from Firebase's documentation and a few GitHub repositories, as shown in the sources. I checked each one on October 18, 2026. Google can change a date, so open the linked page before you plan around it.",[14,25,26,29],{},[17,27,28],{},"Disclosure:"," App369 is my studio. I build and fix Flutter and Firebase apps, and the last section mentions what I sell. Google doesn't pay me for anything on this page.",[31,32,34],"h2",{"id":33},"the-dated-timeline","The dated timeline",[36,37,38,54],"table",{},[39,40,41],"thead",{},[42,43,44,48,51],"tr",{},[45,46,47],"th",{},"Date",[45,49,50],{},"What happens",[45,52,53],{},"Source",[55,56,57,75,90],"tbody",{},[42,58,59,63,66],{},[60,61,62],"td",{},"June 18, 2026",[60,64,65],{},"The Stripe-built Firebase extensions repository is archived by its owner and marked not actively maintained",[60,67,68],{},[69,70,74],"a",{"href":71,"rel":72},"https:\u002F\u002Fgithub.com\u002Finvertase\u002Fstripe-firebase-extensions",[73],"nofollow","GitHub",[42,76,77,80,83],{},[60,78,79],{},"September 2026",[60,81,82],{},"Per the FAQ, additional migration guidance and tools are due this month, and two migration paths are officially supported from it. The page keeps the future tense. The migration guide and the BigQuery kit on npm are live now",[60,84,85],{},[69,86,89],{"href":87,"rel":88},"https:\u002F\u002Ffirebase.google.com\u002Fdocs\u002Fextensions\u002Ffaq-and-troubleshooting",[73],"Firebase FAQ",[42,91,92,97,100],{},[60,93,94],{},[17,95,96],{},"March 31, 2027",[60,98,99],{},"The Firebase Extensions service shuts down. Installed extensions keep executing, but key management features are no longer available",[60,101,102],{},[69,103,106],{"href":104,"rel":105},"https:\u002F\u002Ffirebase.google.com\u002Fdocs\u002Fextensions",[73],"Firebase",[14,108,109,110,114],{},"For the other Firebase retirements, see my ",[69,111,113],{"href":112},"\u002Fblog\u002Ffirebase-deprecations-shutdown-dates-2026\u002F","Firebase deprecations table",".",[31,116,118],{"id":117},"what-firebase-says-happens-to-installed-extensions","What Firebase says happens to installed extensions",[14,120,121],{},"The notice on the Extensions page reads: \"The Firebase Extensions service is deprecated and will shut down on March 31, 2027.\" It says already installed extensions will execute indefinitely, and recommends moving to self-managed function kits.",[14,123,124],{},"The FAQ spells out the loss. Deployed extensions run on standard Google Cloud infrastructure. After March 31, 2027, you cannot update, reconfigure or uninstall them through the console or CLI, and you cannot download their existing configuration. In practice, Firebase says that means you cannot:",[126,127,128,132,135],"ul",{},[129,130,131],"li",{},"change parameters or environment variables",[129,133,134],{},"apply bug fixes, security patches or dependency upgrades",[129,136,137],{},"download the configuration to recreate the setup elsewhere",[14,139,140],{},"There is a second risk. Firebase says most extensions use the legacy Cloud Functions v1 SDK. Once Google decommissions the older Node.js runtimes, those functions may stop running or be disabled. After that, the console's Uninstall button and the related CLI commands are removed, and you would have to delete the resources by hand in the Google Cloud console.",[14,142,143],{},"My advice: treat March 31, 2027 as the last day you can still change anything, not as the day things break. Plan the move for the winter, while the tools still work.",[31,145,147],{"id":146},"what-an-extension-leaves-in-your-project","What an extension leaves in your project",[14,149,150],{},"Firebase's FAQ says that after the shutdown you would delete these by hand in the Google Cloud console: the individual Cloud Functions, Secret Manager secrets, Cloud Tasks queues and custom IAM service accounts.",[14,152,153],{},"The FAQ also says extensions run on Cloud Functions, Eventarc, Cloud Run and Cloud Tasks, and that the Stream Firestore to BigQuery extension creates BigQuery datasets, tables and views during setup.",[14,155,156],{},"Those four kinds of resource matter because they are what you would delete manually once the uninstall button is gone. The best-practices page also describes what installing and deploying a kit creates: functions, Eventarc triggers, Cloud Tasks queues and a service account with IAM roles. It does not say what remains after an uninstall, so check your project's resources after you remove one.",[31,158,160],{"id":159},"step-1-list-what-you-have-installed","Step 1: list what you have installed",[14,162,163],{},"Firebase's user migration guide gives this command:",[165,166,171],"pre",{"className":167,"code":169,"language":170},[168],"language-text","firebase ext:list --project my-project\n","text",[172,173,169],"code",{"__ignoreMap":174},"",[14,176,177],{},"Firebase says the output shows Extension, Publisher, Instance ID, State, Version, Your last update and Replacement Kit. The console Extensions page also shows replacement availability. The CLI output carries a notice that Firebase Extensions will shut down on March 31, 2027.",[14,179,180,181,114],{},"Run it for every project you own, including staging and old ones. For instance IDs only, the best-practices page gives ",[172,182,183],{},"firebase ext:list --json --project \u003Cproject-id> | jq -r '.result[].instanceId'",[14,185,186,187,190,191,194,195,194,198,194,201,204],{},"The guide needs ",[172,188,189],{},"firebase-tools"," 15.32.0 or later. Firebase also lists the IAM roles you need, including ",[172,192,193],{},"roles\u002Ffirebaseextensions.editor",", ",[172,196,197],{},"roles\u002Fcloudbuild.builds.editor",[172,199,200],{},"roles\u002Fartifactregistry.writer",[172,202,203],{},"roles\u002Frun.developer"," and the two service account roles. If a role is missing, the migration fails, so check before you start.",[31,206,208],{"id":207},"step-2-uninstall-what-you-dont-use","Step 2: uninstall what you don't use",[14,210,211],{},"Firebase says users who no longer need an extension should uninstall it before March 31, 2027. This is the cheapest fix. Every extension you remove is one less thing to migrate.",[31,213,215],{"id":214},"step-3-pick-one-of-firebases-two-paths","Step 3: pick one of Firebase's two paths",[14,217,218],{},"Firebase says it officially supports two primary pathways.",[36,220,221,234],{},[39,222,223],{},[42,224,225,228,231],{},[45,226,227],{},"Path",[45,229,230],{},"Firebase recommends it for",[45,232,233],{},"What you do",[55,235,236,247],{},[42,237,238,241,244],{},[60,239,240],{},"NPM-shared function kit",[60,242,243],{},"Stream Firestore to BigQuery and other kits published on npm",[60,245,246],{},"Install a kit built on the Cloud Functions v2 SDK through the CLI",[42,248,249,252,255],{},[60,250,251],{},"Fork and self-manage",[60,253,254],{},"Extensions with no npm kit",[60,256,257],{},"Fork the source, refactor the triggers into v2 functions, and maintain the code yourself",[14,259,260],{},"Firebase also says upgrading to v2 is strongly recommended, and required for function kits.",[262,263,265],"h3",{"id":264},"the-kit-path-in-firebases-words","The kit path, in Firebase's words",[14,267,268,269,272],{},"The user guide calls ",[172,270,271],{},"ext:migrate"," the recommended option:",[165,274,277],{"className":275,"code":276,"language":170},[168],"firebase ext:migrate --project \u003Cproject-id>\n",[172,278,276],{"__ignoreMap":174},[14,280,281,282,285,286,289,290,293,294,296],{},"You can narrow it with ",[172,283,284],{},"--extension firebase\u002Ffirestore-bigquery-export"," or ",[172,287,288],{},"--ext-instance \u003Cinstance-id>",". Firebase describes the command as one that selects the extension and instance, updates it, installs and configures the kit, deploys it, verifies it and uninstalls the extension. It warns that ",[172,291,292],{},"--force"," deletes the extension right after deploying the kit, with no verification. I would not use ",[172,295,292],{}," on a production project.",[14,298,299,300,303,304,307,308,311,312,114],{},"The manual option is two steps. First update the extension with ",[172,301,302],{},"firebase ext:update \u003Cextension-instance-id> --project \u003Cproject-id>"," and ",[172,305,306],{},"firebase deploy --only extensions --project \u003Cproject-id>",". Then install the kit with ",[172,309,310],{},"firebase functions:kits:install --template migration --no-configure --package \u003Cnpm-package-name> --project \u003Cproject-id>",". That creates a directory under ",[172,313,314],{},"function-kits\u002F",[14,316,317,318,303,321,114],{},"Firebase says kits are standard 2nd gen Cloud Functions managed with the Firebase CLI. Event-triggered kits use Eventarc, which can take a few minutes to provision. To check a kit after deploy, the guide lists ",[172,319,320],{},"firebase functions:logs",[172,322,323],{},"firebase functions:list | grep kit-\u003Ckit instance id>",[262,325,327],{"id":326},"save-your-configuration-first","Save your configuration first",[14,329,330,331,334],{},"Firebase says that if you cannot migrate in time, save the configuration now, because after March 31, 2027 you cannot fetch it. The best-practices page uses ",[172,332,333],{},"firebase ext:export --mode functions",". Open the page's \"Saving configuration for future migration\" section for the exact syntax and output files.",[262,336,338],{"id":337},"undoing-a-migration","Undoing a migration",[14,340,341,342,345,346,349],{},"Firebase's warning here is specific. To undo, reinstall the extension first, then run ",[172,343,344],{},"firebase functions:kits:uninstall --instance \u003Ckit-instance-id> --project \u003Cproject-id>",". The page says not to uninstall the kit before reinstalling the extension, or the CLI will delete the ",[172,347,348],{},".env"," file.",[31,351,353],{"id":352},"which-popular-extensions-have-a-documented-kit","Which popular extensions have a documented kit",[14,355,356,357,360,361,194,364,194,367,194,370,194,373,303,376,379],{},"The firebase\u002Fextensions repository has a ",[172,358,359],{},"kits"," branch with 13 kit folders, including ",[172,362,363],{},"firestore-bigquery-export",[172,365,366],{},"firestore-send-email",[172,368,369],{},"storage-resize-images",[172,371,372],{},"firestore-counter",[172,374,375],{},"firestore-translate-text",[172,377,378],{},"delete-user-data",". The main repository page itself carries no shutdown notice and says nothing about replacements, so the facts below come from each kit's README.",[36,381,382,395],{},[39,383,384],{},[42,385,386,389,392],{},[45,387,388],{},"Extension",[45,390,391],{},"Kit package",[45,393,394],{},"What its README says",[55,396,397,410,423],{},[42,398,399,402,407],{},[60,400,401],{},"Stream Firestore to BigQuery",[60,403,404],{},[172,405,406],{},"@firebase-function-kits\u002Ffirestore-bigquery-export",[60,408,409],{},"Has a \"Migrating from the extension\" section. Released on npm (0.1.1 on October 18, 2026)",[42,411,412,415,420],{},[60,413,414],{},"Trigger Email from Firestore",[60,416,417],{},[172,418,419],{},"@firebase-function-kits\u002Ffirestore-send-email",[60,421,422],{},"Has a section on differences from the extension. Carries a pre-release notice",[42,424,425,428,433],{},[60,426,427],{},"Resize Images",[60,429,430],{},[172,431,432],{},"@firebase-function-kits\u002Fstorage-resize-images",[60,434,422],{},[14,436,437],{},"The BigQuery kit README gives this migration command, run from your Firebase project directory:",[165,439,442],{"className":440,"code":441,"language":170},[168],"firebase ext:migrate --ext-instance \u003Cinstance-id>\n",[172,443,441],{"__ignoreMap":174},[14,445,446,447,450],{},"It says the command exports the instance's configuration, deploys the kit, then offers to uninstall the extension. It also warns that writes made while the new trigger warms up can reach neither exporter. To avoid that gap, the README says to answer no to the uninstall prompt, confirm the kit logs every write, then run ",[172,448,449],{},"firebase ext:uninstall \u003Cinstance-id> --immediate",". It says running both at once is safe, because BigQuery deduplicates on the shared event ID on a best-effort basis.",[14,452,453,454,457,458,461,462,465,466,469,470,472],{},"For the email and image kits, the READMEs I read say the kit \"has not been released yet,\" that the npm ",[172,455,456],{},"latest"," tag is a placeholder, and that pre-release builds are published under the ",[172,459,460],{},"next"," tag. Both mention ",[172,463,464],{},"firebase ext:migrate",", which prompts for a region and writes ",[172,467,468],{},"FUNCTION_DEFAULT_REGION"," to your ",[172,471,348],{},". Check the README and the npm page for release status before you plan a production move to either one.",[262,474,476],{"id":475},"the-stripe-payments-extension","The Stripe payments extension",[14,478,479,480,483,484,487,488,491],{},"This one has a different history. Stripe's repository, described as \"Repository of Firebase Extensions built by Stripe,\" was archived by its owner on June 18, 2026. Its notice says the repository is not actively maintained and that no further updates, bug fixes or support will be provided. It also records a 2023 notice that the payments extension was transferred to Invertase, with a recommendation to uninstall ",[172,481,482],{},"stripe\u002Ffirestore-stripe-payments"," and install ",[172,485,486],{},"invertase\u002Ffirestore-stripe-payments",". The page says nothing about the Firebase Extensions shutdown. So if you run a Stripe extension, check which publisher your instance comes from in the ",[172,489,490],{},"ext:list"," output.",[31,493,495],{"id":494},"a-short-checklist","A short checklist",[497,498,499,506,509,512,515,518,521],"ol",{},[129,500,501,502,505],{},"Run ",[172,503,504],{},"firebase ext:list"," in every project and write down each instance.",[129,507,508],{},"Save the configuration of every extension, because you can't fetch it after March 31, 2027.",[129,510,511],{},"Uninstall every extension you no longer use, once its config is saved.",[129,513,514],{},"For each one, check the Replacement Kit column and the kit's README.",[129,516,517],{},"If there is no kit, plan a fork or a rewrite as Cloud Functions v2.",[129,519,520],{},"Run the replacement before you uninstall the old one. Only the BigQuery kit README says both can run at once. For email or image extensions, test in a staging project or pause writers so you don't send or process twice.",[129,522,523],{},"Finish well before March 31, 2027.",[14,525,526],{},"My advice: migrate the extension that touches money or user data first, and keep the old one installed until the replacement has logged real traffic. For email or image extensions, do that check in a staging project first, so nothing is sent or processed twice.",[14,528,529,530,114],{},"For every other dated Apple, Google Play and Firebase requirement in 2026 and 2027, see ",[69,531,533],{"href":532},"\u002Fblog\u002Fapp-store-google-play-deadlines-2026-2027\u002F","App Store and Google Play deadlines for 2026 and 2027",[31,535,537],{"id":536},"need-a-hand","Need a hand?",[14,539,540,541,545,546,114],{},"If your app depends on Firebase Extensions and you want them replaced with code you control before the shutdown, the ",[69,542,544],{"href":543},"\u002Ffixed-price\u002Fflutter-firebase-bug-fix\u002F","App Fix Ticket"," covers it in two fixed-price steps. A $450 Diagnosis gives you the root cause with evidence and a fixed repair quote within 3 business days, credited toward the fix. If you go ahead, the $1,200 Fix takes 5 business days and comes as a pull request. Or ",[69,547,549],{"href":548},"\u002Fcontact\u002F","send me a short description",{"title":174,"searchDepth":551,"depth":551,"links":552},2,[553,554,555,556,557,558,564,567,568],{"id":33,"depth":551,"text":34},{"id":117,"depth":551,"text":118},{"id":146,"depth":551,"text":147},{"id":159,"depth":551,"text":160},{"id":207,"depth":551,"text":208},{"id":214,"depth":551,"text":215,"children":559},[560,562,563],{"id":264,"depth":561,"text":265},3,{"id":326,"depth":561,"text":327},{"id":337,"depth":561,"text":338},{"id":352,"depth":551,"text":353,"children":565},[566],{"id":475,"depth":561,"text":476},{"id":494,"depth":551,"text":495},{"id":536,"depth":551,"text":537},"AI & Technology","2026-10-19T00:15:00.000Z","Firebase Extensions shuts down on March 31, 2027. Installed extensions keep running, but you lose updating, reconfiguring and uninstalling. The dated timeline, how to list your extensions, and the migration paths Firebase documents, checked October 18, 2026.",null,"md",[575,578,581,584,587],{"question":576,"answer":577},"When does Firebase Extensions shut down?","On March 31, 2027. The Firebase Extensions page says the service is deprecated and will shut down on that date. The FAQ adds that additional migration guidance and tools were due in September 2026, per the FAQ's own wording.",{"question":579,"answer":580},"Will my installed extensions stop working on March 31, 2027?","Not on that day. Firebase says already-deployed extensions run on standard Google Cloud infrastructure and continue to execute. What goes away is management: you cannot update, reconfigure or uninstall them through the console or CLI, or download their configuration. Firebase also warns that most extensions use the legacy Cloud Functions v1 SDK, and that they may stop running once older Node.js runtimes are decommissioned.",{"question":582,"answer":583},"What does Firebase recommend instead of extensions?","Self-managed function kits. Firebase's first path is an npm-shared kit built on the Cloud Functions v2 SDK and installed through the CLI. Its second path, for extensions with no kit, is to fork the extension source, refactor the triggers into v2 functions and maintain the code yourself.",{"question":585,"answer":586},"How do I see which extensions my project has installed?","Run firebase ext:list --project \u003Cproject-id>. Firebase says the output shows the extension, publisher, instance ID, state, version, your last update and a Replacement Kit column. The console Extensions page also shows whether a replacement is available.",{"question":588,"answer":589},"What about the Stripe payments extension?","Stripe's Firebase extensions repository says it was archived by its owner on June 18, 2026 and is no longer maintained. It also notes the 2023 transfer of the payments extension to Invertase. That is a repository status, not a Firebase shutdown notice, so check the extension you actually run.","Boynton Beach, FL",{"readingTimeStats":592},{"text":593,"minutes":594,"time":595,"words":596},"8 min read",7.76,465600,1552,true,"\u002Fblog\u002Ffirebase-extensions-shutting-down-replace-2027","firebase extensions shutting down","8 min",[602,603,604],"firebase-deprecations-shutdown-dates-2026","firebase-studio-shutting-down-migrate-project-2027","app-store-google-play-deadlines-2026-2027",{"title":5,"description":571},[607,609,611,614,617,620,623,626,629,632],{"title":608,"url":104},"Firebase, Firebase Extensions overview (deprecation notice)",{"title":610,"url":87},"Firebase, Firebase Extensions deprecation FAQ and troubleshooting",{"title":612,"url":613},"Firebase, migrate an extension to Cloud Functions as a user","https:\u002F\u002Ffirebase.google.com\u002Fdocs\u002Fextensions\u002Fusers\u002Fmigrate",{"title":615,"url":616},"Firebase, post-migration best practices","https:\u002F\u002Ffirebase.google.com\u002Fdocs\u002Fextensions\u002Fmigration-best-practices",{"title":618,"url":619},"GitHub, firebase\u002Fextensions repository","https:\u002F\u002Fgithub.com\u002Ffirebase\u002Fextensions",{"title":621,"url":622},"GitHub, firestore-bigquery-export function kit README","https:\u002F\u002Fgithub.com\u002Ffirebase\u002Fextensions\u002Ftree\u002Fkits\u002Fkits\u002Ffirestore-bigquery-export",{"title":624,"url":625},"GitHub, firestore-send-email function kit README","https:\u002F\u002Fgithub.com\u002Ffirebase\u002Fextensions\u002Ftree\u002Fkits\u002Fkits\u002Ffirestore-send-email",{"title":627,"url":628},"GitHub, storage-resize-images function kit README","https:\u002F\u002Fgithub.com\u002Ffirebase\u002Fextensions\u002Ftree\u002Fkits\u002Fkits\u002Fstorage-resize-images",{"title":630,"url":631},"GitHub, function kits folder in firebase\u002Fextensions","https:\u002F\u002Fgithub.com\u002Ffirebase\u002Fextensions\u002Ftree\u002Fkits\u002Fkits",{"title":633,"url":71},"GitHub, Stripe Firebase extensions repository","blog\u002Ffirebase-extensions-shutting-down-replace-2027","firebase extensions shutting down, firebase extensions deprecated, firebase extensions replacement, firebase extensions march 31 2027, firebase ext migrate, firebase function kits, firestore bigquery export kit, trigger email firebase replacement, resize images extension replacement, stripe firebase extension archived",[637,638,639,640,641],"The Firebase Extensions service shuts down on March 31, 2027. Firebase says already-installed extensions keep executing, but after that date you cannot update, reconfigure or uninstall them through the console or CLI, or download their configuration.","Firebase names two migration paths: an npm-shared function kit, recommended for Stream Firestore to BigQuery and other kits on npm, or forking the extension source and managing it yourself as Cloud Functions v2.","Run firebase ext:list --project \u003Cproject-id> to see every installed extension. Its output includes a Replacement Kit column, and the migration guide needs firebase-tools 15.32.0 or later.","Most extensions use the legacy Cloud Functions v1 SDK. Firebase warns that functions may stop running or be disabled once Google decommissions the older Node.js runtimes.","Firebase says to save your configuration while you still can, because after March 31, 2027 you cannot fetch it. Uninstall extensions you no longer use before that date.","https:\u002F\u002Fapp369.com\u002Fblog\u002Ffirebase-extensions-shutting-down-replace-2027\u002F","F83ZxEQPwFb0459hCMQcQUnGp657rrTS8Dks6m7nj_s",[645,1116,1637],{"id":646,"title":647,"author":648,"body":650,"category":569,"createdAt":1056,"description":1057,"disclosure":572,"extension":573,"faq":1058,"howTo":572,"lastVerified":572,"location":590,"meta":1077,"navigation":597,"ogImage":572,"path":1083,"primaryKeyword":1084,"readingTime":600,"related":1085,"seo":1089,"sources":1090,"stem":1106,"tags":1107,"takeaways":1108,"updatedAt":1056,"url":1114,"__hash__":1115},"blog\u002Fblog\u002Ffirebase-deprecations-shutdown-dates-2026.md","Firebase Deprecations: Every Shutdown Date, 2024 to 2027",{"name":7,"social":649},{"twitter":9},{"type":11,"value":651,"toc":1044},[652,658,661,666,670,868,872,876,879,886,889,893,896,903,906,909,940,944,947,953,957,966,970,973,980,984,1029,1033,1035],[14,653,654,657],{},[17,655,656],{},"Firebase isn't shutting down, but seven of its products and APIs are being retired between 2024 and 2027, and five of the deadlines fall in 2027."," If your app uses Extensions, Firebase Studio, Firebase ML model hosting, Test Lab, device groups or the old FCM InstanceId APIs, you have a deadline. The table below lists each one with the date, what stops working and where Firebase says to move.",[14,659,660],{},"Every date here comes from Firebase's own documentation, linked in each row and in the sources. I checked each page on October 18, 2026. Google can change a deadline, so open the linked page before you plan around one.",[14,662,663,665],{},[17,664,28],{}," App369 is my studio. I build Flutter and Firebase apps, and I run my own product, Workspace369, on Firebase. The last section mentions what I sell. Google doesn't pay me for anything on this page.",[31,667,669],{"id":668},"every-firebase-shutdown-in-date-order","Every Firebase shutdown, in date order",[36,671,672,690],{},[39,673,674],{},[42,675,676,679,682,685,688],{},[45,677,678],{},"Deadline",[45,680,681],{},"What is retired",[45,683,684],{},"What stops working",[45,686,687],{},"Move to",[45,689,53],{},[55,691,692,725,750,772,792,814,846],{},[42,693,694,701,704,711,718],{},[60,695,696,697,700],{},"From ",[17,698,699],{},"July 22, 2024"," (done)",[60,702,703],{},"Legacy FCM HTTP and XMPP send APIs",[60,705,706,707,710],{},"Sending with a server key to ",[172,708,709],{},"fcm\u002Fsend",". Deprecated June 20, 2023",[60,712,713,714],{},"FCM HTTP v1 API or the Admin SDK. ",[69,715,717],{"href":716},"\u002Fblog\u002Ffcm-legacy-api-shutdown-http-v1-migration-2026\u002F","My guide",[60,719,720],{},[69,721,724],{"href":722,"rel":723},"https:\u002F\u002Fweb.archive.org\u002Fweb\u002F20260108211426\u002Fhttps:\u002F\u002Ffirebase.google.com\u002Fdocs\u002Fcloud-messaging\u002Fmigrate-v1",[73],"Firebase (archived)",[42,726,727,732,735,738,744],{},[60,728,729,700],{},[17,730,731],{},"August 25, 2025",[60,733,734],{},"Firebase Dynamic Links",[60,736,737],{},"Dynamic Links, and email link sign-in that relied on them",[60,739,740,741],{},"Your own deep links. For email link sign-in, Firebase Authentication Android SDK 23.2.0 or later (BoM 33.9.0 or later). ",[69,742,717],{"href":743},"\u002Fblog\u002Ffirebase-dynamic-links-shutdown-deep-linking-2026\u002F",[60,745,746],{},[69,747,106],{"href":748,"rel":749},"https:\u002F\u002Ffirebase.google.com\u002Fdocs\u002Fauth\u002Fandroid\u002Femail-link-migration",[73],[42,751,752,757,760,763,766],{},[60,753,754],{},[17,755,756],{},"March 22, 2027",[60,758,759],{},"Firebase Studio",[60,761,762],{},"Existing workspaces. New workspaces and signups already stopped on June 22, 2026",[60,764,765],{},"Google AI Studio, Google Antigravity, or an export of your source to another platform",[60,767,768],{},[69,769,106],{"href":770,"rel":771},"https:\u002F\u002Ffirebase.google.com\u002Fdocs\u002Fstudio\u002Fmigrating-project",[73],[42,773,774,778,781,784,787],{},[60,775,776],{},[17,777,96],{},[60,779,780],{},"Firebase Extensions",[60,782,783],{},"Updating, reconfiguring or uninstalling extensions, or downloading their configuration, through the console or CLI. Installed extensions keep running",[60,785,786],{},"Function kits on npm where the publisher offers one, or your own Cloud Functions (2nd gen)",[60,788,789],{},[69,790,106],{"href":87,"rel":791},[73],[42,793,794,799,802,805,808],{},[60,795,796],{},[17,797,798],{},"June 15, 2027",[60,800,801],{},"Firebase ML custom model hosting",[60,803,804],{},"Hosting and serving custom models through Firebase ML",[60,806,807],{},"Cloud Storage for Firebase, per Firebase's guide",[60,809,810],{},[69,811,106],{"href":812,"rel":813},"https:\u002F\u002Ffirebase.google.com\u002Fdocs\u002Fml\u002Fmigrate-to-cloud-storage",[73],[42,815,816,821,824,831,840],{},[60,817,818],{},[17,819,820],{},"September 29, 2027",[60,822,823],{},"FCM InstanceId server APIs and device groups",[60,825,826,827,830],{},"Requests to ",[172,828,829],{},"iid.googleapis.com"," and device group management start failing. New users are blocked after January 1, 2027",[60,832,833,834,837,838],{},"The FCM topic subscription API, HTTP v1 with ",[172,835,836],{},"validate_only",", and sends to individual tokens. ",[69,839,717],{"href":716},[60,841,842],{},[69,843,106],{"href":844,"rel":845},"https:\u002F\u002Ffirebase.google.com\u002Fdocs\u002Fcloud-messaging\u002Ftroubleshooting#fcm-26-deprecation",[73],[42,847,848,853,856,859,862],{},[60,849,850],{},[17,851,852],{},"September 30, 2027",[60,854,855],{},"Firebase Test Lab",[60,857,858],{},"All of Test Lab",[60,860,861],{},"The Developer Device Platform on Google Cloud",[60,863,864],{},[69,865,106],{"href":866,"rel":867},"https:\u002F\u002Ffirebase.google.com\u002Fdocs\u002Ftest-lab",[73],[31,869,871],{"id":870},"what-each-2027-deadline-means-in-practice","What each 2027 deadline means in practice",[262,873,875],{"id":874},"firebase-studio-march-22-2027","Firebase Studio: March 22, 2027",[14,877,878],{},"Firebase Studio launched as a preview to explore AI-driven, full-stack app development. Firebase's migration page points to Google AI Studio, for rapid browser-based prototyping, and Google Antigravity, for code-first agentic work. You can keep working in an existing workspace until March 22, 2027. Any project you want to keep must be migrated before then, and Firebase's page has steps for both destinations and for exporting the source to anywhere else.",[14,880,881,882,114],{},"For the step-by-step move, see ",[69,883,885],{"href":884},"\u002Fblog\u002Ffirebase-studio-shutting-down-migrate-project-2027\u002F","Firebase Studio is shutting down: how to migrate",[14,887,888],{},"Your Firebase backend isn't affected. Firebase says Firestore, Authentication, App Hosting and your data keep working outside Firebase Studio. One thing to test after a move: Firebase's own FAQ has an entry about Google Sign-In not working after migrating to Google AI Studio, so check sign-in first.",[262,890,892],{"id":891},"firebase-extensions-march-31-2027","Firebase Extensions: March 31, 2027",[14,894,895],{},"This one is easy to miss, because nothing breaks on the day. Firebase says installed extensions run on standard Google Cloud services (Cloud Functions, Eventarc, Cloud Run, Cloud Tasks) and keep executing. What you lose after March 31, 2027 is control: you can't change parameters or environment variables, apply fixes or security patches, uninstall through the console or CLI, or download the configuration to set up a replacement.",[14,897,898,899,114],{},"For the inventory and function kit steps, see ",[69,900,902],{"href":901},"\u002Fblog\u002Ffirebase-extensions-shutting-down-replace-2027\u002F","Firebase Extensions are shutting down: how to replace them",[14,904,905],{},"There's a second risk. Firebase notes that most extensions are built on the legacy Cloud Functions v1 SDK and older Node.js runtimes, and that functions may stop running or be disabled when Google Cloud retires those runtimes. So an extension you can't update may stop working once those runtimes are retired, and you won't be able to patch it.",[14,907,908],{},"Before March 31, 2027:",[497,910,911,917,923,929],{},[129,912,913,916],{},[17,914,915],{},"List what's installed."," In the Firebase console, open Extensions for each project, including staging and old projects.",[129,918,919,922],{},[17,920,921],{},"Uninstall what you no longer use."," After the deadline the Uninstall button goes away, and you'd have to delete the underlying resources by hand.",[129,924,925,928],{},[17,926,927],{},"Export the configuration of the rest."," You need the parameters to set up a replacement.",[129,930,931,934,935,939],{},[17,932,933],{},"Replace each one."," Use the publisher's function kit on npm if there is one. If not, the extensions are open source, so a developer can rebuild one as Cloud Functions (2nd gen). Firebase's ",[69,936,938],{"href":613,"rel":937},[73],"guide for users"," covers both.",[262,941,943],{"id":942},"firebase-ml-model-hosting-june-15-2027","Firebase ML model hosting: June 15, 2027",[14,945,946],{},"This only matters if you host custom TensorFlow Lite models through Firebase ML. On-device ML Kit features are a separate product. Firebase's suggested route is to download your models and host them in Cloud Storage for Firebase, and its guide covers Android, Apple platforms and Flutter, plus an optional move to the LiteRT CompiledModel API.",[14,948,881,949,114],{},[69,950,952],{"href":951},"\u002Fblog\u002Ffirebase-ml-model-hosting-shutting-down-migrate-2027\u002F","Firebase ML model hosting is shutting down: how to migrate",[262,954,956],{"id":955},"fcm-instanceid-apis-and-device-groups-september-29-2027","FCM InstanceId APIs and device groups: September 29, 2027",[14,958,959,960,962,963,114],{},"If your server checks tokens with ",[172,961,829],{},", manages topic subscriptions through the old InstanceId endpoints, imports APNs tokens in bulk, or uses device groups, those calls start failing after September 29, 2027. If you manage topics through an older Firebase Admin SDK, you're affected too. I cover each case and the replacement in the ",[69,964,965],{"href":716},"FCM guide",[262,967,969],{"id":968},"test-lab-september-30-2027","Test Lab: September 30, 2027",[14,971,972],{},"Test Lab runs your Android and iOS tests on devices in Google's data centers. Firebase says it will be fully shut down on September 30, 2027, and points to the Developer Device Platform on Google Cloud, with a migration guide and FAQ linked from the Test Lab page. If Test Lab runs in your CI pipeline, budget time to move it and to compare device coverage and pricing before the deadline.",[14,974,975,976,114],{},"For the options and a migration plan, see ",[69,977,979],{"href":978},"\u002Fblog\u002Ffirebase-test-lab-shutting-down-alternatives-2027\u002F","Firebase Test Lab is shutting down: alternatives for 2027",[31,981,983],{"id":982},"a-one-hour-check-for-your-project","A one-hour check for your project",[497,985,986,1011,1017,1023],{},[129,987,988,991,992,194,994,194,997,194,1000,1003,1004,1007,1008,114],{},[17,989,990],{},"Search your code"," for ",[172,993,829],{},[172,995,996],{},"fcm.googleapis.com\u002Ffcm\u002F",[172,998,999],{},"page.link",[172,1001,1002],{},"firebase-ml-modeldownloader"," (or ",[172,1005,1006],{},"firebase_ml_model_downloader"," in Flutter), and ",[172,1009,1010],{},"gcloud firebase test",[129,1012,1013,1016],{},[17,1014,1015],{},"Open the Firebase console"," for every project you own and look at Extensions, Machine Learning, Test Lab and Studio.",[129,1018,1019,1022],{},[17,1020,1021],{},"Write down each deadline"," that applies, with the owner of the fix and a target date at least a month early.",[129,1024,1025,1028],{},[17,1026,1027],{},"Start with the earliest deadlines."," Of the 2027 ones, Studio and Extensions come first, in March.",[14,1030,529,1031,114],{},[69,1032,533],{"href":532},[31,1034,537],{"id":536},[14,1036,1037,1038,1040,1041,1043],{},"If one of these migrations breaks something, such as pushes that stop arriving, a sign-in flow that fails after a move, or a Cloud Function that won't deploy, the ",[69,1039,544],{"href":543}," covers it in two fixed-price steps. A $450 Diagnosis gives you the root cause with evidence and a fixed repair quote within 3 business days, credited toward the fix. If you go ahead, the $1,200 Fix takes 5 business days. If you want help planning several migrations at once, ",[69,1042,549],{"href":548}," of your project.",{"title":174,"searchDepth":551,"depth":551,"links":1045},[1046,1047,1054,1055],{"id":668,"depth":551,"text":669},{"id":870,"depth":551,"text":871,"children":1048},[1049,1050,1051,1052,1053],{"id":874,"depth":561,"text":875},{"id":891,"depth":561,"text":892},{"id":942,"depth":561,"text":943},{"id":955,"depth":561,"text":956},{"id":968,"depth":561,"text":969},{"id":982,"depth":551,"text":983},{"id":536,"depth":551,"text":537},"2026-10-18T23:00:00.000Z","Every Firebase shutdown from 2024 to 2027 in one dated table: FCM legacy APIs, Dynamic Links, Firebase Studio, Extensions, Firebase ML model hosting, the FCM InstanceId APIs and Test Lab. What stops working, the deadline, and what to move to, from Firebase's own docs checked October 18, 2026.",[1059,1062,1065,1068,1071,1074],{"question":1060,"answer":1061},"Is Firebase shutting down?","No. Firebase is retiring some products and APIs, but core services such as Firestore, Authentication, Cloud Functions and Hosting are not on any shutdown list I found. Firebase says the Firebase Studio sunset doesn't affect Firestore, Authentication or App Hosting.",{"question":1063,"answer":1064},"What Firebase products are being deprecated in 2027?","Firebase Studio sunsets on March 22, 2027, Firebase Extensions shuts down on March 31, 2027, Firebase ML custom model hosting on June 15, 2027, the FCM InstanceId server APIs and device groups on September 29, 2027, and Test Lab on September 30, 2027.",{"question":1066,"answer":1067},"Will my Firebase Extensions stop working on March 31, 2027?","Not immediately. Firebase says already-deployed extensions keep running on Google Cloud infrastructure, but after March 31, 2027 you can't update, reconfigure or uninstall them through the Firebase console or CLI, or download their configuration. Firebase also warns that most extensions use the legacy Cloud Functions v1 SDK, which may stop running when older runtimes are decommissioned.",{"question":1069,"answer":1070},"What replaces Firebase Test Lab?","Firebase points Test Lab users to the Developer Device Platform on Google Cloud, with a migration guide and FAQ. Test Lab will be fully shut down on September 30, 2027.",{"question":1072,"answer":1073},"What happens to apps I built in Firebase Studio?","New workspaces and signups were disabled on June 22, 2026. You can keep working in existing workspaces until March 22, 2027, but you must migrate any project you want to keep before then. Firebase offers migration paths to Google AI Studio, Google Antigravity, or exporting the source to another platform.",{"question":1075,"answer":1076},"Where can I host custom ML models after Firebase ML?","Firebase suggests Cloud Storage for Firebase and has a guide for downloading your TensorFlow Lite models and uploading them there, with steps for Android, Apple platforms and Flutter. Firebase ML model hosting shuts down on June 15, 2027.",{"readingTimeStats":1078},{"text":1079,"minutes":1080,"time":1081,"words":1082},"6 min read",5.665,339900,1133,"\u002Fblog\u002Ffirebase-deprecations-shutdown-dates-2026","firebase deprecations",[1086,1087,1088],"fcm-legacy-api-shutdown-http-v1-migration-2026","firebase-dynamic-links-shutdown-deep-linking-2026","how-to-cut-your-firebase-bill-2026",{"title":647,"description":1057},[1091,1093,1095,1097,1099,1100,1102,1104],{"title":1092,"url":722},"Firebase, migrate from legacy FCM APIs to HTTP v1 (Wayback Machine copy, January 8, 2026)",{"title":1094,"url":748},"Firebase, migrating email link sign-in off Dynamic Links (Android)",{"title":1096,"url":770},"Firebase, Firebase Studio sunset and project migration",{"title":1098,"url":87},"Firebase, Firebase Extensions deprecation FAQ",{"title":612,"url":613},{"title":1101,"url":812},"Firebase, migrate custom models from Firebase ML to Cloud Storage",{"title":1103,"url":844},"Firebase, FCM InstanceId API and device group deprecation (FAQ, announced September 2026)",{"title":1105,"url":866},"Firebase, Test Lab (deprecation notice)","blog\u002Ffirebase-deprecations-shutdown-dates-2026","firebase deprecations, firebase shutdown dates, firebase extensions deprecated, firebase test lab shut down, firebase studio sunset, firebase ml model hosting shut down, firebase dynamic links shutdown, fcm legacy api shutdown, firebase deprecation 2027, firebase migration checklist",[1109,1110,1111,1112,1113],"Five Firebase deadlines fall between March and September 2027: Firebase Studio (March 22), Extensions (March 31), Firebase ML model hosting (June 15), the FCM InstanceId APIs and device groups (September 29) and Test Lab (September 30).","Two shutdowns have already happened: sending through the legacy FCM APIs, from July 22, 2024, and Firebase Dynamic Links, on August 25, 2025.","Core services such as Firestore, Authentication, Cloud Functions and Hosting are not on the list, and Firebase says the Studio sunset doesn't affect Firestore, Authentication or App Hosting.","Installed Firebase Extensions keep running after March 31, 2027, but you can no longer update, reconfigure or uninstall them through Firebase, so migrate or uninstall them before then.","Every date here comes from Firebase's own documentation, checked on October 18, 2026. Deadlines can move, so check the linked page before you plan around one.","https:\u002F\u002Fapp369.com\u002Fblog\u002Ffirebase-deprecations-shutdown-dates-2026\u002F","sgyFwQkpd_gLjaaP7iUNbvUv_T-ENqm8em6pY6IA67w",{"id":1117,"title":1118,"author":1119,"body":1121,"category":569,"createdAt":1592,"description":1593,"disclosure":572,"extension":573,"faq":1594,"howTo":572,"lastVerified":572,"location":590,"meta":1610,"navigation":597,"ogImage":572,"path":1616,"primaryKeyword":1617,"readingTime":600,"related":1618,"seo":1620,"sources":1621,"stem":1627,"tags":1628,"takeaways":1629,"updatedAt":1592,"url":1635,"__hash__":1636},"blog\u002Fblog\u002Ffirebase-studio-shutting-down-migrate-project-2027.md","Firebase Studio Shutting Down: How to Migrate by March 2027",{"name":7,"social":1120},{"twitter":9},{"type":11,"value":1122,"toc":1577},[1123,1129,1132,1136,1138,1192,1195,1199,1202,1205,1213,1216,1219,1223,1226,1256,1259,1262,1266,1312,1316,1319,1330,1333,1336,1340,1349,1378,1381,1385,1388,1391,1394,1398,1401,1407,1426,1432,1446,1461,1465,1468,1509,1512,1516,1522,1524,1553,1564,1568,1570],[14,1124,1125,1128],{},[17,1126,1127],{},"Firebase Studio shuts down on March 22, 2027, and Firebase says any data still in it after that date is permanently deleted and cannot be recovered."," New workspaces and signups were already disabled on June 22, 2026. Firebase names two places to move your project, Google Antigravity and Google AI Studio, and also documents a zip or GitHub export for other platforms.",[14,1130,1131],{},"The facts below come from two Firebase documentation pages, as shown in the sources. I checked each one on October 18, 2026. Google can change a date, so open the linked page before you plan around it.",[14,1133,1134,29],{},[17,1135,28],{},[31,1137,34],{"id":33},[36,1139,1140,1150],{},[39,1141,1142],{},[42,1143,1144,1146,1148],{},[45,1145,47],{},[45,1147,50],{},[45,1149,53],{},[55,1151,1152,1165,1178],{},[42,1153,1154,1157,1160],{},[60,1155,1156],{},"March 19, 2026",[60,1158,1159],{},"Sunset announced. Migration tools start rolling out",[60,1161,1162],{},[69,1163,106],{"href":770,"rel":1164},[73],[42,1166,1167,1170,1173],{},[60,1168,1169],{},"June 22, 2026",[60,1171,1172],{},"New workspace creation and new user signup are disabled. Existing workspaces can still be used and migrated",[60,1174,1175],{},[69,1176,106],{"href":770,"rel":1177},[73],[42,1179,1180,1184,1187],{},[60,1181,1182],{},[17,1183,756],{},[60,1185,1186],{},"Firebase Studio shuts down. Remaining data is deleted",[60,1188,1189],{},[69,1190,106],{"href":770,"rel":1191},[73],[14,1193,1194],{},"Between those dates, Firebase says existing workspaces remain accessible and that it keeps providing critical security patches and Gemini model updates. The Studio overview page says: \"You can continue to work in and migrate your existing workspaces to Google AI Studio or Google Antigravity.\"",[31,1196,1198],{"id":1197},"what-happens-to-your-workspace-code-and-data","What happens to your workspace, code and data",[14,1200,1201],{},"Firebase's page is direct about this. Projects you want to keep must be migrated before March 22, 2027. After that date, remaining data is permanently deleted and cannot be recovered. I read that as: if the only copy of your code is in a Studio workspace, treat the date as a hard deadline.",[14,1203,1204],{},"Firebase also says what does not change:",[126,1206,1207,1210],{},[129,1208,1209],{},"Cloud Firestore, Authentication and App Hosting keep working. The sunset applies only to the Firebase Studio development environment.",[129,1211,1212],{},"The overview page says apps already deployed to Firebase keep running after the sunset date.",[14,1214,1215],{},"So the deadline is about your editing environment and the files inside it, not your live backend.",[14,1217,1218],{},"One more fact from the overview page. Firebase Studio is a preview, with no SLA, and it combines Project IDX with AI agents and Gemini assistance. Firebase says Project IDX is now part of Firebase Studio.",[31,1220,1222],{"id":1221},"which-path-firebase-recommends","Which path Firebase recommends",[14,1224,1225],{},"Firebase says its development focus now goes to two tools. Antigravity is for code-first, agentic development. AI Studio is for browser-based prototyping, with Cloud Firestore and Firebase Authentication integrated into it.",[36,1227,1228,1238],{},[39,1229,1230],{},[42,1231,1232,1235],{},[45,1233,1234],{},"Choose",[45,1236,1237],{},"If you",[55,1239,1240,1248],{},[42,1241,1242,1245],{},[60,1243,1244],{},"Google Antigravity",[60,1246,1247],{},"Prefer an agent-first desktop environment, the Antigravity IDE or the terminal. Created your app from a built-in template or imported repository. Mainly use Code View. Want multi-model support, including Claude and GPT-OSS alongside Gemini. Started in Prototyper mode but now need a local environment",[42,1249,1250,1253],{},[60,1251,1252],{},"Google AI Studio",[60,1254,1255],{},"Prefer a web-based experience for multi-device work or can't install software. Created your app with the App Prototyping agent and want rapid, prompt-based generation. Want the fastest path from prompt to full-stack production app",[14,1257,1258],{},"You aren't locked in. Firebase says you can start in AI Studio and move to Antigravity later, using the Code tab, then Export, then Export to Antigravity.",[14,1260,1261],{},"My advice: if your project is a real codebase that you plan to keep editing, Firebase's own criteria point to Antigravity. If it began as a prompt-built prototype, they point to AI Studio.",[31,1263,1265],{"id":1264},"before-you-start","Before you start",[497,1267,1268,1274,1292,1306],{},[129,1269,1270,1273],{},[17,1271,1272],{},"Check who created the workspace."," Only the creator can use the Move now button. For a shared workspace, others can duplicate it or export the code manually. Its backend config still points to the owner's Firebase project and keys, so create your own project and update the environment variables.",[129,1275,1276,1279,1280,1283,1284,1287,1288,1291],{},[17,1277,1278],{},"Save your chat history."," It is not in the zip. Firebase says prompts and responses for the App Prototyping agent and Gemini are in ",[172,1281,1282],{},"\u002Fhome\u002Fuser\u002F.idx\u002Fai",". To keep them, open the folder with File > Open Folder, right-click ",[172,1285,1286],{},".idx\u002Fai",", choose Zip and Download, and cancel the environment rebuild prompt. For Prototyper sessions, check ",[172,1289,1290],{},"git log"," or Source Control history.",[129,1293,1294,1297,1298,1301,1302,1305],{},[17,1295,1296],{},"Trim what you export."," If an export stalls or times out, Firebase says to delete ",[172,1299,1300],{},"node_modules",", large media, database exports and build folders, and to avoid zipping a large ",[172,1303,1304],{},".git"," history or logs.",[129,1307,1308,1311],{},[17,1309,1310],{},"Allow pop-ups."," If the download does nothing, Firebase says to allow pop-ups in your browser or run Zip and Download manually.",[31,1313,1315],{"id":1314},"move-to-google-ai-studio","Move to Google AI Studio",[14,1317,1318],{},"Firebase's steps for the transfer:",[497,1320,1321,1324,1327],{},[129,1322,1323],{},"Click Move now at the top of your workspace, then select Prepare for AI Studio.",[129,1325,1326],{},"When preparation finishes, click Move to Google AI Studio.",[129,1328,1329],{},"If asked, review and accept the Terms of Service. Your code opens in a new AI Studio workspace.",[14,1331,1332],{},"Firebase says conversion can take several minutes and that AI Studio notifies you when it is done.",[14,1334,1335],{},"Then you choose how to publish.",[262,1337,1339],{"id":1338},"option-a-keep-your-existing-url","Option A: keep your existing URL",[14,1341,1342,1343,1345,1346,1348],{},"This uses App Hosting and GitHub sync. Firebase Studio stored your Gemini API key from the workspace ",[172,1344,348],{}," file as an App Hosting environment variable. After migrating, you must set the environment variable manually in the Firebase console, because the ",[172,1347,348],{}," file shouldn't be stored in GitHub to avoid API key exposure. Firebase notes the key stays accessible to anyone with access to the Firebase project, and suggests Secret Manager for finer control.",[497,1350,1351,1361,1367],{},[129,1352,1353,1354,1357,1358,1360],{},"In the Firebase console, open App Hosting and click View on your backend, usually named ",[172,1355,1356],{},"studio",". Go to Settings > Environment, click Add new, and enter your ",[172,1359,348],{}," contents in the Key field.",[129,1362,1363,1364,1366],{},"In AI Studio, open Settings, then the GitHub panel. Sign in to GitHub and install the Google AI Studio GitHub App. Click Create GitHub repository, confirm ",[172,1365,348],{}," is not in the file list, and select Stage and commit all changes.",[129,1368,1369,1370,1373,1374,1377],{},"In the App Hosting backend's Settings > Deployment, select Connect to GitHub. Install the Firebase App Hosting GitHub App, select your repository, set the branch to ",[172,1371,1372],{},"main"," and the root directory to ",[172,1375,1376],{},"\u002F",", then click Save and deploy.",[14,1379,1380],{},"For later updates, you stage and commit in the AI Studio GitHub panel and watch the deployment in the Firebase console.",[262,1382,1384],{"id":1383},"option-b-one-click-publish-to-cloud-run","Option B: one-click publish to Cloud Run",[14,1386,1387],{},"This gives you a new URL. In AI Studio, click Publish, click Import project in the project selector, choose the project name shown in the top bar of your Studio workspace, click Import, then Publish.",[14,1389,1390],{},"Firebase warns about custom domains here. You must map the domain to the new Cloud Run service, mapping can take up to 24 hours, and it may cause downtime. Firebase offers staying on App Hosting through AI Studio's GitHub sync (Option A) as the way to avoid migrating domains.",[14,1392,1393],{},"My advice: if you have a custom domain or real users, pick Option A. It keeps your URL, so you don't have to remap the domain.",[31,1395,1397],{"id":1396},"move-to-google-antigravity","Move to Google Antigravity",[14,1399,1400],{},"Firebase lists three prerequisites: the Antigravity IDE (choose the IDE, not the other download options), Node.js 20 or higher, and Firebase CLI 15.10.0 or higher.",[14,1402,1403,1406],{},[17,1404,1405],{},"Step 1: export and initialize."," Firebase gives an automated way and a manual one.",[126,1408,1409,1416],{},[129,1410,1411,1412,1415],{},"Automated: click Move now, then Zip and Download if it is shown. If not, run Firebase Studio: Zip & Download from the command palette. Extract the folder and open it in the Antigravity IDE. In the Agent pane, enter ",[172,1413,1414],{},"@fbs-to-agy-export",". Firebase recommends the Gemini Flash model for this task. Follow the agent's prompts, and if errors occur, ask it to try again.",[129,1417,1418,1419,1422,1423,1425],{},"Manual, with no AI tokens: run ",[172,1420,1421],{},"npx firebase-tools@latest studio:export PATH",", where PATH is your project folder or zip file, or ",[172,1424,114],{}," if you are already in it. Firebase says this command is optimized for Next.js, Flutter and Angular, and that other workspace types may not be fully updated.",[14,1427,1428,1431],{},[17,1429,1430],{},"Step 2: preview."," Open Run and Debug in the left sidebar, click the play button to start the local dev server, and follow the terminal instructions.",[14,1433,1434,1437,1438,1441,1442,1445],{},[17,1435,1436],{},"Step 3: publish."," In the agent chat, enter ",[172,1439,1440],{},"Publish my app",". When prompted to run ",[172,1443,1444],{},"firebase deploy",", choose Yes. Firebase says that if you have published before, the app keeps its existing URL. Otherwise the agent walks you through App Hosting setup.",[14,1447,1448,1449,1452,1453,1456,1457,1460],{},"If the Antigravity terminal can't find ",[172,1450,1451],{},"npx"," or the Firebase CLI, Firebase says to add a block to ",[172,1454,1455],{},"~\u002F.bash_profile"," that sources ",[172,1458,1459],{},"~\u002F.bashrc"," if it exists, then restart Antigravity.",[31,1462,1464],{"id":1463},"move-to-another-platform-zip-or-github","Move to another platform: zip or GitHub",[14,1466,1467],{},"Firebase documents a third route that doesn't use either tool.",[497,1469,1470,1473],{},[129,1471,1472],{},"Click Move now, then Zip and Download, and extract the archive. Firebase says you can also export to GitHub.",[129,1474,1475,1476],{},"Pick how to publish:\n",[126,1477,1478,1497,1503],{},[129,1479,1480,1483,1484,1487,1488,1491,1492,1494,1495,114],{},[17,1481,1482],{},"Firebase CLI, which keeps your URL."," Install with ",[172,1485,1486],{},"npm install -g firebase-tools",", run ",[172,1489,1490],{},"firebase init apphosting",", choose Link to an existing backend, select ",[172,1493,1356],{},", then run ",[172,1496,1444],{},[129,1498,1499,1502],{},[17,1500,1501],{},"External hosting."," It works with any provider, but you get a new URL.",[129,1504,1505,1508],{},[17,1506,1507],{},"Local only."," Use the Firebase Local Emulator Suite for offline testing.",[14,1510,1511],{},"My advice: even if you plan to use AI Studio or Antigravity, download the zip first. It is a copy of your code that lives outside Google's workspace.",[31,1513,1515],{"id":1514},"what-the-app-prototyping-agent-and-gemini-become","What the App Prototyping agent and Gemini become",[14,1517,1518,1519,1521],{},"Firebase's migration page has no dedicated guidance on either. What it does say is narrow. Apps built with the App Prototyping agent fit the AI Studio path, where you get prompt-based generation. Gemini model updates continue in Studio until the shutdown, and Firebase recommends the Gemini Flash model for the automated Antigravity step. The Gemini API key in your workspace ",[172,1520,348],{}," is the thing you have to move yourself.",[31,1523,495],{"id":494},[497,1525,1526,1529,1532,1538,1541,1547,1550],{},[129,1527,1528],{},"Find out who created each workspace you care about.",[129,1530,1531],{},"Download a zip now and store it somewhere you control.",[129,1533,1534,1535,1537],{},"Zip the ",[172,1536,1286],{}," folder if you want your chat history.",[129,1539,1540],{},"Choose AI Studio, Antigravity or another platform using Firebase's criteria above.",[129,1542,1543,1544,1546],{},"Move your Gemini API key out of ",[172,1545,348],{}," and into App Hosting settings or Secret Manager.",[129,1548,1549],{},"Test sign-in. Firebase says that if Google Sign-In breaks after migration, you add the AI Studio app's domain under Authentication > Settings > Authorized domains.",[129,1551,1552],{},"Finish well before March 22, 2027.",[14,1554,1555,1556,1558,1559,1563],{},"For the other Firebase retirements that fall in 2027, see my ",[69,1557,113],{"href":112},". If your app came from Builder.ai, which shut down in 2025, the ",[69,1560,1562],{"href":1561},"\u002Fblog\u002Fbuilder-ai-shut-down-what-to-do-with-your-app-2026\u002F","Builder.ai guide"," covers what to do with it.",[14,1565,529,1566,114],{},[69,1567,533],{"href":532},[31,1569,537],{"id":536},[14,1571,1572,1573,545,1575,114],{},"If your app lives in a Firebase Studio workspace and you want it moved out safely before the shutdown, the ",[69,1574,544],{"href":543},[69,1576,549],{"href":548},{"title":174,"searchDepth":551,"depth":551,"links":1578},[1579,1580,1581,1582,1583,1587,1588,1589,1590,1591],{"id":33,"depth":551,"text":34},{"id":1197,"depth":551,"text":1198},{"id":1221,"depth":551,"text":1222},{"id":1264,"depth":551,"text":1265},{"id":1314,"depth":551,"text":1315,"children":1584},[1585,1586],{"id":1338,"depth":561,"text":1339},{"id":1383,"depth":561,"text":1384},{"id":1396,"depth":551,"text":1397},{"id":1463,"depth":551,"text":1464},{"id":1514,"depth":551,"text":1515},{"id":494,"depth":551,"text":495},{"id":536,"depth":551,"text":537},"2026-10-18T23:45:00.000Z","Firebase Studio shuts down on March 22, 2027 and remaining data is permanently deleted. The dated timeline, what happens to your workspace, and the migration paths to Google AI Studio, Google Antigravity or a zip or GitHub export, from Firebase's pages checked October 18, 2026.",[1595,1598,1601,1604,1607],{"question":1596,"answer":1597},"When does Firebase Studio shut down?","On March 22, 2027. Firebase's migration page says new workspace creation and new user signup were disabled on June 22, 2026, and that existing workspaces stay accessible until the shutdown date. After March 22, 2027, remaining data is permanently deleted and cannot be recovered.",{"question":1599,"answer":1600},"Will my deployed app stop working when Firebase Studio shuts down?","Firebase says apps already deployed to Firebase keep running after the sunset date, and that Cloud Firestore, Authentication and App Hosting are not affected. The sunset applies only to the Firebase Studio development environment. What you lose is the workspace itself, so move your code out before March 22, 2027.",{"question":1602,"answer":1603},"Where does Google tell me to move my Firebase Studio project?","To Google Antigravity or Google AI Studio. Firebase says Antigravity suits code-first, agentic development, and AI Studio suits browser-based prototyping. The migration page also covers other platforms: you zip and download the workspace, or export it to GitHub, then publish it with the Firebase CLI or an external host.",{"question":1605,"answer":1606},"Does the zip download include my chat history?","No. Firebase says chat history is not in the zip. Prompts and responses for the App Prototyping agent and Gemini are stored in \u002Fhome\u002Fuser\u002F.idx\u002Fai, and you can zip that folder separately. For Prototyper sessions, Firebase says to check git log or Source Control history.",{"question":1608,"answer":1609},"Can someone other than the creator migrate a shared workspace?","Not with the Move now button. Firebase says only the workspace creator can use it. Other people can duplicate the workspace or export the code manually. The backend configuration still points to the owner's Firebase project and keys, so you create your own project and update the environment variables.",{"readingTimeStats":1611},{"text":1612,"minutes":1613,"time":1614,"words":1615},"9 min read",8.435,506100,1687,"\u002Fblog\u002Ffirebase-studio-shutting-down-migrate-project-2027","firebase studio shutting down",[602,604,1619],"builder-ai-shut-down-what-to-do-with-your-app-2026",{"title":1118,"description":1593},[1622,1624],{"title":1623,"url":770},"Firebase, Firebase Studio sunset and project migration (page last checked October 18, 2026)",{"title":1625,"url":1626},"Firebase, Firebase Studio overview (page last updated 2026-10-14 UTC)","https:\u002F\u002Ffirebase.google.com\u002Fdocs\u002Fstudio","blog\u002Ffirebase-studio-shutting-down-migrate-project-2027","firebase studio shutting down, firebase studio sunset, firebase studio migration, migrate firebase studio to google ai studio, firebase studio to antigravity, firebase studio export zip, firebase studio github export, project idx shutdown, firebase studio march 22 2027, firebase studio app prototyping agent",[1630,1631,1632,1633,1634],"Firebase Studio shuts down on March 22, 2027. Firebase says remaining data is permanently deleted and cannot be recovered after that date, so anything you want to keep must be migrated before then.","New workspace creation and new signups were disabled on June 22, 2026. You can still use and migrate existing workspaces until the shutdown.","Firebase names two destinations. Google Antigravity is for code-first, agentic work, and Google AI Studio is for browser-based prototyping. You can also zip and download your code, or export it to GitHub, and use it on another platform.","Only the sunset of the Studio development environment is announced. Firebase says Cloud Firestore, Authentication and App Hosting are not affected, and that apps already deployed to Firebase keep running.","Chat history is not included in the zip. Firebase says the App Prototyping agent and Gemini prompts and responses are stored in a separate folder you have to zip yourself.","https:\u002F\u002Fapp369.com\u002Fblog\u002Ffirebase-studio-shutting-down-migrate-project-2027\u002F","tbn1WaZpTkl0MiOGKzFzF5hwJJrrFoDQBx5QLLKI6WI",{"id":1638,"title":1639,"author":1640,"body":1642,"category":569,"createdAt":2250,"description":2251,"disclosure":572,"extension":573,"faq":2252,"howTo":572,"lastVerified":572,"location":590,"meta":2268,"navigation":597,"ogImage":572,"path":2274,"primaryKeyword":2275,"readingTime":2276,"related":2277,"seo":2280,"sources":2281,"stem":2312,"tags":2313,"takeaways":2314,"updatedAt":2250,"url":2320,"__hash__":2321},"blog\u002Fblog\u002Fapp-store-google-play-deadlines-2026-2027.md","App Store and Google Play Deadlines for 2026 and 2027",{"name":7,"social":1641},{"twitter":9},{"type":11,"value":1643,"toc":2242},[1644,1650,1653,1658,1662,2148,2160,2163,2174,2177,2181,2198,2201,2205,2220,2223,2227,2233,2235],[14,1645,1646,1649],{},[17,1647,1648],{},"The App Store and Google Play requirements that affect mobile app owners in 2026 and 2027 fit in one table: Xcode 26 uploads since April 28, 2026, target API 36 and Play Billing Library 8 since August 31, 2026, 16 KB page size support from February 1, 2027, and five Firebase shutdowns between March 22 and September 30, 2027."," The table below is sorted by date, and every row links to the page where the platform states it.",[14,1651,1652],{},"I checked each one on October 18, 2026. Rows whose date has passed are marked \"In effect\".",[14,1654,1655,1657],{},[17,1656,28],{}," App369 is my studio. I build and fix Android and iOS apps, mostly in Flutter, and the last section mentions what I sell. Apple and Google don't pay me for anything on this page.",[31,1659,1661],{"id":1660},"all-dates-in-order","All dates, in order",[36,1663,1664,1680],{},[39,1665,1666],{},[42,1667,1668,1670,1673,1676,1678],{},[45,1669,47],{},[45,1671,1672],{},"What changes",[45,1674,1675],{},"Status",[45,1677,53],{},[45,1679,717],{},[55,1681,1682,1706,1729,1755,1779,1798,1827,1852,1879,1904,1930,1952,1976,2000,2021,2042,2063,2084,2107,2127],{},[42,1683,1684,1687,1693,1696,1703],{},[60,1685,1686],{},"January 31, 2026",[60,1688,1689,1692],{},[17,1690,1691],{},"Apple."," Apple asked developers to answer the updated age rating questions in App Store Connect by this date, to avoid an interruption when submitting app updates. Affects: every app on the App Store.",[60,1694,1695],{},"In effect",[60,1697,1698],{},[69,1699,1702],{"href":1700,"rel":1701},"https:\u002F\u002Fdeveloper.apple.com\u002Fnews\u002Fupcoming-requirements\u002F",[73],"Apple",[60,1704,1705],{},"None",[42,1707,1708,1711,1716,1718,1723],{},[60,1709,1710],{},"April 28, 2026",[60,1712,1713,1715],{},[17,1714,1691],{}," Uploads to App Store Connect must be built with Xcode 26 or later, using an SDK for iOS 26, iPadOS 26, tvOS 26, visionOS 26 or watchOS 26. Affects: anyone uploading a build, including Flutter apps.",[60,1717,1695],{},[60,1719,1720],{},[69,1721,1702],{"href":1700,"rel":1722},[73],[60,1724,1725],{},[69,1726,1728],{"href":1727},"\u002Fblog\u002Fitms-90725-sdk-version-issue-xcode-26-flutter-2026\u002F","ITMS-90725 and Xcode 26",[42,1730,1731,1734,1740,1742,1749],{},[60,1732,1733],{},"August 31, 2026",[60,1735,1736,1739],{},[17,1737,1738],{},"Google Play."," New apps and app updates must target Android 16 (API level 36) or higher. Wear OS and Android Automotive OS apps need API 35, and Android XR apps need API 34. Affects: anyone publishing a new app or an update.",[60,1741,1695],{},[60,1743,1744],{},[69,1745,1748],{"href":1746,"rel":1747},"https:\u002F\u002Fsupport.google.com\u002Fgoogleplay\u002Fandroid-developer\u002Fanswer\u002F11926878",[73],"Play Console Help",[60,1750,1751],{},[69,1752,1754],{"href":1753},"\u002Fblog\u002Fgoogle-play-target-api-36-android-16-requirement-2026\u002F","Target API 36",[42,1756,1757,1759,1764,1766,1773],{},[60,1758,1733],{},[60,1760,1761,1763],{},[17,1762,1738],{}," New apps and updates must use Play Billing Library 8 or later. Version 7 is no longer accepted by default. Affects: apps with in-app purchases or subscriptions.",[60,1765,1695],{},[60,1767,1768],{},[69,1769,1772],{"href":1770,"rel":1771},"https:\u002F\u002Fdeveloper.android.com\u002Fgoogle\u002Fplay\u002Fbilling\u002Fdeprecation-faq",[73],"Android Developers",[60,1774,1775],{},[69,1776,1778],{"href":1777},"\u002Fblog\u002Fplay-billing-library-7-deprecated-update-to-8-2026\u002F","Billing Library 8",[42,1780,1781,1784,1789,1791,1796],{},[60,1782,1783],{},"September 9, 2026",[60,1785,1786,1788],{},[17,1787,1691],{}," iOS and iPadOS apps uploaded to App Store Connect must target iOS 13 or later. Affects: anyone uploading an iOS or iPadOS build.",[60,1790,1695],{},[60,1792,1793],{},[69,1794,1702],{"href":1700,"rel":1795},[73],[60,1797,1705],{},[42,1799,1800,1803,1808,1810,1821],{},[60,1801,1802],{},"September 14, 2026",[60,1804,1805,1807],{},[17,1806,1691],{}," Xcode 27 was released. Flutter's docs say Apple mandates the UIScene life cycle for UIKit apps built with the iOS 27 SDK, and that Flutter apps built with Xcode 27 without it fail to launch. Affects: anyone building with Xcode 27, including Flutter apps with a custom AppDelegate.",[60,1809,1695],{},[60,1811,1812,194,1817],{},[69,1813,1816],{"href":1814,"rel":1815},"https:\u002F\u002Fdocs.flutter.dev\u002Frelease\u002Fbreaking-changes\u002Fuiscenedelegate",[73],"Flutter docs",[69,1818,1702],{"href":1819,"rel":1820},"https:\u002F\u002Fdeveloper.apple.com\u002Fnews\u002Freleases\u002F",[73],[60,1822,1823],{},[69,1824,1826],{"href":1825},"\u002Fblog\u002Fflutter-uiscene-migration-xcode-27-app-wont-launch-2026\u002F","UIScene migration",[42,1828,1829,1832,1838,1840,1846],{},[60,1830,1831],{},"September 30, 2026",[60,1833,1834,1837],{},[17,1835,1836],{},"Google Play \u002F Android."," Developer verification protections begin for apps installed from participating stores in Brazil, Indonesia, Singapore and Thailand on certified devices running Android 7 or higher. Affects: anyone distributing Android apps.",[60,1839,1695],{},[60,1841,1842],{},[69,1843,1772],{"href":1844,"rel":1845},"https:\u002F\u002Fdeveloper.android.com\u002Fdeveloper-verification",[73],[60,1847,1848],{},[69,1849,1851],{"href":1850},"\u002Fblog\u002Fandroid-developer-verification-requirement-2026\u002F","Developer verification",[42,1853,1854,1857,1863,1866,1873],{},[60,1855,1856],{},"October 30, 2026",[60,1858,1859,1862],{},[17,1860,1861],{},"Google APIs."," Google says the legacy Fitbit Web API will be turned off and will no longer function or sync data. Support already ended on September 30, 2026. Affects: apps that read Fitbit data through the Fitbit Web API.",[60,1864,1865],{},"Upcoming",[60,1867,1868],{},[69,1869,1872],{"href":1870,"rel":1871},"https:\u002F\u002Fdevelopers.google.com\u002Fhealth",[73],"Google Health API",[60,1874,1875],{},[69,1876,1878],{"href":1877},"\u002Fblog\u002Fgoogle-fit-api-deprecated-health-connect-2026\u002F","Google Fit to Health Connect",[42,1880,1881,1883,1889,1891,1898],{},[60,1882,1856],{},[60,1884,1885,1888],{},[17,1886,1887],{},"Supabase."," New tables in the public schema stop getting automatic Data API access in existing projects, so they need an explicit grant. Affects: apps with a Supabase backend.",[60,1890,1865],{},[60,1892,1893],{},[69,1894,1897],{"href":1895,"rel":1896},"https:\u002F\u002Fsupabase.com\u002Fchangelog\u002F45329-breaking-change-tables-not-exposed-to-data-and-graphql-api-automatically",[73],"Supabase",[60,1899,1900],{},[69,1901,1903],{"href":1902},"\u002Fblog\u002Fsupabase-permission-denied-new-tables-october-30-2026\u002F","Supabase permission denied",[42,1905,1906,1909,1914,1916,1924],{},[60,1907,1908],{},"November 1, 2026",[60,1910,1911,1913],{},[17,1912,1738],{}," End of the extension Google offers for the target API 36 and Billing Library 7 deadlines. Affects: anyone who requested an extension.",[60,1915,1865],{},[60,1917,1918,194,1921],{},[69,1919,1748],{"href":1746,"rel":1920},[73],[69,1922,1772],{"href":1770,"rel":1923},[73],[60,1925,1926,194,1928],{},[69,1927,1754],{"href":1753},[69,1929,1778],{"href":1777},[42,1931,1932,1935,1940,1942,1948],{},[60,1933,1934],{},"End of 2026",[60,1936,1937,1939],{},[17,1938,1861],{}," The Google Fit APIs, including the REST API, are supported only until the end of 2026. Affects: apps that read fitness data through Google Fit.",[60,1941,1865],{},[60,1943,1944],{},[69,1945,1772],{"href":1946,"rel":1947},"https:\u002F\u002Fdeveloper.android.com\u002Fhealth-and-fitness\u002Fhealth-connect\u002Fmigration\u002Ffit",[73],[60,1949,1950],{},[69,1951,1878],{"href":1877},[42,1953,1954,1957,1963,1965,1971],{},[60,1955,1956],{},"January 1, 2027",[60,1958,1959,1962],{},[17,1960,1961],{},"Firebase."," New users can no longer start using the FCM InstanceId server APIs and device groups. Firebase says new users can onboard before this date. Affects: new integrations that use those APIs.",[60,1964,1865],{},[60,1966,1967],{},[69,1968,106],{"href":1969,"rel":1970},"https:\u002F\u002Ffirebase.google.com\u002Fdocs\u002Fcloud-messaging\u002Ftroubleshooting",[73],[60,1972,1973],{},[69,1974,1975],{"href":716},"FCM migration",[42,1977,1978,1981,1986,1988,1994],{},[60,1979,1980],{},"February 1, 2027",[60,1982,1983,1985],{},[17,1984,1738],{}," Updates that don't support 16 KB memory page sizes can't be released, for apps targeting Android 15 (API level 35) and higher. Affects: apps with native code, which includes Flutter apps.",[60,1987,1865],{},[60,1989,1990],{},[69,1991,1772],{"href":1992,"rel":1993},"https:\u002F\u002Fdeveloper.android.com\u002Fguide\u002Fpractices\u002Fpage-sizes",[73],[60,1995,1996],{},[69,1997,1999],{"href":1998},"\u002Fblog\u002Fgoogle-play-16kb-page-size-flutter-android-2026\u002F","16 KB page size",[42,2001,2002,2005,2010,2012,2017],{},[60,2003,2004],{},"2027 (no month stated)",[60,2006,2007,2009],{},[17,2008,1836],{}," Developer verification capability expands globally for all apps on certified Android devices. Affects: anyone distributing Android apps.",[60,2011,1865],{},[60,2013,2014],{},[69,2015,1772],{"href":1844,"rel":2016},[73],[60,2018,2019],{},[69,2020,1851],{"href":1850},[42,2022,2023,2025,2030,2032,2037],{},[60,2024,756],{},[60,2026,2027,2029],{},[17,2028,1961],{}," Firebase Studio shuts down and remaining data is permanently deleted. Affects: anyone with a Firebase Studio workspace.",[60,2031,1865],{},[60,2033,2034],{},[69,2035,106],{"href":770,"rel":2036},[73],[60,2038,2039],{},[69,2040,2041],{"href":884},"Firebase Studio shutdown",[42,2043,2044,2046,2051,2053,2058],{},[60,2045,96],{},[60,2047,2048,2050],{},[17,2049,1961],{}," Firebase Extensions service shuts down. Installed extensions keep running, but you lose the ability to update, reconfigure or uninstall them through the console or CLI. Affects: apps with installed extensions.",[60,2052,1865],{},[60,2054,2055],{},[69,2056,106],{"href":87,"rel":2057},[73],[60,2059,2060],{},[69,2061,2062],{"href":901},"Firebase Extensions shutdown",[42,2064,2065,2067,2072,2074,2079],{},[60,2066,798],{},[60,2068,2069,2071],{},[17,2070,1961],{}," Firebase ML custom model hosting shuts down. Affects: apps that host custom models in Firebase ML.",[60,2073,1865],{},[60,2075,2076],{},[69,2077,106],{"href":812,"rel":2078},[73],[60,2080,2081],{},[69,2082,2083],{"href":951},"Firebase ML model hosting shutdown",[42,2085,2086,2089,2094,2096,2101],{},[60,2087,2088],{},"August 31, 2027",[60,2090,2091,2093],{},[17,2092,1738],{}," Billing Library 8 reaches its own deadline. New apps and updates must use Billing Library 9 or later. Extension available until November 1, 2027. Affects: apps with in-app purchases or subscriptions.",[60,2095,1865],{},[60,2097,2098],{},[69,2099,1772],{"href":1770,"rel":2100},[73],[60,2102,2103],{},[69,2104,2106],{"href":2105},"\u002Fblog\u002Fplay-billing-library-9-migration-deadline-2027\u002F","Billing Library 9",[42,2108,2109,2111,2116,2118,2123],{},[60,2110,820],{},[60,2112,2113,2115],{},[17,2114,1961],{}," The FCM InstanceId server APIs and device groups are decommissioned. Affects: servers that manage topics or tokens through the old APIs.",[60,2117,1865],{},[60,2119,2120],{},[69,2121,106],{"href":1969,"rel":2122},[73],[60,2124,2125],{},[69,2126,1975],{"href":716},[42,2128,2129,2131,2136,2138,2143],{},[60,2130,852],{},[60,2132,2133,2135],{},[17,2134,1961],{}," Firebase Test Lab is fully shut down. Affects: CI pipelines that run tests on Test Lab.",[60,2137,1865],{},[60,2139,2140],{},[69,2141,106],{"href":866,"rel":2142},[73],[60,2144,2145],{},[69,2146,2147],{"href":978},"Firebase Test Lab shutdown",[14,2149,2150,2151,2155,2156,2159],{},"Two more notes. Apple's privacy manifest rules (May 1, 2024 for required reason APIs and February 12, 2025 for common SDKs, see the ",[69,2152,2154],{"href":2153},"\u002Fblog\u002Fapple-privacy-manifest-itms-91053-itms-91061-flutter-fix-2026\u002F","privacy manifest guide",") and the FCM legacy send shutdown (July 22, 2024, see the ",[69,2157,2158],{"href":716},"FCM migration guide",") already passed before 2026. I keep them in their own guides because they still cause upload and delivery errors.",[31,2161,1702],{"id":2162},"apple",[14,2164,2165,2166,194,2168,303,2171,114],{},"Apple's page names one build rule that matters most: Xcode 26 or later since April 28, 2026. As of October 18, 2026, it lists no Xcode 27 upload requirement. The bigger change with Xcode 27 is the UIScene life cycle, which a Flutter app on 3.41 or later with an unmodified AppDelegate gets automatically. A custom AppDelegate needs manual changes. The guides are ",[69,2167,1728],{"href":1727},[69,2169,2170],{"href":1825},"UIScene and Xcode 27",[69,2172,2173],{"href":2153},"privacy manifest errors",[14,2175,2176],{},"My advice: check which Xcode your build machine uses before your next upload, and test a build with Xcode 27 before you need one.",[31,2178,2180],{"id":2179},"google-play-and-android","Google Play and Android",[14,2182,2183,2184,2187,2188,194,2191,194,2193,303,2195,114],{},"The Play rules come in pairs. Target API 36 and Billing Library 8 both took effect on August 31, 2026 with an extension to November 1, 2026. After that, February 1, 2027 brings the 16 KB page size rule, and on August 31, 2027 Google requires Billing Library 9 or later for new apps and updates. The ",[69,2185,2186],{"href":2105},"Billing Library 9 guide"," covers that move. Separately, Android developer verification started on September 30, 2026 in four countries, with a global expansion in 2027. The guides are ",[69,2189,2190],{"href":1753},"target API 36",[69,2192,1999],{"href":1998},[69,2194,1778],{"href":1777},[69,2196,2197],{"href":1850},"developer verification",[14,2199,2200],{},"My advice: if you are still behind on API 36 or Billing 8, ship that update before November 1, 2026. Then do the 16 KB check before February 1, 2027, since it is the next date that can block a release.",[31,2202,2204],{"id":2203},"firebase-and-google-apis","Firebase and Google APIs",[14,2206,2207,2208,194,2211,194,2214,2216,2217,114],{},"Firebase has five shutdown dates in 2027, plus the January 1 cutoff for new users of the InstanceId APIs. Firestore, Authentication, Cloud Functions and Hosting are not on the list. Google Fit APIs are supported only until the end of 2026, and Google points to Health Connect and the Google Health API. The legacy Fitbit Web API goes first: Google says it will be turned off on October 30, 2026. The guides are ",[69,2209,2210],{"href":112},"Firebase shutdown dates",[69,2212,2213],{"href":716},"FCM HTTP v1 migration",[69,2215,1878],{"href":1877}," and, if you use it, ",[69,2218,2219],{"href":1902},"Supabase new table permissions",[14,2221,2222],{},"My advice: open the Firebase console for every project you own and look at Extensions, Machine Learning, Test Lab and Studio. Those are the products with a date attached.",[31,2224,2226],{"id":2225},"how-i-keep-this-page-current","How I keep this page current",[14,2228,2229,2230,114],{},"Every row links to the page where the platform states the date. If a source says only a month or \"later this year\", I write exactly that. When a platform moves a date, I change the row and the updated date at the top of this page. If you spot a date that looks wrong, ",[69,2231,2232],{"href":548},"tell me",[31,2234,537],{"id":536},[14,2236,2237,2238,545,2240,114],{},"If one of these deadlines lands on an app you can't update yourself, the ",[69,2239,544],{"href":543},[69,2241,549],{"href":548},{"title":174,"searchDepth":551,"depth":551,"links":2243},[2244,2245,2246,2247,2248,2249],{"id":1660,"depth":551,"text":1661},{"id":2162,"depth":551,"text":1702},{"id":2179,"depth":551,"text":2180},{"id":2203,"depth":551,"text":2204},{"id":2225,"depth":551,"text":2226},{"id":536,"depth":551,"text":537},"2026-10-18T22:00:00.000Z","One dated table of the App Store, Google Play, Firebase and Google API requirements that affect mobile app owners in 2026 and 2027, with the primary source for each date, checked October 18, 2026.",[2253,2256,2259,2262,2265],{"question":2254,"answer":2255},"What is the next Google Play deadline?","The deadline of November 1, 2026 is the end of the extension window for the target API 36 and Billing Library 7 deadlines. After that, the next one is February 1, 2027, when Google says app updates that don't support 16 KB memory page sizes can't be released.",{"question":2257,"answer":2258},"What Xcode version does the App Store require?","Apple's upcoming requirements page says that since April 28, 2026, apps uploaded to App Store Connect must be built with Xcode 26 or later using an SDK for iOS 26, iPadOS 26, tvOS 26, visionOS 26 or watchOS 26. As of October 18, 2026, the page lists no Xcode 27 requirement.",{"question":2260,"answer":2261},"Do these deadlines apply to apps already published?","It depends on the rule. Google says existing apps must target API 35 or higher to stay available to new users on newer Android versions, and existing apps keep working on version 7 of Play Billing until you ship an update. Most upload-side rules, such as the Xcode SDK minimum, apply when you submit a new build.",{"question":2263,"answer":2264},"Which deadlines affect a Flutter app?","Nearly all of the Apple and Google Play rows do, because a Flutter app is a normal iOS and Android app underneath. The Firebase rows apply only if you use that Firebase product. The Supabase row applies only if you use Supabase.",{"question":2266,"answer":2267},"How will I know if a date changes?","Each row links to the page where the platform states the date, and I list the date I checked it. Dates can move, so check the linked page before you plan around one. I update this page when a platform changes a date.",{"readingTimeStats":2269},{"text":2270,"minutes":2271,"time":2272,"words":2273},"7 min read",6.795,407700,1359,"\u002Fblog\u002Fapp-store-google-play-deadlines-2026-2027","app store deadlines 2026","6 min",[2278,2279,602],"google-play-target-api-36-android-16-requirement-2026","itms-90725-sdk-version-issue-xcode-26-flutter-2026",{"title":1639,"description":2251},[2282,2284,2286,2288,2290,2292,2294,2296,2298,2300,2302,2304,2306,2308,2310],{"title":2283,"url":1870},"Google for Developers, Google Health API (Fitbit Web API dates)",{"title":2285,"url":1700},"Apple Developer, Upcoming requirements",{"title":2287,"url":1819},"Apple Developer, Releases",{"title":2289,"url":1814},"Flutter docs, Migrate to UIScene life cycle",{"title":2291,"url":1746},"Play Console Help, Target API level requirements for Google Play apps",{"title":2293,"url":1770},"Android Developers, Play Billing Library deprecation FAQ",{"title":2295,"url":1992},"Android Developers, Support 16 KB page sizes",{"title":2297,"url":1844},"Android Developers, Android developer verification",{"title":2299,"url":1946},"Android Developers, Migrate from the Google Fit APIs",{"title":2301,"url":1969},"Firebase, FCM troubleshooting (InstanceId and device groups deprecation)",{"title":2303,"url":770},"Firebase, Migrate from Firebase Studio",{"title":2305,"url":87},"Firebase, Extensions FAQ and troubleshooting",{"title":2307,"url":812},"Firebase, Migrate Firebase ML model hosting to Cloud Storage",{"title":2309,"url":866},"Firebase, Test Lab",{"title":2311,"url":1895},"Supabase changelog, Tables not exposed to the Data API automatically","blog\u002Fapp-store-google-play-deadlines-2026-2027","app store deadlines 2026, google play deadlines 2026, app store requirements 2027, google play requirements 2027, target api 36 deadline, play billing library 8 deadline, 16 kb page size deadline, xcode 26 requirement, firebase shutdown dates, mobile app compliance calendar",[2315,2316,2317,2318,2319],"Most 2026 deadlines have already hit. Since April 28, 2026 iOS uploads need Xcode 26 or later, and since August 31, 2026 Google Play needs new apps and updates to target API 36 and use Play Billing Library 8.","Google lets you request an extension for both Play deadlines until November 1, 2026. That is the last date to ship an update if you are still behind.","The next hard date for Android is February 1, 2027. Google says updates that don't support 16 KB memory page sizes can't be released after that.","On iOS, apps built with Xcode 27 must use the UIScene life cycle or they fail to launch. Xcode 27 was released on September 14, 2026.","Firebase has five shutdowns between March 22 and September 30, 2027. Core services such as Firestore and Authentication are not on the list.","https:\u002F\u002Fapp369.com\u002Fblog\u002Fapp-store-google-play-deadlines-2026-2027\u002F","NEtE8eRy3Pk_cJRiJJJcM4VBOoGRIVpiLKyflaVo4Rg",[2323,2325,2327,2331,2335,2336],{"keyword":5,"url":642,"title":5,"relevance":2324},75,{"keyword":1118,"url":1635,"title":1118,"relevance":2326},18,{"keyword":2328,"url":2329,"title":2328,"relevance":2330},"Firebase ML Model Hosting Shutting Down: How to Migrate","https:\u002F\u002Fapp369.com\u002Fblog\u002Ffirebase-ml-model-hosting-shutting-down-migrate-2027\u002F",15,{"keyword":2332,"url":2333,"title":2332,"relevance":2334},"Firebase Test Lab Shutting Down: Alternatives for 2027","https:\u002F\u002Fapp369.com\u002Fblog\u002Ffirebase-test-lab-shutting-down-alternatives-2027\u002F",12,{"keyword":647,"url":1114,"title":647,"relevance":2334},{"keyword":2337,"url":2338,"title":2337,"relevance":2339},"RevenueCat + Stripe + Firebase Stack","https:\u002F\u002Fapp369.com\u002Fblog\u002Frevenuecat-stripe-firebase-monetization-stack-template369\u002F",7,1792377435255]