BlinkGTK 1.2.5-build2 Release Notes

Release date: 2026-10-27 / Chromium: 156.0.8078.47 / Language: 日本語 | English

The rendering engine is updated to Chromium 156. BlinkGTK can now be used from Python (PyGObject).


Upgrading from an earlier version

Check the rows that match how you use BlinkGTK. Each row links to the details.

If you upgrade from 1.2.5-build1, check the "Apps that use a dark GTK theme" row (the change in build2). The other rows are for upgrades from 1.2.4.

This table is for Linux. For BlinkGTK for Windows, see Upgrading from an earlier version in the Windows guide.

How you use it What changes What to do
From Python (PyGObject) It starts (up to 1.2.4 it could not start) Run it as blinkgtk-run python3 app.py and use the new initialization and main loop (details)
Receiving load-failed from Python or other bindings The handler is called; the error code arrives as an int Nothing (details)
Shipping BlinkGTK in your own form (not the RPM, DEB or tarball as is) New files blinkgtk-subprocess and blinkgtk-run are needed Ship both from libexec/blinkgtk-0.1/. If you put blinkgtk-subprocess elsewhere, set BLINKGTK_SUBPROCESS_PATH. blinkgtk-run looks for the allocator shim in lib64/blinkgtk-0.1/chromium/ relative to itself (lib/<multiarch>/blinkgtk-0.1/chromium/ for DEB); if you change the layout, set BLINKGTK_SHIM to the shim (details)
Using the introspection data (typelib) from Python and others More APIs can be called (functions, methods and constructors: 93 → 148) Just update the package (details)
Apps that use a dark GTK theme From build2, the color scheme reported to pages (prefers-color-scheme) becomes dark (up to build1, it was always light). Pages that support dark (for example, pages that set color-scheme) get a dark background, form controls and scrollbars; pages that do not set color-scheme keep a white background. Switching the theme between light and dark while the app runs also switches the page To keep pages always light, set BLINKGTK_FOLLOW_GTK_THEME=0 (details)
Using set_user_agent() Applied to pages opened with load_uri() and on reload() too (up to 1.2.4 only load_html()) Nothing (details)
Using set_zoom_level() / zoom-level The value is treated as a factor (1.0 = 100%); up to 1.2.4, 1.5 gave about 131% and 0.0 was returned at 100% Review any compensation for the old behavior and any stored values (details)
Switching a loading indicator on notify::is-loading A notification with False now arrives when loading ends Nothing (details)
Pages with text-decoration over leading or trailing spaces The line is drawn over the spaces too (as up to 1.2.3) Nothing (details)
Pages that set text-decoration-skip-spaces The property has no effect Nothing (details)
Elements with overflow: clip on one axis and scrolling on the other The clip axis does not scroll Nothing (details)

BlinkGTK can now be used from Python

import sys
import gi
gi.require_version('Gtk', '4.0')
gi.require_version('BlinkGTK', '0.1')
from gi.repository import BlinkGTK, Gtk

BlinkGTK.gtk_init(sys.argv[:1])

def on_activate(app):
    win = Gtk.ApplicationWindow(application=app, default_width=800, default_height=600)
    view = BlinkGTK.WebView.new()
    win.set_child(view)
    win.present()
    view.load_uri('https://example.com/')

app = Gtk.Application(application_id='org.example.Hello')
app.connect('activate', on_activate)
rc = BlinkGTK.gtk_application_run(app)
BlinkGTK.gtk_shutdown()
sys.exit(rc)

Japanese typesetting changes (Chromium 156)

New in Chromium 156

Features enabled by default that matter to page authors:

Changed in build2

Fixed in build1