Skip to content

LeanRows v0.1.3

Choose a tag to compare

@github-actions github-actions released this 10 Aug 04:24
· 82 commits to main since this release

LeanRows 0.1.3

LeanRows 0.1.3 corrects the appearance and progress behavior of the redesigned
native shell introduced in 0.1.2. The bounded, read-only document engine and
installer safeguards are unchanged.

Appearance correction

  • System appearance now follows the active Windows app theme instead of
    resolving unconditionally to Light.
  • The appearance button cycles through System, Light, Dark, and back to System.
    An explicit Dark selection is retained across application restarts.
  • Native child controls use documented Windows painting and theme APIs so the
    top bar, search controls, header, grid, status area, and progress rule follow
    the selected appearance consistently.
  • Windows high contrast remains authoritative and replaces application colors
    with the applicable system colors.
  • Native control roles, keyboard behavior, focus indication, and accessibility
    semantics remain intact.

Progress alignment

The indexing indicator remains a native PROGRESS_CLASS control for its
control identity and accessibility behavior. LeanRows now paints it as a flat,
two-DIP rule at y=55, immediately below the 56-DIP top bar. The accent prefix
shows completed progress against the current surface and border colors. The
control does not use marquee animation.

This geometry and visual treatment align the indicator with LeanMark without
introducing a browser renderer or replacing the native control contract.

Behavior retained

LeanRows remains a Windows x64, read-only viewer for local CSV, TSV, JSONL,
NDJSON, log, and text files. It does not load a whole-file object model, alter
the source, send telemetry, or retrieve network content. Editing, saving,
export, sorting, filtering, regular expressions, SQL, archives, and tail/follow
mode remain outside the 0.1 boundary.

The per-user installer continues to register LeanRows in Open with for
.csv, .tsv, .jsonl, .ndjson, and .log. It changes a direct per-user
default only when no protected Explorer UserChoice exists, preserves later
user choices, and does not register or change .txt.

Download

This release provides two attachments:

LeanRows-v0.1.3-windows-x64-unsigned.zip
LeanRows-v0.1.3-windows-x64-unsigned.sha256

LeanRows 0.1.3 is not Authenticode-signed. Windows may display a warning for a
downloaded executable. Verify the ZIP against the .sha256 attachment from
this same release:

Get-FileHash .\LeanRows-v0.1.3-windows-x64-unsigned.zip -Algorithm SHA256

After extraction, validate and run the per-user installer:

.\install.ps1 -ValidateOnly
.\install.ps1

Installation requires no administrator privileges. LeanRows is added to the
current user's Start menu and Installed Apps list.

Local qualification

The native shell smoke now exercises the complete appearance cycle and checks
the persisted preference, effective runtime theme, and grid repaint. It also
checks that the progress indicator retains its native class, has no marquee
style, reports a 50 percent position, and renders the exact accent, surface,
and border pixels expected by the selected appearance.

Formatting, 143/143 workspace all-target locked tests, strict Clippy, release
app and spike builds, native shell and document smokes, release engineering,
and the full non-skipped local QA run passed. The authoritative receipt at
artifacts/qa/v0.1.3-final-frozen-pass/qa-receipt.json passed 25/25 checks
with 0 failures in 38,863 ms.

The frozen executable is 546,816 bytes with SHA-256
F8394AC84BFDD1E4857AF087B509088B5586172048A499E761DF0D5701F8A7A1.
The deterministic unsigned ZIP has SHA-256
BCD32B49FEA25E4079782403AF03366AC1C38DB1DD907B6B9920503DD396A8A3.
Cold and document-open process-tree observations, 1 and 10 GiB sparse
fixtures, 24/24 deterministic seeks, polling-bounded network observation, and
aggregate cleanup passed within the recorded local scope.

A live installer cycle upgraded an installed v0.1.2 baseline and passed
install, identical-state reinstall, uninstall, and final install. It restored
four prior direct defaults to absent during uninstall, then left four direct
defaults and five Open with registrations pointing to the exact v0.1.3
installation. The protected Notepad .log choice remained unchanged. LeanRows
intentionally creates no App Paths key; its absolute open commands and Start
menu shortcut were verified. The final v0.1.3 installation remains in place,
with no process or temporary residue.

Two earlier network-observation receipts remain preserved as fail-closed. A
race made a transient empty viewport unreliable after reload, so the harness
was corrected to require a durable top-index reset and viewport repopulation.
The final receipt passed. Network evidence remains polling-bounded rather than
an ETW trace or packet capture.

The tagged release workflow independently verifies the release commit, rebuild,
quality gates, package checksum, and published assets. The local receipt above
records the frozen pre-tag qualification; it is not a substitute for that
tagged proof.

LeanRows is available under the MIT License. The complete change summary is in
the changelog.
Security-sensitive findings should use
private vulnerability reporting.