Compare commits

...

7 Commits
main ... v3.5.1

Author SHA1 Message Date
qutebrowser bot be7cf1ab15 Release v3.5.1 2025-06-05 14:55:01 +00:00
Florian Bruhin f58f9166ea Update changelog from main 2025-06-05 16:53:09 +02:00
Florian Bruhin 1380105c1e Update user agents
(cherry picked from commit 1217f7fa45)
2025-06-05 16:38:33 +02:00
Florian Bruhin 6dd2143592 tests: Ignore test_restart hang on Windows
(cherry picked from commit c1e7b6e8f3)
2025-06-05 15:10:35 +02:00
Florian Bruhin fbe0277024 tests: Ignore another bogus Chromium log message
(cherry picked from commit 2e343403de)
2025-06-05 15:10:35 +02:00
Florian Bruhin 69ca8f571f Merge branch 'main' into v3.5.x
We only had bugfixes merged so far, so this is easier than cherry-picking
things.
2025-06-05 14:22:55 +02:00
Florian Bruhin 9068a1172b userscripts: Properly avoid tldextract warning
The previous fix in 3dc212a815 was insufficient,
as the inner `getattr(extract_result, "registered_domain")` was always evaluated
first (thus triggering the deprecation warning again).

We also cannot do:

    getattr(extract_result, "top_domain_under_public_suffix", None) or extract_result.registered_domain

as `""` is a valid value for it.

(cherry picked from commit f9933d2f3e)
2025-04-17 11:14:15 +02:00
8 changed files with 25 additions and 18 deletions

View File

@ -1,5 +1,5 @@
[tool.bumpversion]
current_version = "3.5.0"
current_version = "3.5.1"
commit = true
message = "Release v{new_version}"
tag = true

View File

@ -16,7 +16,7 @@ breaking changes (such as renamed commands) can happen in minor releases.
// `Security` to invite users to upgrade in case of vulnerabilities.
[[v3.5.1]]
v3.5.1 (unreleased)
v3.5.1 (2025-06-05)
-------------------
Deprecated

View File

@ -44,6 +44,7 @@
</content_rating>
<releases>
<!-- Add new releases here -->
<release version='3.5.1' date='2025-06-05'/>
<release version='3.5.0' date='2025-04-12'/>
<release version="3.4.0" date="2024-12-14"/>
<release version="3.3.1" date="2024-10-12"/>

View File

@ -14,7 +14,7 @@ __copyright__ = "Copyright 2013-{} Florian Bruhin (The Compiler)".format(_year)
__license__ = "GPL-3.0-or-later"
__maintainer__ = __author__
__email__ = "mail@qutebrowser.org"
__version__ = "3.5.0"
__version__ = "3.5.1"
__version_info__ = tuple(int(part) for part in __version__.split('.'))
__description__ = "A keyboard-driven, vim-like browser based on Python and Qt."

View File

@ -506,7 +506,7 @@ def _init_site_specific_quirks():
# "{qt_key}/{qt_version} "
# "{upstream_browser_key}/{upstream_browser_version_short} "
# "Safari/{webkit_version}")
firefox_ua = "Mozilla/5.0 ({os_info}; rv:136.0) Gecko/20100101 Firefox/136.0"
firefox_ua = "Mozilla/5.0 ({os_info}; rv:136.0) Gecko/20100101 Firefox/139.0"
def maybe_newer_chrome_ua(at_least_version):
"""Return a new UA if our current chrome version isn't at least at_least_version."""

View File

@ -772,14 +772,14 @@ content.headers.user_agent:
# Vim-protip: Place your cursor below this comment and run
# :r!python scripts/dev/ua_fetch.py
- - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36"
- Chrome 135 macOS
(KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36"
- Chrome 137 macOS
- - "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/135.0.0.0 Safari/537.36"
- Chrome 135 Win10
like Gecko) Chrome/137.0.0.0 Safari/537.36"
- Chrome 137 Win10
- - "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/135.0.0.0 Safari/537.36"
- Chrome 135 Linux
Gecko) Chrome/137.0.0.0 Safari/537.36"
- Chrome 137 Linux
supports_pattern: true
desc: |
User agent to send.

View File

@ -249,6 +249,10 @@ def is_ignored_chromium_message(line):
# Qt 6.9 Beta 3 on GitHub Actions
# [978:1041:0311/070551.759339:ERROR:bus.cc(407)]
"Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory",
# Qt 6.9 on GitHub Actions with Windows Server 2025
# [4348:7828:0605/123815.402:ERROR:shared_image_manager.cc(356)]
"SharedImageManager::ProduceMemory: Trying to Produce a Memory representation from a non-existent mailbox.",
]
return any(testutils.pattern_match(pattern=pattern, value=message)
for pattern in ignored_messages)

View File

@ -1039,11 +1039,13 @@ def test_restart(request, quteproc_new):
pid = int(line.message.removeprefix(prefix))
os.kill(pid, signal.SIGTERM)
try:
# If the new process hangs, this will hang too.
# Still better than just ignoring it, so we can fix it if something is broken.
os.waitpid(pid, 0) # pid, options... positional-only :(
except (ChildProcessError, PermissionError):
# Already gone. Even if not documented, Windows seems to raise PermissionError
# here...
pass
# This often hangs on Windows for unknown reasons
if not utils.is_windows:
try:
# If the new process hangs, this will hang too.
# Still better than just ignoring it, so we can fix it if something is broken.
os.waitpid(pid, 0) # pid, options... positional-only :(
except (ChildProcessError, PermissionError):
# Already gone. Even if not documented, Windows seems to raise PermissionError
# here...
pass