Conversation
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
There was a problem hiding this comment.
💡 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".
| <!-- 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> |
There was a problem hiding this comment.
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
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:Directory.Build.props(TerminalGuiVersion)local_packages/and thetgui-pr-5416package source innuget.config(delete the file if that source is all it adds).gitignoreexception for the vendored packages (if present)Summary
Ports
Terminal.Gui.Clito 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 reponuget.configadds atgui-pr-5416local package source pointing at./local_packagesDirectory.Build.propspinsTerminalGuiVersionto2.5.0-tig-remove-cm-followup.2.gitignoreexception so the vendored packages are committed despite the*.nupkgignorePattern precedent: tig/winprint#272 used the same vendored-preview approach for winprint.
Code changes / API breaks
None required.
Terminal.Gui.Clidoes not use any of the APIs removed or changed in 2.5.0:ConfigurationManager/ConfigLocations/[ConfigurationProperty]/ scope-type usage (theTuiConfigurationBuilderreplacement is therefore not needed here)View.Textoverrides (now non-virtual; CWPOnTextChanging/OnTextChangedis the replacement)IAcceptTargetreferences (moved toTerminal.Gui.Input)The solution builds warning-free (
TreatWarningsAsErrors=true) against the 2.5.0 preview, so theTerminal.Gui.Clipublic API surface consumed by downstreams (e.g. tig/winprint) is unchanged.Test results
tests/Terminal.Gui.Cli.Teststests/Terminal.Gui.Cli.IntegrationTeststests/Terminal.Gui.Cli.SmokeTestsdevelop)Follow-up
TerminalGuiVersionto the public version, deletelocal_packages/, and remove thetgui-pr-5416source fromnuget.config(and the.gitignoreexception)🤖 Generated with Claude Code
https://claude.ai/code/session_01BVbLXNzbus2MTXmiJDBErL