docs(release): add v0.15.0 release notes and update changelog
- commit
- fdb145c04f761ff18ea8568c17b2b7f572032c1b
- author
- bnema · · 2025-11-29 17:15 UTC
- committer
- bnema · · 2025-11-29 18:32 UTC
- parent
- e8994e5
- signature
- unsigned
2 files · +28 -1
M CHANGELOG.md +1 -1
| @@ -2,7 +2,7 @@ | |||
| 2 | 2 | ||
| 3 | 3 | All notable changes to this project will be documented in this file. | |
| 4 | 4 | ||
| 5 | - | ## [Unreleased] | |
| 5 | + | ## [0.15.0] - 2025-11-29 | |
| 6 | 6 | ||
| 7 | 7 | ### Added | |
| 8 | 8 | - **Inline URL suggestions**: Fish/zsh-style ghost text completion in omnibox. As you type, shows grayed-out URL completion from history. Accept with Right Arrow (full) or Ctrl+Right (word). Ctrl+Y also accepts full suggestion. Uses trie-based prefix search with debounced queries for smooth typing. | |
| @@ -2,7 +2,7 @@ | |||||
| 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.15.0] - 2025-11-29 |
| 6 | 6 | ||||
| 7 | ### Added | 7 | ### Added | ||
| 8 | - **Inline URL suggestions**: Fish/zsh-style ghost text completion in omnibox. As you type, shows grayed-out URL completion from history. Accept with Right Arrow (full) or Ctrl+Right (word). Ctrl+Y also accepts full suggestion. Uses trie-based prefix search with debounced queries for smooth typing. | 8 | - **Inline URL suggestions**: Fish/zsh-style ghost text completion in omnibox. As you type, shows grayed-out URL completion from history. Accept with Right Arrow (full) or Ctrl+Right (word). Ctrl+Y also accepts full suggestion. Uses trie-based prefix search with debounced queries for smooth typing. | ||
A docs/v0.15.0-release-notes.md +27 -0
| @@ -0,0 +1,27 @@ | |||
| 1 | + | ## [0.15.0] - 2025-11-29 | |
| 2 | + | ||
| 3 | + | ### Added | |
| 4 | + | - **Inline URL suggestions**: Fish/zsh-style ghost text completion in omnibox. As you type, shows grayed-out URL completion from history. Accept with Right Arrow (full) or Ctrl+Right (word). Ctrl+Y also accepts full suggestion. Uses trie-based prefix search with debounced queries for smooth typing. | |
| 5 | + | - **Filter list auto-update**: Async version checking using HTTP HEAD request with ETag. 2-minute startup delay, skips if checked within 24 hours. Stores version per filter list. | |
| 6 | + | - **Configurable filter lists**: New `content_filtering.filter_lists` config option. Defaults include EasyList, EasyPrivacy, and uBlock filters (annoyances, quick-fixes). | |
| 7 | + | - **Demo video**: Added feature showcase video to README (docs/media/dumber-demo.mp4). | |
| 8 | + | - **Page load progress bar**: Thin animated indicator at window bottom showing web page loading progress. Tracks WebView load events with gradient animation, auto-hides when complete. | |
| 9 | + | - **Omnibox initial history display**: Configurable behavior when opening empty omnibox via `omnibox.initial_behavior` ("recent", "most_visited", "none"). Shows initial history on open and when input is cleared. Default: recent visits. | |
| 10 | + | - **Omnibox keyboard blocking**: Prevent page scripts from stealing focus while omnibox is active. | |
| 11 | + | - **Configurable border widths**: Added `pane_mode_border_width` and `tab_mode_border_width` configuration options (default: 4px) for full border customization. | |
| 12 | + | - **Content filter caching**: Centralized content blocking service compiles filters once and caches them for instant reuse across all WebViews. | |
| 13 | + | - **CLI purge enhancements**: Separate `--cookies` and `--history` flags for granular data deletion. | |
| 14 | + | - **URL normalization**: Consistent URL storage across browser, CLI, and favicon services (strips trailing slashes, normalizes schemes). | |
| 15 | + | ||
| 16 | + | ### Fixed | |
| 17 | + | - **Filter compilation race condition**: Fixed concurrent map crash when multiple filter lists compile simultaneously by using local converter instead of shared state. | |
| 18 | + | - **Omnibox search performance**: Debounce search with 2-character minimum threshold to prevent UI freeze on first keystroke. Applies to both URL/history search and find-in-page modes. | |
| 19 | + | - **Omnibox flash on load**: Load the injected GUI bundle at document-start and initialize the omnibox as soon as DOM is ready, ensuring it is ready without briefly flashing during page startup or new pane creation. | |
| 20 | + | - **Zoom toast suppression**: Suppress zoom toast notifications during browser initialization to prevent UI flash. | |
| 21 | + | - **Cosmetic filter injection**: Inject rules immediately and fix selector normalization for better ad blocking. | |
| 22 | + | ||
| 23 | + | ### Changed | |
| 24 | + | - **Refactor keyboard blocking**: Move logic to main-world.ts, reduce handler.go verbosity. | |
| 25 | + | - **Border overlay architecture**: All borders (active pane, pane mode, tab mode) now use GTK overlay pattern preventing layout shifts when borders appear/disappear. Removed inactive border styling - only active panes show borders. | |
| 26 | + | - **Simplified border configuration**: Removed `inactive_border_width`, `inactive_border_color`, `show_stacked_title_border`, and `border_radius` config options. All borders are now overlay-based with no layout impact. | |
| 27 | + | - **Remove Turnstile workaround**: Removed temporary Cloudflare Turnstile CORS allowlist (no longer needed). | |
| @@ -0,0 +1,27 @@ | |||||
| 1 | + | ## [0.15.0] - 2025-11-29 | |||
| 2 | + | ||||
| 3 | + | ### Added | |||
| 4 | + | - **Inline URL suggestions**: Fish/zsh-style ghost text completion in omnibox. As you type, shows grayed-out URL completion from history. Accept with Right Arrow (full) or Ctrl+Right (word). Ctrl+Y also accepts full suggestion. Uses trie-based prefix search with debounced queries for smooth typing. | |||
| 5 | + | - **Filter list auto-update**: Async version checking using HTTP HEAD request with ETag. 2-minute startup delay, skips if checked within 24 hours. Stores version per filter list. | |||
| 6 | + | - **Configurable filter lists**: New `content_filtering.filter_lists` config option. Defaults include EasyList, EasyPrivacy, and uBlock filters (annoyances, quick-fixes). | |||
| 7 | + | - **Demo video**: Added feature showcase video to README (docs/media/dumber-demo.mp4). | |||
| 8 | + | - **Page load progress bar**: Thin animated indicator at window bottom showing web page loading progress. Tracks WebView load events with gradient animation, auto-hides when complete. | |||
| 9 | + | - **Omnibox initial history display**: Configurable behavior when opening empty omnibox via `omnibox.initial_behavior` ("recent", "most_visited", "none"). Shows initial history on open and when input is cleared. Default: recent visits. | |||
| 10 | + | - **Omnibox keyboard blocking**: Prevent page scripts from stealing focus while omnibox is active. | |||
| 11 | + | - **Configurable border widths**: Added `pane_mode_border_width` and `tab_mode_border_width` configuration options (default: 4px) for full border customization. | |||
| 12 | + | - **Content filter caching**: Centralized content blocking service compiles filters once and caches them for instant reuse across all WebViews. | |||
| 13 | + | - **CLI purge enhancements**: Separate `--cookies` and `--history` flags for granular data deletion. | |||
| 14 | + | - **URL normalization**: Consistent URL storage across browser, CLI, and favicon services (strips trailing slashes, normalizes schemes). | |||
| 15 | + | ||||
| 16 | + | ### Fixed | |||
| 17 | + | - **Filter compilation race condition**: Fixed concurrent map crash when multiple filter lists compile simultaneously by using local converter instead of shared state. | |||
| 18 | + | - **Omnibox search performance**: Debounce search with 2-character minimum threshold to prevent UI freeze on first keystroke. Applies to both URL/history search and find-in-page modes. | |||
| 19 | + | - **Omnibox flash on load**: Load the injected GUI bundle at document-start and initialize the omnibox as soon as DOM is ready, ensuring it is ready without briefly flashing during page startup or new pane creation. | |||
| 20 | + | - **Zoom toast suppression**: Suppress zoom toast notifications during browser initialization to prevent UI flash. | |||
| 21 | + | - **Cosmetic filter injection**: Inject rules immediately and fix selector normalization for better ad blocking. | |||
| 22 | + | ||||
| 23 | + | ### Changed | |||
| 24 | + | - **Refactor keyboard blocking**: Move logic to main-world.ts, reduce handler.go verbosity. | |||
| 25 | + | - **Border overlay architecture**: All borders (active pane, pane mode, tab mode) now use GTK overlay pattern preventing layout shifts when borders appear/disappear. Removed inactive border styling - only active panes show borders. | |||
| 26 | + | - **Simplified border configuration**: Removed `inactive_border_width`, `inactive_border_color`, `show_stacked_title_border`, and `border_radius` config options. All borders are now overlay-based with no layout impact. | |||
| 27 | + | - **Remove Turnstile workaround**: Removed temporary Cloudflare Turnstile CORS allowlist (no longer needed). | |||