Release v2.4.17#5584
Merged
Merged
Conversation
Back-merge v2.4.16 from main into develop
--- updated-dependencies: - dependency-name: Microsoft.Extensions.Options dependency-version: 10.0.9 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
--- updated-dependencies: - dependency-name: GitVersion.MsBuild dependency-version: 6.8.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
…ild-6.8.0 Bump GitVersion.MsBuild from 6.7.0 to 6.8.0
…sions.Options-10.0.9 Bump Microsoft.Extensions.Options from 10.0.7 to 10.0.9
--- updated-dependencies: - dependency-name: GitVersion.MsBuild dependency-version: 6.8.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
--- updated-dependencies: - dependency-name: Microsoft.Net.Compilers.Toolset dependency-version: 5.6.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
--- updated-dependencies: - dependency-name: Spectre.Console dependency-version: 0.57.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
#5498 (split off from #4522) flagged that Frame/layout-driven size changes bypass the Width/Height change events and skip the TextFormatter reset. Re-evaluated after the related layout/TextFormatter perf work landed (#4522, #5357, #5358/#5359, #5499, formatter-constraint fixes): - TextFormatter reset is now a non-issue. SetRelativeLayout recomputes the constraints via SetTextFormatterSize () + FinalizeTextFormatterConstraints (), and the Frame setter flows through the same path via Layout (). The "Reset TextFormatter" BUGBUG bullets were stale. - The Width/Height events "gap" is actually the correct design once declarative (Width/Height = Dim) is separated from resolved (Frame = absolute Rectangle). A layout pass changes the Frame, not the Dim (Dim.Fill () stays Dim.Fill ()), and the Frame setter's _width = absolute is bookkeeping, not a user-initiated Width change. FrameChanged already covers resolved-size changes from any cause. Changes (no behavior change): - Replace the two stale BUGBUG blocks in View.Layout.cs (Frame setter + SetRelativeLayout) with accurate design notes. - Document the contract on Width/Height (declarative-assignment only) and on FrameChanged (canonical resolved-size event). - Add ViewLayoutEventTests locking the contract: Width/HeightChanged do NOT fire from the Frame setter or a layout-driven resize; FrameChanged DOES fire in those cases and on declarative assignment after layout. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Bumps [gittools/actions](https://github.com/gittools/actions) from 4.5.0 to 4.7.0. - [Release notes](https://github.com/gittools/actions/releases) - [Commits](GitTools/actions@v4.5.0...v4.7.0) --- updated-dependencies: - dependency-name: gittools/actions dependency-version: 4.7.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
…ild-6.8.1 Bump GitVersion.MsBuild from 6.8.0 to 6.8.1
…ompilers.Toolset-5.6.0 Bump Microsoft.Net.Compilers.Toolset from 5.3.0 to 5.6.0
…-0.57.2 Bump Spectre.Console from 0.57.1 to 0.57.2
…ls/actions-4.7.0 Bump gittools/actions from 4.5.0 to 4.7.0
…Inaccessible change (#5581) The switch to EnumerateDirectories/EnumerateFileSystemInfos with EnumerationOptions { IgnoreInaccessible = true } (from the #5544 follow-up) kept the framework default AttributesToSkip = Hidden | System, so the file dialog silently filtered out hidden/system entries — including dotfiles on Unix, which .NET marks as Hidden. The GetDirectories ()/GetFileSystemInfos () calls it replaced never skipped them. - Clear AttributesToSkip (FileAttributes.None) so hidden/system entries stay visible while still ignoring inaccessible ones. - Fall back to the eager listing methods when the IFileSystem implementation throws NotSupportedException for the non-default AttributesToSkip (e.g. System.IO.Abstractions.TestingHelpers MockFileSystem). - Add regression tests covering the enumeration options, the fallback, and hidden/system files via MockFileSystem. Flagged by Codex review on #5580. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Kh/5498 width height event contract
…lision (#5583) Two fixes flagged on release PR #5582: 1. Codex CR feedback: FileSystemTreeBuilder.IsReparsePoint returned false when reading Attributes throws, so an unreadable symlink/junction was treated as safe to traverse — recreating the directory-cycle risk the guard exists to prevent. Now fails closed (treats unreadable status as a reparse point), so CanExpand/GetChildren and FileDialog.SearchState do not traverse it. 2. CI failure (Parallel Unit Tests, windows): FileDialog's ctor crashed with "A binding for Ctrl+P exists" when PopoverMenu.DefaultKey read Ctrl+P — a key TableView already binds to Command.Up. Root cause was MecDottedKeyTests mutating the process-wide PopoverMenuSettings.Defaults while running in parallel with view-constructing tests; but the crash is also reachable by real users who configure PopoverMenu.DefaultKey to an already-bound key. - FileDialog/CharMap now use KeyBindings.ReplaceCommands instead of Add for the context-menu key (the user's configured key wins). - The "StaticSettingsTests" xUnit collection now has a CollectionDefinition with DisableParallelization = true, so the five Mec* test classes that swap static settings facades no longer race the rest of the suite. Tests: fail-closed IsReparsePoint regression test; FileDialog/CharMap ctor no-throw tests under a colliding DefaultKey. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This was referenced Jul 8, 2026
This was referenced Jul 13, 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.17
Version:
2.4.17NuGet Package:
Terminal.Gui 2.4.17What happens when this PR is merged
v2.4.17main→developwill be openedChecklist
2.4.17