Skip to content

Commit a87c3d2

Browse files
committed
docs: update CHANGELOG.md for v0.4.1
1 parent abea55c commit a87c3d2

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,24 @@
22

33
All notable changes to gitpane are documented here.
44

5+
## [0.4.1] - 2026-04-01
6+
7+
### Added
8+
- Fetch failure indicator: repos show a dim `` when `git fetch` fails (auth, network, timeout), so stale ahead/behind counts are visible
9+
10+
### Fixed
11+
- Repos no longer get stuck with a permanent spinner when a status query fails (`git_op` is now cleared on error via `StatusQueryDone`)
12+
- RAII `StatusGuard` ensures `pending_status` is cleaned up even if a spawned task panics
13+
- RAII `GitOpGuard` ensures push/pull/submodule operations reset `git_op` on panic
14+
- Rapid file/commit navigation no longer shows stale diffs (generation counters on `DiffLoaded`, `CommitFilesLoaded`, `CommitDiffLoaded`)
15+
- Background `git fetch` now has a 30-second timeout — hung remotes no longer block all polls indefinitely
16+
- Startup status queries now go through the shared semaphore, preventing unbounded thread bursts on launch
17+
18+
### Changed
19+
- Repos are now identified by path (`RepoId`) instead of positional index, fixing a class of bugs where add/remove/sort/rescan could apply status to the wrong repo or corrupt tracking state
20+
- Watcher uses path-based routing — no longer needs rebuilding when repos are added or removed
21+
- `RescanRepos` clears `pending_status`/`dirty_repos`; `RemoveRepo` cleans up tracking sets
22+
523
## [0.4.0] - 2026-03-18
624

725
### Added

0 commit comments

Comments
 (0)