Changelog
Every Firenook release, newest first: what changed, what it made faster, and what happens to your data when you upgrade.
The first release for public use
Firenook 0.2.0, the latest release, published on .
npm install --save-dev firenook@0.2.0A stable version
npm install firenookand a barenpx firenookget 0.2.0 on any Node from 20 up; previews keep their own versions, and a preview install is told about 0.2.0.firenook initin a terminalOne screen with every choice made (the project id, the emulators on their usual ports, TypeScript, JavaScript or no Functions, the coding agents, the set-up), then the installs, Firenook pinned, the first build and the emulators started in the same terminal.
TypeScript compiled as you save
--buildruns each codebase's ownbuild:watchbeside the engine and starts it after the first compile; errors show in the log.Ordered and range queries
An order-preserving field index serves
orderBy, range filters and cursors on a top-level field, and checks equality on other fields before a document is read; a batch get writes stored documents straight into the reply.Node 22, 24 and 26
Older is refused with how to switch; an odd or newer major starts with a warning; a codebase whose
engines.nodeasks for another Node is warned about, as the official emulator warns.Older Linux
The engines need glibc 2.28 (RHEL 8, Debian 10, Ubuntu 20.04, node:24-slim and later) instead of 2.39; Alpine and older systems are told what they lack.
Security Rules as the official emulator applies them
A gRPC request without an
Authorizationheader is signed out, not the owner.Nothing reaches production
The console's snippets (Python Storage, Apple Firestore, Tasks and Eventarc everywhere) and
emulators:exec, which now sets the official variables for the running emulators only.Functions
Params' defaults,
.env.<alias>, the.envvalues at discovery, the projectfirebase usechose, warnings for triggers on services that do not run,functions:invoke --help,ext:vendor --offline, the Firebase login on Windows.REST
createDocumentworks, and every v1 method answers as the official emulator does (the differences kept are listed inCOMPATIBILITY.md).Starts and stops
Two suites with one project id; Firestore closed after browser sessions; a killed launcher stops its engine, which saves the data;
--importwithout metadata and a bad indexes file warn;firebase.jsonfound from a folder inside the project;localhostand::1bound as officially.Polish
init --forcekeeps your rules,init --adoptkeeps your formatting,--uicomes beforeui.enabled: false, counts agree with their nouns, every service's lines reach the screen,CI=falseis not CI.
Your data: Data 0.2.0 saves opens in 0.2.0-next.8, which rebuilds its own field index first; no emulator protocol or port changed, except that localhost now binds ::1 as well for the hub and the console, as officially.
Faster, release by release
What a release made faster, measured on the same data before and after it shipped. Lower is better on every measure.
orderBy a timestamp, limit 20, on 2.7 million documents
1,192× faster
- 0.2.0-next.8
- 5,128 ms
- 0.2.0
- 4.3 ms
The console’s Firestore tree, first map of 2.7 million documents
3× faster
- 0.2.0-next.7
- 133 s
- 0.2.0-next.8
- 37 s
Ready, with seven functions and every emulator
8× sooner
- 0.2.0-next.6
- 6.82 s
- 0.2.0-next.7
- 0.78 s
Opening saved data, 2.7 million documents
2,179× sooner
- 0.2.0-next.5
- 146 s
- 0.2.0-next.6
- 67 ms
Checking a 7.8 GB seed before a resumed start
23× sooner, at least
- 0.2.0-next.4
- 23–26 s
- 0.2.0-next.5
- under 1 s
A write, on a Mac
22× faster
- 0.1.0-next.5
- 13.1 ms
- 0.1.0-next.6
- 0.59 ms
Every multiple is rounded down. Each figure is from the release’s notes, and for 0.2.0 from its benchmark record. Against the official emulator: the benchmarks.
Every release
19 releases since the first preview on 7 September 2026. The previews came first; 0.2.0 is the first release for public use.
Firenook 0.2
0.2.0StableLatest
The first release for public use
- A stable version
firenook initin a terminal- TypeScript compiled as you save
- Ordered and range queries
The Firestore tree at once, code in colour, npx on any Node
npx firenookgets this release on any Node from 20 up- The Firestore tree at once
- Code in colour
- The console behind local proxies
Data kept without a seed, coding agents set up in one command, 54 MCP tools
- A project with no seed keeps its data
--keep-datafirenook mcp add- 54 MCP tools, up from 19
Data closed on stop, starts in milliseconds, the store's size
- A stop closes the data
- A killed engine is no stop
- Saved data opens in milliseconds
firenook state:inspect --state-dir DIR
Saved data: a quick seed check, quick repairs, clean stops
- The seed check reads file details
- Files operating systems write never block a start
- A first import hashes the seed beside the import
- A changed seed names its files
The terminal UI
- The terminal UI
- A start that cannot run
- The plain output is unchanged
- The release check
Firenook's own console, and Google's Emulator UI gone
- The console
- Google's Emulator UI is gone
- CLI
- Functions
0.1, published as Fireside
The 0.1 releases were published as @fireside-dev/cli, before Firenook’s rename. About the former name.
Upgrade on purpose
Read what changed, and move when you’re ready. Every release says what it does to the data an earlier one kept.
npm install --save-dev firenook@0.2.0