v0.2.1
A rendering release. Every command now prints through one shared renderer
instead of a formatter x kept to itself. The output you already know is
unchanged; what changes is that there is a single source of truth behind it.
One renderer everywhere
x reuses the framework's renderer for all output, so the standalone binary, the
serve HTTP endpoint, and the mcp server format records through the exact same
code. A tweet looks the same whether you read it on the command line, over HTTP,
or through a tool call. The behavior you rely on is intact:
- Auto format. With no
-o, x prints a table to your terminal and switches
to JSONL when you pipe it, sox timeline nasareads by eye and
x timeline nasa | jqreads by machine. - Every format.
-o table|json|jsonl|csv|tsv|url|raw,--fieldsto project
and reorder columns, and--templatefor a Go text/template per row. IDs stay
strings so snowflake precision survivesjq, and counters never render in
scientific notation. - Tidy tables. Long values stay on a single row, including the free-text
cells ofx db query, so a stored tweet body never breaks the table layout.
The full untruncated value still rides in-o jsonand--template.
Internally this drops x's own ~250-line formatter; the framework renderer is a
superset of it.
Install
go install github.com/tamnd/x-cli/cmd/x@latestPrebuilt archives for Linux, macOS, Windows, and FreeBSD on amd64 and arm64,
plus deb, rpm, and apk packages, a multi-arch image at ghcr.io/tamnd/x:0.2.1,
checksums, signatures, and SBOMs are attached below. The binary is pure Go,
builds with CGO_ENABLED=0, and has no runtime dependencies. No breaking changes
from v0.2.0.
Full release notes: https://x-cli.tamnd.com/release-notes/v0-2-1/
x is derived from nitter and is licensed
under the GNU AGPL-3.0.