Skip to content

Changelog

All notable releases of Termina.

# Termina 0.5.1

December 19, 2025View full release notes on GitHub →

  • Fix nullability propagation in [Reactive] source generator ([#112](https://github.com/Aaronontheweb/Termina/pull/112))
  • Source generator now preserves nullable reference type annotations (e.g., string?, int?) in generated properties
  • Added custom SymbolDisplayFormat with IncludeNullableReferenceTypeModifier option
  • Nullable fields now generate properties with matching nullability annotations, providing correct nullability hints in consuming code

# Termina 0.5.0

December 18, 2025View full release notes on GitHub →

  • BlockSegment wrapper for block-level streaming text ([#108](https://github.com/Aaronontheweb/Termina/pull/108))
  • Enables text segments to render as block elements starting on new lines with vertical word wrapping
  • New BlockSegment class wraps any ITextSegment for block-level rendering
  • Fluent .AsBlock() API for creating block segments

# Termina 0.4.0

December 18, 2025View full release notes on GitHub →

  • VerticalLayout and HorizontalLayout now default to Auto() sizing ([#97](https://github.com/Aaronontheweb/Termina/pull/97))
  • Previously, these layouts defaulted to Fill(), which caused nested layouts to compete with siblings for space
  • New Auto() default means nested layouts size to their content by default
  • Fill() is now only needed for children that should claim remaining space within a container

# Termina 0.3.0

December 17, 2025View full release notes on GitHub →

  • Inline animated text segments with tracked segment support ([#71](https://github.com/Aaronontheweb/Termina/pull/71))
  • Opt-in tracked segments for StreamingTextNode enabling inline animations (spinners, timers, etc.)
  • Caller-provided SegmentId system (like HTML div IDs) for tracking and manipulating segments
  • New interfaces: ITextSegment, IAnimatedTextSegment, ICompositeTextSegment

# Termina 0.2.1

December 16, 2025View full release notes on GitHub →

  • Diff-based rendering system ([#61](https://github.com/Aaronontheweb/Termina/pull/61))
  • Implemented double-buffering terminal wrapper that eliminates screen flickering
  • Only outputs changed cells on flush instead of clearing entire screen
  • New DiffingTerminal wrapper with FrameBuffer for efficient cell-level diffing

# Termina 0.2.0

December 16, 2025View full release notes on GitHub →

  • Pure reactive architecture ([#50](https://github.com/Aaronontheweb/Termina/pull/50))
  • All .NET events migrated to IObservable<T> for consistency with System.Reactive
  • IInvalidatingNode.Invalidated: event Action? → IObservable<Unit>
  • TextInputNode: Submitted, TextChanged, Invalidated now use observables

# Termina 0.1.0

December 16, 2025View full release notes on GitHub →

  • Complete removal of Spectre.Console dependency ([#33](https://github.com/Aaronontheweb/Termina/pull/33))

# Termina 0.1.0-beta1 pre-release

December 12, 2025View full release notes on GitHub →

  • Reactive MVVM architecture with source-generated properties
  • ASP.NET Core-style routing with parameterized routes and type constraints
  • Two-tier event architecture (pages and navigation)

Released under the Apache 2.0 License.