# Firenook 0.2.0-next.8 release notes

> Firenook 0.2.0-next.8, 21 October 2026: npx firenook gets this release on any Node from 20 up, the Firestore tree at once, code in colour, and more.

The Firestore tree at once, code in colour, npx on any Node. Published on 21 October 2026, as a preview.

`npm install --save-dev firenook@0.2.0-next.8`

[Every release](https://firenook.dev/changelog)

A newer release is out: [Firenook 0.2.0](https://firenook.dev/changelog/0.2.0), the first release for public use.

## What changed

4 changes you will notice, as the release notes give them.

1. ### `npx firenook` gets this release on any Node from 20 up

   On any Node but 24, `npx firenook init` installed `firenook@0.0.0`, the placeholder that held the name before the first release, with its old advice: every release declared `engines.node` as `>=24 <25`, and for a bare name npm takes `latest` only when its engines admit the running Node, and otherwise the highest version that is not a preview. `engines.node` is now `>=20`, npm's own floor. The emulators still need Node 24, and now say so with the way to switch: "the emulators need Node 24, since your Functions run on it; this is Node 26.9.0. Switch to Node 24 (with nvm: nvm install 24) and run it again". `init` and the other commands run on any Node.

2. ### The Firestore tree at once

   The console's tree said "Mapping the database…" for minutes on a large store. Its first walk now reads the collection index instead of the documents (37 s instead of 133 s on 2.7 million documents), a clean stop saves the tree with the data so the next start shows it in under a millisecond, and while a walk runs the root collections are listed with their counts. After a crash, or any change to the data since the stop, the tree is mapped again on first use.

3. ### Code in colour

   Every code block in the console (the Connect dialog, a document as code, a request as code) is coloured with the editor's palette, in the language it is: the Flutter, Swift, Kotlin and Java snippets are no longer marked as JavaScript, and environment variables read as `.env` lines.

4. ### The console behind local proxies

   Any name under `localhost`, such as portless's `my-app.localhost`, is answered like `localhost`; `docs/console.md` says how to reach the console through portless. `.local` and custom domains still need `--allowed-hosts`.

## What got faster

Measured on the same data with 0.2.0-next.7 and with 0.2.0-next.8. Lower is better.

### The console’s Firestore tree, first map of 2.7 million documents

3× faster

- [0.2.0-next.7](https://firenook.dev/changelog/0.2.0-next.7)

  133 s

- [0.2.0-next.8](https://firenook.dev/changelog/0.2.0-next.8)

  37 s

Every multiple is rounded down. [Every release’s measures](https://firenook.dev/changelog#faster).

## Your data

What this release does to data an earlier one kept, and to the ports and protocols.

- Data next.8 saves opens in 0.2.0-next.7, which leaves the saved tree alone, and next.8 maps the tree again after next.7 changed the data (checked with a round trip). No emulator protocol or port changed.

## How it was checked

The source it was built from, the runs it passed, and how it was published.

- Pin the engine to `f7c3c663427fd181b0e67b31f960f6e5751b7d12`, the merge of [PR #112](https://github.com/firenook-dev/firenook/pull/112) on 0.2.0-next.7. Its tree is the PR head's, `00eb599`, which passed CI ([run 39587506798](https://github.com/firenook-dev/firenook/actions/runs/39587506798)) and the five-platform packed-install matrix ([run 39587506927](https://github.com/firenook-dev/firenook/actions/runs/39587506927)).
- A consumer's gates passed on the candidate built from `f33376b` (`0.2.0-local.gf33376b3cb3f`), whose package is the PR head's (only a console journey changed after it): Extensions admission (24 admitted, 2 ignored upstream; ready in 2.4 s), the installed package smoke and its 26 integration tests. The acceptance-host benchmark was not run: no write, query or import path changed.
- Published straight to `latest`: the CLI's `next` stays on 0.2.0-next.7 until it is moved by hand.

[The release on GitHub](https://github.com/firenook-dev/firenook/releases/tag/npm-v0.2.0-next.8).

## The latest is 0.2.0

The first release for public use. Install it, and read what changed on the way.

`npm install --save-dev firenook@0.2.0`

[Read the 0.2.0 notes](https://firenook.dev/changelog/0.2.0)
