Releases: elixir-vibe/cringe
Releases · elixir-vibe/cringe
v0.5.0
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
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
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
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.