------------------------------------------------------------------- Tue Nov 26 04:39:55 UTC 2019 - Martin Herkt <9+suse@cirno.systems> - Update to version 1.8.2 Fixed * Unbinding keys via config.bind(key, None) accidentally worked in v1.7.0 but raises an exception in v1.8.0. It now works again, but is deprecated and shows an error. Note that :config-py-write did write such invalid lines before v1.8.0, so existing config files might need adjustments. * The readability-js userscript now handles encodings correctly (which it didn't before for some websites). * can now be used to paste text starting with a hyphen. * Following hints via the number keypad now works properly again. * Errors while reading the state file are now displayed instead of causing a crash. * Crash when using :debug-log-level without a console attached. * Downloads are now hidden properly when the browser is in fullscreen mode. * Crash when setting colors.webpage.bg to an empty value with QtWebKit. * Crash when the history database file is not a proper sqlite database. ------------------------------------------------------------------- Thu Oct 17 22:57:12 UTC 2019 - Martin Herkt <9+suse@cirno.systems> - Update to version 1.8.1 Added * New userscripts: + readability-js which uses Mozilla's node.js readability library. + qute-bitwarden which integrates the Bitwarden CLI. Changed * The statusbar text for passthrough mode now shows all configured bindings to leave the mode, not only one. * When :config-source is used with a relative filename, the file is now searched in the config directory instead of the current working directory. * HTML5 inputs with date/time types now enter insert mode when selected. * dictcli.py now shows where dictionaries are installed to and complains when running it as root if doing so would result in a wrong installation path. * Changes to userscripts: + qute-pass: Don't run pass if only a username is requested. + qute-pass: Support private domains like myrouter.local. + readability: Improved CSS styling. * Performance improvements in various areas: + Loading config files + Typing without any completion matches + General keyboard handling + Scrolling * :version now shows details about the loaded autoconfig.yml/config.py. * Hosts are now additionally looked up including their ports in netrc files. * With Qt 5.10 or newer, qutebrowser now doesn't force software rendering with Nouveau drivers anymore. However, QtWebEngine/Chromium still do so. * The XSS Auditor is now disabled by default (content.xss_auditing = false). This reflects a similar change in Chromium, see their XSS Auditor Design Document for details. Fixed * :config-write-py now correctly writes config.unbind(...) lines (instead of config.bind(..., None)) when unbinding a default keybinding. * Prevent repeat keyup events for JavaScript when a key is held down. * ~/.config/qutebrowser/blocked-hosts can now also contain /etc/hosts-like lines, not just simple hostnames. * Restored compatibility with Jinja2 2.8 * Fixed implicit type conversion warning with Python 3.8. * The desktop file now sets StartupWMClass correctly, so the qutebrowser icon is no longer shown twice in the Gnome dock when pinned. * Bindings involving keys which need the AltGr key now work properly. * Fixed crash (caused by a Qt bug) when typing characters above the Unicode BMP (such as certain emoji or CJK characters). * dictcli.py now works properly again. * Shift can now be used while typing hint keystrings, which e.g. allows typing number hints on French keyboards. * With rapid hinting in number mode, backspace now edits the filter text after following a hint. * A certain type of error ("locking protocol") while initializing sqlite now isn't handled as crash anymore. * Crash when showing a permission request in certain scenarios. Removed * At least Python 3.5.2 is now required to run qutebrowser, support for 3.5.0 and 3.5.1 was dropped. ------------------------------------------------------------------- Thu Jul 18 15:27:22 UTC 2019 - Martin Herkt <9+suse@cirno.systems> - Update to version 1.7.0 Added * New settings: + colors.tabs.pinned.* to control colors of pinned tabs. + hints.leave_on_load which allows disabling leaving of hint mode when a new page is loaded. + colors.completion.item.selected.match.fg which allows configuring the text color for the matching text in the currently selected completion item. + tabs.undo_stack_size to limit how many undo entries are kept for closed tabs. * New commands: + :reverse-selection (o in caret mode) to swap the stationary/moving ends of a selection. * New commandline replacements: + {url:domain}, {url:auth}, {url:scheme}, {url:username}, {url:password}, {url:host}, {url:port}, {url:path}, {url:query} for the respective parts of the current URL. + {title} for the current page title. * The {title} field in tabs.title.format, tabs.title.format_pinned and window.title_format got renamed to {current_title} (mirroring {current_url}) in order to not conflict with the new {title} commandline replacement. * New delete target for :hint which removes the hinted element from the DOM. * New --config-py commandline argument to use a custom config.py file. * Qt 5.13: Support for notifications (shown via system tray). Changed * The desktop file qutebrowser.desktop is now renamed to org.qutebrowser.qutebrowser.desktop. * Pinned tabs now always show a favicon (even if the site doesn't provide one) when shrinking. * Setting downloads.location.directory now changes the directory displayed in the download prompt even if downloads.location.remember is set. * The yank command gained a new inline argument, which allows to e.g. use :yank inline [{title}]({url}). * Duplicate consecutive history entries with the same URL are now ignored. * More detailed error messages when spawning a process failed. * The content.pdfjs setting now supports domain patterns. * Improved process status output with :spawn -o. * The colors.tabs.bar.bg setting is now of type QssColor and thus supports gradients. * The :fullscreen command now understands a new --enter flag which causes it to always enter fullscreen instead of toggling the current state. * --debug-flag stack is now needed to show stack traces on renderer process crashes. * --debug-flag chromium can be used to easily turn on verbose Chromium logging. * Permission prompts can now be answered with Y (:prompt-accept --save yes) and N (:prompt-accept --save no) to save the answer as a per-domain setting. * content.dns_prefetch is now turned off by default, as it causes crashes inside QtWebEngine. * The (still unofficial) interceptor plugin API now contains resource_type for a request and allows redirecting requests. * :bookmark-remove now shows a message for consistency with :bookmark-add. * Very early segfaults are now also caught by the crash handler. * The appdata XML now contains proper release information and an (empty) OARS content rating. * Improved Linux distribution detection. * Qt 5.13: Request filtering now happens in the UI rather than IO thread. * Qt 5.13: Support for PDFium (Chromium's PDF viewer) is disabled for now so that PDFs can still be downloaded (or shown with PDF.js) properly. * Various performance improvements (e.g. for showing hints or the :open completion). Deprecated * :yank markdown got deprecated, as :yank inline [{title}]({url}) can now be used instead. Fixed * Various QtWebEngine load signals are now handled differently, which should fix issues with insert mode being left while typing on sites like Google Translate. * Race condition causing a colored statusbar in normal mode when entering/exiting caret mode quickly. * Using 100% for a hue in a hsv(...) config value now corresponds to 359 (rather than 255), matching the fixed behavior in Qt 5.13. * Chaining commands with ;; used to abort with some failing commands. It now runs the second command no matter whether the first one succeeded or not. * Handling of profiles and private windows (and resulting crashes with Qt 5.12.2). * Fixes for corner-cases when using :navigate increment/decrement * The type for the colors.hints.match.fg setting was changed to QtColor. * Gradients were never supported for this setting, and with this change, values like rgb(0, 0, 0) now work as well. * Permission prompts now show a properly normalized URL with QtWebKit. * Crash on start when PyQt was built without SSL support with Qt >= 5.12. * Minor memory leaks. ------------------------------------------------------------------- Tue Jun 18 12:13:45 UTC 2019 - Martin Herkt <9+suse@cirno.systems> - Update to version 1.6.3 Fixed * Crash when hinting and changing/closing the tab before hints are displayed. * Crash on redirects with Qt 5.13. * Hide bogus AA_ShareOpenGLContexts warning with Qt 5.12.4. * Workaround for renderer process crashes with Qt 5.12.4. If you're unable to update, you can remove ~/.cache/qutebrowser for the same result. ------------------------------------------------------------------- Mon May 6 21:15:52 UTC 2019 - Martin Herkt <9+suse@cirno.systems> - Update to version 1.6.2 Fixed * Crash when SQL errors occur while using the completion. * Crash when cancelling a download prompt started in an already closed window. * Crash when many prompts are opened at the same time. * Running without Qt installed now displays a proper error again. * High CPU usage when using the keyhint widget with a low delay. ------------------------------------------------------------------- Mon Apr 1 19:40:27 UTC 2019 - Martin Herkt <9+suse@cirno.systems> - Force sqlite backend to be installed, otherwise qtbrowser segfaults bsc#1126269 ------------------------------------------------------------------- Wed Mar 20 06:05:39 UTC 2019 - Martin Herkt <9+suse@cirno.systems> - Update to version 1.6.1 Fixed * Crash when using :config-{dict,list}-{add,remove} with an invalid setting. * Functionality like hinting on pages with an element with ID _qutebrowser (such as qutebrowser.org) on Qt 5.12. * The .desktop file in v1.6.0 was missing the "Actions" key. * The SVG icon now has a size of 256x256px set to comply with freedesktop standards. * Setting colors.statusbar.*.bg to a gradient now has the expected effect of the gradient spanning the entire statusbar. ------------------------------------------------------------------- Tue Feb 26 01:48:56 UTC 2019 - Martin Herkt <9+suse@cirno.systems> - Update to version 1.6.0 Added * New settings: + tabs.new_position.stacking which controls whether new tabs opened from a page should stack on each other or not. + completion.open_categories which allows to configure which categories are shown in the :open completion, and how they are ordered. + tabs.pinned.frozen to allow/deny navigating in pinned tabs. + hints.selectors which allows to configure what CSS selectors are used for hints, and also allows adding custom hint groups + input.insert_mode.leave_on_load to turn off leaving insert mode when a new page is loaded. * New config manipulation commands: + :config-dict-add and :config-list-add to a new element to a dict/list setting. + :config-dict-remove and :config-list-remove to remove an element from a dict/list setting. + New :yank markdown feature which yanks the current URL and title in markdown format. + Support for new QtWebEngine features in Qt 5.12: ~ Basic support for client certificates. Selecting the certificate to use when there are multiple matching certificates isn't implemented yet. ~ Support for DNS prefetching (plus new content.dns_prefetch setting). Changed * :q now closes the current window instead of quitting qutebrowser completely (:close), while :qa quits (:quit). The behavior of :wq remains unchanged (:quit --save), as closing a window while saving the session doesn't make sense. * Completion highlighting is now done differently (using QSyntaxHighlighter), which should fix some highlighting corner-cases. * The QtColor config type now also understands colors like rgb(...). * :yank now has a --quiet option which causes it to not display a message. * The :open completion now also shows search engines by default. * The content.host_blocking.enabled setting now supports URL patterns, so the adblocker can be disabled on a given page. * Elements with a tabindex attribute now also get hints by default. * Various small performance improvements for hints and the completion. * The Wayland check for QtWebEngine is now disabled on Qt >= 5.11.2, as those versions should work without any issues. * The JavaScript console object is now available in PAC files. * PAC proxies currently don't work properly on QtWebEngine (and never did), so an error is now shown when trying to configure a PAC proxy. * The metainfo file qutebrowser.appdata.xml is now renamed to org.qutebrowser.qutebrowser.appdata.xml. * The qute-pass userscript now understands domains in gpg filenames in addition to directory names. * The autocompletion for content.headers.user_agent got updated to only include the default and Chrome, as setting the UA to Firefox has various bad side-effects. * Combining Qt 5.12 with an older PyQt can lead to issues, so a warning is now shown when starting qutebrowser with that combination. Fixed * Invalid world IDs now get rejected for :jseval and GreaseMonkey scripts. * When websites suggest download filenames with invalid characters, those are now correctly replaced. * Invalid hint length calculation in certain rare cases. * Dragging tabs in the tab bar (which was broken in v1.5.0) * Using Shift-Home in command mode now works properly. * Workaround for a Qt bug which prevented content.cookies.accept = no-3rdparty from working properly on some pages like GMail. However, the default for content.cookies.accept is still all to be in line with what other browsers do. * :navigate not incrementing in anchors or queries. * Crash when trying to use a proxy requiring authentication with QtWebKit. * Slashes in search terms are now percent-escaped. * When scrolling.bar = True was set in versions before v1.5.0, this now correctly gets migrated to always instead of when-searching. * Completion highlighting now works again on Qt 5.11.3 and 5.12.1 * The non-standard header X-Do-Not-Track is no longer sent. * PAC proxies were never correctly supported with QtWebEngine, but are now explicitly disallowed. * Issues with fullscreen handling when exiting a video player. * Various fixes for Qt 5.12 issues: + A javascript error on page load was fixed. + window.print() works with Qt 5.12 now. + Fixed handling of duplicate download filenames. + Fixed broken qute://history page. + Fixed PDF.js not working properly. + The download button in PDF.js now works (it's not possible to make it work with earlier Qt versions). + Since Greasemonkey scripts modifying the DOM fail when being run at document-start, some known-broken scripts (Iridium, userstyles.org) are now forced to run at document-end. ------------------------------------------------------------------- Sat Feb 23 19:28:37 UTC 2019 - Martin Herkt <9+suse@cirno.systems> - Require python3-qtwebengine-qt5 on TW (package split since PyQt5 5.12) ------------------------------------------------------------------- Mon Oct 29 22:23:40 UTC 2018 - Martin Herkt <9+suse@cirno.systems> - Update to version 1.5.2: * The content.cookies.accept setting is now set to all instead of no-3rdparty by default, as no-3rdparty breaks various pages such as GMail. ------------------------------------------------------------------- Wed Oct 10 17:50:18 UTC 2018 - Martin Herkt <9+suse@cirno.systems> - Update to version 1.5.1: Fixed: * Flickering when opening/closing tabs (as soon as more than 10 are open) on some pages. * Improved logging for PDF.js resources which fail to load. * Crash when closing a tab after doing a search. * Tabs appearing when hidden after e.g. closing tabs. ------------------------------------------------------------------- Wed Oct 3 18:23:48 UTC 2018 - Martin Herkt <9+suse@cirno.systems> - Update to version 1.5.0: Added: * Rewritten PDF.js support: + PDF.js support and the content.pdfjs setting are now available with QtWebEngine. + Opening a PDF file now doesn't start a second request anymore. + Opening PDFs on https:// sites now works properly. + New --pdfjs flag for prompt-open-download, so PDFs can be opened in PDF.js with in the download prompt. * New settings: + content.mouse_lock to handle HTML5 pointer locking. + completion.web_history.exclude which hides a list of URL patterns from the completion. + qt.process_model which can be used to change Chromium's process model. + qt.low_end_device_mode which turns on Chromium's low-end device mode. This mode uses less RAM, but the expense of performance. + content.webrtc_ip_handling_policy, which allows more fine-grained/restrictive control about which IPs are exposed via WebRTC. + tabs.max_width which allows to have a more "normal" look for tabs. + content.mute which allows to mute pages (or all tabs) by default. * Running qutebrowser with QtWebKit or Qt < 5.9 now shows a warning (only once), as support for those is going to be removed in a future release. * New t[iI][hHu] default bindings (similar to tsh etc.) to toggle images. * The qute-pass userscript now has optional OTP support. * When :spawn --userscript is called with a count, that count is now passed to userscripts as $QUTE_COUNT. Changed: * Various performance improvements when many tabs are opened. * The content.headers.referer setting now works on QtWebEngine. * The :repeat command now takes a count which is multiplied with the given "times" argument. * The default keybinding to leave passthrough mode was changed from to , which makes pasting from the clipboard easier in passthrough mode and is also unlikely to conflict with webpage bindings. * The app_id is now set to qutebrowser for Wayland. * Using :set option now shows the value of the setting (like :set option? already did). * The completion.web_history_max_items setting got renamed to completion.web_history.max_items. * Regenerating completion history now shows a progress dialog. * The content.autoplay setting now supports URL patterns on Qt >= 5.11. * The content.host_blocking.whitelist setting now takes a list of URL patterns instead of globs. * In passthrough mode, Ctrl + Mousewheel now also gets passed through to the page instead of zooming. * Editing text in an external editor now simulates a JS "input" event, which improves compatibility with websites reacting via JS to input. * The qute://settings page is now properly sorted on Python 3.5 * :zoom, :zoom-in and :zoom-out now have a --quiet switch which causes them to not display a message. * The scrolling.bar setting now takes three values instead of being a boolean: always, never, and when-searching (which only displays it while a search is active). * '@@' now repeats the last run macro. * The content.host_blocking.lists setting now accepts a file:// URL to a directory, and reads all files in that directory. * The :tab-give and :tab-take command now have a new flag --keep which causes them to keep the old tab around. * :navigate now clears the URL query. Fixed: * qute:// pages now work properly on Qt 5.11.2 * Error when passing a substring with spaces to :tab-take. * Greasemonkey scripts which start with an UTF-8 BOM are now handled correctly. * When no documentation has been generated, the plaintext documentation now can be shown for more files such as qute://help/userscripts.html. * Crash when doing initial run on Wayland without XWayland. * Crash when trying to load an empty session file. * :hint with an invalid --mode= value now shows a proper error. * Rare crash on Qt 5.11.2 when clicking on