Dillo release 3.3.0

Released on 2026-04-26

Summary of changes

The Dillo 3.3.0 release contains several new features, configuration options and bug fixes. It is the first release to provide experimental support for FLTK 1.4 (see the details below).

Control via UNIX socket

A new dilloc program is now available to control Dillo from the command line or from a script. It searches for Dillo by the PID in the DILLO_PID environment variable or for a unique Dillo process if not set. You can see the available commands with dilloc help:

% dilloc help
Commands return 0 on success or non-zero on error.
Available commands:
 ping          Check if dillo replies correctly:
 pid           Print PID of selected dillo process
 reload        Reload the current tab
 ready         Exits with 0 if finished loading, 1 otherwise
 open URL      Open the given URL in the current tab
 url           Print the url in the current tab
 title         Print the title of page in the current tab
 status [MSG]  Set the status bar to MSG
 dump          Print the content of the current tab
 hdump         Print the HTTP headers of the current tab
 load          Replace the content in the current tab by stdin
 rawload       Replace the HTTP headers and content of the current
               tab by stdin
 quit          Close dillo
 wait [T]      Wait until the current tab has finished loading
               at most T seconds (default 60.0). Wait forever with
               T set to 0.

Page actions

We have added the ability to run arbitrary commands from the page menu (right click on the page) with the page_action new option.

With page actions, dilloc provides a powerful mechanism to perform page manipulations. Here is an example page action in ~/.dillo/dillorc:

page_action="Mimic Chrome:curl_chrome136 $url | dilloc load"

When the "Mimic Chrome" option is selected, the current page will be fetched again using curl impersonate to mimic Chrome (which avoids some JS walls) and the output will be piped directly into Dillo as the new HTML of the current page.

Another example is the "Fix page" action, which tries to find specific fixes for the current page based on the URL, HTTP headers or other criteria:

page_action="Fix page:~/.dillo/actions/fixpage.sh"

See the actions git repository to download the fixpage.sh script.

FLTK 1.4 experimental support

We have added experimental support to build Dillo with FLTK 1.4.0 and higher with the new --enable-experimental-fltk configure flag, so that experienced users and testers can provide technical feedback on different platforms. Be sure to use the latest FLTK 1.4.5 release which contains fixes to solve the problems with blurry fonts.

We have similar rendering quality in FLTK 1.4.5 as in FLTK 1.3 on a X11 platform with a 96 DPI screen (both with the Xft and Pango backends), but we still have rendering problems with higher DPIs (specially non-multiple of 96) or with Wayland. You can track the status in the corresponding FLTK issue.

Important: If you maintain a Dillo package, do not enable FLTK 1.4 support by default for all users as they will be exposed to visual glitches and other issues.

Fixed OAuth login

In order to perform the OAuth authentication (for example to login into Fediverse via Smolfedi) we need to allow cookies that are set in a redirection response. By default Dillo blocks all third party cookies that are not caused by a request initiated by the user, so we can prevent tracking by image pixels. We added an exception to also allow cookies from redirections of the main page after the user initiated request, so we can still stay safe against tracking but allow OAuth to work.

Download

To download the 3.3.0 release use these links:

Notice that we have migrated from GitHub to our own server. The git repositories are now served by our self-hosted cgit and also mirrored in Codeberg and SourceHut.

Detailed changes

This is the list of changes from the ChangeLog of this release: