Dillo release 3.2.0

4 min read Original article ↗

Released on 2025-01-18

Summary of changes

Dillo is 25 years old!

The 3.2.0 release contains several new features, configuration options and bug fixes.

We added SVG support for math formulas and other simple SVG images by patching the nanosvg library. This is specially relevant for Wikipedia math articles 1.

A comparison of the old wikipedia page where formulas are not
             rendered vs the new release where the formulas are shown
             properly

We also added optional support for WebP images via libwebp. You can use the new option ignore_image_formats to ignore image formats that you may not trust (libwebp had some CVEs recently).

A new scrollbar page navigation mode was introduced to help read websites as if they are books, reducing the usage of the mouse wheel. To enable it, set the option scrollbar_page_mode to YES. Clicking anywhere on the vertical scrollbar with the left mouse button will scroll the view one page down. With the right mouse button, one page up. You can also configure how much overlap from the previous page is shown in the next one with the new option scroll_page_overlap.

The vertical scrollbar can now be placed on the left side of the page with the option scrollbar_on_left. While this may be strange at first, I find it more pleasant as it keeps it next to the beginning of the text where I'm usually already looking while reading.

A new option link_action allows users to define custom commands to open new URLs. These appear on the link menu when right clicking an hyperlink. You can define multiple options to create multiple entries.

A link menu showing several entries
  for a youtube link, with MPV player being shown while Open in MPV is
  selected in the menu

Websites can now be zoomed by using the shortcuts Ctrl + to make text bigger and Ctrl - to make it smaller, Ctrl 0 to reset the normal size. Set the default zoom level with the zoom_factor option.

The SIGUSR1 signal now causes the current page to be reloaded. This is useful to implement a live view while editing a web page. Here is a simple way to do it with the entr(1) tool:

$ ls index.html | entr killall -USR1 dillo

Download

To download the 3.2.0 release, get it from the GitHub release page or directly from the links below:

Detailed changes

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

  • Patches by Alex, Rodrigo Arias Mallo:
    • Add new_tab_page option to open a custom new tab page.
  • Patches by Rodrigo Arias Mallo
    • Ignore empty page title for tab labels.
    • Fix segfault when clicking the "Done" button in downloads dialog.
    • Add zoom support using Ctrl +/-/0 and the "zoom_factor" option.
    • Fix wrong redirect by meta refresh without URL.
    • Display JSON as plain text.
    • Add line number anchors in HTML source view.
    • Make Dillo strictly C99, C++11 and POSIX-2001 compliant, without depending on GNU extensions.
    • Perform an emergency stop of the layout engine loop after 1000 iterations to prevent a hang.
    • Fix use-after-free on errors in TLS connection.
    • Add scrollbar_page_mode option to easily scroll full pages with the mouse.
    • Control the page overlap with the scroll_page_overlap option.
    • Set focus_new_tab=NO and show_quit_dialog=NO by default.
    • Fix GET requests over HTTPS via a proxy.
    • Improve image resize logic to always try to preserve the aspect ratio.
    • Reload current page on SIGUSR1 signal
    • Print library versions and enabled features with dillo -v.
    • Allow image formats to be ignored with the "ignore_image_formats" option.
    • Add the "link_action" option to define custom menu entries to open links with external programs or scripts.
    • Add support for line fragments in plain text files (file://foo/bar.txt#L42).
  • Patches by dogma, Rodrigo Arias Mallo:
    • Add primitive support for SVG using the nanosvg.h library.
    • Add support for ch, rem, vw, vh, vmin and vmax CSS units.
    • Allow placing the scrollbar on the left side.
    • Add support for WebP images.
  • Patches by Xavier Del Campo Romero, Rodrigo Arias Mallo:
    • Avoid expensive search for multipart/form-data boundaries.

  1. Wikipedia still displays the MathML text of sites, to hide it add these lines to your ~/.dillo/style.css file:

    /* Remove mathml from Wikipedia; it will be shown as SVG formulas */
    .mwe-math-mathml-display, .mwe-math-mathml-inline { display: none !important; }