Download Latest Version v2.5.0 source code.zip (35.2 MB) Google Add to Preferred Sources
Home / v2.5.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2026-09-11 7.4 kB
v2.5.0 source code.tar.gz 2026-09-11 34.1 MB
v2.5.0 source code.zip 2026-09-11 35.2 MB
Totals: 3 Items   69.3 MB 2

Breaking changes

This is a minor bump because v2 still accepts planned API breaks. Apps that compiled against 2.4.17 may need source changes.

  1. View.Text is no longer virtual (#5371 / [#5366])
  2. Use OnTextChanging(string proposedValue) / TextChanging to validate or cancel.
  3. Use OnTextChanged() for post-change sync.
  4. TextField uses View.Text directly (no new hider).

  5. IAcceptTarget moved to Terminal.Gui.Input (#5395 / [#5369])

  6. Add using Terminal.Gui.Input;.

  7. Legacy ConfigurationManager removed (#5416 / [#4367])

  8. Replacement: TuiConfigurationBuilder and Settings POCOs (ButtonSettings.Current, etc.).
  9. config.json is nested only. Convert old flat-key files with Tools/MigrateConfig.
  10. Types marked [Obsolete] in 2.4.17 (#5411) are gone.

See docfx/docs/breaking-changes-2.5.0.md and the configuration deep dive.

Highlights

  • Editable NumericUpDown
  • TableView horizontal scrolling for wide content
  • Native ANSI size detection; platform detection cleanup
  • SynchronizationContext fix
  • Kitty protocol: preserve repeated legacy input after detection
  • DropDownList: hide active popover on DeRegister (#5635)
  • NativeAOT: RuneJsonConverter no longer trips IL2026 (#5659)

What's Changed

New Contributors

Full Changelog: https://github.com/tui-cs/Terminal.Gui/compare/v2.4.17...v2.5.0

Source: README.md, updated 2026-09-11