Skip to content

v0.3.0-alpha.3

Pre-release
Pre-release

Choose a tag to compare

@apstndb apstndb released this 22 Jul 00:09
7138723

Highlights

  • Added asciitable.RenderTableless, which renders caller-defined rows without table borders or headers using a one-character | separator. Multiline cells, including empty physical lines, and display-width-aware right alignment are preserved without padding wide text columns back to table width.
  • Added rendertree --layout=tableless and the --tableless shortcut. The existing table layout remains the default.
  • Added plantree/reference.Layout, the LayoutTable and LayoutTableless constants, ParseLayout, WithLayout, and RenderConfig.Layout so Go, WebAssembly, and JSON-configured consumers can select the tableless layout.
  • Added focused coverage for multiline rows, empty cells, wrapped compact plans, inline execution statistics, CLI flag conflicts, and reference renderer configuration.

Compatibility

Existing callers and serialized configurations remain on the byte-compatible table layout when the layout field is omitted or empty. Go callers should use keyed reference.RenderConfig literals; adding the Layout field can break unkeyed literals. The tableless representation is human-oriented text rather than an escaped serialization format: literal | is not escaped, trailing empty cells are omitted, empty physical lines and all-empty logical rows are preserved, and physical lines may contain different field counts. Center alignment is not supported by the unpadded tableless representation: center-aligned cells are emitted without centering.

Stability

This remains an intentionally unstable v0 prerelease. The new layout APIs and textual representation are not a stable v1 compatibility promise and may evolve during the v0.3.0 prerelease train.

Verification

  • go test -v ./...
  • go vet ./...
  • golangci-lint v2.12.2 with Go 1.24.13 — 0 issues
  • Hosted pull-request test and lint checks on exact head edce8c7c7377d22b6a76a384fd98c1d5160e445b
  • Clean origin/main verification after squash merge