Skip to content
Merged

10.2 #584

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
d349f18
Add a new feature to repair some aspects of libraries
luisangelsm Jul 10, 2026
ff0644e
BUMP version 10.2.0
luisangelsm Jul 10, 2026
c4f8ae6
Add library database backups and recovery
luisangelsm Jul 12, 2026
415f563
Fix comics info export/import and covers package import/export error …
luisangelsm Jul 12, 2026
5aada55
Fix type registration description
luisangelsm Jul 14, 2026
a152321
Fix grid comic cells info height so the title doesn't overlap the oth…
luisangelsm Jul 14, 2026
fe4732f
Add funtion to open the library root location
luisangelsm Jul 14, 2026
6c44236
Update Chinese translations in yacreaderlibrary_zh_CN.ts
kofzhanganguo Jul 22, 2026
0120412
Add a very basic reader + some ios/android app promotion in the webui
luisangelsm Jul 23, 2026
57b46fa
Fix size up/down shortcuts for the magnifying glass
luisangelsm Jul 24, 2026
8c4d79a
Fix magnifying glass zoom jump at image edges on HiDPI displays
starlit-void Jul 24, 2026
1241e82
Don't trigger the page-selection bar while the magnifying glass is ac…
starlit-void Jul 24, 2026
da08f0f
Merge pull request #566 from starlit-void/starlit/magnifier-improvements
luisangelsm Jul 25, 2026
10d9066
Fix/unify comics sorting to use the new universal number
luisangelsm Jul 28, 2026
80644a6
Add comics in epub format support
luisangelsm Jul 28, 2026
542863b
Update CHANGELOG
luisangelsm Jul 28, 2026
b1b7386
Update Chinese translations in yacreader_zh_CN.ts
kofzhanganguo Jul 22, 2026
709c8ca
Merge pull request #562 from kofzhanganguo/patch-1
luisangelsm Jul 29, 2026
3bce6f0
Merge branch 'develop' into patch-2
luisangelsm Jul 29, 2026
2e0e96d
Merge pull request #563 from kofzhanganguo/patch-2
luisangelsm Jul 29, 2026
857233d
Add circular magnifying glass option
starlit-void Jul 25, 2026
59be10c
Add magnifier edge easing (ease cursor movement toward the edges)
starlit-void Jul 25, 2026
c9aa885
Make magnifier resize scroll gesture require intent (accumulate wheel…
starlit-void Jul 25, 2026
4817d92
Add changelog entries for the magnifying glass changes
starlit-void Jul 29, 2026
eae6bba
Clamp the circular magnifying glass to the size of the view
starlit-void Jul 29, 2026
3d1791f
Remove size clamping
luisangelsm Jul 29, 2026
f51bc0b
Update translations
luisangelsm Jul 29, 2026
53d4e00
Merge pull request #572 from starlit-void/feature/circular-magnifying…
luisangelsm Jul 29, 2026
46c921b
Add a new UI elements to make search syntax discoverable by the user
luisangelsm Jul 30, 2026
2ac4068
Update translations for the search engine help dialog
luisangelsm Jul 30, 2026
23deec0
Update CHANGELOG
luisangelsm Jul 30, 2026
df78b73
Merge pull request #574 from YACReader/search-help
luisangelsm Jul 30, 2026
09c2f34
CI: fail fast when the Qt install fails on Windows
starlit-void Aug 1, 2026
08d7d12
Merge pull request #579 from starlit-void/starlit/ci-fail-fast-on-qt-…
luisangelsm Aug 1, 2026
a0bd297
Update translation for unsupported EPUB message
kofzhanganguo Aug 2, 2026
ed08113
Merge pull request #580 from kofzhanganguo/patch-3
luisangelsm Aug 3, 2026
9ba21c1
Update translation for unsupported EPUB message
kofzhanganguo Aug 2, 2026
6942db4
Merge pull request #581 from kofzhanganguo/patch-4
luisangelsm Aug 3, 2026
f83542d
macOS: move the cursor without requesting accessibility permission
starlit-void Jul 31, 2026
cb843b5
Update changelog
starlit-void Jul 31, 2026
be17eec
Link the upstream Qt bug from the cursor warp workaround
starlit-void Jul 31, 2026
0336636
Merge pull request #577 from starlit-void/starlit/cursor-warp-no-post…
luisangelsm Aug 3, 2026
39e8ddd
macOS: reveal comics in Finder without AppleScript
starlit-void Jul 31, 2026
294b5fd
Update changelog
starlit-void Jul 31, 2026
418d97a
Merge pull request #576 from starlit-void/starlit/finder-reveal-no-ap…
luisangelsm Aug 3, 2026
9b7f10c
Change default backend on linux to libarchive and update documentatio…
alastortenebris Aug 1, 2026
c2eeb2a
Typos
luisangelsm Aug 3, 2026
fd222c0
Build against the default in CI
luisangelsm Aug 3, 2026
3894a9b
Merge pull request #578 from alastortenebris/develop
luisangelsm Aug 3, 2026
3646f2c
Fix comic vine content links in webui
luisangelsm Aug 3, 2026
ccb9f38
Add a drop shadow to the what's new dialog
luisangelsm Aug 4, 2026
5f07500
Update what's new header WIP for 10.2
luisangelsm Aug 4, 2026
8ec2bbb
Let the webui launch ComicInfo.xml re-scans
luisangelsm Aug 4, 2026
c438d21
Add more metadata fields to the webui details view
luisangelsm Aug 4, 2026
8074bb2
Create a new settings widget
luisangelsm Aug 5, 2026
d68b7c1
Move background color and flow size groups to the appropriate sections
luisangelsm Aug 5, 2026
c7b36e3
Move shortcuts to their own settings page
luisangelsm Aug 5, 2026
d46933c
Refine the settings dialog structure
luisangelsm Aug 5, 2026
6641688
Update settings translations
luisangelsm Aug 5, 2026
d07cc88
Update CHANGELOG
luisangelsm Aug 5, 2026
11fa9a2
Merge pull request #583 from YACReader/better-settings-dialogs
luisangelsm Aug 5, 2026
8c7b018
Add configurable Escape key behavior (quit vs cancel mode)
starlit-void Jul 24, 2026
d8b19bb
Update changelog
starlit-void Jul 31, 2026
aa122e5
Update Escape key translations
luisangelsm Aug 5, 2026
27f9107
Merge pull request #575 from starlit-void/starlit/escape-key-mode
luisangelsm Aug 5, 2026
0faca68
Fix crash caused by changing reading direction while quickly turning …
luisangelsm Aug 5, 2026
2ff6087
Fix settings dialogs content width
luisangelsm Aug 7, 2026
96dbc97
Small overhaul of the server dialog
luisangelsm Aug 7, 2026
910bb2a
Add trackpad pinch-to-zoom gesture to the comic viewer
codeKonami Apr 22, 2026
b8f1cc8
Support ctrl+mouse wheel for zooming too
luisangelsm Aug 7, 2026
a9368b6
Debounce renders while zoom is changing for better performance
luisangelsm Aug 7, 2026
970fda6
Update CHANGELOG
luisangelsm Aug 7, 2026
804e708
Merge pull request #530 from codeKonami/pinch-to-zoom
luisangelsm Aug 7, 2026
66fc4fa
Fix layout flexibility in the set port button of the server dialog
luisangelsm Aug 7, 2026
dfd91e5
Fix port reseting after opening the server settings dialog
luisangelsm Aug 7, 2026
93def56
Update what's new intro, 10.2
luisangelsm Aug 8, 2026
e390a33
Typos
luisangelsm Aug 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 5 additions & 6 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ jobs:

# Linux Qt6 build
linux-qt6:
name: Linux (Qt6)
name: Linux (Qt6 + libarchive)
runs-on: ubuntu-24.04
needs: [initialization, code-format-validation]
steps:
Expand All @@ -84,7 +84,7 @@ jobs:
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libunarr-dev libgl-dev libgles2-mesa-dev \
sudo apt-get install -y libarchive-dev libgl-dev libgles2-mesa-dev \
libfontconfig1-dev libfreetype-dev libxkbcommon-dev libpoppler-qt6-dev \
libspeechd-dev

Expand All @@ -98,7 +98,6 @@ jobs:
- name: Build
run: |
cmake -B build \
-DDECOMPRESSION_BACKEND=unarr \
-DPDF_BACKEND=poppler \
-DBUILD_NUMBER="${{ needs.initialization.outputs.build_number }}" \
-DCMAKE_BUILD_TYPE=Release
Expand Down Expand Up @@ -212,7 +211,7 @@ jobs:
pip install -U pip
pip install aqtinstall
mkdir C:\Qt
python -m aqt install-qt windows desktop 6.9.3 win64_msvc2022_64 -O c:\Qt -m qt5compat qtmultimedia qtimageformats qtshadertools qtspeech
python -m aqt install-qt windows desktop 6.9.3 win64_msvc2022_64 -O c:\Qt -m qt5compat qtmultimedia qtimageformats qtshadertools qtspeech || exit /b 1
dir C:\Qt\6.9.3\msvc2022_64\bin
curl.exe -L --retry 5 --retry-delay 5 --retry-all-errors "https://aka.ms/vs/17/release/vc_redist.x64.exe" -o "%GITHUB_WORKSPACE%\vc_redist.x64.exe"
where iscc
Expand Down Expand Up @@ -356,8 +355,8 @@ jobs:
run: |
pip install aqtinstall
mkdir C:\Qt
python -m aqt install-qt windows desktop 6.9.3 win64_msvc2022_64 -O c:\Qt -m qt5compat qtmultimedia qtimageformats qtshadertools qtspeech
python -m aqt install-qt windows desktop 6.9.3 win64_msvc2022_arm64_cross_compiled -O c:\Qt -m qt5compat qtmultimedia qtimageformats qtshadertools qtspeech
python -m aqt install-qt windows desktop 6.9.3 win64_msvc2022_64 -O c:\Qt -m qt5compat qtmultimedia qtimageformats qtshadertools qtspeech || exit /b 1
python -m aqt install-qt windows desktop 6.9.3 win64_msvc2022_arm64_cross_compiled -O c:\Qt -m qt5compat qtmultimedia qtimageformats qtshadertools qtspeech || exit /b 1
dir C:\Qt\6.9.3\msvc2022_arm64\bin
curl.exe -L --retry 5 --retry-delay 5 --retry-all-errors "https://aka.ms/vs/17/release/vc_redist.arm64.exe" -o "%GITHUB_WORKSPACE%\vc_redist.arm64.exe"
where iscc
Expand Down
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ cmake --build build --parallel
```

Build options:
- `DECOMPRESSION_BACKEND`: `unarr` | `7zip` | `libarchive` (default: 7zip on Windows/macOS/Linux)
- `DECOMPRESSION_BACKEND`: `unarr` | `7zip` | `libarchive` (default: 7zip on Windows/macOS, libarchive on Linux)
- `PDF_BACKEND`: `pdfium` | `poppler` | `pdfkit` | `no_pdf` (default: pdfium on Windows, pdfkit on macOS, poppler on Linux)
- `BUILD_SERVER_STANDALONE=ON`: builds only `YACReaderLibraryServer` (headless), requires only Qt 6.4+
- `BUILD_TESTS=ON` (default): enables the test suite
Expand Down
43 changes: 43 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,49 @@

Version counting is based on semantic versioning (Major.Feature.Patch)

## 10.2.0

### YACReader
* Change default shortcuts for modifying the magnifying glass size to avoid conflicts with the page zoom shortcuts, `[`, `]`.
* Add an optional circular magnifying glass, with an optional ring drawn around it. The configured size is kept as a rectangle, so switching back and forth doesn't lose it.
* Add optional edge easing for the magnifying glass. The magnified region is pushed toward the edges of the view, so content near the border can be inspected without pushing the cursor all the way into the corner.
* Require a full wheel notch before the magnifying glass changes size or zoom, so a light trackpad gesture no longer resizes it.
* Fix showing the go to flow bar asking for permission to control the computer on macOS. Moving the cursor into the bar now works without granting any accessibility permission, where before it was silently doing nothing.
* Add a setting to control what the Escape key does. It can keep quitting the reader, as before, or instead cancel the topmost active mode: magnifying glass, dictionary, go to flow and then fullscreen.
* Fix crash caused by changing reading direction while quickly turning pages.
* Use pinch and ctrl+wheel mouse to change the zoom level.

### YACReaderLibrary
* Add a library repair function to restore missing covers and rescan files that previously failed to be added.
* Add actions to create and restore library database backups.
* Automatically create and retain database backups in `.yacreaderlibrary/backups`.
* When database corruption is detected, offer to attempt a repair or restore a backup. Damaged originals are preserved in `.yacreaderlibrary/recovery`.
* Fix comics info export/import and covers package import/export error handling.
* Fix grid comic cells info height so the title doesn't overlap the other fields.
* Add a function to open the library root location.
* Add a help dialog for the search engine. Use the drop down menu in the search field.
* Add quick search presets. Use the drop down menu in the search field.
* Fix `open containing folder` asking for permission to control Finder on macOS.
* Improve the server dialog UI a bit and add the option to open the Web UI from it.

### YACReaderLibraryServer
* Add the `repair-library` command to restore missing covers and rescan files that previously failed to be added.
* Add the `backup-library`, `list-backups`, and `restore-library` commands.
* Automatically create and retain database backups in `.yacreaderlibrary/backups`.
* Add the `repair-library-db` command to attempt to repair a damaged database. Damaged originals are preserved in `.yacreaderlibrary/recovery`.

### WebUI
* Add a very basic web reader.
* Add rescan xml functionality to the webui.
* Add more metadata fields to the detail view.

### All GUI apps
* New settings dialogs.

### All apps
* Unify comics sorting to use the string based universal number everywhere.
* Experimental support for image based comics in epub format.

## 10.1.0

### YACReader
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ set(YACREADER_PDF_BACKENDS pdfium poppler pdfkit no_pdf)

# --- Platform defaults ---
if(UNIX AND NOT APPLE)
set(_default_decompression_backend "7zip")
set(_default_decompression_backend "libarchive")
set(_default_pdf_backend "poppler")
elseif(APPLE)
set(_default_decompression_backend "7zip")
Expand Down
18 changes: 11 additions & 7 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ required qml modules (Quick, QuickControls2) are missing.
### Decompression

YACReader currently supports three decompression backends: 7zip, (lib)unarr, and libarchive. YACReader
defaults to 7zip for Windows, macOS, Linux, and other OSes, but you can
defaults to 7zip for Windows and macOS, and libarchive for Linux and other OSes, but you can
override this using the `DECOMPRESSION_BACKEND` option:

```
Expand All @@ -52,7 +52,7 @@ cmake -B build -DDECOMPRESSION_BACKEND=libarchive

#### 7zip

[7zip](https://www.7-zip.org/) is the default decompression backend.
[7zip](https://www.7-zip.org/) is the default decompression backend for Windows and macOS.

It is recommended for most builds, as it currently has better support for 7z
files and supports the RAR5 format.
Expand All @@ -63,16 +63,20 @@ FetchContent. No manual setup is needed.
As this backend is not 100% GPL compatible (unrar license restriction), it is not
recommended for installations where the license is an issue.

#### libarchive

[libarchive](https://github.com/libarchive/libarchive) is a portable, efficient decompression backend, and the default decompression backend for Linux.

libarchive supports a wide variety of archive formats, and supports the RAR5 format (with some limitations) without using non-free software.

The libarchive backend is recommended for packaging, and installations where GPL compatibility is required.

#### unarr

[(lib)unarr](https://github.com/selmf/unarr) is a lightweight decompression backend.

As of version 1.0.1, it supports less formats than 7zip, notably missing RAR5 support and only having
limited support for 7z on git versions. However, this is rarely an issue in practice as the vast majority
of comic books use either zip or RAR4 compression, which is handled nicely by this backend.

The unarr backend is recommended for packaging, lightweight installations and generally for all users requiring
more stability than the 7zip backend can offer.
limited support for 7z on git versions. It is recommended that packagers switch to the libarchive backend.

The recommended way to use this on Linux or other *NIX is to install it as a package, but you can also do an embedded build.
For more information, please consult the [README](compressed_archive/unarr/README.txt)
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.1.0
10.2.0
Loading
Loading