Skip to content

Changelog

All notable releases of Termina.

# Termina 0.10.2

May 30, 2026View full release notes on GitHub →

  • Unrecognized CSI tilde sequences now flush correctly (#232)
  • Fix for [5~ (PgUp), [6~ (PgDn) and other bracketed CSI sequences being silently swallowed by the escape sequence parser. These were causing the parser to stay stuck in InBracketSequence mode, blocking all subsequent input. Sequences now flush as raw KeyPressed events for application handling.
  • Legacy CSI tilde key decoding — Maps legacy CSI tilde key sequences to semantic ConsoleKey events while preserving unknown tilde raw flush behavior.
  • TextInputNode placeholder background color fixed (#233)

# Termina 0.10.1

May 24, 2026View full release notes on GitHub →

  • RebuildBuffer correctly inserts a newline before block segments after Clear() ([#224](https://github.com/Aaronontheweb/termina/pull/224))
  • Pre-fix, after Clear() reset HasContentOnCurrentLine, the first re-added block segment skipped its leading newline during rebuild, causing block content to collide with prior content on the same line.
  • Moves the block-newline check inline, evaluated *after* prior elements are re-appended so the buffer state reflects the in-progress reconstruction.
  • Animation callbacks now hold _contentLock ([#225](https://github.com/Aaronontheweb/termina/pull/225))

# Termina 0.10.0

May 23, 2026View full release notes on GitHub →

  • ReactivePage.InvalidateLayout() for runtime layout rebuilds ([#220](https://github.com/Aaronontheweb/termina/pull/220))
  • New protected void InvalidateLayout() method on ReactivePage<TViewModel> that discards the cached layout tree and rebuilds via BuildLayout()
  • Solves the problem of layout values "baked in" at first navigation time (e.g. SizeConstraint.Auto records) being permanently frozen — consumers can now trigger a full rebuild when external state changes (terminal resize, etc.)
  • Preserves user subscriptions, key bindings, and focus when the target node survives the rebuild

# Termina 0.9.0

May 18, 2026View full release notes on GitHub →

  • SelectionListNode pre-selection via WithHighlightedIndex() ([#213](https://github.com/Aaronontheweb/termina/pull/213))
  • New fluent method WithHighlightedIndex(int index) allows callers to pre-select a highlighted item in SelectionListNode by index at construction time
  • Useful for dialogs that should open with a sensible default already highlighted
  • SelectionListNode full-height mode via WithFillHeight() ([#210](https://github.com/Aaronontheweb/termina/pull/210))

# Termina 0.8.0

March 17, 2026View full release notes on GitHub →

  • CopyableTextNode with terminal clipboard support ([#179](https://github.com/Aaronontheweb/termina/pull/179))
  • New CopyableTextNode component for selectable, copyable text with keyboard-driven selection
  • Configurable copy key bindings via CopyKeyBinding
  • Terminal clipboard integration using OSC 52 escape sequences with automatic tmux transport fallback

# Termina 0.7.2

March 1, 2026View full release notes on GitHub →

  • TextAreaNode multi-line text input ([#161](https://github.com/Aaronontheweb/Termina/issues/161), [#163](https://github.com/Aaronontheweb/Termina/pull/163))
  • New TextAreaNode component for multi-line text input with line-by-line editing
  • Extracted common base class TextInputBaseNode shared with single-line TextInputNode
  • Alt+Enter for universal newline insertion (works on all terminals, unlike Ctrl+Enter)

# Termina 0.7.1

February 27, 2026View full release notes on GitHub →

  • DynamicLayoutNode is now invalidation-driven ([#155](https://github.com/Aaronontheweb/Termina/issues/155))
  • Factory no longer runs on every Measure/Render cycle — runs once, then only on Invalidate()
  • Fixes silent state destruction (highlights, typed text, focus) when factory creates new instances
  • Invalidate() now eagerly evaluates the factory for immediate child swap

# Termina 0.7.0

February 26, 2026View full release notes on GitHub →

  • Migrate from System.Reactive to R3 ([#140](https://github.com/Aaronontheweb/Termina/pull/140))
  • Replaced System.Reactive (Rx.NET) with [R3](https://github.com/Cysharp/R3) throughout the framework
  • IObservable<T> → Observable<T> in all public APIs
  • OfType<T>() → OfType<TSrc, TDest>() (R3 requires both type parameters)

# Termina 0.6.1

February 25, 2026View full release notes on GitHub →

  • Built-in input history for TextInputNode ([#144](https://github.com/Aaronontheweb/Termina/pull/144))
  • New WithHistory(maxEntries) fluent API for enabling input history
  • New AddHistory(text) method for programmatically adding history entries
  • Up/Down arrow keys navigate through previous input submissions

# Termina 0.6.0

February 24, 2026View full release notes on GitHub →

  • Scrollbar for StreamingTextNode ([#138](https://github.com/Aaronontheweb/Termina/pull/138))
  • Visual scrollbar renders on the right edge of StreamingTextNode when content exceeds the viewport
  • ScrollbarOptions record for customizing track/thumb characters and colors, with AutoHide support
  • WithScrollbar() fluent method on StreamingTextNode for opt-in configuration

Released under the Apache 2.0 License.