Skip to content

Commit 70f2a7e

Browse files
geevensinghCopilot
andcommitted
Promote [Unreleased] to v0.3.0 in CHANGELOG
13 commits have landed on master since v0.2.0. Roll them up into v0.3.0 and reconcile [Unreleased] against what actually shipped: Added (was already noted): - Whole-file Stage / Unstage / Revert (PR #1). Added (was missing from [Unreleased]): - File-list / diff-pane splitter position persistence (64e46dc). Changed (was already noted): - Toolbar hover/press feedback (d9e9abf). - Unified file-list views + click-to-toggle headers (c697ca0 plus the b407a81 / 6dd7422 follow-up fixes). Changed (was missing from [Unreleased]): - Same-file refresh skips redundant re-read/re-diff/redraw cycle (325d586) - eliminates the loading-state flash on F5 / repo events. Fixed (was missing from [Unreleased]): - File-list selection across flat / grouped modes (1e9033f), a v0.2.0-era regression where re-selecting a file in a different section silently no-op'd until refresh. - Current-hunk position preservation across same-file refreshes (22f50c8), a follow-up to 1e9033f. Dropped from [Unreleased] release notes: - Fixed entries for b407a81 (header-label click crash) and 6dd7422 (file-row click bugs). Both fixed defects introduced by c697ca0; all three commits shipped to origin/master in a single push and no released .exe ever contained the buggy states. Per Keep a Changelog convention release notes describe user-experienced deltas between releases, not internal regressions that came-and- went between tags. The commit history retains the full record. Bump rationale (AGENTS.md sec.12, pre-1.0 SemVer): the Added entries are user-facing features, so this is a minor bump from v0.2.0 -> v0.3.0. AI-Local-Session: 5919360d-7282-4c81-8731-4046a0b8083c AI-Cloud-Session: 3509c79f-6f02-43d9-988e-0938c66b5c1b Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 6dd7422 commit 70f2a7e

1 file changed

Lines changed: 28 additions & 16 deletions

File tree

CHANGELOG.md

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,19 @@ body. Keep section headings exact and write notes in Markdown.
1212

1313
## [Unreleased]
1414

15+
## [0.3.0] - 2026-05-16
16+
1517
### Added
1618

1719
- **Whole-file Stage / Unstage / Revert** from the file-list
1820
right-click menu, mirroring the per-hunk stage / unstage / revert
1921
actions in the diff pane. Eligibility tracks the working-tree
2022
layer (untracked / unstaged / staged); destructive revert prompts
2123
with a "Don't ask me again" toggle.
24+
- **File-list / diff-pane splitter position is now persisted across
25+
launches.** Dragging the splitter used to be a per-session change
26+
that reset to the default 320 px every time the app launched;
27+
it now remembers where you left it.
2228

2329
### Changed
2430

@@ -38,25 +44,31 @@ body. Keep section headings exact and write notes in Markdown.
3844
right-clicking those rows is now a no-op instead of leaving a
3945
misleading "selected" highlight on a row that doesn't drive any
4046
state.
47+
- **Refreshing an unchanged file no longer flashes the diff pane.**
48+
When a repository event (or F5) re-enumerates the change list and
49+
the currently-open file's content hasn't moved, the diff pane now
50+
skips the re-read / re-diff / overview-bar redraw cycle entirely
51+
instead of cycling `IsLoading` and re-rendering identical output.
4152

4253
### Fixed
4354

44-
- **Crash when clicking a section or directory header label.** The
45-
expand-on-click handler walked the visual tree from the click's
46-
original source; when the click landed on text inside the header
47-
label, that source was a `Run` content element rather than a
48-
`Visual`, which threw `InvalidOperationException` and tore down
49-
the app. The walk now handles both visual and logical ancestors.
50-
- **Clicking a file row collapsed its parent section, and right-
51-
clicking a file row swallowed its context menu.** The section /
52-
directory header handlers fired for any mouse event in their
53-
subtree — including events that originated inside a descendant
54-
row — because the bubbling/tunneling routing reaches the parent
55-
on its way through the tree. Both handlers now bail when the
56-
click started inside a different `TreeViewItem`, so file-row
57-
clicks select the file and show the entry context menu as
58-
expected, and nested-directory clicks no longer affect their
59-
containing section or directory.
55+
- **File-list selection across flat and grouped-by-directory modes.**
56+
Clicking a file in section A, then a file in section B, then
57+
back to A's previously-selected file used to be a silent no-op
58+
until a manual refresh — each section's selector held its own
59+
stale `SelectedItem`. Selection now routes through one source of
60+
truth so cross-section navigation works on every click.
61+
- **Current-hunk position is preserved across same-file refreshes.**
62+
A repository refresh used to lose the user's place in the diff
63+
pane: the file would reload and snap back to the first hunk
64+
instead of staying on the hunk that was already selected. Hunk
65+
position now survives the refresh.
66+
67+
### Install
68+
69+
Same story as v0.1.0: single-file unsigned `DiffViewer.exe` for
70+
Windows 10+ (x64). SmartScreen may warn on first launch — click
71+
**"More info"****"Run anyway"**.
6072

6173
## [0.2.0] - 2026-05-15
6274

0 commit comments

Comments
 (0)