aboutsummaryrefslogtreecommitdiff
path: root/ChangeLog
AgeCommit message (Collapse)Author
2024-12-28Support line fragments in plain text filesRodrigo Arias Mallo
Line numbers can be referenced using the fragment L + line number. For example, file://foo/bar.txt#L42 will cause Dillo to scroll to line 42. Fixes: https://github.com/dillo-browser/dillo/issues/330
2024-12-17Add support for user actions in the link menuRodrigo Arias Mallo
Allows the user to define additional entries in the link menu which will execute the given program/script. Each actions is defined using the "link_action" option. The link URL is stored in the $url enviroment variable and the current page in $origin, so the user can customize how do the handling. Here is a simple example to add three new entries: link_action="Debug variables:echo url=$url origin=$origin" link_action="Open in MPV:mpv $url" link_action="Open in Firefox:firefox $url" The command is spawned in a forked process using the system() call, which uses the shell to expand any variable. In particular, the $url variable is set to the current URL being opened. Fixes: https://github.com/dillo-browser/dillo/issues/3
2024-12-08Allow image formats to be disabled from dillorcRodrigo Arias Mallo
Makes disabling certain formats posible without the need to rebuild Dillo from source. See: https://github.com/dillo-browser/dillo/pull/312
2024-11-24Add WebP support to docs and changelogRodrigo Arias Mallo
2024-11-24Print version of libraries and featuresRodrigo Arias Mallo
When reporting the version of Dillo with -v, print also the version of the libraries it is currently using, as well as the features that were enabled at build time. Notice the versions are reported by reading them at runtime, so we can detect the version loaded at run time, regardless of which version was used at link time. All features are always printed, but prefixes with + if enabled or - if disabled. This allows checking if the feature was disabled at configure time or if it is missing in that version of Dillo.
2024-10-28Reload the current page on SIGUSR1 signalRodrigo Arias Mallo
Reloads the current page on all windows when the SIGUSR1 is received. This is useful to update the page when it is being edited. Fixes: https://github.com/dillo-browser/dillo/issues/255
2024-10-17Preserve aspect ratio of imagesRodrigo Arias Mallo
When posible, change the image size so the aspect ratio is always preserved. This is only posible when one or both dimensions have some room to play. When both dimensions are not fixed, a naive algorithm tries to satisfy all {min,max}-{width,height} and aspect ratio constraints, but it may fail. In that case, the aspect ratio is not preserved. Fixes the HTML tests img-aspect-ratio and img-max-bounds.
2024-10-17Only use full URL for HTTP proxiesRodrigo Arias Mallo
When performing a HTTPS request over a HTTP proxy, a direct connection is made to the remote server, so the GET line will be received as is. Therefore we shouldn't send the full URL but just the path. Fixes: https://github.com/dillo-browser/dillo/issues/279
2024-10-17Update ChangeLog with new defaultsRodrigo Arias Mallo
2024-10-13Control the page overlap independentlyRodrigo Arias Mallo
Introduces the new option scroll_page_overlap to control the amount of pixels of overlap when scrolling to the next or previous page. Previously this value was taken from scroll_step, but now they are controlled independently. Fixes: https://github.com/dillo-browser/dillo/issues/276
2024-10-13Add new scrollbar page modeRodrigo Arias Mallo
The scroll page mode changes the behavior of the mouse when clicking on the vertical scrollbar. When enabled with scrollbar_page_mode=YES, clicking with the left button anywhere on the vertical scrollbar will cause the page to scroll down one page. With the right button, to scroll up one page. Holding Shift temporarily reverts the value of the option.
2024-10-13Add support for left scrollbarRodrigo Arias Mallo
Implements support for placing the vertical scrollbar on the left side by setting scrollbar_on_left=YES on dillorc. By default, continues to be on the right side. See: https://www.toomanyatoms.com/software/mobilized_dillo.html Authored-By: dogma
2024-10-05Add support for more CSS unitsRodrigo Arias Mallo
Implements support for ch, rem, vw, vh, vmin and vmax units of CSS lengths. For now the units relative to the viewport are only computed once, and they won't change when the window is resized, but only when the page is reloaded. See: https://www.toomanyatoms.com/software/mobilized_dillo.html Authored-By: dogma
2024-09-11Fix heap use after free in TLS conn on errorsRodrigo Arias Mallo
When a error causes the TLS connection to fail and stop, the conn struct is free on Tls_close_by_key(), so writing to conn->in_connect is not correct after that point. The solution is to only set the flag when the it is still valid. Reported-by: Alex <a1ex@dismail.de> Link: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/TY2JYCIPC7IQ32U6VC7ZOV3FVFFOE5K3/
2024-09-10Generate boundary by choosing a random characterRodrigo Arias Mallo
Instead of rejecting random characters that are not in the boundary character set, draw a random index and select the character at that position. The probability distribution is not perfectly uniform with this method, but reduces the number of calls to rand() by 4 times on average.
2024-08-07Stop the layouting loop after 1000 iterationsRodrigo Arias
Prevents Dillo from hoarding the CPU due to an infinite loop in the layouting. We also return the control to FLTK to update the screen and process events each 100 iterations, to keep the window responsive. It doesn't fix the root cause of the github-infinite-loop test, but it does allow the rendering to finish with no differences with the reference test.
2024-08-07Add entry about portability in ChangeLogRodrigo Arias Mallo
Also add missing hyphens on previous entries.
2024-07-26Add SVG support in ChangelogRodrigo Arias Mallo
2024-07-18Add anchors in line numbers for HTML source viewRodrigo Arias Mallo
They allow linking to an specific line in the source code. This would be useful to add to the bug meter view, so the user can quickly jump to the error line in the HTML source. Fixes: https://github.com/dillo-browser/dillo/issues/214
2024-07-14Render JSON content as plain textRodrigo Arias Mallo
Some website endpoints return information in JSON, which is helpful to be read as plain text in some situations. The content can still be downloaded to disk using the save button or the context menu. An example is the following endpoint https://tls.browserleaks.com/tls, which provides TLS fingerprinting information in JSON, which will change when reloading the page (only when Dillo is linked with LibreSSL). The original page https://tls.browserleaks.com/ uses JS and cannot be used in Dillo. See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/message/6C5K4F6NBRUDSPNPWTXLQXCK3U3SI7DM/
2024-06-25Ignore meta refresh content without URLRodrigo Arias Mallo
The content="0" attribute was wrongly parsed as the URL "0". The change makes the parser ignore a redirect with a content value that doesn't have ";" or "url=" after the delay number. Fixes: https://github.com/dillo-browser/dillo/issues/204
2024-06-25Add support for zoom factorRodrigo Arias Mallo
Allows zooming in and out of pages by changing the size of all elements, including font size, images and tables. The initial zoom is specified in the "zoom_factor" option of dillorc. Use the new shortcuts Ctrl+ and Ctrl- to adjust the zoom of the current page and Ctrl 0 to reset it to 100%. When a new tab or window is opened, the current zoom factor is inherited. Each tab retains its own zoom factor. Fixes: https://github.com/dillo-browser/dillo/issues/21
2024-06-12Fix segfault in Done button of downloadsRodrigo Arias Mallo
The destructor was using a harcoded index to the elements to free from the original array of arguments used to call the wget program. When the user agent was introduced, the index of the elements that require free() shifted, causing the free() call to operate on the constant string of the user agent instead. Rather than relying on the hardcoded index, two new pointers hold the values of the strings that need to be free()'d in the destructor. Further additions in the argument array won't cause more problems. Reported-by: pastebin <pastebin@gmx.com> Fixes: https://github.com/dillo-browser/dillo/issues/196 See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/message/IPWQYKTYTO5G2BH3UU5224FRUFWCVGSO/
2024-06-11Ignore empty page title for tab labelsRodrigo Arias Mallo
When a page has an empty title like <title></title>, don't use it to set the tab label, but instead rely on the default tab label, which is computed from the file name.
2024-06-09Add new_tab_page optionRodrigo Arias Mallo
Adds support to load a custom page when a new tab is opened. The current behavior is set as the default, load a blank page. The location bar is only selected when the new tab page is the blank page, otherwise the page loaded gets the focus. Co-authored-by: Alex <a1ex@dismail.de> Fixes: https://github.com/dillo-browser/dillo/issues/124
2024-06-08Release version 3.1.1v3.1.1Rodrigo Arias Mallo
2024-06-01Handle PNG warnings as non-fatalRodrigo Arias Mallo
The libpng library may emit warnings when decoding a PNG image, which are non-fatal. So far we were handling them as errors and stopping the decoding process, which prevents Dillo from decoding some images. In particular, images that emit the warning: > iCCP: known incorrect sRGB profile Fixes: https://github.com/dillo-browser/dillo/issues/179 Authored-by: dogma
2024-06-01Handle SSL_ERROR_ZERO_RETURN in OpenSSLRodrigo Arias Mallo
It may be returned when the server closes the connection, see: https://www.openssl.org/docs/manmaster/man3/SSL_get_error.html We simply handle it as if there was no error and return zero bytes read. Fixes: https://github.com/dillo-browser/dillo/issues/175
2024-06-01Update ChangeLog for HTML tests in tarballRodrigo Arias Mallo
2024-05-20Add workaround for OpenSSL in CygwinRodrigo Arias Mallo
Cygwin doesn't seem to support detached threads used by the threaded DNS resolver at the same time the dynamic OpenSSL library is used. As a workaround we suggest disabling the threaded DNS (will use the same thread) if building with OpenSSL on Cygwin. Fixes: https://github.com/dillo-browser/dillo/issues/172
2024-05-12Disable TLSv1.3 in MbedTLS 3.6.0 for nowRodrigo Arias Mallo
In Mbed TLS 3.6.0 there is support for TLSv1.3 but it requires special handling, so for now we disable it. See: https://gitlab.alpinelinux.org/alpine/aports/-/commit/4dc36afaa81a4d73758b29fa77981d07dbae0080.patch Fixes: https://github.com/dillo-browser/dillo/issues/158
2024-05-08Add release date for 3.1.0 in ChangeLogRodrigo Arias Mallo
Fixes: https://github.com/dillo-browser/dillo/issues/160
2024-05-06Convert some old files from iso8859-1 to utf-8 encodingArtem Polishchuk
2024-04-29Add force https modeMark Walker
Implement an option to force all http urls to be upgraded to HTTPS, similar to HTTPS-Only Mode in Firefox. A http_force_https preference variable is provided as well as a menu bar item to toggle this mode. See: https://support.mozilla.org/en-US/kb/https-only-prefs
2024-04-28Allow relative width td attributes in tablesRodrigo Arias Mallo
Partially reverts commit f5a0b6030c2001e5a0fcacf8139afa800643eb47. Fixes the rendering test table-missing-width-in-one-column. Fixes: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/message/H7JEBC2HYNJ6FUPQM7ILBP7I5FLU33IZ/
2024-04-28Add version to user manualRodrigo Arias Mallo
Fixes: https://github.com/dillo-browser/dillo/issues/136
2024-04-27Add desktop file and iconsRodrigo Arias Mallo
Fixes: https://github.com/dillo-browser/dillo/issues/141
2024-04-26Recognize *.xhtml documents as HTML tooRodrigo Arias Mallo
The file plugin was not able to detect XHTML documents from files with the .xhtml extension if there are comments before the doctype line. Before falling back to reading the content, we directly specify the media type to HTML based on the extension alone. The basic content type detection algorithm is too simple and will continue to fail when comments are placed before the doctype line. Reported-by: Kevin Koster <dillo@ombertech.com> See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/message/HBKXGO7EGCHWOQ6BM55A4LZQKT437UID/
2024-04-01Improve Dillo user manualRodrigo Arias Mallo
A lot of sections were updated and extended to cover the usage of the browser from the perspective of a new user. Other missing content was added, specially to describe the configuration files and the format they use. Fixes: https://github.com/dillo-browser/dillo/issues/73
2024-04-01Add bookmarks changes to ChangeLogRodrigo Arias Mallo
2024-04-01Fix HTML validator menuRodrigo Arias Mallo
The W3C validator is now protected under a CloudFlare JavaScript challenge. However, it can be bypassed by opening directly the link after the redirection. It doesn't work if an HTML 5 page is loaded, as that would redirect to the Nu validator which will attempt to run the challenge again. So the current solution is to use the "legacy" W3C validator for HTML 4.01 or older documents and the W3C Nu validator for HTML 5 documents only. Users would need to choose which one to use manually (at least for now). The WDG validator at https://www.htmlhelp.org/tools/validator/ is gone, the server reports "Server unable to read htaccess file, denying access to be safe", so it has been removed. Fixes: https://github.com/dillo-browser/dillo/issues/113
2024-03-31Add support for the main HTML tagRodrigo Arias Mallo
Fixes: https://github.com/dillo-browser/dillo/issues/109
2024-03-28Handle .exe extension in Windows for dpisRodrigo Arias Mallo
On Cygwin the binaries have the ".exe" extension, so the logic to detect dpi files has to take it into account when scanning the dpi_dir. The extension DPI_EXT is defined to ".dpi" or ".dpi.exe" depending on the platform extension discovered by autoconf. Similarly, the dpidrc configuration file is also configured to match the name of the DPI binaries. See: https://github.com/cygwinports-extras/dillo/blob/master/3.0.2-exeext.patch Fixes: https://github.com/dillo-browser/dillo/issues/105
2024-03-09Update ChangeLogRodrigo Arias Mallo
2024-03-02Ignore percent width td attributes in tablesRodrigo Arias Mallo
The width attribute in tr and td tags is deprecated in HTML 4.01 and obsolete in HTML 5. However, we should still support it when loading the page in the transitional mode. Currently, the relative values of the width attribute are transformed into CSS values. They cause the available text width to be computed by applying the relative value to the cell width, which causes an unintended effect. The workaround for now is to simply ignore the value when it is specified as a percent.
2024-02-18Expand tilde to home directory in local URLsRodrigo Arias Mallo
Allows paths like "file:~/" and "file:~/.dillo/dillorc" to be opened by Dillo by expanding the tilde character '~' to the value of the $HOME environment variable. Fixes: https://github.com/dillo-browser/dillo/issues/81
2024-02-18Handle errors in SSL_read() and SSL_write()Rodrigo Arias Mallo
We cannot rely on the return value and the errno, the function SSL_get_error() must be used to determine what happen and if we need to retry again. A wrapper function translates the SSL error into a proper errno value. In the case a premature EOF is sent by the server, the error queue is emptied before the error is returned. Fixes: https://github.com/dillo-browser/dillo/issues/79
2024-01-22Update ChangeLogRodrigo Arias Mallo
2024-01-15Add ui_tab_height optionRodrigo Arias Mallo
The default tab height of 16 pixels was causing some usability issues as the tabs are quite small in large monitors. The default size is increased to 20 pixels and the new option "ui_tab_height" allows the user to specify a different value.
2024-01-09Update references to website and repositoryRodrigo Arias Mallo
The website is now at https://dillo-browser.github.io/ and the repository at https://github.com/dillo-browser/dillo.