[qutebrowser] qutebrowser v0.9.0 released

Florian Bruhin me at the-compiler.org
Thu Dec 29 00:23:25 CET 2016


Hi,

I'm happy to announce that I just released qutebrowser v0.9.0, at the
Chaos Communication Congress[1] ;)

This release comes with *a lot* of new features, including much better
support for various features with the QtWebEngine backend.

A note for packagers: This release adds a new dependency on the QtQML
module, which is also called Quick or Declarative in some
distributions.

Unfortunately I can't reach my Mac via SSH and I'm in another country,
so it'll be a while until a OS X .app will be uploaded.

The full changelog:

Added
~~~~~

- *New dependency:* qutebrowser now depends on the Qt QML module, which is
   packaged separately in some distributions (as Qt Declarative/QML/Quick).
- New `:rl-backward-kill-word` command which does what `:rl-unix-word-rubout`
  did before v0.8.0.
- New `:rl-unix-filename-rubout` command which is similar to readline's
  `unix-filename-rubout`.
- New `fonts -> completion.category` setting to customize the font used for
  completion category headers.
- New `:debug-log-capacity` command to adjust how many lines are logged into RAM
  (to report bugs which are difficult to reproduce).
- New `hide-unmatched-rapid-hints` option to not hide hint unmatched hint labels
  in rapid mode.
- New `{clipboard}` and `{primary}` replacements for the commandline which
  replace the `:paste` command.
- New `:insert-text` command to insert a given text into a field on the page,
  which replaces `:paste-primary` together with the `{primary}` replacement.
- New `:window-only` command to close all other windows.
- New `prev-category` and `next-category` arguments to `:completion-item-focus`
  to focus the previous/next category in the completion (bound to `<Ctrl-Tab>`
  and `<Ctrl-Shift-Tab>` by default).
- New `:click-element` command to fake a click on a element.
- New `:debug-log-filter` command to change console log filtering on-the-fly.
- New `:debug-log-level` command to change the console loglevel on-the-fly.
- New `general -> yank-ignored-url-parameters` option to configure which URL
  parameters (like `utm_source` etc.) to strip off when yanking an URL.
- Support for the
  https://developer.mozilla.org/en-US/docs/Web/API/Page_Visibility_API[HTML5 page visibility API]
- New `readability` userscript which shows a readable version of a page (using
  the `readability-lxml` python package)
- New `cast` userscript to show a video on a Google Chromecast
- New `:run-with-count` command which replaces the (undocumented) `:count:command` syntax.
- New `:record-macro` (`q`) and `:run-macro` (`@`) commands for keyboard macros.
- New `ui -> hide-scrollbar` setting to hide the scrollbar independently of the
  `user-stylesheet` setting.
- New `general -> default-open-dispatcher` setting to configure what to open
  downloads with (instead of e.g. `xdg-open` on Linux).
- Support for PAC (proxy autoconfig) with QtWebKit

Changed
~~~~~~~

- Hints are now drawn natively in Qt instead of using web elements. This has a
  few implications for users:
    * The `hints -> opacity` setting does not exist anymore, but you can use
      `rgba(r, g, b, alpha)` colors instead for `colors -> hints.bg`.
    * The `hints -> font` setting is not affected by
      `fonts -> web-family-fixed` anymore. Thus, a transformer got added to
      change `Monospace` to `${_monospace}`.
    * Gradients in hint colors can now be configured by using `qlineargradient`
      and friends instead of `-webkit-gradient`. The most common cases get
      migrated automatically, but if you drastically changed the defaults,
      you'll need to manually adjust your config.
    * Styling hints by styling `qutehint` elements in `user-stylesheet` was
      never officially supported and does not work anymore.
    * Hints are now not affected by the page's stylesheet or zoom anymore.
- `:bookmark-add` now has a `--toggle` flag which deletes the bookmark if it
  already exists.
- `:bookmark-load` now has a `--delete` flag which deletes the bookmark after
  loading it.
- `:open` now also accepts quickmark names instead of URLs
- `:tab-move` now optionally takes an index for absolute moving.
- Commands taking either an argument or a count (like `:zoom` or `:tab-focus`)
  now prefer the count instead of showing an error message.
- `:open` now has an `--implicit` argument to treat the opened tab as implicit
  (i.e. to open it at the position it would be opened if it was a clicked link)
- `:download-open` and `:prompt-open-download` now have an optional `cmdline`
  argument to pass a commandline to open the download with.
- `:yank` now has a position argument to select what to yank instead of using
  flags.
- Replacements like `{url}` can now also be used in the middle of an argument.
  Consequently, commands taking another command (`:later`, `:repeat` and
  `:bind`) now don't immediately evaluate variables.
- Tab titles in the `:buffer` completion now update correctly when a page's
  title is changed via javascript.
- `:hint` now has a `--mode <mode>` flag to override the hint mode configured
  using the `hints -> mode` setting.
- With `new-instance-open-target` set to a tab option, the tab is now opened in
  the most recently focused (instead of the last opened) window. This can be
  configured with the new `new-instance-open-target.window` setting.
  It can also be set to `last-visible` to show the pages in the most recently
  visible window, or `first-opened` to use the first (oldest) available window.
- Word hints now are more clever about getting the element text from some elements.
- Completions for `:help` and `:bind` now also show hidden commands
- The `:buffer` completion now also filters using the first column (id).
- `:undo` has been improved to reopen tabs at the position they were closed.
- `:navigate` now takes a count for `up`/`increment`/`decrement`.
- The `hints -> auto-follow` setting now can be set to
  `always`/`full-match`/`unique-match`/`never` to more precisely control when
  hints should be followed automatically.
- Counts can now be used with special keybindings (e.g. with modifiers).
  This was already implemented for v0.7.0 originally, but got reverted because
  it caused some issues and then never re-applied.
- Sending a command to an existing instance (via "qutebrowser :reload") now
  doesn't mark it as urgent anymore.
- `tabs -> title-format` now treats an empty string as valid.
- Bindings for `:`, `/` and `?` are now configured explicitly and not hardcoded
  anymore.
- The `completion -> show` setting can now be set to `always`, `auto` or
  `never`.
- `:open-editor` can now be used in any mode.
- Lots of improvements to and bugfixes for the QtWebEngine backend, such as
  working hints. However, using qutebrowser directly from git is still advised
  when using `--backend webengine`.
- `content -> javascript-can-open-windows` got renamed to
  `javascript-can-open-windows-automatically`.
- `:prompt-accept` now optionally accepts a value which overrides the one
  entered in the input box. `yes` and `no` can be used as values for yes/no
  questions.
- The new `--qt-arg` and `--qt-flag` arguments can be used to pass
  arguments/flags to Qt's commandline.
- Error/warning/info messages are now shown stacked above the statusbar.
  This also added various new settings:
    * `colors -> messages.fg.error` (renamed from `statusbar.fg.error`)
    * `colors -> messages.bg.error` (renamed from `statusbar.bg.error`)
    * `colors -> messages.border.error`
    * `colors -> messages.fg.warning` (renamed from `statusbar.fg.warning`)
    * `colors -> messages.bg.warning` (renamed from `statusbar.bg.warning`)
    * `colors -> messages.border.warning`
    * `colors -> messages.fg.info`
    * `colors -> messages.bg.info`
    * `colors -> messages.border.info`
    * `fonts -> messages.error`
    * `fonts -> messages.warning`
    * `fonts -> messages.info`
- The `qute:settings` page now also shows option descriptions.
- `qute:version` and `qutebrowser --version` now show various important paths
- `:spawn`/userscripts now show a nicer error when a script wasn't found
- Various functionality now works when javascript is disabled with QtWebKit
- Various commands/settings taking `left`/`right`/`previous` arguments now take
  `prev`/`next`/`last-used` to remove ambiguity.
- The `ui -> user-stylesheet` setting now only takes filenames, not CSS snippets
- `ui -> window-title-format` now has a new `{backend} ` replacement
- `:hint` has a new `--add-history` argument to add the URL to the history for
  yank/spawn targets.
- `:set` now cycles through values if more than one argument is given.
- `:open` now opens `default-page` without an URL even without `-t`/`-b`/`-w` given.

Deprecated
~~~~~~~~~~

- The `:paste` command got deprecated as `:open` with `{clipboard}` and
  `{primary}` can be used instead.
- The `:paste-primary` command got deprecated as `:insert-text {primary}` can
  be used instead.
- The `:prompt-yes` and `:prompt-no` commands got deprecated as
  `:prompt-accept yes` and `:prompt-accept no` can be used instead.

Removed
~~~~~~~

- The `:yank-selected` command got merged into `:yank` as `:yank selection`
  and thus removed.
- The `:completion-item-prev` and `:completion-item-next` commands got merged
  into a new `:completion-focus {prev,next}` command and thus removed.
- The `ui -> hide-mouse-cursor` setting since it was completely broken and
  nobody seemed to care.
- The `hints -> opacity` setting - see the "Changed" section for details.
- The `completion -> auto-open` setting got merged into `completion -> show` and
  thus removed.
- All `--qt-*` arguments got replaced by `--qt-arg` and `--qt-flag` and thus
  removed.
- The `-c`/`--confdir`, `--datadir` and `--cachedir` arguments got removed, as
  `--basedir` should be sufficient.

Fixed
~~~~~

- `:undo` now doesn't undo tabs "closed" by `:tab-detach` anymore.
- Fixed an issue with hint chars not being cleared correctly when leaving hint
  mode.
- `:tab-detach` now fails correctly when there's only one tab open.
- Various small issues with the command completion
- Fixed hang when using multiple spaces in a row with the URL completion
- qutebrowser now still starts with an incorrectly configured
  `$XDG_RUNTIME_DIR`.
- Fixed crash when a userscript writes invalid unicode data to the FIFO
- Fixed crash when a included HTML was not found


[1] https://en.wikipedia.org/wiki/Chaos_Communication_Congress

Have fun!

Florian

-- 
http://www.the-compiler.org | me at the-compiler.org (Mail/XMPP)
   GPG: 916E B0C8 FD55 A072 | http://the-compiler.org/pubkey.asc
         I love long mails! | http://email.is-not-s.ms/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <https://listi.jpberlin.de/pipermail/qutebrowser/attachments/20161229/73b7836f/attachment.asc>


More information about the qutebrowser mailing list