docs: prepare v0.26.0 release notes and update config docs
- commit
- 381a26d892188b54d72f6d849843b8988f5f4af4
- author
- brice · · 2026-01-24 16:14 UTC
- parent
- 3c04c30
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
2 files · +16 -1
M CHANGELOG.md +15 -1
| @@ -2,17 +2,23 @@ | |||
| 2 | 2 | ||
| 3 | 3 | All notable changes to this project will be documented in this file. | |
| 4 | 4 | ||
| 5 | - | ## [Unreleased] | |
| 5 | + | ## [0.26.0] - 2026-01-24 | |
| 6 | 6 | ||
| 7 | 7 | ### Added | |
| 8 | 8 | - **Visual keybindings editor**: New Keybindings tab in `dumb://config` allows editing all keyboard shortcuts via a visual UI. Supports key capture, reset to defaults, and per-binding reset. Fixes #123. | |
| 9 | 9 | - **Keybindings hot reload**: Changed keybindings take effect immediately without restarting the browser. | |
| 10 | 10 | - **Ordered config file**: Config file sections are now written in alphabetical order for better readability and deterministic output. | |
| 11 | + | - **Inline ghost text autocompletion**: Omnibox now shows inline ghost text suggestions from history as you type. Accept with Right Arrow (full) or Ctrl+Right (word). Properly aligned with entry text. | |
| 12 | + | - **Omnibox click-outside-to-close**: Omnibox automatically closes when clicking outside its bounds. | |
| 13 | + | - **GTK/WebKit log capture**: New `logging.capture_gtk_webkit_logs` config option to capture GTK and WebKit logs for debugging. | |
| 14 | + | - **Startup performance tracing**: Added startup trace logging for cold start performance analysis and optimization. | |
| 11 | 15 | ||
| 12 | 16 | ### Changed | |
| 13 | 17 | - **Simplified keybinding syntax**: Keybindings now use symbol syntax (`[`, `]`, `{`, `}`) instead of verbose GTK names (`bracketleft`, `braceleft`). Fixes #122. | |
| 14 | 18 | - **BREAKING: Global shortcuts config structure**: `workspace.shortcuts` changed from individual string fields to unified `Actions` map with `ActionBinding` (keys + description). Existing custom shortcuts in config.toml will be replaced with defaults. Use the new Keybindings UI to reconfigure. | |
| 15 | 19 | - **Keybindings clean architecture**: Refactored keybindings handler to follow ports/adapters pattern. Business logic moved from handler to use cases, config access via gateway adapter instead of global singleton. | |
| 20 | + | - **Deferred startup initialization**: Non-critical initialization (WebView pool prewarm, etc.) now deferred until after first navigation starts for faster cold start. | |
| 21 | + | - **Omnibox search ranking**: Improved domain matching boost and FTS5 period handling for better search result relevance. | |
| 16 | 22 | ||
| 17 | 23 | ### Upgrade Notes | |
| 18 | 24 | > **Recommended**: Delete your `config.toml` and restart dumber to regenerate a fresh config with the new keybinding structure and alphabetically sorted sections. Your settings will reset to defaults, but you can reconfigure keybindings via the new visual editor at `dumb://config` → Keybindings tab. | |
| @@ -23,6 +29,14 @@ All notable changes to this project will be documented in this file. | |||
| 23 | 29 | - **Session snapshot FK constraint**: Fixed SQLite foreign key constraint violation when snapshot service tried to save before session was persisted to database. Added ready flag and callback notification pattern. | |
| 24 | 30 | - **Stacked pane index out of bounds**: Fixed crash when domain model and UI got out of sync during stacked pane operations. Added bounds checking and proper rollback when UI updates fail. | |
| 25 | 31 | - **Noisy gesture navigation logs**: Mouse button back/forward navigation errors (expected when no history) now log at debug level instead of error level. | |
| 32 | + | - **Omnibox ghost text race conditions**: Fixed stale ghost text appearing due to race conditions. Query now passed through the entire autocomplete chain. | |
| 33 | + | - **Omnibox ghost text clipping**: Ghost text now properly clips to entry bounds and aligns vertically with input text. | |
| 34 | + | - **Ghost text on history scroll**: Disabled ghost text suggestions when scrolling through history with arrow keys after user has typed. | |
| 35 | + | - **Popup WebView hierarchy**: Fixed popup WebViews not being inserted into GTK hierarchy before create signal returns. | |
| 36 | + | - **OAuth popup timeout**: Added 30-second safety timeout for OAuth popup handling to prevent stuck popups. | |
| 37 | + | - **External page background**: Reset WebView background to white for external pages to prevent dark theme color bleeding into light-themed sites. | |
| 38 | + | - **Localhost URL normalization**: Fixed localhost URL handling and improved download handler architecture for cleaner code. | |
| 39 | + | - **Svelte 5 Proxy serialization**: Fixed keybinding bridge serialization to handle Svelte 5 Proxies and added conflict detection. | |
| 26 | 40 | ||
| 27 | 41 | ## [0.25.0] - 2026-01-08 | |
| 28 | 42 | ||
| @@ -2,17 +2,23 @@ | |||||
| 2 | 2 | ||||
| 3 | All notable changes to this project will be documented in this file. | 3 | All notable changes to this project will be documented in this file. | ||
| 4 | 4 | ||||
| 5 | - | ## [Unreleased] | 5 | + | ## [0.26.0] - 2026-01-24 |
| 6 | 6 | ||||
| 7 | ### Added | 7 | ### Added | ||
| 8 | - **Visual keybindings editor**: New Keybindings tab in `dumb://config` allows editing all keyboard shortcuts via a visual UI. Supports key capture, reset to defaults, and per-binding reset. Fixes #123. | 8 | - **Visual keybindings editor**: New Keybindings tab in `dumb://config` allows editing all keyboard shortcuts via a visual UI. Supports key capture, reset to defaults, and per-binding reset. Fixes #123. | ||
| 9 | - **Keybindings hot reload**: Changed keybindings take effect immediately without restarting the browser. | 9 | - **Keybindings hot reload**: Changed keybindings take effect immediately without restarting the browser. | ||
| 10 | - **Ordered config file**: Config file sections are now written in alphabetical order for better readability and deterministic output. | 10 | - **Ordered config file**: Config file sections are now written in alphabetical order for better readability and deterministic output. | ||
| 11 | + | - **Inline ghost text autocompletion**: Omnibox now shows inline ghost text suggestions from history as you type. Accept with Right Arrow (full) or Ctrl+Right (word). Properly aligned with entry text. | |||
| 12 | + | - **Omnibox click-outside-to-close**: Omnibox automatically closes when clicking outside its bounds. | |||
| 13 | + | - **GTK/WebKit log capture**: New `logging.capture_gtk_webkit_logs` config option to capture GTK and WebKit logs for debugging. | |||
| 14 | + | - **Startup performance tracing**: Added startup trace logging for cold start performance analysis and optimization. | |||
| 11 | 15 | ||||
| 12 | ### Changed | 16 | ### Changed | ||
| 13 | - **Simplified keybinding syntax**: Keybindings now use symbol syntax (`[`, `]`, `{`, `}`) instead of verbose GTK names (`bracketleft`, `braceleft`). Fixes #122. | 17 | - **Simplified keybinding syntax**: Keybindings now use symbol syntax (`[`, `]`, `{`, `}`) instead of verbose GTK names (`bracketleft`, `braceleft`). Fixes #122. | ||
| 14 | - **BREAKING: Global shortcuts config structure**: `workspace.shortcuts` changed from individual string fields to unified `Actions` map with `ActionBinding` (keys + description). Existing custom shortcuts in config.toml will be replaced with defaults. Use the new Keybindings UI to reconfigure. | 18 | - **BREAKING: Global shortcuts config structure**: `workspace.shortcuts` changed from individual string fields to unified `Actions` map with `ActionBinding` (keys + description). Existing custom shortcuts in config.toml will be replaced with defaults. Use the new Keybindings UI to reconfigure. | ||
| 15 | - **Keybindings clean architecture**: Refactored keybindings handler to follow ports/adapters pattern. Business logic moved from handler to use cases, config access via gateway adapter instead of global singleton. | 19 | - **Keybindings clean architecture**: Refactored keybindings handler to follow ports/adapters pattern. Business logic moved from handler to use cases, config access via gateway adapter instead of global singleton. | ||
| 20 | + | - **Deferred startup initialization**: Non-critical initialization (WebView pool prewarm, etc.) now deferred until after first navigation starts for faster cold start. | |||
| 21 | + | - **Omnibox search ranking**: Improved domain matching boost and FTS5 period handling for better search result relevance. | |||
| 16 | 22 | ||||
| 17 | ### Upgrade Notes | 23 | ### Upgrade Notes | ||
| 18 | > **Recommended**: Delete your `config.toml` and restart dumber to regenerate a fresh config with the new keybinding structure and alphabetically sorted sections. Your settings will reset to defaults, but you can reconfigure keybindings via the new visual editor at `dumb://config` → Keybindings tab. | 24 | > **Recommended**: Delete your `config.toml` and restart dumber to regenerate a fresh config with the new keybinding structure and alphabetically sorted sections. Your settings will reset to defaults, but you can reconfigure keybindings via the new visual editor at `dumb://config` → Keybindings tab. | ||
| @@ -23,6 +29,14 @@ All notable changes to this project will be documented in this file. | |||||
| 23 | - **Session snapshot FK constraint**: Fixed SQLite foreign key constraint violation when snapshot service tried to save before session was persisted to database. Added ready flag and callback notification pattern. | 29 | - **Session snapshot FK constraint**: Fixed SQLite foreign key constraint violation when snapshot service tried to save before session was persisted to database. Added ready flag and callback notification pattern. | ||
| 24 | - **Stacked pane index out of bounds**: Fixed crash when domain model and UI got out of sync during stacked pane operations. Added bounds checking and proper rollback when UI updates fail. | 30 | - **Stacked pane index out of bounds**: Fixed crash when domain model and UI got out of sync during stacked pane operations. Added bounds checking and proper rollback when UI updates fail. | ||
| 25 | - **Noisy gesture navigation logs**: Mouse button back/forward navigation errors (expected when no history) now log at debug level instead of error level. | 31 | - **Noisy gesture navigation logs**: Mouse button back/forward navigation errors (expected when no history) now log at debug level instead of error level. | ||
| 32 | + | - **Omnibox ghost text race conditions**: Fixed stale ghost text appearing due to race conditions. Query now passed through the entire autocomplete chain. | |||
| 33 | + | - **Omnibox ghost text clipping**: Ghost text now properly clips to entry bounds and aligns vertically with input text. | |||
| 34 | + | - **Ghost text on history scroll**: Disabled ghost text suggestions when scrolling through history with arrow keys after user has typed. | |||
| 35 | + | - **Popup WebView hierarchy**: Fixed popup WebViews not being inserted into GTK hierarchy before create signal returns. | |||
| 36 | + | - **OAuth popup timeout**: Added 30-second safety timeout for OAuth popup handling to prevent stuck popups. | |||
| 37 | + | - **External page background**: Reset WebView background to white for external pages to prevent dark theme color bleeding into light-themed sites. | |||
| 38 | + | - **Localhost URL normalization**: Fixed localhost URL handling and improved download handler architecture for cleaner code. | |||
| 39 | + | - **Svelte 5 Proxy serialization**: Fixed keybinding bridge serialization to handle Svelte 5 Proxies and added conflict detection. | |||
| 26 | 40 | ||||
| 27 | ## [0.25.0] - 2026-01-08 | 41 | ## [0.25.0] - 2026-01-08 | ||
| 28 | 42 | ||||
M docs/CONFIG.md +1 -0
| @@ -139,6 +139,7 @@ auto_open_on_new_pane = false | |||
| 139 | 139 | | `logging.log_dir` | string | `~/.local/state/dumber/logs/` | any | Log directory | | |
| 140 | 140 | | `logging.enable_file_log` | bool | `true` | - | Enable file logging | | |
| 141 | 141 | | `logging.capture_console` | bool | `false` | - | Capture browser console to logs | | |
| 142 | + | | `logging.capture_gtk_webkit_logs` | bool | `false` | - | Capture GTK and WebKit logs for debugging | | |
| 142 | 143 | ||
| 143 | 144 | ## Appearance | |
| 144 | 145 | ||
| @@ -139,6 +139,7 @@ auto_open_on_new_pane = false | |||||
| 139 | | `logging.log_dir` | string | `~/.local/state/dumber/logs/` | any | Log directory | | 139 | | `logging.log_dir` | string | `~/.local/state/dumber/logs/` | any | Log directory | | ||
| 140 | | `logging.enable_file_log` | bool | `true` | - | Enable file logging | | 140 | | `logging.enable_file_log` | bool | `true` | - | Enable file logging | | ||
| 141 | | `logging.capture_console` | bool | `false` | - | Capture browser console to logs | | 141 | | `logging.capture_console` | bool | `false` | - | Capture browser console to logs | | ||
| 142 | + | | `logging.capture_gtk_webkit_logs` | bool | `false` | - | Capture GTK and WebKit logs for debugging | | |||
| 142 | 143 | ||||
| 143 | ## Appearance | 144 | ## Appearance | ||
| 144 | 145 | ||||