You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+57Lines changed: 57 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,63 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
+
## [0.4.8] - 2025-12-07
9
+
10
+
### Added
11
+
12
+
-**Command palette** - Press `:` to open a fuzzy-searchable command palette ([#32](https://github.com/Epistates/treemd/issues/32))
13
+
- Type to filter commands with fuzzy matching
14
+
- Navigate with `j`/`k` or arrow keys, execute with `Enter`
15
+
- Commands include: Save width, Toggle outline, Toggle help, Toggle raw source, Jump to top/bottom, Quit
16
+
- Each command has aliases (e.g., `w`/`write`/`save` for save width)
17
+
18
+
-**Save outline width with confirmation** - Press `S` to save current outline width to config with modal confirmation ([#32](https://github.com/Epistates/treemd/issues/32))
19
+
- Shows confirmation dialog before saving
20
+
- Respects power users: manual config values are session-only until explicitly saved
21
+
- New users with default config get auto-save behavior
22
+
23
+
-**Document search with n/N navigation** - Full in-document search with match highlighting ([#30](https://github.com/Epistates/treemd/issues/30))
24
+
- Press `/` in content pane to search within the document
25
+
- Press `n` for next match, `N` for previous match
26
+
- Matches highlighted in content view
27
+
- Status bar shows match count and current position
28
+
29
+
### Fixed
30
+
31
+
-**Anchor links in interactive mode** - Following anchor links to headings in current file now works correctly ([#29](https://github.com/Epistates/treemd/issues/29))
32
+
- Changed from `select_by_text()` to `jump_to_anchor()` for proper anchor handling
33
+
- Anchor links like `#installation` now jump to correct heading
34
+
35
+
-**Wikilinks with path separators** - Wikilinks containing `/` now work correctly ([#28](https://github.com/Epistates/treemd/issues/28))
36
+
- Removed overly restrictive check that blocked all paths with `/`
37
+
- Still blocks `..` for security (prevents directory traversal)
38
+
-`[[docs/guide]]` now resolves to `docs/guide.md`
39
+
40
+
-**Checkbox toggle scroll jump** - Toggling checkboxes no longer causes page to jump to top ([#31](https://github.com/Epistates/treemd/issues/31))
41
+
- Saves and restores scroll position and element index on file reload
42
+
- Interactive mode state preserved after checkbox toggle
43
+
44
+
-**Config value protection** - Outline width cycling no longer overwrites custom config values ([#32](https://github.com/Epistates/treemd/issues/32))
45
+
- Tracks whether config has custom outline width at startup
46
+
- Power users with custom values: cycling is session-only
47
+
- New users with standard values: auto-save for convenience
48
+
49
+
### Technical
50
+
51
+
-**Command palette system** (`src/tui/app.rs`)
52
+
-`CommandAction` enum for available actions
53
+
-`PaletteCommand` struct with fuzzy matching and scoring
54
+
-`PALETTE_COMMANDS` constant with all commands and aliases
55
+
- Filter/navigation/execution methods for palette state
0 commit comments