Release v2.4.1#5398
Merged
Merged
Conversation
Back-merge v2.4.0 from main into develop
- Update Directory.Packages.props: Terminal.Gui.Editor version 2.2.6-local -> 2.4.1 - Restore Terminal.Gui.Editor package pattern in nuget.config for nuget source - Delete local_packages/*.nupkg hack files - Delete LocalPackagesTests.cs (tested the hack, no longer applicable) Terminal.Gui.Editor 2.4.1 is now on nuget.org targeting Terminal.Gui 2.4.0. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…namespace Fixes #5380. Remove local Terminal.Gui.Editor package hack
Two issues introduced by PR #5368: 1. Two separate metadata entries in docfx.json with the same dest (api) caused DocFX to overwrite Terminal.Gui's TOC with Editor-only namespaces. Fix: combine both DLLs into a single metadata entry. 2. EditorRef could not restore Terminal.Gui (transitive dep of TG.Editor) because the repo-root nuget.config routes Terminal.Gui* exclusively to LocalPackages. Fix: add a local nuget.config for EditorRef that resolves all packages from nuget.org. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add a public instance method on the Markdown view that renders markdown content to ANSI escape sequences without requiring Application.Init() or an interactive TUI session. The method encapsulates the headless driver workaround into a single call: string ansi = markdownView.RenderToAnsi(text, width: 80); The method: - Creates a temporary headless ANSI driver internally - Copies SyntaxHighlighter, MarkdownPipeline, UseThemeBackground, and ShowHeadingPrefix configuration from the instance - Calculates full content height and renders the entire document - Returns the ANSI string without mutating the calling instance Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Fix API docs TOC showing only Editor namespaces
Wrap the temporary IApplication and Markdown view in using declarations so they are disposed on all paths, including when Layout(), Draw(), or a custom ISyntaxHighlighter throws an exception. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…po-root The repo-root nuget.config has packageSourceMapping that restricts Terminal.Gui* packages to LocalPackages source. Adding <clear /> to the packageSourceMapping section in EditorRef's config ensures all packages resolve from nuget.org regardless of parent config inheritance. Fixes API docs build failure after #5387 merge. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add MAX_RENDER_WIDTH (4096) upper bound to prevent OOM from absurd widths - Wrap env var set/restore in a static lock for thread safety - Use initial height of 1 instead of width for first layout pass - Fix XML docs to clarify ShowCopyButtons is always disabled for ANSI output Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Fix EditorRef packageSourceMapping to resolve API docs build
Fixes #5385. Add Markdown.RenderToAnsi() API for headless ANSI rendering
Minimal standalone .NET console app that demonstrates incorrect wide/fullwidth Unicode character rendering in terminal emulators. Outputs grids of emoji, CJK, and mixed-width characters with box-drawing separators that should align vertically. If they don't, the terminal has a wcwidth bug. Intended for use in bug reports against terminals that mishandle wide chars. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add Ghostty to the terminal compatibility matrix in BUG_REPORT_TEMPLATE.md as passing all tests. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ails Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add wide character rendering repro app for terminal bug reports
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7f38164dca
ℹ️ 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".
This was referenced May 25, 2026
This was referenced Jun 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release v2.4.1
Version:
2.4.1NuGet Package:
Terminal.Gui 2.4.1What happens when this PR is merged
v2.4.1main→developwill be openedChecklist
2.4.1