Releases: candril/topiq
Releases · candril/topiq
Release list
v0.2.0
Added
- Scan mode:
shift+Sstreams the whole range through the filter and keeps only the hits,
so a topic can be searched past the 10,000-row window. Latest-N scans from the beginning;
offset and timestamp ranges scan from where they start. The header shows progress against
the watermarks, throughput, and how the scan ended — end, stopped, capped at 10,000 hits,
or failed.shift+Sagain stops a running scan or re-runs a finished one;escreturns to
the window and keeps the filter. - The client seam's consume callback may return a promise; the kafkajs client then waits
before fetching more, so a scan applies backpressure instead of dropping rows.
v0.1.1
Added
- Homebrew (
brew install candril/tap/topiq) and Nix (nix run github:candril/topiq) via
candril/homebrew-tap, alongside the curl installer.
All three install the release binary, verified againstSHA256SUMS. - The installer, build script and release workflow shared with the sibling tools; a released
binary reports its tag, and the release writesrelease.jsonfor the Nix flake.
Changed
- The README and docs site carry the shared spec-driven notice, the same install section as
the sibling tools, and a footer linking them.
v0.1.0
First release. Read-only paths are exercised against a live cluster; every write path is
built and unit-tested but has not yet produced a byte to a real broker.
Added
- Peek — cluster picker, topic list with lazy watermarks, message table with inferred
columns, and a detail pane with decoded key/value/headers plus raw metadata. - Filter — a
field:valuebar with ranges, regex and nested fields, a=JS predicate
escape hatch, and live filtering over a streaming consumer with a bounded buffer. - Replay — byte-exact re-produce (
p), edit-in-$EDITORthen replay (e), craft from
the latest schema (shift+N), and cross-cluster copy (y) that decodes against the
source registry and re-encodes against the destination's. - Consumer groups — state, members and per-partition lag (
c), plus offset seek (o)
to an offset, a timestamp, the beginning or the end. - Write safety — every mutation passes one gate:
allow_writeon the profile plus a
confirm dialog naming cluster, topic and message age. - BigInt everywhere — Avro
longdecodes toBigIntand renders losslessly; a value
never round-trips throughNumber. - Config — TOML cluster profiles with
password_cmd, so no secret is ever written to
disk;group/envmodel a cluster family across environments. - Command palette (
^p), help panel (?), and column navigation with type-aware sort. - Demo mode —
topiq --demoopens a seeded in-memory cluster behind the same client
seam: real Avro behind real schema ids, keys above 2^53, a tombstone, a decode failure,
seeded consumer groups, live arrivals while following. Writes work and are forgotten on
exit. No config, no network. - Docs — a site at candril.github.io/topiq, with every screenshot and the README gif
generated from the demo cluster byjust shots/just demo-gif. - The message window is newest first;
gis the live edge while following.
Fixed
- A window on a transactional topic no longer sits on "loading" forever: the end of a
partition is now read off the fetch, and the commit marker at the tail — which the
client filters out before delivery — no longer hides it. - The producer and consumer can no longer create a topic. A mistyped cross-cluster copy
destination is refused by name instead of being created with broker defaults on a
cluster that allows auto-creation.
Changed
- Every request now carries
client.id = topiq/<user>@<host>, and topiq's ephemeral
reader groups aretopiq-read-<user>-<random>, so a broker log or lag dashboard says
who connected. - The consumer-group pane describes all groups in one request and reads the topic's
watermarks once instead of once per group. - Connection timeout raised from kafkajs's 1 s default to 5 s; request timeout set
explicitly to 30 s.
Added
TOPIQ_KAFKA_LOG=<path>appends the Kafka client's debug log to a file, with anything
token-shaped redacted.