Skip to content

Releases: elixir-vibe/cringe

v0.5.0

26 May 20:26

Choose a tag to compare

Cringe 0.5.0 adds ANSI-preserving text slicing and tightens runtime input ownership.

Highlights:

  • Adds Cringe.Measure.slice/3 for terminal-cell slicing.
  • Uses ANSI-preserving slicing for clipped canvas writes.
  • Tightens Measure.wrap/2 edge-case behavior.
  • Lets the runtime own terminal input session startup and shutdown.
  • Adds form integration coverage for layout-derived focus navigation.

v0.4.0

26 May 18:15

Choose a tag to compare

Cringe 0.4.0 adds public terminal-cell wrapping helpers and separates terminal input ownership.

Highlights:

  • Adds Cringe.Measure.chunks/2 for terminal-cell-aware chunking.
  • Adds Cringe.Measure.wrap/2 for newline-preserving terminal text wrapping.
  • Moves terminal input ownership into a runtime terminal session.
  • Keeps renderer, layout, and runtime checks green.

v0.3.1

26 May 17:57

Choose a tag to compare

Cringe 0.3.1 documents the terminal measurement API and tightens overflow rendering coverage.

Highlights:

  • Documents Cringe.Measure as a public terminal-cell text helper API.
  • Adds doctests for width, take, pad, fit, and drop behavior.
  • Adds nested overflow and clipped styled text regression coverage.
  • Fixes clipped styled text so left-edge clipping preserves active ANSI styling.

v0.3.0

26 May 17:13

Choose a tag to compare

Cringe 0.3.0 continues the TUI runtime and renderer split.

Highlights:

  • Replaces the old test helper with Cringe.Assertions, Cringe.Case, and Cringe.Driver.
  • Adds layout IDs, hit testing, focusable metadata, and focus navigation helpers.
  • Adds clipped canvas writes and draw-owned box primitives.
  • Moves text, stack, and box rendering further into the draw phase.
  • Adds runtime ticks, a tick manager, and a runtime supervisor.
  • Adds terminal-cell-aware Measure.fit/3.