Compare commits

..

10 Commits

Author SHA1 Message Date
Syer10
4a3096e0a0 Lint 2026-05-09 11:36:34 -04:00
Syer10
64d7939b74 Use new format 2026-05-09 11:33:06 -04:00
Syer10
3f610da0c5 Context Parameters 2026-05-09 11:19:28 -04:00
renovate[bot]
47e0b835d5 Update kotlin to v2.3.21 2026-05-09 00:09:22 +00:00
Syer10
72122b7cbf [skip ci] Update Changelog 2026-05-08 17:32:44 -04:00
renovate[bot]
392a7990d2 Update dependency com.github.junrar:junrar to v7.5.10 (#1926)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-08 17:30:48 -04:00
schroda
0bdcf8b4ba Handle serving non-default webui with "bundled" channel (#1924)
Channel "bundled" only works with the default webui.
So force change the flavor and log a warning for information
2026-05-08 17:30:42 -04:00
renovate[bot]
8295440bfd Update twelvemonkeys to v3.13.1 (#1919)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-08 17:30:36 -04:00
Syer10
e52aa6daf4 [skip ci] Fix WebUI changelog link 2026-05-08 16:52:34 -04:00
Syer10
ef067ef5b9 Release v2.2.2100 2026-05-08 16:48:27 -04:00
7 changed files with 59 additions and 15 deletions

View File

@@ -42,7 +42,7 @@ body:
label: Suwayomi-Server version
description: You can find your Suwayomi-Server version in **More → About**.
placeholder: |
Example: "v2.1.1867"
Example: "v2.2.2100"
validations:
required: true

View File

@@ -6,6 +6,29 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
## [Unreleased] (Preview)
### Added
- .
### Changed
- .
### Fixed
- (WebUI) Handle serving non-default webui with "bundled"
## [v2.2.2100] + [WebUI: v20260508.01] - 2026-05-08
### 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](https://github.com/Suwayomi/Suwayomi-Server-docker/blob/ffc7f6990e889d0a257efe3d94db085d5e73f420/docker-compose-postgresql.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](https://github.com/Suwayomi/Suwayomi-converter) for an example.
### Added
- (**Source/API**) Expose "baseUrl" (TYPE "SourceType")
- (**Extension**) Support author notes
@@ -65,6 +88,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
- (**Library update**) Fix stale manga data in update subscription status events
- (**Cloudflare/flaresolverr**) Fix sending POST requests as GET to flaresolverr
### WebUI
- [See WebUI changes here][WebUI: v20260508.01]
### 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
## [v2.1.1867] + [WebUI: v20250703.01] - 2025-07-31
### Webview!
@@ -166,7 +195,7 @@ This release has been working on the long awaited tracking support! With the las
@schroda, @Syer10, @RatCornu, @FumoVite
## [v1.0.0] + [WebUI: r1409] - 2024-02-23
## [v1.0.0] + [WebUI: v1.0.0] - 2024-02-23
We've done a lot since our last release over a year ago.
@@ -379,6 +408,7 @@ Huge thanks to @martinek who pulled the most of the weight this release!
<!-- WEBUI LINKS -->
[WebUI: v20260508.01]: https://github.com/Suwayomi/Suwayomi-WebUI/blob/master/CHANGELOG.md#2026050801-r3136---2026-05-08
[WebUI: v20251230.01]: https://github.com/Suwayomi/Suwayomi-WebUI/blob/master/CHANGELOG.md#2025123001-r2937---2025-12-30
[WebUI: v20250801.01]: https://github.com/Suwayomi/Suwayomi-WebUI/blob/master/CHANGELOG.md#2025080101-r2717---2025-08-01
[WebUI: v20250731.01]: https://github.com/Suwayomi/Suwayomi-WebUI/blob/master/CHANGELOG.md#2025073101-r2715---2025-07-31
@@ -404,7 +434,8 @@ Huge thanks to @martinek who pulled the most of the weight this release!
<!-- SERVER LINKS -->
[unreleased]: https://github.com/suwayomi/suwayomi-server/compare/v2.1.1867...HEAD
[unreleased]: https://github.com/suwayomi/suwayomi-server/compare/v2.2.2100...HEAD
[v2.2.2100]: https://github.com/suwayomi/suwayomi-server/compare/v2.1.1867...v2.2.2100
[v2.1.1867]: https://github.com/suwayomi/suwayomi-server/compare/v2.0.1727...v2.1.1867
[v2.0.1727]: https://github.com/suwayomi/suwayomi-server/compare/v1.1.1...v2.0.1727
[v1.1.1]: https://github.com/suwayomi/suwayomi-server/compare/v1.1.0...v1.1.1

View File

@@ -53,7 +53,7 @@ subprojects {
}
compilerOptions {
jvmTarget = JvmTarget.fromTarget(libs.versions.jvmTarget.get())
freeCompilerArgs.add("-Xcontext-receivers")
freeCompilerArgs.add("-Xcontext-parameters")
}
}
}

View File

@@ -10,9 +10,9 @@ import java.io.BufferedReader
const val MainClass = "suwayomi.tachidesk.MainKt"
// should be bumped with each stable release
val getTachideskVersion = { "v2.1.${getCommitCount()}" }
val getTachideskVersion = { "v2.2.${getCommitCount()}" }
val webUIRevisionTag = "r2643"
val webUIRevisionTag = "r3136"
private val getCommitCount = {
runCatching {

View File

@@ -1,5 +1,5 @@
[versions]
kotlin = "2.3.10"
kotlin = "2.3.21"
coroutines = "1.10.2"
serialization = "1.10.0"
jvmTarget = "21"
@@ -11,7 +11,7 @@ exposed = "0.61.0"
dex2jar = "2.4.34"
polyglot = "24.2.2"
settings = "1.3.0"
twelvemonkeys = "3.13.0"
twelvemonkeys = "3.13.1"
graphqlkotlin = "8.8.1"
xmlserialization = "0.91.3"
ktlint = "1.8.0"
@@ -115,7 +115,7 @@ appdirs = "ca.gosyer:kotlin-multiplatform-appdirs:2.0.0"
cache4k = "io.github.reactivecircus.cache4k:cache4k:0.14.0"
zip4j = "net.lingala.zip4j:zip4j:2.11.6"
commonscompress = "org.apache.commons:commons-compress:1.28.0"
junrar = "com.github.junrar:junrar:7.5.7"
junrar = "com.github.junrar:junrar:7.5.10"
# AES/CBC/PKCS7Padding Cypher provider
bouncycastle = "org.bouncycastle:bcprov-jdk18on:1.83"

View File

@@ -140,17 +140,16 @@ fun OkHttpClient.newCachelessCallWithProgress(
return progressClient.newCall(request)
}
context(Json)
context(_: Json)
inline fun <reified T> Response.parseAs(): T = decodeFromJsonResponse(serializer(), this)
@OptIn(ExperimentalSerializationApi::class)
context(Json)
context(json: Json)
fun <T> decodeFromJsonResponse(
deserializer: DeserializationStrategy<T>,
response: Response,
): T =
response.body.source().use {
decodeFromBufferedSource(deserializer, it)
json.decodeFromBufferedSource(deserializer, it)
}
class HttpException(

View File

@@ -304,11 +304,25 @@ object WebInterfaceManager {
return
}
val flavor = WebUIFlavor.current
val servedFlavor = getServedWebUIFlavor()
val log =
KotlinLogging.logger("${logger.name} setupWebUI(flavor= ${flavor.uiName}, servedFlavor= ${servedFlavor.uiName})")
KotlinLogging.logger(
"${logger.name} setupWebUI(flavor= ${WebUIFlavor.current.uiName}, servedFlavor= ${servedFlavor.uiName}, channel= ${serverConfig.webUIChannel})",
)
val flavor =
if (serverConfig.webUIChannel.value == WebUIChannel.BUNDLED) {
if (serverConfig.webUIFlavor.value != WebUIFlavor.default) {
log.warn {
"Changed flavor to ${WebUIFlavor.default.uiName}. Channel \"${WebUIChannel.BUNDLED}\" only works with the default flavor"
}
}
WebUIFlavor.default
} else {
WebUIFlavor.current
}
if (doesLocalWebUIExist(applicationDirs.webUIRoot)) {
val currentVersion = getLocalVersion()