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 freshWebKitUserContentManager. WebKitNetworkSessionwith persistent cookies (SQLite) and cache directories.
- WebView constructed via
- Native UCM messaging restored via
script-message-received::dumber(JSCValue*), removing the JS fallback bridge. - Rendering mode controls:
- CLI flag
--rendering-mode=auto|gpu|cpuandDUMBER_RENDERING_MODEenv. - In‑app status endpoint
dumb://homepage/api/rendering/status.
- CLI flag
- 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-themeand update page color‑scheme live. - Makefile target
check-webkitto printpkg-configversions 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, andjavascriptcoregtk-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_changedand 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
autouses 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/apiendpoints:/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.
- Custom
- 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://homepagescheme.
Fixed
- Eliminated duplicate accelerator triggers via debouncing.
- Corrected asset resolution and URL normalization in scheme handler.