jsonbolt 1.4 — Apple Silicon native, half the RAM.
Native ARM build for M-series Macs. Minimap. JSONPath autocomplete. And one memory regression we caught the painful way.
What's new
Native Apple Silicon
We've been shipping a Rosetta build for a year. It worked. It was also a 30% performance penalty on M-series machines for no good reason. The 1.4 build is native ARM64 with NEON-tuned SIMD paths.
| Workload | v1.3 (Rosetta) | v1.4 (native) |
|---|---|---|
| Open 1 GB file | 0.78 s | 0.51 s |
| Search 1 GB file | 96 ms | 64 ms |
| Sustained parse | 1.31 GB/s | 2.07 GB/s |
Minimap
A vertical strip down the right edge showing the file's structural shape — depth, density, where the big arrays live. Click anywhere to jump. Toggle with Ctrl + M.
It scrubs in real time even on the 50 GB files we test against. The minimap is rendered from the tape, not the file, so it's basically free.
JSONPath autocomplete
Hit Ctrl + F to open the search bar. Start typing $.users[ and you'll see the indices that exist, with previews. Type . after a key and you'll see the available sub-keys.
We index the schema while parsing, so this is also free. The autocomplete latency is bounded by your typing.
Smaller memory footprint
The tape representation got tighter. We packed structural events from u64 to a variable-width encoding (1, 2, 4, or 8 bytes per event depending on offset magnitude). Average JSON file: ~52% memory reduction.
The regression we shipped briefly
Real talk. Build 1.4.0 (out for 36 hours) had a memory leak in the file watcher. If you opened jsonbolt and left it on a directory with frequent file changes — say, a build log being appended to — RSS would grow ~80 MB/hour. 1.4.1 patched it the next day.
How we caught it: a user posted a screenshot of Activity Monitor showing jsonbolt at 6 GB after a workday. Their file was 200 MB. Math didn't math.
Apologies if you got bitten. The fix is automatic on update.
Smaller things
- Drag-and-drop URL. Drop a URL onto the dock icon and we'll fetch + open it.
https://only. - NDJSON detection. Files with one JSON object per line render as a virtualized array, not a parse error.
- Copy as JSONPath. Right-click any value, copy the path.
Ctrl + Shift + Cfor keyboard. - Dark mode default. Was already optional. Now default; light mode in Preferences.
- Telemetry, still: none. We do not phone home. We never have. We never will.
What's next (1.5)
Linux GA. Multi-tab. Diff view between two open files. Saved searches. The macOS app gets QuickLook integration so previewing a JSON file in Finder uses jsonbolt.
Update via winget upgrade jsonbolt or just open the app — it'll prompt. Bug reports → GitHub.