Merge branch 'qutebrowser:main' into feature_contexthinter

This commit is contained in:
mkonig 2026-01-05 15:43:43 +01:00 committed by GitHub
commit 5fa3a3a851
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
19 changed files with 44 additions and 31 deletions

View File

@ -48,7 +48,7 @@ jobs:
shell: bash shell: bash
if: failure() if: failure()
- name: Upload screenshots - name: Upload screenshots
uses: actions/upload-artifact@v5 uses: actions/upload-artifact@v6
with: with:
name: "end2end-screenshots-${{ steps.info.outputs.date }}-${{ steps.info.outputs.sha_short }}-${{ matrix.image }}" name: "end2end-screenshots-${{ steps.info.outputs.date }}-${{ steps.info.outputs.sha_short }}-${{ matrix.image }}"
path: | path: |

View File

@ -37,7 +37,7 @@ jobs:
- uses: actions/checkout@v6 - uses: actions/checkout@v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/cache@v4 - uses: actions/cache@v5
with: with:
path: | path: |
.mypy_cache .mypy_cache
@ -121,7 +121,7 @@ jobs:
shell: bash shell: bash
if: failure() if: failure()
- name: Upload screenshots - name: Upload screenshots
uses: actions/upload-artifact@v5 uses: actions/upload-artifact@v6
with: with:
name: "end2end-screenshots-${{ steps.info.outputs.date }}-${{ steps.info.outputs.sha_short }}-${{ matrix.image }}" name: "end2end-screenshots-${{ steps.info.outputs.date }}-${{ steps.info.outputs.sha_short }}-${{ matrix.image }}"
path: | path: |
@ -220,7 +220,7 @@ jobs:
- uses: actions/checkout@v6 - uses: actions/checkout@v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/cache@v4 - uses: actions/cache@v5
with: with:
path: | path: |
.mypy_cache .mypy_cache
@ -269,7 +269,7 @@ jobs:
shell: bash shell: bash
if: failure() if: failure()
- name: Upload screenshots - name: Upload screenshots
uses: actions/upload-artifact@v5 uses: actions/upload-artifact@v6
with: with:
name: "end2end-screenshots-${{ steps.info.outputs.date }}-${{ steps.info.outputs.sha_short }}-${{ matrix.testenv }}-${{ matrix.os }}" name: "end2end-screenshots-${{ steps.info.outputs.date }}-${{ steps.info.outputs.sha_short }}-${{ matrix.testenv }}-${{ matrix.os }}"
path: | path: |

View File

@ -72,7 +72,7 @@ jobs:
echo "sha_short=$(git rev-parse --short HEAD)" >> "$GITHUB_OUTPUT" echo "sha_short=$(git rev-parse --short HEAD)" >> "$GITHUB_OUTPUT"
shell: bash shell: bash
- name: Upload artifacts - name: Upload artifacts
uses: actions/upload-artifact@v5 uses: actions/upload-artifact@v6
with: with:
name: "qutebrowser-nightly-${{ steps.info.outputs.date }}-${{ steps.info.outputs.sha_short }}-${{ matrix.name }}" name: "qutebrowser-nightly-${{ steps.info.outputs.date }}-${{ steps.info.outputs.sha_short }}-${{ matrix.name }}"
path: | path: |

View File

@ -41,7 +41,7 @@ jobs:
- name: Run qutebrowser smoke test - name: Run qutebrowser smoke test
run: "xvfb-run .venv/bin/python3 -m qutebrowser --no-err-windows --nowindow --temp-basedir about:blank ':later 500 quit'" run: "xvfb-run .venv/bin/python3 -m qutebrowser --no-err-windows --nowindow --temp-basedir about:blank ':later 500 quit'"
- name: Create pull request - name: Create pull request
uses: peter-evans/create-pull-request@v7 uses: peter-evans/create-pull-request@v8
with: with:
committer: qutebrowser bot <bot@qutebrowser.org> committer: qutebrowser bot <bot@qutebrowser.org>
author: qutebrowser bot <bot@qutebrowser.org> author: qutebrowser bot <bot@qutebrowser.org>

View File

@ -15,6 +15,17 @@ breaking changes (such as renamed commands) can happen in minor releases.
// `Fixed` for any bug fixes. // `Fixed` for any bug fixes.
// `Security` to invite users to upgrade in case of vulnerabilities. // `Security` to invite users to upgrade in case of vulnerabilities.
[[v3.6.4]]
v3.6.4 (unreleased)
-------------------
Fixed
~~~~~
- datalist dropdowns not opening correctly on Wayland/Sway (#8831).
This was caused by an old workaround for a different QtWebEngine issue,
which is now disabled for QtWebEngine 6.6.3 and newer.
[[v3.6.3]] [[v3.6.3]]
v3.6.3 (2025-11-30) v3.6.3 (2025-11-30)
------------------- -------------------

View File

@ -1,12 +1,12 @@
# This file is automatically generated by scripts/dev/recompile_requirements.py # This file is automatically generated by scripts/dev/recompile_requirements.py
annotated-types==0.7.0 annotated-types==0.7.0
anyio==4.11.0 anyio==4.12.0
autocommand==2.2.2 autocommand==2.2.2
backports.tarfile==1.2.0 backports.tarfile==1.2.0
bracex==2.6 bracex==2.6
build==1.3.0 build==1.3.0
bump-my-version==1.2.4 bump-my-version==1.2.5
certifi==2025.11.12 certifi==2025.11.12
cffi==2.0.0 cffi==2.0.0
charset-normalizer==3.4.4 charset-normalizer==3.4.4
@ -47,7 +47,7 @@ Pygments==2.19.2
PyJWT==2.10.1 PyJWT==2.10.1
Pympler==1.1 Pympler==1.1
pyproject_hooks==1.2.0 pyproject_hooks==1.2.0
PyQt-builder==1.19.0 PyQt-builder==1.19.1
python-dateutil==2.9.0.post0 python-dateutil==2.9.0.post0
python-dotenv==1.2.1 python-dotenv==1.2.1
questionary==2.1.1 questionary==2.1.1
@ -60,7 +60,6 @@ rich-click==1.9.4
SecretStorage==3.3.3 SecretStorage==3.3.3
sip==6.14.0 sip==6.14.0
six==1.17.0 six==1.17.0
sniffio==1.3.1
tomli==2.3.0 tomli==2.3.0
tomlkit==0.13.3 tomlkit==0.13.3
twine==6.2.0 twine==6.2.0
@ -68,7 +67,7 @@ typeguard==4.3.0
typing-inspection==0.4.2 typing-inspection==0.4.2
typing_extensions==4.15.0 typing_extensions==4.15.0
uritemplate==4.2.0 uritemplate==4.2.0
# urllib3==2.5.0 # urllib3==2.6.2
wcmatch==10.1 wcmatch==10.1
wcwidth==0.2.14 wcwidth==0.2.14
zipp==3.23.0 zipp==3.23.0

View File

@ -1,11 +1,12 @@
# This file is automatically generated by scripts/dev/recompile_requirements.py # This file is automatically generated by scripts/dev/recompile_requirements.py
chardet==5.2.0 chardet==5.2.0
diff_cover==9.7.2 diff_cover==10.0.0
Jinja2==3.1.6 Jinja2==3.1.6
librt==0.7.3
lxml==6.0.2 lxml==6.0.2
MarkupSafe==3.0.3 MarkupSafe==3.0.3
mypy==1.18.2 mypy==1.19.0
mypy_extensions==1.1.0 mypy_extensions==1.1.0
pathspec==0.12.1 pathspec==0.12.1
pluggy==1.6.0 pluggy==1.6.0

View File

@ -24,5 +24,5 @@ tomli==2.3.0
tomlkit==0.13.3 tomlkit==0.13.3
typing_extensions==4.15.0 typing_extensions==4.15.0
uritemplate==4.2.0 uritemplate==4.2.0
# urllib3==2.5.0 # urllib3==2.6.2
zipp==3.23.0 zipp==3.23.0

View File

@ -1,6 +1,6 @@
# This file is automatically generated by scripts/dev/recompile_requirements.py # This file is automatically generated by scripts/dev/recompile_requirements.py
PyQt6==6.10.0 PyQt6==6.10.1
PyQt6-Qt6==6.10.1 PyQt6-Qt6==6.10.1
PyQt6-WebEngine==6.10.0 PyQt6-WebEngine==6.10.0
PyQt6-WebEngine-Qt6==6.10.1 PyQt6-WebEngine-Qt6==6.10.1

View File

@ -1,6 +1,6 @@
# This file is automatically generated by scripts/dev/recompile_requirements.py # This file is automatically generated by scripts/dev/recompile_requirements.py
PyQt6==6.10.0 PyQt6==6.10.1
PyQt6-Qt6==6.10.1 PyQt6-Qt6==6.10.1
PyQt6-WebEngine==6.10.0 PyQt6-WebEngine==6.10.0
PyQt6-WebEngine-Qt6==6.10.1 PyQt6-WebEngine-Qt6==6.10.1

View File

@ -1,6 +1,6 @@
# This file is automatically generated by scripts/dev/recompile_requirements.py # This file is automatically generated by scripts/dev/recompile_requirements.py
PyQt6==6.10.0 PyQt6==6.10.1
PyQt6-Qt6==6.10.1 PyQt6-Qt6==6.10.1
PyQt6-WebEngine==6.10.0 PyQt6-WebEngine==6.10.0
PyQt6-WebEngine-Qt6==6.10.1 PyQt6-WebEngine-Qt6==6.10.1

View File

@ -10,9 +10,9 @@ importlib_metadata==8.7.0
packaging==25.0 packaging==25.0
Pygments==2.19.2 Pygments==2.19.2
pyproject_hooks==1.2.0 pyproject_hooks==1.2.0
pyroma==5.0 pyroma==5.0.1
requests==2.32.5 requests==2.32.5
tomli==2.3.0 tomli==2.3.0
trove-classifiers==2025.11.14.15 trove-classifiers==2025.12.1.14
urllib3==2.5.0 urllib3==2.6.2
zipp==3.23.0 zipp==3.23.0

View File

@ -22,5 +22,5 @@ sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==2.0.0 sphinxcontrib-qthelp==2.0.0
sphinxcontrib-serializinghtml==2.0.0 sphinxcontrib-serializinghtml==2.0.0
tomli==2.3.0 tomli==2.3.0
urllib3==2.5.0 urllib3==2.6.2
zipp==3.23.0 zipp==3.23.0

View File

@ -3,7 +3,7 @@
attrs==25.4.0 attrs==25.4.0
autocommand==2.2.2 autocommand==2.2.2
backports.tarfile==1.2.0 backports.tarfile==1.2.0
beautifulsoup4==4.14.2 beautifulsoup4==4.14.3
blinker==1.9.0 blinker==1.9.0
certifi==2025.11.12 certifi==2025.11.12
charset-normalizer==3.4.4 charset-normalizer==3.4.4
@ -61,7 +61,7 @@ tldextract==5.3.0
tomli==2.3.0 tomli==2.3.0
typeguard==4.3.0 typeguard==4.3.0
typing_extensions==4.15.0 typing_extensions==4.15.0
urllib3==2.5.0 urllib3==2.6.2
vulture==2.14 vulture==2.14
Werkzeug==3.1.3 Werkzeug==3.1.4
zipp==3.23.0 zipp==3.23.0

View File

@ -1,6 +1,6 @@
# This file is automatically generated by scripts/dev/recompile_requirements.py # This file is automatically generated by scripts/dev/recompile_requirements.py
cachetools==6.2.2 cachetools==6.2.3
chardet==5.2.0 chardet==5.2.0
colorama==0.4.6 colorama==0.4.6
distlib==0.4.0 distlib==0.4.0

View File

@ -10,7 +10,7 @@ from qutebrowser.qt.gui import QKeyEvent
from qutebrowser.qt.widgets import QWidget from qutebrowser.qt.widgets import QWidget
from qutebrowser.config import config from qutebrowser.config import config
from qutebrowser.utils import log, message, usertypes, qtutils from qutebrowser.utils import log, message, usertypes, qtutils, version, utils
from qutebrowser.keyinput import modeman, keyutils from qutebrowser.keyinput import modeman, keyutils
@ -55,16 +55,16 @@ class ChildEventFilter(QObject):
# - This is a child event filter on a tab (self._widget is not None) # - This is a child event filter on a tab (self._widget is not None)
# - We find an old existing child which is a QQuickWidget and is # - We find an old existing child which is a QQuickWidget and is
# currently focused. # currently focused.
# - We're using QtWebEngine >= 6.4 (older versions are not affected) # - We're using an affected QtWebEngine version
children = [ children = [
c for c in self._widget.findChildren( c for c in self._widget.findChildren(
QWidget, "", Qt.FindChildOption.FindDirectChildrenOnly) QWidget, "", Qt.FindChildOption.FindDirectChildrenOnly)
if c is not child and if c is not child and
c.hasFocus() and c.hasFocus() and
c.metaObject() is not None and c.metaObject() is not None and
c.metaObject().className() == "QQuickWidget" c.metaObject().className() == "QQuickWidget" # Qt 6.4+
] ]
if children: if children and version.qtwebengine_versions().webengine < utils.VersionNumber(6, 6, 3):
log.misc.debug("Focusing new child") log.misc.debug("Focusing new child")
child.setFocus() child.setFocus()

View File

@ -23,6 +23,7 @@ import datetime
from typing import NoReturn from typing import NoReturn
try: try:
import tkinter import tkinter
import tkinter.messagebox
except ImportError: except ImportError:
tkinter = None # type: ignore[assignment] tkinter = None # type: ignore[assignment]

View File

@ -654,6 +654,7 @@ class WebEngineVersions:
utils.VersionNumber(6, 9): (_BASES[130], '133.0.6943.141'), # 2025-02-25 utils.VersionNumber(6, 9): (_BASES[130], '133.0.6943.141'), # 2025-02-25
utils.VersionNumber(6, 9, 1): (_BASES[130], '136.0.7103.114'), # 2025-05-13 utils.VersionNumber(6, 9, 1): (_BASES[130], '136.0.7103.114'), # 2025-05-13
utils.VersionNumber(6, 9, 2): (_BASES[130], '139.0.7258.67'), # 2025-07-29 utils.VersionNumber(6, 9, 2): (_BASES[130], '139.0.7258.67'), # 2025-07-29
utils.VersionNumber(6, 9, 3): (_BASES[130], '140.0.7339.207'), # 2025-09-22
## Qt 6.10 ## Qt 6.10
utils.VersionNumber(6, 10): (_BASES[134], '140.0.7339.207'), # 2025-09-22 utils.VersionNumber(6, 10): (_BASES[134], '140.0.7339.207'), # 2025-09-22

View File

@ -23,6 +23,7 @@
"Mako": "https://docs.makotemplates.org/en/latest/changelog.html", "Mako": "https://docs.makotemplates.org/en/latest/changelog.html",
"hypothesis": "https://hypothesis.readthedocs.io/en/latest/changes.html", "hypothesis": "https://hypothesis.readthedocs.io/en/latest/changes.html",
"mypy": "https://github.com/python/mypy/blob/master/CHANGELOG.md", "mypy": "https://github.com/python/mypy/blob/master/CHANGELOG.md",
"librt": "https://github.com/mypyc/librt/commits/master/",
"types-PyYAML": "https://github.com/python/typeshed/commits/main/stubs/PyYAML", "types-PyYAML": "https://github.com/python/typeshed/commits/main/stubs/PyYAML",
"types-colorama": "https://github.com/python/typeshed/commits/main/stubs/colorama", "types-colorama": "https://github.com/python/typeshed/commits/main/stubs/colorama",
"types-docutils": "https://github.com/python/typeshed/commits/main/stubs/docutils", "types-docutils": "https://github.com/python/typeshed/commits/main/stubs/docutils",
@ -101,7 +102,6 @@
"h11": "https://h11.readthedocs.io/en/latest/changes.html", "h11": "https://h11.readthedocs.io/en/latest/changes.html",
"httpcore": "https://github.com/encode/httpcore/blob/master/CHANGELOG.md", "httpcore": "https://github.com/encode/httpcore/blob/master/CHANGELOG.md",
"httpx": "https://github.com/encode/httpx/blob/master/CHANGELOG.md", "httpx": "https://github.com/encode/httpx/blob/master/CHANGELOG.md",
"sniffio": "https://sniffio.readthedocs.io/en/latest/history.html",
"six": "https://github.com/benjaminp/six/blob/master/CHANGES", "six": "https://github.com/benjaminp/six/blob/master/CHANGES",
"altgraph": "https://github.com/ronaldoussoren/altgraph/blob/master/doc/changelog.rst", "altgraph": "https://github.com/ronaldoussoren/altgraph/blob/master/doc/changelog.rst",
"urllib3": "https://github.com/urllib3/urllib3/blob/main/CHANGES.rst", "urllib3": "https://github.com/urllib3/urllib3/blob/main/CHANGES.rst",