From b7234cbb2bdc954f5f41f0a183841663afb705d8 Mon Sep 17 00:00:00 2001 From: firelight <147925818+fire-light42@users.noreply.github.com> Date: Fri, 10 Jul 2026 16:09:42 +0000 Subject: [PATCH 1/3] remove prerelease annotations --- .../com/lagradost/cloudstream3/network/RequestsHelper.kt | 2 -- .../commonMain/kotlin/com/lagradost/cloudstream3/MainAPI.kt | 5 ----- .../kotlin/com/lagradost/cloudstream3/MainActivity.kt | 1 - .../com/lagradost/cloudstream3/extractors/DoodExtractor.kt | 1 - .../com/lagradost/cloudstream3/extractors/Firestream.kt | 1 - .../kotlin/com/lagradost/cloudstream3/extractors/Flyfile.kt | 1 - .../lagradost/cloudstream3/extractors/StreamWishExtractor.kt | 1 - .../com/lagradost/cloudstream3/extractors/Streamcash.kt | 1 - .../kotlin/com/lagradost/cloudstream3/extractors/Vids.kt | 1 - .../lagradost/cloudstream3/extractors/helper/AesHelper.kt | 1 - .../cloudstream3/extractors/helper/JWPlayerHelper.kt | 1 - .../kotlin/com/lagradost/cloudstream3/utils/Coroutines.kt | 1 - .../kotlin/com/lagradost/cloudstream3/utils/ExtractorApi.kt | 4 ---- .../kotlin/com/lagradost/cloudstream3/utils/JsInterpreter.kt | 4 ---- .../kotlin/com/lagradost/cloudstream3/utils/Levenshtein.kt | 1 - .../kotlin/com/lagradost/cloudstream3/utils/StringUtils.kt | 2 -- .../cloudstream3/utils/serializers/NonEmptySerializer.kt | 1 - .../cloudstream3/utils/serializers/WriteOnlySerializer.kt | 1 - 18 files changed, 30 deletions(-) diff --git a/app/src/main/java/com/lagradost/cloudstream3/network/RequestsHelper.kt b/app/src/main/java/com/lagradost/cloudstream3/network/RequestsHelper.kt index 6234297d0..203a503e9 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/network/RequestsHelper.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/network/RequestsHelper.kt @@ -22,7 +22,6 @@ fun Requests.initClient(context: Context) { } /** Only use ignoreSSL if you know what you are doing*/ -@Prerelease fun Requests.initClient(context: Context, ignoreSSL: Boolean = false) { this.baseClient = buildDefaultClient(context, ignoreSSL) } @@ -34,7 +33,6 @@ fun buildDefaultClient(context: Context): OkHttpClient { } /** Only use ignoreSSL if you know what you are doing*/ -@Prerelease fun buildDefaultClient(context: Context, ignoreSSL: Boolean = false): OkHttpClient { safe { Security.insertProviderAt(Conscrypt.newProvider(), 1) } diff --git a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/MainAPI.kt b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/MainAPI.kt index 99421a800..6c445fb0a 100644 --- a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/MainAPI.kt +++ b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/MainAPI.kt @@ -95,7 +95,6 @@ class ErrorLoadingException(message: String? = null) : Exception(message) //val baseHeader = mapOf("User-Agent" to USER_AGENT) -@Prerelease val json = Json { encodeDefaults = true explicitNulls = false @@ -1091,7 +1090,6 @@ enum class TvType(value: Int?) { Audio(16), Podcast(17), - @Prerelease Video(18), } @@ -2549,12 +2547,10 @@ fun Episode.addDate(date: String?, format: String = "yyyy-MM-dd") { }.onFailure { logError(it) }.getOrNull() } -@Prerelease fun Episode.addDate(date: LocalDate?) { this.date = date?.atStartOfDayIn(TimeZone.currentSystemDefault())?.toEpochMilliseconds() } -@Prerelease fun Episode.addDate(date: Instant?) { this.date = date?.toEpochMilliseconds() } @@ -2701,7 +2697,6 @@ fun fetchUrls(text: String?): List { return linkRegex.findAll(text).map { it.value.trim().removeSurrounding("\"") }.toList() } -@Prerelease fun isUpcoming(dateString: String?): Boolean { return runCatching { val fmt = DateTimeComponents.Format { diff --git a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/MainActivity.kt b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/MainActivity.kt index 127b075da..dc8317fa0 100644 --- a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/MainActivity.kt +++ b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/MainActivity.kt @@ -33,7 +33,6 @@ var app = Requests(responseParser = jsonResponseParser).apply { /** Same as the default app networking helper, but this instance ignores SSL certificates. * This should NEVER be used for sensitive networking operations such as logins. Only use this when required. */ -@Prerelease @UnsafeSSL var insecureApp = Requests(responseParser = jsonResponseParser).apply { defaultHeaders = mapOf("user-agent" to USER_AGENT) diff --git a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/DoodExtractor.kt b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/DoodExtractor.kt index 099406f16..9117d1d78 100644 --- a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/DoodExtractor.kt +++ b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/DoodExtractor.kt @@ -88,7 +88,6 @@ class MyVidPlay : DoodLaExtractor() { override var mainUrl = "https://myvidplay.com" } -@Prerelease class Playmogo : DoodLaExtractor() { override var mainUrl = "https://playmogo.com" } diff --git a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/Firestream.kt b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/Firestream.kt index c8ef5d0ac..c2fbaeee2 100644 --- a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/Firestream.kt +++ b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/Firestream.kt @@ -9,7 +9,6 @@ import com.lagradost.cloudstream3.utils.newExtractorLink import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable -@Prerelease class Firestream : ExtractorApi() { override val name: String = "Firestream" override val mainUrl: String = "https://firestream.to" diff --git a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/Flyfile.kt b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/Flyfile.kt index eb6d474a5..50042bd19 100644 --- a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/Flyfile.kt +++ b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/Flyfile.kt @@ -10,7 +10,6 @@ import com.lagradost.cloudstream3.utils.newExtractorLink import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable -@Prerelease open class Flyfile : ExtractorApi() { override val name: String = "FlyFile" override val mainUrl: String = "https://flyfile.app" diff --git a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/StreamWishExtractor.kt b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/StreamWishExtractor.kt index 58aa25c8c..03c94db9d 100644 --- a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/StreamWishExtractor.kt +++ b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/StreamWishExtractor.kt @@ -28,7 +28,6 @@ class Ewish : StreamWishExtractor() { override val mainUrl = "https://embedwish.com" } -@Prerelease class Hgcloudto : StreamWishExtractor() { override val name = "Hgcloud" override val mainUrl = "https://Hgcloud.to" diff --git a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/Streamcash.kt b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/Streamcash.kt index 2775c3062..91ccfb2ad 100644 --- a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/Streamcash.kt +++ b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/Streamcash.kt @@ -7,7 +7,6 @@ import com.lagradost.cloudstream3.utils.ExtractorLink import com.lagradost.cloudstream3.utils.ExtractorLinkType import com.lagradost.cloudstream3.utils.newExtractorLink -@Prerelease open class Streamcash: ExtractorApi() { override val name: String = "Streamcash" override val mainUrl: String = "https://streamcash.to" diff --git a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/Vids.kt b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/Vids.kt index 1312570d3..9eb01e321 100644 --- a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/Vids.kt +++ b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/Vids.kt @@ -7,7 +7,6 @@ import com.lagradost.cloudstream3.utils.ExtractorApi import com.lagradost.cloudstream3.utils.ExtractorLink import com.lagradost.cloudstream3.utils.newExtractorLink -@Prerelease open class Vids : ExtractorApi() { override val name: String = "Vids" override val mainUrl: String = "https://vids.st" diff --git a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/helper/AesHelper.kt b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/helper/AesHelper.kt index 22527bcfb..513441935 100644 --- a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/helper/AesHelper.kt +++ b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/helper/AesHelper.kt @@ -20,7 +20,6 @@ object AesHelper { private val md5Hasher = provider.get(MD5).hasher() @OptIn(DelicateCryptographyApi::class) - @Prerelease fun cryptoAESHandler( data: String, pass: ByteArray, diff --git a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/helper/JWPlayerHelper.kt b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/helper/JWPlayerHelper.kt index c9ba4a624..b026fa237 100644 --- a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/helper/JWPlayerHelper.kt +++ b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/helper/JWPlayerHelper.kt @@ -13,7 +13,6 @@ import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable import kotlin.collections.orEmpty -@Prerelease object JwPlayerHelper { private val sourceRegex = Regex(""""?sources"?:\s*(\[.*?\])""") private val tracksRegex = Regex(""""?tracks"?:\s*(\[.*?\])""") diff --git a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/Coroutines.kt b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/Coroutines.kt index 444709f88..37cda4124 100644 --- a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/Coroutines.kt +++ b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/Coroutines.kt @@ -68,7 +68,6 @@ object Coroutines { * If you want to iterate over the list then you need to do: * list.withLock { code here } */ - @Prerelease fun atomicListOf(vararg items: T): AtomicMutableList { return AtomicMutableList(items.toMutableList()) } diff --git a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/ExtractorApi.kt b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/ExtractorApi.kt index 8ef391050..f84700bd8 100644 --- a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/ExtractorApi.kt +++ b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/ExtractorApi.kt @@ -453,7 +453,6 @@ val INFER_TYPE: ExtractorLinkType? = null * * ClearKey is supported on Android devices running Android 5.0 (API Level 21) and up. */ -@Prerelease val CLEARKEY_DRM_UUID = Uuid.fromLongs(-0x1d8e62a7567a4c37L, 0x781AB030AF78D30EL) /** @@ -462,7 +461,6 @@ val CLEARKEY_DRM_UUID = Uuid.fromLongs(-0x1d8e62a7567a4c37L, 0x781AB030AF78D30EL * * Widevine is supported on Android devices running Android 4.3 (API Level 18) and up. */ -@Prerelease val WIDEVINE_DRM_UUID = Uuid.fromLongs(-0x121074568629b532L, -0x5c37d8232ae2de13L) /** @@ -472,7 +470,6 @@ val WIDEVINE_DRM_UUID = Uuid.fromLongs(-0x121074568629b532L, -0x5c37d8232ae2de13 * PlayReady is supported on all AndroidTV devices. Note that most other Android devices do not * provide PlayReady support. */ -@Prerelease val PLAYREADY_DRM_UUID = Uuid.fromLongs(-0x65fb0f8667bfbd7aL, -0x546d19a41f77a06bL) // Deprecate after next stable @@ -534,7 +531,6 @@ suspend fun newDrmExtractorLink( return builder } -@Prerelease suspend fun newDrmExtractorLink( source: String, name: String, diff --git a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/JsInterpreter.kt b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/JsInterpreter.kt index 39d950ed1..a8a6344aa 100644 --- a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/JsInterpreter.kt +++ b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/JsInterpreter.kt @@ -86,7 +86,6 @@ private const val JS_DEFAULT_MAX_INSTRUCTIONS: Long = 50_000_000L * Convert any JS runtime value to its JavaScript string representation. * Mirrors what JS `String(value)` would produce. */ -@Prerelease fun jsValueToString(v: Any?): String = toJsString(v) /** @@ -106,7 +105,6 @@ fun jsValueToString(v: Any?): String = toJsString(v) * @param scope the [CoroutineScope] this context's cancellation is tied to. Supplied * automatically by [newJsContext] from the caller's own coroutine context. */ -@Prerelease class JsContext internal constructor( var maxExecutionTime: Duration = JS_DEFAULT_MAX_EXECUTION_TIME, var maxInstructions: Long = JS_DEFAULT_MAX_INSTRUCTIONS, @@ -160,7 +158,6 @@ class JsContext internal constructor( * eval("x + 1") * } */ -@Prerelease suspend fun newJsContext( initializer: suspend JsContext.() -> Unit = {}, ): JsContext { @@ -188,7 +185,6 @@ suspend fun newJsContext( * Returns [Unit] on evaluation failure, timeout, or when the result is JS undefined. * JS null is represented as Kotlin null. Use [jsValueToString] to convert to a JS string. */ -@Prerelease @Throws(CancellationException::class) suspend fun evalJs( js: String, diff --git a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/Levenshtein.kt b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/Levenshtein.kt index 2f3957630..82fb3af23 100644 --- a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/Levenshtein.kt +++ b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/Levenshtein.kt @@ -28,7 +28,6 @@ import com.lagradost.cloudstream3.Prerelease import kotlin.math.round // Taken from https://github.com/terrakok/FuzzyKot/blob/f794d43/fuzzykot/src/commonMain/kotlin/com/github/terrakok/fuzzykot/Levenshtein.kt -@Prerelease object Levenshtein { fun ratio(s1: String, s2: String, processor: (String) -> String = { it }): Int { val p1 = processor(s1) diff --git a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/StringUtils.kt b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/StringUtils.kt index 64815f794..8b2fa752e 100644 --- a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/StringUtils.kt +++ b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/StringUtils.kt @@ -5,12 +5,10 @@ import io.ktor.http.decodeURLQueryComponent import io.ktor.http.encodeURLParameter object StringUtils { - @Prerelease fun String.decodeUrl(): String { return this.decodeURLQueryComponent() } - @Prerelease fun String.encodeUrl(): String { return this.encodeURLParameter() } diff --git a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/serializers/NonEmptySerializer.kt b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/serializers/NonEmptySerializer.kt index 82de9f7f7..62b306e1f 100644 --- a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/serializers/NonEmptySerializer.kt +++ b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/serializers/NonEmptySerializer.kt @@ -28,7 +28,6 @@ import kotlinx.serialization.json.JsonTransformingSerializer * object Serializer : NonEmptySerializer(MyData.generatedSerializer()) * } */ -@Prerelease abstract class NonEmptySerializer(tSerializer: KSerializer) : JsonTransformingSerializer(tSerializer) { diff --git a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/serializers/WriteOnlySerializer.kt b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/serializers/WriteOnlySerializer.kt index c7f412eaa..1d06b7fca 100644 --- a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/serializers/WriteOnlySerializer.kt +++ b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/serializers/WriteOnlySerializer.kt @@ -25,7 +25,6 @@ import kotlinx.serialization.json.JsonTransformingSerializer * ) * } */ -@Prerelease abstract class WriteOnlySerializer( tSerializer: KSerializer, private val keysToIgnore: Set, From 2f69f33f1f80a6428e81a310d7304c4761925915 Mon Sep 17 00:00:00 2001 From: firelight <147925818+fire-light42@users.noreply.github.com> Date: Fri, 10 Jul 2026 16:20:49 +0000 Subject: [PATCH 2/3] Update ExtractorApi.kt --- .../kotlin/com/lagradost/cloudstream3/utils/ExtractorApi.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/ExtractorApi.kt b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/ExtractorApi.kt index f84700bd8..fb063f7a2 100644 --- a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/ExtractorApi.kt +++ b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/ExtractorApi.kt @@ -453,6 +453,7 @@ val INFER_TYPE: ExtractorLinkType? = null * * ClearKey is supported on Android devices running Android 5.0 (API Level 21) and up. */ +@Prerelease val CLEARKEY_DRM_UUID = Uuid.fromLongs(-0x1d8e62a7567a4c37L, 0x781AB030AF78D30EL) /** @@ -461,6 +462,7 @@ val CLEARKEY_DRM_UUID = Uuid.fromLongs(-0x1d8e62a7567a4c37L, 0x781AB030AF78D30EL * * Widevine is supported on Android devices running Android 4.3 (API Level 18) and up. */ +@Prerelease val WIDEVINE_DRM_UUID = Uuid.fromLongs(-0x121074568629b532L, -0x5c37d8232ae2de13L) /** @@ -470,6 +472,7 @@ val WIDEVINE_DRM_UUID = Uuid.fromLongs(-0x121074568629b532L, -0x5c37d8232ae2de13 * PlayReady is supported on all AndroidTV devices. Note that most other Android devices do not * provide PlayReady support. */ +@Prerelease val PLAYREADY_DRM_UUID = Uuid.fromLongs(-0x65fb0f8667bfbd7aL, -0x546d19a41f77a06bL) // Deprecate after next stable From 5a40b036cb53f66d1a320392a8d4d5504e05a59d Mon Sep 17 00:00:00 2001 From: firelight <147925818+fire-light42@users.noreply.github.com> Date: Fri, 10 Jul 2026 16:25:36 +0000 Subject: [PATCH 3/3] Update ExtractorApi.kt --- .../kotlin/com/lagradost/cloudstream3/utils/ExtractorApi.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/ExtractorApi.kt b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/ExtractorApi.kt index fb063f7a2..8ef391050 100644 --- a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/ExtractorApi.kt +++ b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/utils/ExtractorApi.kt @@ -534,6 +534,7 @@ suspend fun newDrmExtractorLink( return builder } +@Prerelease suspend fun newDrmExtractorLink( source: String, name: String,