Major Changes
Added UI Login Auth Method!
We now have another alternative login type! This is our most flexable option as it allows clients and the server to handle it together, it's not an all or nothing authentication method like the others. For example the web-based clients can now use thier own login pages, and the server can add data to the tokens it gives to the clients, improving performance while keeping the security standard high.
PostgreSQL Support!
We finally support alternative database types! H2 is a great database, but it has its issues. Using a more widespread database like PostgreSQL can avoid them while keeping the performance high! Note that PostgreSQL will need to be run externally. See our example docker-compose.yml
Remote Image Modification/Conversion
We now support remote image modification! This will allow you to use an external server that can change your images however you want, such as converting to JXL or WebP, or applying some upscaling or sharpening to them! This pairs well with our new option to convert images before it serves them to the client.
See our conversion server for an example.
Added
- (Source/API) Expose "baseUrl" (TYPE "SourceType")
- (Extension) Support author notes
- (Extension/Android) Add Main dispatcher implementation
- (Extension/Android) Add LruCache implementation
- (Extension/Android) Support basic BitmapFactory options
- (Extension/Android) Support Bitmap pixel-based access and modification
- (Extension/Android) Add Rect.set functionality
- (OPDS) Add reading progress synchronization for KOReader
- (WebView) Support copy & paste
- (Authentication/API) Add new "UI Login" authentication method (basic JWT implementation) (MUTATIONS "login", "refreshToken")
- (Database) Support PostgreSQL
- (Wiki) Add wiki to main repo to allow pull requests for improvements
- (WebUI) Add support to serve webUI on a subpath
- (WebUI) Support symlinks
- (WebUI/API) Expose update timestamp (TYPE "AboutWebUI")
- (Backup/API) Support backup flags during import (MUTATION "restoreBackup")
- (Backup/Settings/API) Support backup flags for automated backups (TYPE, MUTATIONS "settings")
- (Image conversion/API) Support image conversion during serve (TYPE, MUTATIONS "settings")
- (Image conversion/API) Support remote image conversion (TYPE, MUTATIONS "settings")
- (Tracker) Add Shikimori tracker
- (Meta/API) Add functionality for bulk meta updates/deletions (MUTATIONS "meta")
- (Image) Support JXL container format
Changed
- (OPDS) Overhaule feeds for discovery, filtering and enhance UX
- (OPDS) Align feed generation with RFC5005 and OpenSearch specs
- (Downloads) Improve handling of valid existing downloads
- (Downloads) Optimize download queue
- (Database) Optimize database performance with HikariCP and transaction batching
- (Java/JRE) Move to Zulu JRE
- (Java) Update to JDK 25
Fixed
- (General) Fix logging sensitive config data in cleartext
- (Localization) Fix falling back to the default locale in case no matching locale was found
- (Authentication) Fix serving page icons with set-up authentication
- (Authentication) Fix header/cookie based websocket authentication
- (Authentication) Fix "simple login" redirect causing protocol downgrade (https -> http)
- (Downloads/API) Fix CBZ download HEAD requests performance (HEAD "/chapter/:chapterId/download")
- (WebView) Fix alt key handling
- (Source/API) Fix handling of nullable preference keys (TYPE "preferences")
- (Source) Fix local manga thumbnails handling
- (Extension) Fix missing icon for manually installed source
- (Extension) Fix installation retry always fails
- (Extension) Fixed a java.lang.VerifyError when installing an extension that has ProGuard enabled.
- (Backup) Fix importing of backups with missing server settings
- (Backup) Fix importing of backups with invalid server settings
- (Backup/API) Fix missing backup creation flags (MUTATION "createBackup")
- (Config) Fix server startup config update failure handling
- (WebUI) Fix webUI setup blocking the server startup on internet connection issues
- (WebUI) Fix race condition in webUI update status updates
- (WebUI) Fix the missing webUI static folder causing a server crash on startup
- (Chapter) Fix out-of-order chapter pages
- (API) Fix graphql double values handling
- (Tracker) Fix Kitsu tracker to conform to tracker data structure properly
- (Library update) Fix stale manga data in update subscription status events
- (Cloudflare/flaresolverr) Fix sending POST requests as GET to flaresolverr
WebUI
Contributors
@cpiber, @Syer10, @lamaxama, @schroda, @AwkwardPeak7, @ItsGlassPlus1, @manti-X, @Youwes09, @renovate[bot], @D-Brox, @weblate, @Micka149, @TheRay82, @UnknownSkyrimPasserby, @KaceyKoo-gif, @333fred, @KolbyML, @Robonau, @ornaras, @SpicyCatGames, @FadedSociety, @ginocic, @zeedif, @CzechuPL, @mrintrepide, @renjfk, @thiagoalcr, @Smileskun, @dejavui, @allrobot