Skip to content

Update to TG 2.5.x (PR 5416 preview) - #43

Open
tig wants to merge 2 commits into
developfrom
tg25-port
Open

Update to TG 2.5.x (PR 5416 preview)#43
tig wants to merge 2 commits into
developfrom
tg25-port

Conversation

@tig

@tig tig commented Aug 22, 2026

Copy link
Copy Markdown
Member

⚠️ DO NOT MERGE with the pre-release pin in place

This PR pins a vendored pre-release build (Terminal.Gui 2.5.0-tig-remove-cm-followup.2, built from tui-cs/Terminal.Gui#5416) so the port can be validated ahead of the v2.5.0 release. Before merging, once a public 2.5.x package is on nuget.org:

  1. Update the Terminal.Gui pin to the public 2.5.x version in: Directory.Build.props (TerminalGuiVersion)
  2. Delete local_packages/ and the tgui-pr-5416 package source in nuget.config (delete the file if that source is all it adds)
  3. Revert the .gitignore exception for the vendored packages (if present)
  4. Re-run build and tests and confirm Terminal.Gui restores from nuget.org

Summary

Ports Terminal.Gui.Cli to the Terminal.Gui 2.5.0 preview as part of the v2.5.0 ecosystem-validation gate (tui-cs/Terminal.Gui#5630).

Terminal.Gui PR tui-cs/Terminal.Gui#5416 (ConfigurationManager removal) is not yet merged, so this PR TEMPORARILY vendors a nupkg built from that PR branch:

  • local_packages/Terminal.Gui.2.5.0-tig-remove-cm-followup.2.nupkg (+ .snupkg) committed to the repo
  • nuget.config adds a tgui-pr-5416 local package source pointing at ./local_packages
  • Directory.Build.props pins TerminalGuiVersion to 2.5.0-tig-remove-cm-followup.2
  • .gitignore exception so the vendored packages are committed despite the *.nupkg ignore

Pattern precedent: tig/winprint#272 used the same vendored-preview approach for winprint.

2026-08-22: Re-vendored to followup.2 (built from the #5416 branch head e8aba423); the earlier followup.1 package was built from a stale commit (93c3b3d4) that predated config-load defect fixes on that branch.

Code changes / API breaks

None required. Terminal.Gui.Cli does not use any of the APIs removed or changed in 2.5.0:

  • No legacy ConfigurationManager / ConfigLocations / [ConfigurationProperty] / scope-type usage (the TuiConfigurationBuilder replacement is therefore not needed here)
  • No View.Text overrides (now non-virtual; CWP OnTextChanging/OnTextChanged is the replacement)
  • No IAcceptTarget references (moved to Terminal.Gui.Input)

The solution builds warning-free (TreatWarningsAsErrors=true) against the 2.5.0 preview, so the Terminal.Gui.Cli public API surface consumed by downstreams (e.g. tig/winprint) is unchanged.

Test results

Suite Result
tests/Terminal.Gui.Cli.Tests 24/24 passed
tests/Terminal.Gui.Cli.IntegrationTests 39/39 passed
tests/Terminal.Gui.Cli.SmokeTests 0 tests (project is an empty placeholder — matches develop)

Follow-up

  • Once Terminal.Gui 2.5.x ships on nuget.org: swap TerminalGuiVersion to the public version, delete local_packages/, and remove the tgui-pr-5416 source from nuget.config (and the .gitignore exception)

🤖 Generated with Claude Code

https://claude.ai/code/session_01BVbLXNzbus2MTXmiJDBErL

TEMP: pin Terminal.Gui to 2.5.0-tig-remove-cm-followup.1, a preview built
from tui-cs/Terminal.Gui#5416 (ConfigurationManager removal), restored from
a vendored local_packages feed via nuget.config. Part of the v2.5.0
ecosystem-validation gate (tui-cs/Terminal.Gui#5630). No code changes were
required: Terminal.Gui.Cli does not use ConfigurationManager, virtual
View.Text, or IAcceptTarget, and builds warning-free against 2.5.0.

Follow-up: swap to the public 2.5.x package on nuget.org and drop the
vendored feed. Pattern precedent: tig/winprint#272.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BVbLXNzbus2MTXmiJDBErL

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: aa093581f7

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread Directory.Build.props Outdated
<!-- TEMP: Terminal.Gui 2.5.0 preview built from tui-cs/Terminal.Gui#5416, restored
from the vendored ./local_packages feed (see nuget.config). Switch back to a
public nuget.org version once 2.5.x ships. -->
<TerminalGuiVersion Condition="'$(TerminalGuiVersion)' == ''">2.5.0-tig-remove-cm-followup.1</TerminalGuiVersion>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Avoid publishing a dependency that only exists locally

On every push to develop, the existing .github/workflows/release.yml packs Terminal.Gui.Cli and pushes it to NuGet.org, so its generated nuspec will expose this Terminal.Gui version as a dependency. The only copy of that custom prerelease is the repository-local feed, and neither nuget.config nor local_packages/ is available to package consumers; therefore installing each newly published development build from NuGet.org will fail to resolve this dependency. Suppress publishing while this pin is active or publish the preview dependency to a feed that consumers can access.

Useful? React with 👍 / 👎.

…ba423

The .1 package was built from a stale #5416 commit (93c3b3d4) that
predated real config-load defect fixes landed later on the branch.
followup.2 is built from the 5416 branch head (e8aba423).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BVbLXNzbus2MTXmiJDBErL
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant