Compare commits
10 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
8cb4556245 | |
|
|
21ee2d093a | |
|
|
06f77d18d2 | |
|
|
96ce299f3c | |
|
|
a41c14412b | |
|
|
f716467cb9 | |
|
|
6e22ec67b1 | |
|
|
a6736dd0f4 | |
|
|
a8a84b81d1 | |
|
|
649aac0c11 |
|
|
@ -1,5 +1,5 @@
|
|||
[bumpversion]
|
||||
current_version = 3.2.0
|
||||
current_version = 3.2.1
|
||||
commit = True
|
||||
message = Release v{new_version}
|
||||
tag = True
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -127,6 +127,7 @@ jobs:
|
|||
matrix:
|
||||
include:
|
||||
- os: macos-11
|
||||
- os: macos-14
|
||||
- os: windows-2019
|
||||
- os: ubuntu-20.04
|
||||
runs-on: "${{ matrix.os }}"
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
-------------------
|
||||
|
|
|
|||
|
|
@ -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"/>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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."
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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})'
|
||||
)
|
||||
]
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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'
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue