Compare commits

...

10 Commits
main ... v3.2.1

Author SHA1 Message Date
qutebrowser bot 8cb4556245 Release v3.2.1 2024-06-25 09:07:51 +00:00
Florian Bruhin 21ee2d093a Build separate Apple Silicon release
With GitHub Actions now providing macOS 14 runners with M1 chips, we can
build a separate Apple Silicon release there and upload it.

Universal wheels are currently not possible, see #8229 for details.

Closes #6478

(cherry picked from commit 27164d0d6e)
2024-06-25 10:41:34 +02:00
Florian Bruhin 06f77d18d2 Update changelog from main 2024-06-25 10:41:13 +02:00
Florian Bruhin 96ce299f3c Update changelog from main 2024-06-25 10:07:23 +02:00
Florian Bruhin a41c14412b Update to Qt 6.7.2 2024-06-25 10:04:22 +02:00
Florian Bruhin f716467cb9 Update Chromium version information
(cherry picked from commit 3221e6ca49)
2024-06-25 08:52:53 +02:00
Bernhard M. Wiedemann 6e22ec67b1 Fix tests after year 2036
Background:
As part of my work on reproducible builds for openSUSE, I check that software still gives identical build results in the future.
The usual offset is +16 years, because that is how long I expect some software will be used in some places.
This showed up failing tests in our package build.
See https://reproducible-builds.org/ for why this matters.

(cherry picked from commit 8bacbad1d6)
2024-06-25 08:52:53 +02:00
Florian Bruhin a6736dd0f4 Fix earlyinit with no Qt available
We need to wait with init_qtlog until after we know we have Qt available.

Closes #8220

(cherry picked from commit 1e1af23d34)
2024-06-04 22:32:22 +02:00
Florian Bruhin a8a84b81d1 Update user agent completions in config
(cherry picked from commit 60f5ce153a)
2024-06-04 22:28:22 +02:00
Florian Bruhin 649aac0c11 scripts: Update data link for ua_fetch.py
Same developer, just repo moved apparently

(cherry picked from commit 79942fa466)
2024-06-04 22:28:22 +02:00
16 changed files with 82 additions and 26 deletions

View File

@ -1,5 +1,5 @@
[bumpversion]
current_version = 3.2.0
current_version = 3.2.1
commit = True
message = Release v{new_version}
tag = True

View File

@ -183,6 +183,11 @@ jobs:
os: macos-12
python: "3.12"
args: "tests/unit" # Only run unit tests on macOS
### macOS Sonoma (M1 runner)
- testenv: py312-pyqt67
os: macos-14
python: "3.12"
args: "tests/unit" # Only run unit tests on macOS
### Windows
- testenv: py312-pyqt67
os: windows-2019

View File

@ -30,14 +30,20 @@ jobs:
name: qt5-windows-debug
- os: macos-11
toxenv: build-release
name: macos
name: macos-intel
- os: macos-14
toxenv: build-release
name: macos-apple-silicon
- os: windows-2019
toxenv: build-release
name: windows
- os: macos-11
args: --debug
toxenv: build-release
name: macos-debug
name: macos-debug-intel
- os: macos-14
toxenv: build-release
name: macos-debug-apple-silicon
- os: windows-2019
args: --debug
toxenv: build-release

View File

@ -127,6 +127,7 @@ jobs:
matrix:
include:
- os: macos-11
- os: macos-14
- os: windows-2019
- os: ubuntu-20.04
runs-on: "${{ matrix.os }}"

View File

@ -15,6 +15,38 @@ breaking changes (such as renamed commands) can happen in minor releases.
// `Fixed` for any bug fixes.
// `Security` to invite users to upgrade in case of vulnerabilities.
[[v3.3.0]]
v3.3.0 (2024-06-25)
-------------------
Added
~~~~~
- There is now a separate macOS release built for Apple Silicon. A Universal
Binary might follow with a later release.
[[v3.2.1]]
v3.2.1 (2024-06-25)
-------------------
Added
~~~~~
- There is now a separate macOS release built for Apple Silicon. A Universal
Binary might follow with a later release.
Changed
~~~~~~~
- Windows and macOS releases now bundle Qt 6.7.2, which includes security fixes
up to Chromium 125.0.6422.142.
Fixed
~~~~~
- When the selected Qt wrapper is unavailable, qutebrowser now again shows a
GUI error message instead of only an exception in the terminal.
[[v3.2.0]]
v3.2.0 (2024-06-03)
-------------------

View File

@ -44,6 +44,7 @@
</content_rating>
<releases>
<!-- Add new releases here -->
<release version="3.2.1" date="2024-06-25"/>
<release version="3.2.0" date="2024-06-03"/>
<release version="3.1.0" date="2023-12-08"/>
<release version="3.0.2" date="2023-10-19"/>

View File

@ -1,8 +1,8 @@
# This file is automatically generated by scripts/dev/recompile_requirements.py
PyQt6==6.7.0
PyQt6-Qt6==6.7.1
PyQt6-Qt6==6.7.2
PyQt6-sip==13.6.0
PyQt6-WebEngine==6.7.0
PyQt6-WebEngine-Qt6==6.7.1
PyQt6-WebEngineSubwheel-Qt6==6.7.1
PyQt6-WebEngine-Qt6==6.7.2
PyQt6-WebEngineSubwheel-Qt6==6.7.2

View File

@ -1,8 +1,8 @@
# This file is automatically generated by scripts/dev/recompile_requirements.py
PyQt6==6.7.0
PyQt6-Qt6==6.7.1
PyQt6-Qt6==6.7.2
PyQt6-sip==13.6.0
PyQt6-WebEngine==6.7.0
PyQt6-WebEngine-Qt6==6.7.1
PyQt6-WebEngineSubwheel-Qt6==6.7.1
PyQt6-WebEngine-Qt6==6.7.2
PyQt6-WebEngineSubwheel-Qt6==6.7.2

View File

@ -1,8 +1,8 @@
# This file is automatically generated by scripts/dev/recompile_requirements.py
PyQt6==6.7.0
PyQt6-Qt6==6.7.1
PyQt6-Qt6==6.7.2
PyQt6-sip==13.6.0
PyQt6-WebEngine==6.7.0
PyQt6-WebEngine-Qt6==6.7.1
PyQt6-WebEngineSubwheel-Qt6==6.7.1
PyQt6-WebEngine-Qt6==6.7.2
PyQt6-WebEngineSubwheel-Qt6==6.7.2

View File

@ -14,7 +14,7 @@ __copyright__ = "Copyright 2013-{} Florian Bruhin (The Compiler)".format(_year)
__license__ = "GPL"
__maintainer__ = __author__
__email__ = "mail@qutebrowser.org"
__version__ = "3.2.0"
__version__ = "3.2.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

@ -755,14 +755,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/117.0.0.0 Safari/537.36"
- Chrome 117 macOS
(KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36"
- Chrome 125 macOS
- - "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/117.0.0.0 Safari/537.36"
- Chrome 117 Win10
like Gecko) Chrome/125.0.0.0 Safari/537.36"
- Chrome 125 Win10
- - "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/117.0.0.0 Safari/537.36"
- Chrome 117 Linux
Gecko) Chrome/125.0.0.0 Safari/537.36"
- Chrome 125 Linux
supports_pattern: true
desc: |
User agent to send.

View File

@ -337,11 +337,11 @@ def early_init(args):
init_faulthandler()
# Then we configure the selected Qt wrapper
info = machinery.init(args)
# Init Qt logging after machinery is initialized
init_qtlog(args)
# Here we check if QtCore is available, and if not, print a message to the
# console or via Tk.
check_qt_available(info)
# Init Qt logging after machinery is initialized
init_qtlog(args)
# Now we can be sure QtCore is available, so we can print dialogs on
# errors, so people only using the GUI notice them as well.
check_libraries()

View File

@ -548,6 +548,7 @@ class WebEngineVersions:
108: '108.0.5359.220', # ~2022-12-23
112: '112.0.5615.213', # ~2023-04-18
118: '118.0.5993.220', # ~2023-10-24
# 122: '122.?.????.???', # ~2024-??-??
}
_CHROMIUM_VERSIONS: ClassVar[Dict[utils.VersionNumber, Tuple[str, Optional[str]]]] = {
@ -626,6 +627,10 @@ class WebEngineVersions:
## Qt 6.7
utils.VersionNumber(6, 7): (_BASES[118], '122.0.6261.128'), # 2024-03-12
utils.VersionNumber(6, 7, 1): (_BASES[118], '124.0.6367.202'), # ~2024-05-09
utils.VersionNumber(6, 7, 2): (_BASES[118], '125.0.6422.142'), # 2024-05-30
## Qt 6.8
# utils.VersionNumber(6, 8): (_BASES[122], '???'), # 2024-03-12
}
def __post_init__(self) -> None:

View File

@ -16,6 +16,7 @@ import subprocess
import argparse
import tarfile
import tempfile
import platform
import collections
import dataclasses
import re
@ -301,8 +302,10 @@ def build_mac(
dmg_makefile_path = REPO_ROOT / "scripts" / "dev" / "Makefile-dmg"
subprocess.run(['make', '-f', dmg_makefile_path], check=True)
arch = platform.machine()
suffix = "-debug" if debug else ""
suffix += "-qt5" if qt5 else ""
suffix += f"-{arch}"
dmg_path = dist_path / f'qutebrowser-{qutebrowser.__version__}{suffix}.dmg'
pathlib.Path('qutebrowser.dmg').rename(dmg_path)
@ -322,11 +325,14 @@ def build_mac(
except PermissionError as e:
print(f"Failed to remove tempdir: {e}")
arch_to_desc = {"x86_64": "Intel", "arm64": "Apple Silicon"}
desc_arch = arch_to_desc[arch]
return [
Artifact(
path=dmg_path,
mimetype='application/x-apple-diskimage',
description='macOS .dmg'
description=f'macOS .dmg ({desc_arch})'
)
]

View File

@ -7,7 +7,7 @@
"""Fetch and print the most common user agents.
This script fetches the most common user agents according to
https://github.com/Kikobeats/top-user-agents, and prints the most recent
https://github.com/microlinkhq/top-user-agents, and prints the most recent
Chrome user agent for Windows, macOS and Linux.
"""
@ -29,7 +29,7 @@ def wrap(ini, sub, string):
# pylint: disable-next=missing-timeout
response = requests.get('https://raw.githubusercontent.com/Kikobeats/top-user-agents/master/index.json')
response = requests.get('https://raw.githubusercontent.com/microlinkhq/top-user-agents/master/src/index.json')
if response.status_code != 200:
print('Unable to fetch the user agent index', file=sys.stderr)

View File

@ -14,8 +14,8 @@ from qutebrowser.misc import lineparser, objects
pytestmark = pytest.mark.usefixtures('data_tmpdir')
COOKIE1 = b'foo1=bar; expires=Tue, 01-Jan-2036 08:00:01 GMT'
COOKIE2 = b'foo2=bar; expires=Tue, 01-Jan-2036 08:00:01 GMT'
COOKIE1 = b'foo1=bar; expires=Tue, 01-Jan-2999 08:00:01 GMT'
COOKIE2 = b'foo2=bar; expires=Tue, 01-Jan-2999 08:00:01 GMT'
SESSION_COOKIE = b'foo3=bar'
EXPIRED_COOKIE = b'foo4=bar; expires=Sat, 01-Jan-2000 08:00:01 GMT'