Dillo release 3.2.0
Released on 2025-01-18Summary 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.
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.
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:
- dillo-3.2.0.tar.bz2 (1.1M) (signature)
- dillo-3.2.0.tar.gz (1.3M) (signature)
- dillo-3.2.0.zip (1.5M) (signature)
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.
- Add
- 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.
-
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; }