Skip to content

v2.5.0-beta.1

Pre-release
Pre-release

Choose a tag to compare

@tig tig released this 03 Sep 20:48
· 122 commits to develop since this release
60ce99d

Breaking changes

This is a beta pre-release of a minor bump. 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)

    • Use OnTextChanging(string proposedValue) / TextChanging to validate or cancel.
    • Use OnTextChanged() for post-change sync.
    • TextField uses View.Text directly (no new hider).
  2. IAcceptTarget moved to Terminal.Gui.Input (#5395 / #5369)

    • Add using Terminal.Gui.Input;.
  3. Legacy ConfigurationManager removed (#5416 / #4367)

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

See Breaking changes 2.5.0 and Migrating ConfigurationManager to TuiConfigurationBuilder.

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 (stale cells, #5635)
  • NativeAOT: RuneJsonConverter no longer trips IL2026

Auto-generated

Breaking Changes

  • Fixes #5369 - BREAKING CHANGE - Move IAcceptTarget to Terminal.Gui.Input namespace by @tig with @Copilot in #5395
  • Fixes #5366 - BREAKING CHANGE - Make View.Text notifications CWP-compliant and non-virtual by @tig in #5371
  • FIXES #4367 - BREAKING CHANGE - Remove legacy ConfigurationManager after MEC migration by @tig in #5416

What's Changed

New Contributors

Full Changelog: v2.4.17...v2.5.0-beta.1