1.29.0 REDLINE · Linux x86-64 · released 2026-09-08

ZJX

Lossless archives for structured data.

Compact when size matters. Fast when balance matters. Ultrafast when wall time matters.

Conceptual visualization

Three objectives

Choose what each archive optimizes for.

One format, one integrity contract, three creation schedules. Compact and fast are unchanged from 1.28.0; ultrafast is new in 1.29.0.

  1. when size matters

    Compact

    The size-first default. Tries several representations of each input and keeps whichever produces the smallest complete archive. Unchanged from 1.28.0: on the qualification corpora its archives are byte-identical to 1.28.0's.

    Creating archives
  2. when balance matters

    Fast

    A fixed reduced schedule for less creation time with a size-first result. Unchanged from 1.28.0: byte-identical archives on the qualification corpora, no measured slowdown.

    Creating archives
  3. when wall time matters

    Ultrafast

    New in 1.29. One Zstandard level-1 attempt per unit with pass-through as the fallback; no candidate search, no solid encoding, no dictionary training. A deterministic parallel packer and a streaming parallel verifier, four workers by default and up to eight. Archives are larger than compact or fast; every integrity guarantee is kept.

    The 1.29 support contract

Measured result

One dataset, complete archive sizes.

Real service telemetry archived by ZJX on the compact objective, which writes the same bytes in 1.28.0 and 1.29.0, and by fourteen comparator configurations at strong settings. Pick a configuration; the bars, values, and difference change together.

Dataset
Real service telemetry, one JSONL capture from 2026-06-03
ZJX
1.29.0 REDLINE · compact objective (bytes written by the 1.28.0 LOCKWIRE package; unchanged in 1.29.0, gate P6)
Measured
2026-09-06
Metric
Complete archive bytes, format overhead included
Scope
One telemetry dataset. Results vary by workload.
Current line
The ZJX rows carry the current version, 1.29.0, because compact and fast are unchanged from 1.28.0: REDLINE gate P6 confirmed byte-identical compact and fast archives against 1.28.0, so the same software writes the same bytes and the campaign was not rerun. The archives themselves were written by the 1.28.0 LOCKWIRE executable on 2026-09-06.

38.1% smaller zpaq -m5

  1. ZJX 1.29.0 compact4,412,984 bytes (4.41 MB)
  2. zpaq -m57,125,674 bytes (7.13 MB)

ZJX 1.29.0 compact: 4,412,984 bytes. zpaq -m5: 7,125,674 bytes. ZJX is 38.1% smaller.

One telemetry datasetComplete archive sizesResults vary by workload

Every configuration as a table
Complete archive bytes on the 342,409,609-byte telemetry capture, measured 2026-09-06
ConfigurationArchive bytesCompared with ZJX compactRestored and matched
ZJX 1.29.0 compact4,412,984ZJX resultyes
ZJX 1.29.0 fast4,412,984ZJX resultyes
zpaq -m57,125,674ZJX is 38.1% smaller (strongest comparator)yes
zstd --ultra -22 --long=31 (tar)7,280,110ZJX is 39.4% smalleryes
brotli -q 11 (tar)7,345,538ZJX is 39.9% smalleryes
xz -9e (tar)7,612,052ZJX is 42.0% smalleryes
zstd -19 --long=31 (tar)7,800,328ZJX is 43.4% smalleryes
zstd -19 (tar)8,149,050ZJX is 45.8% smalleryes
7-Zip LZMA2 -mx=9, single thread9,392,518ZJX is 53.0% smalleryes
7-Zip LZMA2 -mx=99,666,962ZJX is 54.3% smalleryes
RAR5 -m59,842,920ZJX is 55.2% smalleryes
7-Zip PPMd -mx=912,612,270ZJX is 65.0% smalleryes
bzip2 -9 (tar)34,456,468ZJX is 87.2% smalleryes
gzip -9 (tar)40,176,031ZJX is 89.0% smalleryes
zip -9 (deflate)40,176,334ZJX is 89.0% smalleryes
lz4 -12 (tar)56,999,958ZJX is 92.3% smalleryes

Qualified speed result

Ultrafast, measured on two cohorts.

Verified creation of the 1.29.0 default invocation against default tar | zstd -1 on a quiesced laboratory host. Two campaigns, two figures, never one statistic.

Development cohort (RG017)

Sealed development cohort: silesia, enwik8, and a synthetic deduplication case; 12 paired rounds, 468 of 468 cells usable. Development cohort, not held out; the recipe was calibrated on these corpora.

1.247x the verified-creation speed of default tar | zstd -195% [1.223, 1.267]; Bonferroni over the three preregistered primary comparisons, lower bound 1.221; archive bytes 1.0005x the comparator's

Against default tar | zstd -1

  1. ZJX 1.29.0 default: ultrafast, four workers1.247x, faster
  2. tar | zstd -1, default1.00, the reference

Primary comparison: 95% [1.223, 1.267], Bonferroni-adjusted lower bound 1.221. About 1.19x the comparator's CPU.

Against the matched thread budget

  1. ZJX 1.29.0 default: ultrafast, four workers0.820, slower
  2. tar | zstd -1 -T41.00, the reference

ZJX keeps 82.0% of the four-thread comparator's throughput, 95% [0.807, 0.832]; -T0 measured the same. Exploratory comparison, disclosed because it is a loss.

Held-out cohort (RG018, one shot)

Four sealed members plus six privately held-out cases (about 1.86 GB, six workload classes) selected by a rule frozen before any measurement; ten classes, 12 paired rounds, 360 of 360 cells usable, run once. Held out and unseen at the freeze. The gate passed on its preregistered class structure with a thin margin; the six held-out cases alone would not have met the lower bound.

1.1959x the verified-creation speed of default tar | zstd -195% [1.1867, 1.2043]; 6 of 6 held-out cases restored exactly before the timed rounds

Against default tar | zstd -1

  1. ZJX 1.29.0 default: ultrafast, four workers1.1959x, faster
  2. tar | zstd -1, default1.00, the reference

Reported lane: 95% [1.1867, 1.2043]. Faster on seven of ten cases, slower on the three smallest archives.

The preregistered gate: matched thread budget

  1. ZJX 1.29.0 default: ultrafast, four workers0.8236, slower
  2. tar | zstd -1 -T41.00, the reference

Class-weighted point 0.8236; 95% bootstrap interval on a single preregistered comparison; no familywise adjustment: lower bound 0.8170 against a required 0.80. The gate passed by a thin margin. ZJX was slower on 7 of 10 cases, and the six held-out cases alone read 0.7917 [0.7832, 0.8004].

Two campaigns, reported apartSlower than tar | zstd -1 -T4No leadership claimLarger archives than compact

Interactive archive walkthrough

Handle a recorded archive.

Recorded example. This page does not run ZJX or upload files.

A small synthetic project tree, archived once with the released 1.28.0 package, then inspected member by member and restored. Every control replays a saved outcome.

1Create

Recorded input: 6 files, 1 symbolic link, and 6 directories, 51,849 bytes in total. Synthetic, public-safe fixture generated by a seeded script: made-up service events, a settings file, a latency summary, a rotation script, and one relative symbolic link. No customer data.

Product
ZJX 1.28.0 LOCKWIRE, released package (executable SHA-256 prefix 10ee0d9e)
Objective and profile
compact objective, exact metadata profile
Recorded archive
5,164 bytes, digest prefix 8cdc660a4fad
Publication
committed, cleanup complete, durability synchronized
Metadata loss
none (nothing was refused or dropped)
Input members as recorded before archiving
MemberTypeBytes or targetModeModified (UTC)
README.mdfile73006442026-09-05T07:00:00.123456789Z
config/directory07552026-09-05T07:00:00.000000000Z
config/settings.jsonfile30306442026-09-05T07:01:00.000000000Z
docs/directory07552026-09-05T07:00:00.000000000Z
docs/latest-readme.mdsymbolic link../README.mdlink2026-09-05T07:00:00.123456789Z
logs/directory07552026-09-05T07:00:00.000000000Z
logs/service-2026-09-01.jsonlfile23,91406442026-09-06T07:59:59.987654321Z
logs/service-2026-09-02.jsonlfile26,46606442026-09-07T07:59:59.500000000Z
reports/directory07552026-09-05T07:00:00.000000000Z
reports/latency-summary.csvfile19706442026-09-07T08:02:00.250000000Z
scripts/directory07552026-09-05T07:00:00.000000000Z
scripts/rotate-logs.shfile23907552026-09-05T07:02:00.000000001Z

2Inspect

Recorded inspection of the archive: listing complete with 13 members, decoder readiness ready, manifest integrity sha256-prefix-16, payload digests verified without extracting (51,849 file bytes).

Select a member in the list to see its recorded metadata.

3Restore

Recorded full restore into a fresh destination: 6 files and 1 link, 51,849 bytes, publication committed. Dry run first reported destination absent and 6 planned files.

Recorded match: every member compared equal to its source

Source versus restored, compared after the recorded run
MemberComparedContent or targetPermission bitsModified time (ns)
README.mdcontents (SHA-256)matchmatchmatch
config/directoryn/amatchmatch
config/settings.jsoncontents (SHA-256)matchmatchmatch
docs/directoryn/amatchmatch
docs/latest-readme.mdlink targetmatchnot storedmatch
logs/directoryn/amatchmatch
logs/service-2026-09-01.jsonlcontents (SHA-256)matchmatchmatch
logs/service-2026-09-02.jsonlcontents (SHA-256)matchmatchmatch
reports/directoryn/amatchmatch
reports/latency-summary.csvcontents (SHA-256)matchmatchmatch
scripts/directoryn/amatchmatch
scripts/rotate-logs.shcontents (SHA-256)matchmatchmatch

Selected restore

One member, logs/service-2026-09-02.jsonl, restored on its own: 26,466 bytes, contents match, permission bits match, modified time match. The whole archive is verified before a selection is published.

Owner and group are never stored. Parent folders created by the selected restore carry the restore time, as the support matrix describes. Listing, testing, and comparing restored content are separate recorded facts; none stands in for another.

Capabilities

What an archive holds.

Four points on one schematic. Each opens the short version; the documentation carries the full support contract.

Members

Files, directory trees, and safe relative symbolic links from one input or many, with file lists and include and exclude filters. Members list without extracting.

Creating and listing archives

Verification

Every payload carries a digest and every archive since 1.28 carries a manifest digest footer. Testing checks them without extracting; a restore verifies the whole archive before anything is published.

Inspecting and verifying

Protection

A password-protected archive wraps an ordinary archive in an authenticated-encryption envelope, so names and metadata are encrypted with the contents. Qualified on Linux; a lost password cannot be recovered.

Password-protected archives

Restore

Restore everything or selected members into a fresh destination published with one atomic rename. Contents, permission bits, nanosecond timestamps, and safe links come back under the exact profile.

Restoring and the fidelity contract
Conceptual diagram of an archive: member payloads, the digest footer, the protection envelope, and the restored tree. Not a format specification.
ZJX 1.29 REDLINE release artwork: a lattice gauge with its needle at the red line

Current release

ZJX 1.29.0 REDLINE

Released 2026-09-08Linux x86-64Tag v1.29.0Package literal 1.29.0-rc3

ZJX 1.29 REDLINE is the current release line. It adds the ultrafast objective beside compact and fast, with four workers by default; every REDLINE product gate passed on the frozen candidate and ZJX 1.29.0 was released on 2026-09-08. The published package is the qualified candidate promoted unchanged.

Demo reel

Watch the desktop wrapper in three minutes.

Recorded with the ZJX desktop wrapper, which is laboratory tooling and not a supported download. The narration quotes the published 2026-09-06 size campaign; the software shown is 1.28.0 and the title cards use the 1.29 REDLINE codename art.