v0.2.0 759cc92

CHANGELOG.md RawHistoryFolder

Changelog

All notable changes to this project will be documented in this file.

[0.2.0] - 2025-09-10

Added

  • WebKitGTK 6 (GTK4) migration for the built‑in browser window:
    • WebView constructed via g_object_new(WEBKIT_TYPE_WEB_VIEW, …) with a fresh WebKitUserContentManager.
    • WebKitNetworkSession with persistent cookies (SQLite) and cache directories.
  • Native UCM messaging restored via script-message-received::dumber (JSCValue*), removing the JS fallback bridge.
  • Rendering mode controls:
    • CLI flag --rendering-mode=auto|gpu|cpu and DUMBER_RENDERING_MODE env.
    • In‑app status endpoint dumb://homepage/api/rendering/status.
  • Native zoom shortcuts at the WebKit layer (Ctrl/Cmd+=, +, −, 0) and GTK4 input controllers for keyboard/mouse.
  • AZERTY keyboard fix: treat underscore as minus for zoom‑out.
  • Runtime theme synchronization: watch GTK gtk-application-prefer-dark-theme and update page color‑scheme live.
  • Makefile target check-webkit to print pkg-config versions of GTK4/WebKitGTK 6.0/JSC 6.0.
  • Documentation updates:
    • README now targets WebKitGTK 6 (GTK4) and lists GStreamer package requirements for Arch and Debian/Ubuntu.
    • CLAUDE notes updated with migration status, GPU/Vulkan path, runtime theme sync, and persistence.

Changed

  • Build flags and includes now target webkitgtk-6.0, gtk4, and javascriptcoregtk-6.0.
  • GTK4 APIs for windowing and event handling (GtkEventController, GtkGestureClick) replace GTK3/GdkEvent paths.

Removed

  • Legacy WebKit2GTK constructors and container APIs.
  • JavaScript fallback for UCM message bridging.

Fixed

  • Header/enum compatibility for hardware acceleration policy and cookie policy across WebKit header variants.
  • Linker error for on_theme_changed and gpointer usage in signal connections.
  • Crashy paths mitigated by default “media safe” startup (can be disabled via DUMBER_MEDIA_SAFE=0).

Notes

  • GPU rendering path leverages GTK4’s renderer (Vulkan/OpenGL). Mode auto uses GPU when available and falls back gracefully to CPU.
  • WebKitGTK relies on GStreamer; install recommended packages for audio/video (see README).

[0.1.0] - 2025-09-09

Added

  • Initial project scaffolding, build system, and dependencies.
  • Unified CLI + GUI architecture with search shortcuts and fuzzy parsing.
  • Wails v3‑alpha browser integration (early phase).
  • Global keyboard controls with script injection (zoom/devtools, etc.).
  • Native WebKit2GTK backend migration:
    • Custom dumb:// scheme and /api endpoints: /config, /history/recent, /history/search, /history/stats.
    • UserContentManager omnibox injection and theme initialization.
    • Persistent WebsiteDataManager with cookies.sqlite; per‑domain zoom and title persistence.
    • Keyboard/mouse accelerators (including mouse back/forward); debounced triggers.
    • Homepage switched to first‑party API fetches; removed @wailsio/runtime usage.
  • Documentation and licensing: README enhancements and LICENSE added.

Changed

  • Replaced Wails runtime with native WebKit2GTK CGO bindings and homepage API.
  • Improved asset resolution and logging for the dumb://homepage scheme.

Fixed

  • Eliminated duplicate accelerator triggers via debouncing.
  • Corrected asset resolution and URL normalization in scheme handler.
source
1# Changelog
2
3All 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