Releases: vothanhdat/rsview
Release list
jsonview v0.22.0
Prebuilt binaries for Linux (x86_64/arm64), macOS (Intel/Apple Silicon), and Windows. Or install with cargo binstall jsonview.
jsonview v0.21.5
Prebuilt binaries for Linux (x86_64/arm64), macOS (Intel/Apple Silicon), and Windows. Or install with cargo binstall jsonview.
jview v0.21.4
Prebuilt binaries for Linux (x86_64/arm64), macOS (Intel/Apple Silicon), and Windows. Or install with cargo binstall jview.
jview v0.21.3
Prebuilt binaries for Linux (x86_64/arm64), macOS (Intel/Apple Silicon), and Windows. Or install with cargo binstall jview.
jview v0.21.2
Prebuilt binaries for Linux (x86_64/arm64), macOS (Intel/Apple Silicon), and Windows. Or install with cargo binstall jview.
jview v0.21.1
Prebuilt binaries for Linux (x86_64/arm64), macOS (Intel/Apple Silicon), and Windows. Or install with cargo binstall jview.
jview v0.21.0
jview 0.21.0 — two new keyboard features, plus an internal module split. No breaking changes.
✨ New features
-
#— aggregate a container's numbers. Focus any array or object and press#for a
one-line count · sum · min · max · mean of its direct numeric children. Computed in a
single streaming pass that never materializes the values, so it stays near-constant memory even
on a multi-GB array. Non-numeric children are skipped, and the footer flags partial coverage
(e.g.12 of 20 numeric). The numeric companion toc(count) andt(type) — and it pairs
with the filter: run.[].priceinto a result pane, then#to total it. -
History recall in the
:and|prompts.↑/↓now walk a per-session history of the
paths and filters you've submitted, so a long one can be recalled and tweaked instead of retyped.
A half-typed line is stashed when you start browsing and comes back when you arrow past the newest
entry; blank lines and consecutive duplicates are dropped. (Search/keeps↑/↓for
next/previous match, unchanged.)
🔧 Under the hood (no behavior change)
main.rssplit into focused modules —input(prompt line-editor),stream(piped-stdin
byte store + background reader),tree(lazy byte-range node model +:path navigation), and
ui(terminal rendering) — leavingmain.rsas the app/pane/key-dispatch layer. Pure
restructuring, verified identical by the unit + pseudo-terminal e2e suites. Both features above
ship with their own unit + e2e coverage.
📦 Install
Prebuilt binaries for Linux (x86_64/arm64), macOS (Intel/Apple Silicon), and Windows are attached
below. Or cargo binstall jview (prebuilt) / cargo install jview (from source).
jview v0.20.3
jview 0.20.3 — visual polish for the type overlay.
💅 Improvements
- The
ttype overlay is now syntax-highlighted. The inferred TypeScript
type used to render in flat gray; it's now color-coded TypeScript-style — type
keywords (string/number/boolean/null/any/Record) in green, field
names in cyan, punctuation and the// %fill comments dimmed. A small per-line
tokenizer classifies word runs against a keyword set (so a field literally named
like a type is the only rare mis-color).
📦 Install
Prebuilt binaries for Linux (x86_64/arm64), macOS (Intel/Apple Silicon), and
Windows are attached below. Or cargo binstall jview / cargo install jview.
jview v0.20.2
jview 0.20.2 — a type-inference accuracy fix.
🐛 Fixes
- Stats/counter records are no longer misread as maps. Map detection had a
count trigger — any homogeneous object with ≥8 entries was called a map — so a
counters record like{buys_placed: 22464, tick: …, dict: {…}}(many identifier
keys, mostly-numeric values) was wrongly inferred asRecord<string, … | number>.
Count alone can't tell a scalar map from a stats record, so that trigger is gone:
a map is now detected only by object-value similarity or data-like (non-identifier)
keys. Such records stay records, with any genuinely nested maps still detected inside.
📦 Install
Prebuilt binaries for Linux (x86_64/arm64), macOS (Intel/Apple Silicon), and
Windows are attached below. Or cargo binstall jview / cargo install jview.
jview v0.20.1
jview 0.20.1 — smarter map detection in the type overlay.
✨ Improvements
- Maps are now detected by key shape, not just values — and key types are
inferred. Previously a small numeric-keyed dictionary like
{"8960": [...], "8970": [...]}was treated as a record, and when such a map sat
inside many records, merging exploded every key into6550?: number[] // 0%
noise. Now, if most keys aren't identifiers (numeric, delimited likeDNSE|STOCK,
dotted, …) and the values are homogeneous, it's a map regardless of entry count —
while a small record with real field names ({x, y, z}) stays a record. The key
type is inferred too:Record<number, T>when every sampled key is numeric, else
Record<string, T>. A numeric-keyed map nested in thousands of records now
collapses to a singleRecord<number, number[]>on merge.
📦 Install
Prebuilt binaries for Linux (x86_64/arm64), macOS (Intel/Apple Silicon), and
Windows are attached below. Or cargo binstall jview / cargo install jview.