Skip to content

Commit 2e5c2dd

Browse files
tigcursoragent
andauthored
Docs: 2.5.0 CM/MEC leftovers for #5630 (#5658)
Point v1 ConfigurationManager users at TuiConfigurationBuilder, add a 2.5.0 breaking-changes conceptual page, align the README develop increment with GitVersion.yml Patch, and correct Schemes.Resolve to SchemeManager.GetScheme in the primer and llms.txt. Co-authored-by: Cursor Agent <cursoragent@cursor.com>
1 parent 3b84893 commit 2e5c2dd

9 files changed

Lines changed: 65 additions & 8 deletions

File tree

Terminal.Gui/README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,12 @@ The [GitVersion.MsBuild](https://www.nuget.org/packages/GitVersion.MsBuild) NuGe
1414
|--------|----------------|-----------|-------|
1515
| `main` (stable) | `2.0.0` | Patch | Label set in `GitVersion.yml` (`label: ''`) |
1616
| `main` (pre-release) | `2.0.1-rc.1` | Patch | Label set in `GitVersion.yml` (e.g., `label: rc`) |
17-
| `develop` | `2.1.0-develop.42` | Minor | Always carries `-develop` pre-release label |
18-
| `feature/*`, `fix/*`, etc. | `2.1.0-my-feature.1` | Inherit | Inherits from `develop`; branch name becomes label |
17+
| `develop` | `2.5.0-develop.55` | Patch | Always carries `-develop` pre-release label |
18+
| `feature/*`, `fix/*`, etc. | `2.5.0-my-feature.1` | Inherit | Inherits from `develop`; branch name becomes label |
1919
| `pull-request/*` | `2.0.0-pr.123.1` | Inherit | PR number in label |
2020

21+
`develop` increments **Patch** (`GitVersion.yml` `increment: Patch`). To bump Minor, include `+semver: minor` in a commit message. Do not pin `next-version`.
22+
2123
### Checking Versions Locally
2224

2325
```powershell
@@ -135,7 +137,7 @@ These branches are **not** configured in `GitVersion.yml` (the config was remove
135137

136138
- **Package**: [nuget.org/packages/Terminal.Gui](https://www.nuget.org/packages/Terminal.Gui)
137139
- **Auto-published** on every push to `develop` (pre-release versions) and on `v*` tag pushes (stable/pre-release versions tagged on `main`)
138-
- Pre-release versions (e.g., `2.1.0-develop.42`) are marked as pre-release on NuGet
140+
- Pre-release versions (e.g., `2.5.0-develop.55`) are marked as pre-release on NuGet
139141

140142
### Local Package Development
141143

ai-v2-primer.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ most of what you "know" about Terminal.Gui is **wrong**. The API has fundamental
3737
| `view.Bounds` | `view.Viewport` |
3838
| `LayoutStyle.Computed` | Removed — all layout is declarative via `Pos`/`Dim` |
3939
| `new RadioGroup (...)` | `new OptionSelector { ... }` |
40-
| `Colors.ColorSchemes ["name"]` | `Schemes.Resolve ("name")` or use `Scheme` directly |
40+
| `Colors.ColorSchemes ["name"]` | `SchemeManager.GetScheme ("name")` or use `Scheme` directly |
4141
| `Application.RequestStop ()` | `App!.RequestStop ()` (from inside a `Runnable`) |
4242
| `Pos.At (n)` / `Pos.Left (v)` | Assign integers directly: `X = 5;` (implicit conversion) |
4343

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Terminal.Gui 2.5.0 Breaking Changes
2+
3+
Terminal.Gui 2.5.0 is a minor bump that includes planned API breaks. Apps that compiled against 2.4.17 may need source changes.
4+
5+
The GitHub Release notes list for this train lives on [#5630](https://github.com/tui-cs/Terminal.Gui/issues/5630). This page covers the four breaks that belong in the conceptual docs.
6+
7+
## `View.Text` is no longer virtual
8+
9+
<xref:Terminal.Gui.ViewBase.View.Text> is a non-virtual property. To validate or cancel a change, override `OnTextChanging(string)` or subscribe to <xref:Terminal.Gui.ViewBase.View.TextChanging>. To react after a change, override `OnTextChanged` or subscribe to <xref:Terminal.Gui.ViewBase.View.TextChanged>.
10+
11+
`TextField` uses `View.Text` directly (no `new` hider).
12+
13+
See [Cancellable Work Pattern](cancellable-work-pattern.md) and [Events](events.md).
14+
15+
## `IAcceptTarget` moved to `Terminal.Gui.Input`
16+
17+
<xref:Terminal.Gui.Input.IAcceptTarget> now lives in `Terminal.Gui.Input`. To compile against 2.5.0, add `using Terminal.Gui.Input;`.
18+
19+
See [Command](command.md).
20+
21+
## `ConfigurationManager` and `[ConfigurationProperty]` removed
22+
23+
2.5.0 deletes the legacy `ConfigurationManager` type and the `[ConfigurationProperty]` attribute that 2.4.17 marked `[Obsolete]`.
24+
25+
To load themes and settings, use <xref:Terminal.Gui.Configuration.TuiConfigurationBuilder> and Settings POCOs such as `ButtonSettings.Current`.
26+
27+
See [Configuration](config.md) and [Migrating ConfigurationManager to TuiConfigurationBuilder](migrate-cm-to-mec.md).
28+
29+
## `config.json` is nested only
30+
31+
A pre-2.5.0 file with dotted keys (`"Button.DefaultShadow"`) or array-shaped `Themes` / `Schemes` is not applied. A `WARN` log names the file.
32+
33+
To convert a legacy file, run `Tools/MigrateConfig`. Nested JSON is the supported contract.
34+
35+
See [Configuration](config.md) and [Migrating ConfigurationManager to TuiConfigurationBuilder](migrate-cm-to-mec.md).

docfx/docs/config.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Terminal.Gui loads themes, glyphs, key bindings, and view defaults from JSON using [Microsoft.Extensions.Configuration](https://learn.microsoft.com/dotnet/core/extensions/configuration) via <xref:Terminal.Gui.Configuration.TuiConfigurationBuilder>.
44

5-
The legacy `ConfigurationManager` type was removed in 2.5.0. To convert a pre-2.5.0 `config.json`, see [Migrating ConfigurationManager to TuiConfigurationBuilder](migrate-cm-to-mec.md).
5+
The legacy `ConfigurationManager` type was removed in 2.5.0. To convert a pre-2.5.0 `config.json`, see [Migrating ConfigurationManager to TuiConfigurationBuilder](migrate-cm-to-mec.md). For the other 2.5.0 API breaks, see [2.5.0 Breaking Changes](breaking-changes-2.5.0.md).
66

77
## Quick start
88

@@ -150,6 +150,7 @@ IConfiguration config = new ConfigurationBuilder ()
150150

151151
## See also
152152

153+
- [2.5.0 Breaking Changes](breaking-changes-2.5.0.md)
153154
- [Migrating ConfigurationManager to TuiConfigurationBuilder](migrate-cm-to-mec.md)
154155
- [Configuration JSON Schema](../schemas/tui-config-schema.json)
155156
- [Scheme Deep Dive](scheme.md)

docfx/docs/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Welcome to the Terminal.Gui documentation! This comprehensive guide covers every
1212
- [Getting Started](~/docs/getting-started.md) - Quick start guide to create your first Terminal.Gui application
1313
- [Migrating from v1 to v2](~/docs/migratingfromv1.md) - Complete guide for upgrading existing applications
1414
- [What's New in v2](~/docs/newinv2.md) - Overview of new features and improvements
15+
- [2.5.0 Breaking Changes](~/docs/breaking-changes-2.5.0.md) - `View.Text` CWP, `IAcceptTarget` namespace, `ConfigurationManager` removal, nested `config.json`
1516
- [Showcase](~/docs/showcase.md) - Showcase of TUI apps built with Terminal.Gui
1617
- [Lexicon & Taxonomy](~/docs/lexicon.md) - Terminology and concepts used throughout Terminal.Gui
1718
- [Views](~/docs/views.md) - Comprehensive list of built-in views and controls

docfx/docs/migratingfromv1.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ For detailed breaking change documentation, check out this Discussion: https://g
88

99
- [Overview of Major Changes](#overview-of-major-changes)
1010
- [Application Architecture](#application-architecture)
11+
- [Configuration](#configuration)
1112
- [View Construction and Initialization](#view-construction-and-initialization)
1213
- [Layout System Changes](#layout-system-changes)
1314
- [Color and Attribute Changes](#color-and-attribute-changes)
@@ -166,6 +167,16 @@ public class MyView : View
166167

167168
---
168169

170+
## Configuration
171+
172+
v1 exposed `ConfigurationManager` (typically `ConfigurationManager.Enable`). That API is gone in 2.5.0.
173+
174+
To load themes and settings in v2, use <xref:Terminal.Gui.Configuration.TuiConfigurationBuilder> and Settings POCOs. Do not call `ConfigurationManager.Enable`.
175+
176+
To convert a pre-2.5.0 `config.json`, see [Migrating ConfigurationManager to TuiConfigurationBuilder](migrate-cm-to-mec.md). For the other 2.5.0 API breaks, see [2.5.0 Breaking Changes](breaking-changes-2.5.0.md).
177+
178+
---
179+
169180
## View Construction and Initialization
170181

171182
### Constructors → Initializers
@@ -1093,6 +1104,9 @@ While migration requires some effort, the result is a more robust, performant, a
10931104

10941105
For more details, see:
10951106
- [Application Deep Dive](application.md)
1107+
- [Configuration Deep Dive](config.md)
1108+
- [Migrating ConfigurationManager to TuiConfigurationBuilder](migrate-cm-to-mec.md)
1109+
- [2.5.0 Breaking Changes](breaking-changes-2.5.0.md)
10961110
- [Keyboard Deep Dive](keyboard.md)
10971111
- [Mouse Deep Dive](mouse.md)
10981112
- [Layout Deep Dive](layout.md)

docfx/docs/newinv2.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ This document provides an in-depth overview of the new features, improvements, a
44

55
**For migration guidance**, see the [v1 To v2 Migration Guide](migratingfromv1.md).
66

7+
For the 2.5.0 API breaks (`View.Text`, `IAcceptTarget`, `ConfigurationManager`, nested `config.json`), see [2.5.0 Breaking Changes](breaking-changes-2.5.0.md).
8+
79
## Table of Contents
810

911
- [Overview](#overview)
@@ -656,7 +658,7 @@ builder.ApplyToStaticFacades ();
656658
builder.ThemeManager.SwitchTheme ("Dark");
657659
```
658660

659-
See [Migrating ConfigurationManager to TuiConfigurationBuilder](migrate-cm-to-mec.md) if you still have 2.4.x `ConfigurationManager` calls or a flat-key `config.json`.
661+
See [Migrating ConfigurationManager to TuiConfigurationBuilder](migrate-cm-to-mec.md) if you still have 2.4.x `ConfigurationManager` calls or a flat-key `config.json`. See [2.5.0 Breaking Changes](breaking-changes-2.5.0.md) for the other 2.5.0 API breaks.
660662

661663
**User Customization:**
662664
- End-users can personalize themes, colors, text styles

docfx/docs/toc.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
- name: What's new in v2
88
href: newinv2.md
99
- name: v1 To v2 Migration
10-
href: migratingfromv1.md
10+
href: migratingfromv1.md
11+
- name: 2.5.0 Breaking Changes
12+
href: breaking-changes-2.5.0.md
1113
- name: Lexicon & Taxonomy
1214
href: lexicon.md
1315
- name: Views

llms.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
| `view.Bounds` | `view.Viewport` |
2828
| `LayoutStyle.Computed` | Removed — all layout is declarative via `Pos`/`Dim` |
2929
| `new RadioGroup (...)` | `new OptionSelector { ... }` |
30-
| `Colors.ColorSchemes ["name"]` | `Schemes.Resolve ("name")` or use `Scheme` directly |
30+
| `Colors.ColorSchemes ["name"]` | `SchemeManager.GetScheme ("name")` or use `Scheme` directly |
3131
| `Application.RequestStop ()` | `App!.RequestStop ()` (from inside a `Runnable`) |
3232

3333
> **Full v1→v2 corrections**: See [ai-v2-primer.md](ai-v2-primer.md)

0 commit comments

Comments
 (0)