diff --git a/.CI/chatterino-installer.iss b/.CI/chatterino-installer.iss
index 34056571e..7cbd84b45 100644
--- a/.CI/chatterino-installer.iss
+++ b/.CI/chatterino-installer.iss
@@ -2,7 +2,7 @@
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "Chatterino"
-#define MyAppVersion "2.4.5"
+#define MyAppVersion "2.4.6"
#define MyAppPublisher "Chatterino Team"
#define MyAppURL "https://www.chatterino.com"
#define MyAppExeName "chatterino.exe"
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 8a2c46d61..c87f1ec20 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -5,6 +5,7 @@ on:
push:
branches:
- master
+ - "bugfix-release/*"
pull_request:
workflow_dispatch:
merge_group:
@@ -14,7 +15,7 @@ concurrency:
cancel-in-progress: true
env:
- C2_ENABLE_LTO: ${{ github.ref == 'refs/heads/master' }}
+ C2_ENABLE_LTO: ${{ github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/heads/bugfix-release/') }}
CHATTERINO_REQUIRE_CLEAN_GIT: On
C2_BUILD_WITH_QT6: Off
# Last known good conan version
@@ -27,13 +28,6 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
- os: [windows-latest, macos-latest]
- qt-version: [5.15.2, 6.5.0]
- force-lto: [false]
- plugins: [false]
- skip-artifact: [false]
- skip-crashpad: [false]
- clang-tidy-review: [false]
include:
# Ubuntu 20.04, Qt 5.12
- os: ubuntu-20.04
@@ -59,6 +53,22 @@ jobs:
skip-artifact: false
skip-crashpad: false
clang-tidy-review: false
+ # macOS
+ - os: macos-latest
+ qt-version: 5.15.2
+ force-lto: false
+ plugins: false
+ skip-artifact: false
+ skip-crashpad: false
+ clang-tidy-review: false
+ # Windows
+ - os: windows-latest
+ qt-version: 6.5.0
+ force-lto: false
+ plugins: false
+ skip-artifact: false
+ skip-crashpad: false
+ clang-tidy-review: false
# Test for disabling crashpad on Windows
- os: windows-latest
qt-version: 5.15.2
@@ -114,6 +124,26 @@ jobs:
cache-key-prefix: ${{ runner.os }}-QtCache-${{ matrix.qt-version }}-v2
version: ${{ matrix.qt-version }}
+ - name: Install Qt 6.5.3
+ if: startsWith(matrix.qt-version, '6.')
+ uses: jurplel/install-qt-action@v3.3.0
+ with:
+ cache: false
+ modules: qtimageformats
+ set-env: false
+ version: 6.5.3
+ extra: --noarchives
+
+ - name: Find Qt 6.5.3 Path
+ if: startsWith(matrix.qt-version, '6.') && startsWith(matrix.os, 'windows')
+ shell: pwsh
+ id: find-good-imageformats
+ run: |
+ cd "$Env:RUNNER_WORKSPACE/Qt/6.5.3"
+ cd (Get-ChildItem)[0].Name
+ cd plugins/imageformats
+ echo "PLUGIN_PATH=$(pwd)" | Out-File -Path "$Env:GITHUB_OUTPUT" -Encoding ASCII
+
- name: Install Qt6
if: startsWith(matrix.qt-version, '6.')
uses: jurplel/install-qt-action@v3.3.0
@@ -213,13 +243,24 @@ jobs:
cp bin/crashpad/crashpad_handler.exe Chatterino2/crashpad/crashpad_handler.exe
7z a bin/chatterino-Qt-${{ matrix.qt-version }}.pdb.7z bin/chatterino.pdb
- - name: Package (windows)
+ - name: Prepare build dir (windows)
if: startsWith(matrix.os, 'windows')
run: |
cd build
windeployqt bin/chatterino.exe --release --no-compiler-runtime --no-translations --no-opengl-sw --dir Chatterino2/
cp bin/chatterino.exe Chatterino2/
echo nightly > Chatterino2/modes
+
+ - name: Fix Qt (windows)
+ if: startsWith(matrix.qt-version, '6.') && startsWith(matrix.os, 'windows')
+ working-directory: build
+ run: |
+ cp ${{ steps.find-good-imageformats.outputs.PLUGIN_PATH }}/qwebp.dll Chatterino2/imageformats/qwebp.dll
+
+ - name: Package (windows)
+ if: startsWith(matrix.os, 'windows')
+ working-directory: build
+ run: |
7z a chatterino-windows-x86-64-Qt-${{ matrix.qt-version }}.zip Chatterino2/
- name: Upload artifact (Windows - binary)
@@ -395,7 +436,7 @@ jobs:
create-release:
needs: build
runs-on: ubuntu-latest
- if: (github.event_name == 'push' && github.ref == 'refs/heads/master')
+ if: (github.event_name == 'push' && (github.ref == 'refs/heads/master'))
steps:
- uses: actions/checkout@v3
@@ -409,29 +450,17 @@ jobs:
path: release-artifacts/
- uses: actions/download-artifact@v3
- name: Windows Qt6.5.0
+ name: Windows
with:
name: chatterino-windows-x86-64-Qt-6.5.0.zip
path: release-artifacts/
- uses: actions/download-artifact@v3
- name: Windows Qt6.5.0 symbols
+ name: Windows symbols
with:
name: chatterino-windows-x86-64-Qt-6.5.0-symbols.pdb.7z
path: release-artifacts/
- - uses: actions/download-artifact@v3
- name: Windows Qt5.15.2
- with:
- name: chatterino-windows-x86-64-Qt-5.15.2.zip
- path: release-artifacts/
-
- - uses: actions/download-artifact@v3
- name: Windows Qt5.15 symbols
- with:
- name: chatterino-windows-x86-64-Qt-5.15.2-symbols.pdb.7z
- path: release-artifacts/
-
- uses: actions/download-artifact@v3
name: Linux Qt5.12.12 AppImage
with:
@@ -466,11 +495,6 @@ jobs:
ls -l
# Rename the macos build to indicate that it's for macOS 10.15 users
mv chatterino-macos-Qt-5.15.2.dmg Chatterino-macOS-10.15.dmg
-
- # Mark all Qt6 builds as EXPERIMENTAL
- mv Chatterino-ubuntu-22.04-x86_64.deb EXPERIMENTAL-Chatterino-ubuntu-22.04-Qt-6.2.4.deb
- mv chatterino-windows-x86-64-Qt-6.5.0.zip EXPERIMENTAL-chatterino-windows-x86-64-Qt-6.5.0.zip
- mv chatterino-Qt-6.5.0.pdb.7z EXPERIMENTAL-chatterino-Qt-6.5.0.pdb.7z
working-directory: release-artifacts
shell: bash
diff --git a/.github/workflows/create-installer.yml b/.github/workflows/create-installer.yml
index cf7bf19e7..7b822bb8f 100644
--- a/.github/workflows/create-installer.yml
+++ b/.github/workflows/create-installer.yml
@@ -5,7 +5,9 @@ on:
workflows: ["Build"]
types: [completed]
# make sure this only runs on the default branch
- branches: [master]
+ branches:
+ - master
+ - "bugfix-release/*"
workflow_dispatch:
jobs:
@@ -15,9 +17,7 @@ jobs:
if: ${{ github.event_name == 'workflow_dispatch' || github.event.workflow_run.conclusion == 'success' }}
strategy:
matrix:
- qt-version: [5.15.2, 6.5.0]
- env:
- VARIANT_SUFFIX: ${{ startsWith(matrix.qt-version, '6.') && '.EXPERIMENTAL-Qt6' || '' }}
+ qt-version: ["6.5.0"]
steps:
- uses: actions/checkout@v3
with:
@@ -28,6 +28,7 @@ jobs:
with:
workflow: build.yml
name: chatterino-windows-x86-64-Qt-${{ matrix.qt-version }}.zip
+ commit: ${{ github.sha }}
path: build/
- name: Unzip
@@ -52,5 +53,5 @@ jobs:
- name: Upload installer
uses: actions/upload-artifact@v3
with:
- path: build/${{ steps.build-installer.outputs.C2_INSTALLER_BASE_NAME }}${{ env.VARIANT_SUFFIX }}.exe
- name: ${{ steps.build-installer.outputs.C2_INSTALLER_BASE_NAME }}${{ env.VARIANT_SUFFIX }}.exe
+ path: build/${{ steps.build-installer.outputs.C2_INSTALLER_BASE_NAME }}.exe
+ name: ${{ steps.build-installer.outputs.C2_INSTALLER_BASE_NAME }}.exe
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a401a0ffb..5aa51d03e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,7 +2,10 @@
## Unversioned
+## 2.4.6
+
- Minor: Migrate to the new Get Channel Followers Helix endpoint, fixing follower count not showing up in usercards. (#4809)
+- Bugfix: Update Qt version, fixing a security issue with webp loading (see https://www.qt.io/blog/two-qt-security-advisorys-gdi-font-engine-webp-image-format) (#4843)
- Dev: Temporarily disable High DPI scaling on Qt6 builds on Windows. (#4767)
## 2.4.5
diff --git a/CMakeLists.txt b/CMakeLists.txt
index caa3990b4..e8eb6c7fd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,7 +8,7 @@ list(APPEND CMAKE_MODULE_PATH
"${CMAKE_SOURCE_DIR}/cmake/sanitizers-cmake/cmake"
)
-project(chatterino VERSION 2.4.5)
+project(chatterino VERSION 2.4.6)
option(BUILD_APP "Build Chatterino" ON)
option(BUILD_TESTS "Build the tests for Chatterino" OFF)
diff --git a/resources/com.chatterino.chatterino.appdata.xml b/resources/com.chatterino.chatterino.appdata.xml
index 8a9af97d5..3fa93ebdc 100644
--- a/resources/com.chatterino.chatterino.appdata.xml
+++ b/resources/com.chatterino.chatterino.appdata.xml
@@ -32,6 +32,9 @@
chatterino
+
+ https://github.com/Chatterino/chatterino2/releases/tag/v2.4.6
+
https://github.com/Chatterino/chatterino2/releases/tag/v2.4.5
diff --git a/src/common/Version.hpp b/src/common/Version.hpp
index a9496fe6c..5d978b19a 100644
--- a/src/common/Version.hpp
+++ b/src/common/Version.hpp
@@ -24,7 +24,7 @@
* - 2.4.0-alpha.2
* - 2.4.0-alpha
**/
-#define CHATTERINO_VERSION "2.4.5"
+#define CHATTERINO_VERSION "2.4.6"
#if defined(Q_OS_WIN)
# define CHATTERINO_OS "win"