detached d9a1d3b

docs(changelog): add v0.1.0 section summarizing initial init + WebKit2GTK phase; keep v0.2.0 for WebKitGTK 6 (GTK4) migration

commit
d9a1d3b4f26b1531f70321c663170ac0889ca08d
author
Brice · · 2025-09-10 04:33 UTC
parent
8b99975
signature
unsigned
1 file · +61 -0
A CHANGELOG.md +61 -0
@@ -0,0 +1,61 @@
1+# Changelog
2+
3+All notable changes to this project will be documented in this file.
4+
5+## [0.2.0] - 2025-09-10
6+
7+### Added
8+- WebKitGTK 6 (GTK4) migration for the built‑in browser window:
9+ - WebView constructed via `g_object_new(WEBKIT_TYPE_WEB_VIEW, …)` with a fresh `WebKitUserContentManager`.
10+ - `WebKitNetworkSession` with persistent cookies (SQLite) and cache directories.
11+- Native UCM messaging restored via `script-message-received::dumber` (JSCValue*), removing the JS fallback bridge.
12+- Rendering mode controls:
13+ - CLI flag `--rendering-mode=auto|gpu|cpu` and `DUMBER_RENDERING_MODE` env.
14+ - In‑app status endpoint `dumb://homepage/api/rendering/status`.
15+- Native zoom shortcuts at the WebKit layer (Ctrl/Cmd+=, +, −, 0) and GTK4 input controllers for keyboard/mouse.
16+- AZERTY keyboard fix: treat underscore as minus for zoom‑out.
17+- Runtime theme synchronization: watch GTK `gtk-application-prefer-dark-theme` and update page color‑scheme live.
18+- Makefile target `check-webkit` to print `pkg-config` versions of GTK4/WebKitGTK 6.0/JSC 6.0.
19+- Documentation updates:
20+ - README now targets WebKitGTK 6 (GTK4) and lists GStreamer package requirements for Arch and Debian/Ubuntu.
21+ - CLAUDE notes updated with migration status, GPU/Vulkan path, runtime theme sync, and persistence.
22+
23+### Changed
24+- Build flags and includes now target `webkitgtk-6.0`, `gtk4`, and `javascriptcoregtk-6.0`.
25+- GTK4 APIs for windowing and event handling (GtkEventController, GtkGestureClick) replace GTK3/GdkEvent paths.
26+
27+### Removed
28+- Legacy WebKit2GTK constructors and container APIs.
29+- JavaScript fallback for UCM message bridging.
30+
31+### Fixed
32+- Header/enum compatibility for hardware acceleration policy and cookie policy across WebKit header variants.
33+- Linker error for `on_theme_changed` and gpointer usage in signal connections.
34+- Crashy paths mitigated by default “media safe” startup (can be disabled via `DUMBER_MEDIA_SAFE=0`).
35+
36+### Notes
37+- GPU rendering path leverages GTK4’s renderer (Vulkan/OpenGL). Mode `auto` uses GPU when available and falls back gracefully to CPU.
38+- WebKitGTK relies on GStreamer; install recommended packages for audio/video (see README).
39+
40+## [0.1.0] - 2025-09-09
41+
42+### Added
43+- Initial project scaffolding, build system, and dependencies.
44+- Unified CLI + GUI architecture with search shortcuts and fuzzy parsing.
45+- Wails v3‑alpha browser integration (early phase).
46+- Global keyboard controls with script injection (zoom/devtools, etc.).
47+- Native WebKit2GTK backend migration:
48+ - Custom `dumb://` scheme and `/api` endpoints: `/config`, `/history/recent`, `/history/search`, `/history/stats`.
49+ - UserContentManager omnibox injection and theme initialization.
50+ - Persistent WebsiteDataManager with cookies.sqlite; per‑domain zoom and title persistence.
51+ - Keyboard/mouse accelerators (including mouse back/forward); debounced triggers.
52+ - Homepage switched to first‑party API fetches; removed @wailsio/runtime usage.
53+- Documentation and licensing: README enhancements and LICENSE added.
54+
55+### Changed
56+- Replaced Wails runtime with native WebKit2GTK CGO bindings and homepage API.
57+- Improved asset resolution and logging for the `dumb://homepage` scheme.
58+
59+### Fixed
60+- Eliminated duplicate accelerator triggers via debouncing.
61+- Corrected asset resolution and URL normalization in scheme handler.
@@ -0,0 +1,61 @@
1+# Changelog
2+
3+All notable changes to this project will be documented in this file.
4+
5+## [0.2.0] - 2025-09-10
6+
7+### Added
8+- WebKitGTK 6 (GTK4) migration for the built‑in browser window:
9+ - WebView constructed via `g_object_new(WEBKIT_TYPE_WEB_VIEW, …)` with a fresh `WebKitUserContentManager`.
10+ - `WebKitNetworkSession` with persistent cookies (SQLite) and cache directories.
11+- Native UCM messaging restored via `script-message-received::dumber` (JSCValue*), removing the JS fallback bridge.
12+- Rendering mode controls:
13+ - CLI flag `--rendering-mode=auto|gpu|cpu` and `DUMBER_RENDERING_MODE` env.
14+ - In‑app status endpoint `dumb://homepage/api/rendering/status`.
15+- Native zoom shortcuts at the WebKit layer (Ctrl/Cmd+=, +, −, 0) and GTK4 input controllers for keyboard/mouse.
16+- AZERTY keyboard fix: treat underscore as minus for zoom‑out.
17+- Runtime theme synchronization: watch GTK `gtk-application-prefer-dark-theme` and update page color‑scheme live.
18+- Makefile target `check-webkit` to print `pkg-config` versions of GTK4/WebKitGTK 6.0/JSC 6.0.
19+- Documentation updates:
20+ - README now targets WebKitGTK 6 (GTK4) and lists GStreamer package requirements for Arch and Debian/Ubuntu.
21+ - CLAUDE notes updated with migration status, GPU/Vulkan path, runtime theme sync, and persistence.
22+
23+### Changed
24+- Build flags and includes now target `webkitgtk-6.0`, `gtk4`, and `javascriptcoregtk-6.0`.
25+- GTK4 APIs for windowing and event handling (GtkEventController, GtkGestureClick) replace GTK3/GdkEvent paths.
26+
27+### Removed
28+- Legacy WebKit2GTK constructors and container APIs.
29+- JavaScript fallback for UCM message bridging.
30+
31+### Fixed
32+- Header/enum compatibility for hardware acceleration policy and cookie policy across WebKit header variants.
33+- Linker error for `on_theme_changed` and gpointer usage in signal connections.
34+- Crashy paths mitigated by default “media safe” startup (can be disabled via `DUMBER_MEDIA_SAFE=0`).
35+
36+### Notes
37+- GPU rendering path leverages GTK4’s renderer (Vulkan/OpenGL). Mode `auto` uses GPU when available and falls back gracefully to CPU.
38+- WebKitGTK relies on GStreamer; install recommended packages for audio/video (see README).
39+
40+## [0.1.0] - 2025-09-09
41+
42+### Added
43+- Initial project scaffolding, build system, and dependencies.
44+- Unified CLI + GUI architecture with search shortcuts and fuzzy parsing.
45+- Wails v3‑alpha browser integration (early phase).
46+- Global keyboard controls with script injection (zoom/devtools, etc.).
47+- Native WebKit2GTK backend migration:
48+ - Custom `dumb://` scheme and `/api` endpoints: `/config`, `/history/recent`, `/history/search`, `/history/stats`.
49+ - UserContentManager omnibox injection and theme initialization.
50+ - Persistent WebsiteDataManager with cookies.sqlite; per‑domain zoom and title persistence.
51+ - Keyboard/mouse accelerators (including mouse back/forward); debounced triggers.
52+ - Homepage switched to first‑party API fetches; removed @wailsio/runtime usage.
53+- Documentation and licensing: README enhancements and LICENSE added.
54+
55+### Changed
56+- Replaced Wails runtime with native WebKit2GTK CGO bindings and homepage API.
57+- Improved asset resolution and logging for the `dumb://homepage` scheme.
58+
59+### Fixed
60+- Eliminated duplicate accelerator triggers via debouncing.
61+- Corrected asset resolution and URL normalization in scheme handler.

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