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: docs/development/changelog.md
+23-24Lines changed: 23 additions & 24 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,34 +7,33 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
8
8
## [Unreleased]
9
9
10
+
## [0.2.4] - 2026-02-24
11
+
10
12
### Changed
11
-
-**Hub menu modernisation**: grouped menu items into labeled sections (Library, Organize, Shelves, Tools, Cache) with `─── Section ───` separators; each item now has a single-character icon prefix (`▶`, `+`, `~`, `→`, `≡`, etc.); two-tone `shelf`/`ctl` wordmark and stat-pill status bar added to the unified-mode hub header
12
-
-**Refactor**: split `internal/app/root.go` (896 lines) into `init_wizard.go` (interactive init wizard + legacy hub loop) and `hub_runner.go` (unified TUI runner, URL/repo import helpers); `root.go` reduced to 199 lines of command wiring and output helpers
13
-
-**Refactor**: split `internal/tui/list_browser.go` (1150 lines) into three focused files — `book_item.go` (BookItem type, column layout helpers, `renderBookItem`), `browser_render.go` (View, details pane, footer), `list_browser.go` (model, Update, download logic, constructors); main file reduced to 685 lines
14
-
-**Refactor**: split `internal/unified/move_book.go` (915 lines) into `move_book_ops.go` (async move operations) and `move_book_render.go` (View and render helpers); main file reduced to 435 lines
15
-
-**Refactor**: split `internal/unified/shelve.go` (1217 lines) into `shelve_ops.go` (async ingest/commit operations) and `shelve_render.go` (View and render helpers); main file reduced to 716 lines
16
-
-**Refactor**: extracted carousel logic (`updateCarouselView`, `renderCarouselView`, `renderCarouselCard`, `peekLeft`, `peekRight`, `ghostCard`) from `edit_book.go` into a dedicated `carousel.go` file; `edit_book.go` reduced from 1030 → 802 lines
- Fixed `carousel.go` nav hint: replaced `if/else if` chain with tagged `switch` (staticcheck QF1003)
13
+
-**Hub menu redesign** — items grouped into labeled sections (Library, Organize, Shelves, Tools, Cache) with `─── Section ───` dividers; two-tone `shelf`/`ctl` wordmark and stat-pill status bar in the unified-mode hub header
14
+
-**Hub navigation** — cursor skips section headers automatically; clamped at top/bottom so pressing up from the first item stays put
15
+
-**Browse view** — author column capped at 26 characters
16
+
-**Refactor**: split `internal/app/root.go` (896 lines) into `init_wizard.go` and `hub_runner.go`; root reduced to 199 lines
17
+
-**Refactor**: split `internal/tui/list_browser.go` (1150 lines) into `book_item.go`, `browser_render.go`, and `list_browser.go` (685 lines)
18
+
-**Refactor**: split `internal/unified/move_book.go` (915 lines) into `move_book_ops.go` and `move_book_render.go` (435 lines)
19
+
-**Refactor**: split `internal/unified/shelve.go` (1217 lines) into `shelve_ops.go` and `shelve_render.go` (716 lines)
20
+
-**Refactor**: extracted carousel logic from `edit_book.go` into `carousel.go`; `edit_book.go` reduced from 1030 → 802 lines
21
+
- Fixed column header alignment in browse view
19
22
-**Brand color theming** applied across all TUI views
20
23
- Added `ColorOrange` (`#fb6820`), `ColorTeal` (`#1b8487`), `ColorTealLight` (`#2ecfd4`), `ColorTealDim` (`#0d3536`) to the shared color palette
21
-
-`StyleHighlight` updated from yellow → orange; `StyleTag` updated from cyan → teal-light; `StyleBorder` border color updated to teal — affects all views globally
22
-
-**Hub**: two-tone `shelf`/`ctl`wordmark in header; teal-light numbers in status bar; teal panel divider; shelf detail pane uses orange names and teal book counts
23
-
-**Browse**: orange `›` cursor; teal `✓` multi-select indicator; tags rendered without brackets using `·` separator in teal; cache indicator `[local]` → `✓ local`; teal master border and dividers; tag pills in details pane; teal column headers
24
-
-**Edit form**: uses shared tui color constants instead of hardcoded hex strings
25
-
- Fixed `padOrTruncate` and `truncateText` to use rune count (not byte length) so multi-byte characters (`·`, `✓`, `›`) no longer cause column misalignment
24
+
-`StyleHighlight` updated from yellow → orange; `StyleTag` updated from cyan → teal-light; `StyleBorder` border color updated to teal
25
+
-**Hub**: two-tone wordmark; teal-light stat numbers; teal panel divider; orange shelf names and teal book counts in detail pane
26
+
-**Browse**: orange `›` cursor; teal `✓` multi-select; tags with `·` separator in teal; `✓ local` cache indicator; teal column headers
27
+
-**Edit form**: uses shared tui color constants
28
+
- Fixed `padOrTruncate` and `truncateText` to use rune count so multi-byte characters no longer cause column misalignment
26
29
-**Bulk Edit Carousel** — fully redesigned as a peeking single-row layout
27
-
- Replaced multi-row grid with a centered card flanked by adjacent cards peeking in from each side
28
-
- Adjacent cards are clipped to at most half their width, giving a clear "there's more" hint
29
-
- Ghost cards (dimmed border, no content) appear at the edges of the batch to maintain visual rhythm
30
-
- Card aspect ratio approximates a 3×5 library card (height derived from width using terminal char ratio)
31
-
- Peek slots dynamically fill available terminal width; capped so cards never show more than half
32
-
- Dot position indicator (`○ ● ○`) shows current position in the batch
33
-
- Selecting multiple books in the picker now opens the carousel immediately instead of the first card's form
34
-
- Pressing `↓` or `Enter` selects the current card and drops into its edit form
35
-
- Pressing `Esc` from the carousel returns to the edit form for the current card
36
-
- Terminal resize artifacts fixed globally by wrapping all view output in `lipgloss.Place`
37
-
- Fixed panic when Esc was pressed before any card had been opened (uninitialised form inputs)
30
+
- Centered card flanked by adjacent cards peeking in from each side (clipped to ≤ half width)
31
+
- Ghost cards at edges; dot position indicator (`○ ● ○`)
32
+
- Card aspect ratio approximates a 3×5 library card
33
+
- Selecting multiple books opens the carousel immediately
34
+
-`↓`/`Enter` selects the current card and opens its edit form; `Esc` returns to carousel
35
+
- Terminal resize artifacts fixed globally via `lipgloss.Place`
36
+
- Fixed panic when `Esc` pressed before any card was opened
0 commit comments