Firexport のロゴ

FirexportChangelog

Changelog

リリースノートは英語で書かれています。

New features and fixes in each release of the Firexport Chrome extension.

Found a bug or missing something? Email jerry@firexport.dev.

v1.4.11.1

5 passes are back, each running 72 hours from its own activation

5 passes is on sale again. One key holds five separate passes: each starts when you activate the key in a browser and runs 72 hours in that browser profile, so you can use them days or months apart, within a year of purchase.

  • Start the next pass when you need it. When a pass ends, the toolbar popup and the upgrade dialog show Start next pass with how many are left, and ask before starting it. Entering the key again while a pass is running doesn’t use another one.
  • See where you are. The popup shows which pass is running, when it ends, and the date to use your passes by. Console tabs that are open switch back to Basic when the pass ends.
  • Plan names. The popup names your plan — 3-day pass, 5 passes or Lifetime — instead of calling every key with an end date a subscription.

A pass is used once it starts, so pass keys can’t be deactivated. The 3-day pass still runs 3 days from purchase: activate it right away.

v1.4.11

Export Authentication users, security rules and indexes

Firexport used to stop at Firestore data. Export now also sits on Authentication > Users and on Firestore’s Rules and Indexes tabs, with the same menu as in the query builder.

  • Authentication users. Export is right of the console’s Add user. Basic writes the table as the console shows it, every page, to CSV or JSON. Advanced writes each user’s full record under the Admin SDK’s names: email verification, custom claims, providers, second factors and exact times. Your users’ data stays in your browser — it leaves only in a file you save or a user you copy — and password hashes are never read.
  • User details. An info icon at the start of each row’s actions opens a card with that user’s full record, and its copy icon puts the user on the clipboard as JSON. Free on every plan.
  • Security rules. Export to firestore.rules saves the rules the editor shows — the latest, an older version or an unpublished draft — byte for byte. Free on every plan.
  • Indexes. Export next to Add index saves the index table as JSON on Basic. Advanced saves firestore.indexes.json, the file the Firebase CLI deploys.

The new pricing is in effect, as announced in 1.4.10:

  • 3-day pass: $2.9
  • 5 passes: $4.9
  • Lifetime: $19.9, 1 activation (was 3)
  • 1 month ($1) and 1 year ($10): no longer offered

The 7-day refund now comes with Lifetime only, not the passes.

Update, October 7: 5 passes is off sale for now. As set up, all five passes on a key would have ended 3 days after purchase, not 3 days after each activation. It returns once the next version counts each pass from its own activation; nobody had bought one. The 3-day pass runs 3 days from purchase, so activate it right away.

Go to a document by ID opens a document the console hasn’t listed yet without reloading the console, and opens the right one when the ID has parentheses or a space at either end. After the console’s Back button moves the address but not the panel on screen, the copy icon no longer copies the document in the address instead of the one you see. A database named data gets the copy icon and go-to too.

Also: Send feedback in the toolbar popup takes a bug, an idea or a question straight to the developer, and Advanced shows as a Firexport Advanced line in the Export menu instead of a ✨ on the button.

v1.4.10

A read meter for the console, and Firexport in nine languages

Browsing Firestore in the Firebase console costs reads too — every document it loads, every ID list in the panel view, every subcollection check — and your Firestore bill can’t tell them from your app’s reads. Firexport now counts them.

  • Read meter. A Read meter tab at the end of the Firestore tabs opens a page with the reads the console made in this browser: in that console tab, and today, yesterday, over 7 and 30 days, by source and by collection, with a note on why each kind happens. Counts follow Firestore’s billing rules, and Enterprise query editor runs show the exact read units Firestore reports. Free on every plan. The counts stay on this device for 30 days and are never sent anywhere. Console tabs that were open before the update start counting once you reload them.
  • Hide the tab if you don’t want it. Hide tab in console on the meter page takes it out of the console. The new Read meter button in the toolbar popup still opens the page, with the counts of the console tab you’re on.
  • Nine languages. The Export menu, dialogs, toolbar popup and read meter follow the Firebase console’s language: English, Spanish, Portuguese, German, French, Japanese, Korean, and Simplified and Traditional Chinese. The popup and the meter page use the last console’s language, or your browser’s. The Chrome Web Store listing is in all nine.
  • Shortened values stand out. When the console had cut values short in your file (a document path drawn as .../orders/o9), the N cells differ badge turns amber and that difference is listed first. The card behind the badge no longer runs off the top or bottom of the window; it scrolls instead.

A different pricing change is coming. It replaces the one announced in 1.4.2 ($1 → $4.9 a month). The upgrade dialog and the popup now show:

  • 3-day pass: $2.9 (new)
  • 5 passes: $4.9 (new)
  • Lifetime: $19.9 (3 activations) → $19.9 (1 activation)
  • 1 month ($1) and 1 year ($10): no longer offered

Nothing has changed yet: current prices apply until the change takes effect, and the date will be announced here.

Also: the plan cards list everything Basic includes for free, and the toolbar popup links to this changelog and takes feedback by email instead of the feedback board.

v1.4.9

Firestore Enterprise databases, and your recent queries

Enterprise edition databases have a code editor instead of the query builder, and Firexport didn’t show up there at all. It now works in both Native mode and MongoDB compatibility mode.

Export from the query editor. Export sits next to the results title, as it does in the query builder. Advanced exports every row the run returned, with exact values, even when the console’s table shows only part of them. MongoDB compatibility values follow Compass: Extended JSON in JSON, readable values in CSV.

Build Enterprise queries with a form. Query builder next to Save opens a form. Pick a collection and stack stages in any order: Where, Sort, Limit, Select fields, Summarize, Distinct, Unnest and more. The generated code is always in view. Insert into editor puts it in the editor (one ⌘Z undoes it), and you run it with the console’s Run button. Free on every plan.

Recent queries. The last 50 queries you ran in the query builder are kept on this device. Open Recent queries next to Run to switch back to one without reloading the page, and star the ones you reuse to keep them on top. The same list opens from the clock in the toolbar popup. Nothing is sent anywhere.

Export turns off when there’s nothing to export: before a query runs, after it fails, or when it returns no rows. Hover it to see why.

v1.4.8

CSV columns stay put when documents have different fields

When documents in a collection had different fields, CSV wrote each row by position under the first row’s header, so values slid into the wrong columns — in every plan. The query builder draws columns page by page, so one field that first appears on page 2 was enough.

  • CSV columns are the union of all rows. Every value lands under its own field name, and a field a document doesn’t have is an empty cell. Files where every row has the same fields come out byte-for-byte the same.
  • Field names keep their spaces. suspended (with a trailing space) was written as suspended, and Advanced export couldn’t restore that column.
  • Two settings, both off by default. Flatten maps & arrays splits CSV cells into columns like address.city and tags.0. Include document path adds a Document Path column (users/u1/orders/o9). Find them under Settings in the Export menu, or behind the gear in the toolbar popup.
  • Progress and Cancel. A card shows rows and pages as the export runs, and Cancel stops it without saving a file. Over 10,000 rows you pick where to save first, so a large export no longer has to fit in the tab’s memory.
  • On the document panel view, a copy icon in each document’s header copies it as JSON, and Go to document in the collection header opens any ID you paste — even one the console hasn’t listed yet.
  • A new toolbar popup: how to start, your plan, and license activation without opening the console.

v1.4.7

See which exported cells differ from Firestore

On the free plan, some values can’t leave the console exactly as Firestore stores them. Until now you found out only after opening the file.

  • A badge after export. When your file differs from Firestore, N cells differ appears next to Export.
  • Hover it to see what changed, with one real cell from your file next to the Firestore value: dates and locations saved as display text, document paths shortened, text that lost its line breaks or tabs.
  • Hide until next export clears it. Nothing appears when the file matches.

v1.4.6

Document IDs export exactly as they appear

Firexport read a Document ID the way it reads a field value, so IDs that looked like numbers or booleans, or that contained spaces, came out changed — in every plan.

  • Document IDs export exactly as they are. 000111 no longer becomes 111, 1e5 no longer becomes 100000, and spaces inside an ID are kept. Different documents no longer collapse into one ID (0, 00, -0). In JSON the ID is always a string.
  • Advanced export keeps documents whose ID contains a line break. They were missing from the cache and fell back to basic values.
  • Geopoints on the equator or the prime meridian keep both coordinates in advanced export. (0, 0) came out as {}, and (37.5, 0) lost its longitude.
  • New: the popup links to the feedback board, the roadmap and this changelog.

v1.4.5

Advanced export stops losing rows when the query changes

Advanced export emptied its document cache every time the console URL changed — editing the query, changing the limit — and the console never re-sends a document it has already sent. Those rows silently fell back to basic values and landed in the error txt telling you to refresh, which never helped.

The cache is now keyed by project, database and document path, so a URL change no longer touches it. Large collections also rebuild faster.

v1.4.4

The “rows may be missing” check now works in every language

The “rows may be missing” warning only understood the paginator label used by Korean and Japanese consoles (1 - 3 / 3). Consoles printing 1 - 3 of 3 — English, Spanish, Portuguese, German, French, Chinese — never saw it fire, so an export that skipped pages looked like a clean one. It now reads the total in any of them.

v1.4.3

Fields a document doesn’t have no longer export as 0

Documents in one Firestore collection can carry different fields, and the console leaves those cells blank. Firexport wrote 0 into them — CSV and JSON, both plans — so a real 0 was indistinguishable from a field the document never had. Blank cells now export as empty.

  • Documents whose fields are all empty strings are no longer dropped from the file.
  • A field named toString or constructor no longer exports a JavaScript function.
  • In JSON an absent field is written as "", not omitted.

v1.4.2

A hint where the Export button isn’t, and a pricing notice

  • New: a one-time hint on the panel view, pointing at the query builder where Export lives.
  • Fixed: the in-page UI could mount on the wrong screen while you navigated the console.

Pricing is changing. The upgrade dialog now shows what’s coming:

  • 1 month: $1 → $4.9
  • 1 year: $10 → discontinued
  • Lifetime: $19.9 (3 activations) → $19.9 (1 activation)

Nothing has changed yet and existing licenses are not affected. The date will be announced here.

v1.4.1

Exports stop truncating, and CSV opens correctly in Excel

A reliability pass. Every item below wrote a wrong file or lost an export without showing an error.

  • Exports no longer stop early. A slow next page was being read as the end of the results.
  • A slow paginator no longer discards a finished export — “fail to export” after the whole collection had already been read.
  • New: you get warned when rows are missing — Exported 120 of 300 rows. Some pages may have been skipped.
  • CSV opens correctly in Excel on Windows (UTF-8 BOM). JSON is unchanged — a BOM breaks JSON parsers.
  • Advanced export restores far more rows. Values like v1[beta], collection paths containing “documents”, and documents with no fields no longer knock a whole batch out of the cache.
  • Your license is no longer deleted by an ambiguous validation response. A rate limit could drop a paying user to basic and cost an activation.
  • The Export button survives an export — no more one export per page load.
  • The button matches the console’s font again, and Firexport no longer interferes with the console’s own requests.

v1.4.0

Rebuilt on the current toolchain

  • Exporting an empty collection as CSV writes an empty file instead of failing.
  • A cell with no header no longer becomes a column named “undefined”.
  • Advanced export understands Firestore bytes values.
  • The Chrome Web Store listing is localized in Korean.
  • Internals rebuilt on React 19 and WXT 0.21, with the export path under automated test.