- Update to version 2.0.0

If the Python adblock library is available, it is now used to
integrate Brave's Rust adblocker library for improved adblocking
based on ABP-like filter lists (such as EasyList).
If it is unavailable, qutebrowser falls back to host-blocking,
i.e. the same blocking technique it used before this release.
As part of this, various settings got renamed, see "Changed"
below.
Note: If the adblock dependency is available, qutebrowser will
ignore custom host blocking via the blocked-hosts config file or
file:/// URLs supplied as host blocking lists. You will need to
either migrate those to ABP-like lists, or set
content.blocking.method to "both".
Note for openSUSE users: The adblock library has not been packaged
yet due to the difficulty of packaging its Rust dependencies.
Removed
* The --enable-webengine-inspector flag (which was only needed for
  Qt 5.10 and below) is now dropped. With Qt 5.11 and newer, the
  inspector/devtools are enabled unconditionally.
* Support for moving qutebrowser data from versions before v1.0.0
  has been removed.
* The --old flag for :config-diff has been removed. It used to show
  customized options for the old pre-v1.0 config files (in order to
  aid migration to v1.0).
* The :inspector command which was deprecated in v1.13.0 (in favor
  of :devtools) is now removed.
Deprecated
* Several commands have been renamed for consistency and/or easier
  grouping of related commands. Their old names are still
  available, but deprecated and will be removed in qutebrowser

OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=102
This commit is contained in:
Mia Herkt 2021-01-28 10:05:48 +00:00 committed by Git OBS Bridge
parent 1ceb1e4e92
commit ab16b5c6f8
6 changed files with 289 additions and 39 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:554c145ff64b1a92d4f53e3c624aaad51baafb7cb5b469bc815ae2e0e1958796
size 4161759

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEE4E5WAAJAG47w528KkW6wyP1VoHIFAl/KjtQACgkQkW6wyP1V
oHKbMw//YJ9WNQdfZKhSJf4g5k+m473bhrV50b0gTYTc974owTMukt+hNs4Iomho
l9ocCuBODk+UDw6iPHkWfxnkQg2gFEBu2qV9DMvYbshfDMotbiqTxyzio5uvm7Mf
0bcijHAnnKwMbzKeMd73zFmrnWUUrK8TzEFPp9+n+a7RXIrt/+RndXagYs4DY1BL
e2NyEKX5ZDmNO4fB7LhReoLs7MWxTs6oZW+NG4YN6RP46p4M0RSfbXepblAWVrQ4
OFMw6DYQH/ywHHLw3Sd0z9RX9ddPcUhW9gGq94VpGZ9ObH7uxl97xHKOhFepL1d5
nBBB8HEbGIiSa7a3hfA619Idn0ZXtc6OZbotYJz6gJXP8RiDkCqFVXgi0tFjXeMv
LpzSyUl3UKZ6k8bhZC2ZqKkk2zUW8tnxVjnbCrKZOnL2++vUj8HVtJCzXWxD0bkC
v2ljM8g2ysb8WWIOAj3M5ecyK8FiucQ1fWvOG176ivWeu+ZED1g+mNahpIwZrMqv
dwv8mVly0GnrPB47JQFkUWtHMcJQRnu4H6xpylDdROvgALE7+c4ls3jjhxVZd9Fp
hcWXKIb4UvG9d5ASQMmzXnHse32maPWHLWmAjP2GAuI9n0wJrkJ7zCl19ZLSq6vb
/7rYbmChMA5f7+FAJGRfAV+AvJAVvMALMt+RSC9wt/g9uRcq+2Y=
=QQYa
-----END PGP SIGNATURE-----

3
qutebrowser-2.0.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bfa1336ec91f3bda946fa2e0634a6931763ae5948e33c3311bd7450fe1fc1c16
size 6181421

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEE4E5WAAJAG47w528KkW6wyP1VoHIFAmASafgACgkQkW6wyP1V
oHLZaQ/+MYsLGIBGVB0Tns/bjn1fNk/qVdrrHHb7ft3aa+L1/rkgMadvczlDYfBB
EwsfJl3FRnwCLsjNptMe8SIoxQDmC3gQW2iN22k1i7LD77pF/IciwMU9Bcp4l806
Mo8xdNAe5IB4eEGg8EYh4neGaM2hHlANlShhJttQKPyT8wE4aCr+GF0vWMpv7AAh
cgvfuabt1d8bfOM2uk9S2VhhBYzduR6fRQTON9GVe30Ni89/wNnmo6Qswn2Cp5ml
fFspqC41WQPP3j86D+KvElxjHOit8CuIRnQV3XsvmPXIFvk29ik4lGk5FXSxJ7HV
XxzYtkkYlstGGSBH7nvOSZkQ+Yxv1mwirclR+akLp5RoJI4REqkpYz12cbOE5qJN
Xoyg99Uu4n8Ih+sWe4KCPmTL5ZFLoplDuZP2sHHNwF49xnL72WfVrrCHYLHKXNHJ
0pPEsBnC5pZ6kmG6rq8UiCpiZECHNlYXi1vfPUMIaJqIUeu5r1bH+1H4zwJdWdxV
aXHxpreW4JrvmZ8QUGECJI5Oet6CDyrXoB+wRxJBz15mADrKNQ6kij/qnbA2mGk4
f3j6GIr285D83pcql+5xNhGqQX73HU67+s2kGbRmEC7W1AXoEeZQM07gQvPkGjQo
MCWWgzSngvDpdSHkSM68fzUep5xeAwUqZQTvoMWL6Zjfi+iXfVM=
=nnjo
-----END PGP SIGNATURE-----

View File

@ -1,3 +1,250 @@
-------------------------------------------------------------------
Thu Jan 28 09:01:57 UTC 2021 - Mia Herkt <mia@0x0.st>
- Update to version 2.0.0
If the Python adblock library is available, it is now used to
integrate Brave's Rust adblocker library for improved adblocking
based on ABP-like filter lists (such as EasyList).
If it is unavailable, qutebrowser falls back to host-blocking,
i.e. the same blocking technique it used before this release.
As part of this, various settings got renamed, see "Changed"
below.
Note: If the adblock dependency is available, qutebrowser will
ignore custom host blocking via the blocked-hosts config file or
file:/// URLs supplied as host blocking lists. You will need to
either migrate those to ABP-like lists, or set
content.blocking.method to "both".
Note for openSUSE users: The adblock library has not been packaged
yet due to the difficulty of packaging its Rust dependencies.
Removed
* The --enable-webengine-inspector flag (which was only needed for
Qt 5.10 and below) is now dropped. With Qt 5.11 and newer, the
inspector/devtools are enabled unconditionally.
* Support for moving qutebrowser data from versions before v1.0.0
has been removed.
* The --old flag for :config-diff has been removed. It used to show
customized options for the old pre-v1.0 config files (in order to
aid migration to v1.0).
* The :inspector command which was deprecated in v1.13.0 (in favor
of :devtools) is now removed.
Deprecated
* Several commands have been renamed for consistency and/or easier
grouping of related commands. Their old names are still
available, but deprecated and will be removed in qutebrowser
v2.1.0.
+ run-macro -> macro-run
+ record-macro -> macro-record
+ buffer -> tab-select
+ open-editor -> edit-text
+ toggle-selection -> selection-toggle
+ drop-selection -> selection-drop
+ reverse-selection -> selection-reverse
+ follow-selected -> selection-follow
+ follow-hint -> hint-follow
+ enter-mode -> mode-enter
+ leave-mode -> mode-leave
Added
* New settings for the ABP-based adblocker:
+ content.blocking.method to decide which blocker(s) should be
used.
+ content.blocking.adblock.lists to configure ABP-like lists to
use.
* New qt.environ setting which makes it easier to set/unset
environment variables for qutebrowser.
* New settings to use an external file picker (such as ranger or
vifm):
+ fileselect.handler (default or external)
+ fileselect.multiple_files.command
+ fileselect.single_file.command
* When QtWebEngine has been updated but PyQtWebEngine hasn't yet,
the dark mode settings might stop working. As a (currently
undocumented) escape hatch, this version adds a
QUTE_DARKMODE_VARIANT=qt_515_2 environment variable which can be
set to get the correct behavior in (transitive) situations like
this.
* New --desktop-file-name commandline argument, which can be used
to customize the desktop filename passed to Qt (which is used to
set the app_id on Wayland).
* The :open completion now also completes local file paths and
file:// URLs, via a new filesystem entry in
completion.open_categories. Also, a new completion.favorite_paths
setting was added which can be used to add paths to show when
:open is used without any input.
* New QUTE_VERSION variable for userscripts, which can be used to
read qutebrowser's version.
* New "Copy URL" entry in the context menu for downloads.
* New :bookmark-list command which lists all bookmarks/quickmarks.
The corresponding qute://bookmarks URL already existed since
v0.8.0, but it was never exposed as a command.
* New qt.workarounds.remove_service_workers setting which can be
used to remove the "Service Workers" directory on every start.
Usage of this option is generally discouraged, except in
situations where the underlying QtWebEngine bug is a known cause
for crashes.
* Changelogs are now shown after qutebrowser was upgraded.
By default, the changelog is only shown after minor upgrades
(feature releases) but not patch releases. This can be adjusted
(or disabled entirely) via a new changelog_after_upgrade setting.
* New userscripts:
+ kodi to play videos in Kodi
+ qr to generate a QR code of the current URL
+ add-nextcloud-bookmarks to create bookmarks in Nextcloud's
Bookmarks app
+ add-nextcloud-cookbook to add recipes to Nextcloud's Cookbook
app
Changed
* config.py files now are required to have either
config.load_autoconfig(False) (don't load autoconfig.yml) or
config.load_autoconfig() (do load autoconfig.yml) in them.
* Various host-blocking settings have been renamed to accomodate
the new ABP-like adblocker:
+ content.host_blocking.enabled -> content.blocking.enabled
(controlling both blockers)
+ content.host_blocking.whitelist -> content.blocking.whitelist
(controlling both blockers)
+ content.host_blocking.lists -> content.blocking.hosts.lists
* Changes to default settings:
+ tabs.background is now true by default, so that new tabs get
opened in the background.
+ input.partial_timeout is now set to 0 by default, so that
partially typed key strings are never cleared.
+ hints.leave_on_load is now false by default, so that hint mode
doesn't get left when a page finishes loading. This can lead to
stale hints persisting in rare circumstances, but is better
than leaving hint mode when the user entered it before loading
was completed.
+ The default for tabs.width (tab bar width if vertical) is now
15% of the window width rather than 20%.
+ The default bindings for moving tabs
(tab-move - and tab-move +) were changed from gl and gr to gK
and gJ, to be consistent with the tab switching bindings.
+ The text color for warning messages is now black instead of
white, for increased contrast and thus readability.
+ The default timeout for messages is now raised from 2s to 3s.
* On the first start, the history completion database is
regenerated to remove a few problematic entries (such as long
qute://pdfjs URLs). This might take a couple of minutes, but is
a one-time operation. This should result in a performance
improvement for the completion for affected users.
* qutebrowser now shows an error if its history database version is
newer than expected. This currently should never happen, but
allows for potentially backwards-incompatible changes in future
versions.
* At least Python 3.6.1 is now required to run qutebrowser, support
for Python 3.5 (and 3.6.0) is dropped. Note that Python 3.5 is
no longer supported upstream since September 2020.
* At least Qt/PyQt 5.12 is now required to run qutebrowser, support
for 5.7 to 5.11 (inclusive) is dropped.
* New optional dependency on the Python adblock library (see above
for details).
* The (formerly optional) cssutils dependency is now removed.
It was only needed for improved behavior in corner cases when
using :download --mhtml with the (non-default) QtWebKit backend,
and as such it's unlikely anyone is still relying on it.
The cssutils project is also dead upstream, with its repository
being gone after Bitbucket removed Mercurial support.
* The (formerly required) pygments dependency is now optional.
It is only used when using :view-source with QtWebKit, or when
forcing it via :view-source --pygments on QtWebEngine. If it is
unavailable, an unhighlighted fallback version of the page's
source is shown.
* The former runtime dependency on the pkg_resources module (part
of the setuptools project) got dropped. Note that setuptools is
still required to run setup.py.
* A new dependency on the importlib_resources module got introduced
for Python versions up to and including 3.8. Note that the stdlib
importlib.resources module for Python 3.7 and 3.8 is missing the
needed APIs, thus requiring the backports for those versions as
well.
* The former dependency on the attrs/attr package is now dropped in
favour of dataclasses in the Python standard library. On Python
3.6, a new dependency on the dataclasses backport is now
required.
* The former dependency on the pypeg2 package is now dropped. This
might cause some changes for certain corner-cases for suggested
filenames when downloading files with the QtWebKit backend.
* The colors.webpage.darkmode.* settings are now also supported
with older Qt versions (Qt 5.12 and 5.13) rather than just with
Qt 5.14 and above.
* For regexes in the config (hints.{prev,next}_regexes), certain
patterns which will change meanings in future Python versions are
now disallowed. This is the case for character sets starting with
a literal [ or containing literal character sequences --, &&, ~~,
or ||. To avoid a warning, remove the duplicate characters or
escape them with a backslash.
* If prompt(..., "default") is used via JS, the default text is now
pre-selected in the prompt shown by qutebrowser.
* URLs such as ::1/foo are now handled as a search term or local
file rather than IPv6. Use [::1]/foo to force parsing as IPv6
instead.
* The mkvenv.py script now runs a "smoke test" after setting up the
virtual environment to ensure it's working as expected. If
necessary, the test can be skipped via a new --skip-smoke-test
flag.
* Both qutebrowser userscripts and Greasemonkey scripts are now
additionally picked up from qutebrowser's config directory
(the userscripts and greasemonkey subdirectories of e.g.
~/.config/qutebrowser/) rather than only the data directory
(the same subdirectories of e.g. ~/.local/share/qutebrowser/).
* The :later command now understands a time specification like 5m
or 1h5m2s, rather than just taking milliseconds.
* The importer.py script doesn't use a browser argument anymore;
instead its --input-format switch can be used to configure the
input format. The help also was expanded to explain how to use
it properly.
* If tabs.tabs_are_windows is set, the tabs.last_close setting is
now ignored and the window is always closed when using
:close (d).
* With the (default) QtWebEngine backend, if a custom accept header
is set via content.headers.custom, the custom value is now
ignored for XHR (XMLHttpRequest) requests. Instead, the sent
value is now */* or the header set from JavaScript, as it would
be if content.headers.custom wasn't set.
* The :tab-select completion now shows the underlying renderer
process PID if doing so is supported (on QtWebEngine 5.15).
* If tabs.favicons.show is set to never, favicons aren't
unnecessarily downloaded anymore. Thus, disabling favicons can
help with a possible fingerprinting vector.
* "Super" is now understood as a modifier (i.e. as alias to
"Meta").
* Initial support for Python 3.10 (currently in Alpha stage).
* Various performance improvements, including for the startup time.
Fixed
* With interpolated color settings (colors.tabs.indicator.* and
colors.downloads.*), the alpha channel is now handled correctly.
* Fixes to userscripts:
+ format_json now uses env in its shebang, making it work
correctly on systems where bash isn't located in /bin.
+ qute-pass now handles the MIME output format introduced in
gopass 1.10.0.
+ qute-lastpass now types multiple < or > characters correctly.
* The :undo completion now sorts its entries correctly (by the
numerical index rather than lexicographically).
* The completion.web_history.ignore setting now works properly when
set in config.py (rather than via :set). Additionally, a
:config-source will not result in a history rebuild if the value
wasn't actually changed.
* When downloading a data: URL, the suggested filename is now
improved and contains a proper extension. Before this fix,
qutebrowser would use the URL's data contents as filename with
QtWebEngine; or "binary blob" with the Qt network stack.
* When :tab-only is run before a tab is available, an error is now
shown instead of crashing.
* A couple of long URLs (such as qute://pdfjs URLs) are now not
added to the history database anymore.
* A bug in QtWebEngine 5.15.2 causes "renderer process killed"
errors on websites like LinkedIn and TradingView. There is now a
workaround in qutebrowser to prevent this from happening.
* Nextcloud Calendars started using String.replaceAll which was
only added to Chromium recently (Chrome 85), so won't work with
current QtWebEngine versions. This release includes a workaround
(a polyfill as a site-specific-quirk).
-------------------------------------------------------------------
Sun Dec 6 08:23:53 UTC 2020 - Mia Herkt <mia@0x0.st>

View File

@ -1,7 +1,7 @@
#
# spec file for package qutebrowser
#
# Copyright (c) 2020 SUSE LLC
# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -17,7 +17,7 @@
Name: qutebrowser
Version: 1.14.1
Version: 2.0.0
Release: 0
Summary: Keyboard-driven vim-like browser based on Qt5
License: GPL-3.0-or-later
@ -29,41 +29,44 @@ Source2: %{name}.keyring
BuildRequires: asciidoc
BuildRequires: fdupes
BuildRequires: hicolor-icon-theme
BuildRequires: python >= 3.6.1
BuildRequires: python3-Jinja2
BuildRequires: python3-MarkupSafe
BuildRequires: python3-PyYAML
BuildRequires: python3-Pygments
BuildRequires: python3-attrs
BuildRequires: python3-devel >= 3.6
BuildRequires: python3-pyPEG2
BuildRequires: python3-qt5 >= 5.2
%if 0%{suse_version} >= 1550
BuildRequires: python3-qt5-sip
%else
BuildRequires: python3-sip
%endif
BuildRequires: python3-qt5 >= 5.12
BuildRequires: python3-setuptools
Requires: libqt5-sql-sqlite
Requires: python3-Jinja2
Requires: python3-MarkupSafe
Requires: python3-PyYAML
Requires: python3-Pygments
Requires: python3-attrs
Requires: python3-opengl
Requires: python3-pyPEG2
Requires: python3-qt5 >= 5.2
Requires: python3-qt5 >= 5.12
Recommends: python3-Pygments
Recommends: python3-adblock
BuildArch: noarch
%if 0%{?suse_version} >= 1550
BuildRequires: python3-qt5-sip
%else
BuildRequires: python3-sip
%endif
%if 0%{?suse_version} > 1500
Requires: python3-qtwebengine-qt5
%endif
%if 0%{suse_version} >= 1550
%if 0%{?suse_version} >= 1550
Requires: python3-qt5-sip
%else
Requires: python3-sip
%endif
Recommends: python3-cssutils
BuildArch: noarch
%if 0%{?suse_version} <= 1320
BuildRequires: update-desktop-files
%endif
%if %{python3_version_nodots} <= 38
Requires: python3-importlib-resources
%endif
%if %{python3_version_nodots} == 36
Requires: python3-dataclasses
%endif
%description
qutebrowser is a keyboard-focused browser with a minimal GUI.
@ -72,11 +75,11 @@ It's based on PyQt5 and can use either QtWebEngine or QtWebKit.
%prep
%setup -q
sed -i '1d' %{name}/__main__.py
sed -i 's,^#!/usr/bin/env ,#!/usr/bin/,' \
sed -i 's,^#!/usr/bin/env ,#!%{_bindir}/,' \
misc/userscripts/* \
scripts/*.py
sed -i 's,^#!/usr/bin/bash,#!/bin/bash,' \
misc/userscripts/*
misc/userscripts/*
mv misc/Makefile .
%build