detached fdb145c

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 @@
22
33 All notable changes to this project will be documented in this file.
44
5-## [Unreleased]
5+## [0.15.0] - 2025-11-29
66
77 ### Added
88 - **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 ### Added7 ### 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).

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 8

Tags 42

↑↓ moveenter openesc close