Releases: jellyfin/jellyfin-sdk-kotlin
v1.4.0-beta.1
This version adds request models in addition to the existing API functions. We've also improved server discovery performance and moved all documentation to kotlin-sdk.jellyfin.org.
🏗️ Enhancements
- Optimize map building in generator #455, by @nielsvanvelzen
- Support default values in generated models #456, by @nielsvanvelzen
- Don't use Any type for defaultValue in generator #464, by @nielsvanvelzen
- Support enum defaults, add generator context #465, by @nielsvanvelzen
- Generate request models #475, by @nielsvanvelzen
- Build and deploy Dokka documentation in CI #476, by @nielsvanvelzen
- Use Vitepress to build markdown documentation #478, by @nielsvanvelzen
- Build and deploy Vitepress documentation to GitHub pages #480, by @nielsvanvelzen
- Improve RecommendedServerDiscovery speed significantly #492, by @nielsvanvelzen
- Add markdown linting to CI #493, by @nielsvanvelzen
- Implement DescriptionHook for more advanced description customization #513, by @nielsvanvelzen
- Update GitHub actions workflows #519, by @nielsvanvelzen
- Update OpenAPI to 10.8.5 #520, by @jellyfin-bot
- Add Gradle download plugin to version catalog #535, by @nielsvanvelzen
- Remove TranscodingInfoTranscodeReasonsHook #563, by @nielsvanvelzen
- Remove redundant SyncPlayGroupUpdateHook #564, by @nielsvanvelzen
- Add favicon to docs, fix logo in light mode #565, by @nielsvanvelzen
- Use multiple query parameters instead of comma separated values in UrlBuilder #573, by @nielsvanvelzen
- Update OpenAPI to 10.8.6 #576, by @jellyfin-bot
- Update OpenAPI to 10.8.7 #580, by @jellyfin-bot
📚 Documentation
- Fix Dokka link and v1.1 migration title in docs #481, by @nielsvanvelzen
- Rewrite README to focus on SDK developers instead of users #487, by @nielsvanvelzen
- Add "Authentication" page to documentation #488, by @nielsvanvelzen
🔧 Bugfixes
- Remove READ_EXTERNAL_STORAGE permission #474, by @jarnedemeulemeester
- Split openapi generator and api dump tasks to avoid build failure #489, by @nielsvanvelzen
💡 Everything else
- Bump Android compile and target SDK to 32 (Android 12L) #459, by @nielsvanvelzen
- Use gradle/gradle-build-action in CI #477, by @nielsvanvelzen
- Use ubuntu-22.04 in workflows #500, by @nielsvanvelzen
📈 Dependency updates
- Update dependency com.github.ajalt.clikt:clikt to v3.5.0 #417, by @renovate[bot]
- Update gradle-update/update-gradle-wrapper-action digest to 981c551 #420, by @renovate[bot]
- Update androidx.annotation:annotation
- Update io.swagger.parser.v3:swagger-parser
- Update org.jetbrains.dokka
- Update Kotlin
- Update github/codeql-action
- to 3f62b75 #427, by @renovate[bot]
- to 3e7e3b3 #438, by @renovate[bot]
- to 0c670bb #445, by @renovate[bot]
- to 2ca79b6 #452, by @renovate[bot]
- to f5d217b #468, by @renovate[bot]
- to 7fee4ca #470, by @renovate[bot]
- to c7f292e #473, by @renovate[bot]
- to b398f52 #485, by @renovate[bot]
- to 6a38b7d #503, by @renovate[bot]
- to 904260d #507, by @renovate[bot]
- to 86f3159 #511, by @renovate[bot]
- to e0e5ded #534, by @renovate[bot]
- to 8075783 #541, by @renovate[bot]
- to cc7986c #556, by @renovate[bot]
- to ec3cf9c #572, by @renovate[bot]
- Update actions/setup-java
- Update technote-space/create-pr-action
- Update org.jetbrains.kotlinx.binary-compatibility-validator
- Update Gradle Wrapper from 7.4.2 to 7.5 #440, by @jellyfin-bot
- Update dependency io.gitlab.arturbosch.detekt to v1.21.0 #441, by @renovate[bot]
- Update kotest
- Update dependency com.android.tools.build:gradle to v7.2.2 #451, by @renovate[bot]
- Update Gradle Wrapper from 7.5 to 7.5.1 #453, by @jellyfin-bot
- Update org.jetbrains.kotlinx:kotlinx-serialization-json
- Update gradle/gradle-build-action
- Update vitepress
- to v1.0.0-alpha.13 #483, by @renovate[bot]
- to v1.0.0-alpha.15 #504, by @renovate[bot]
- to v1.0.0-alpha.16 #518, by @renovate[bot]
- to v1.0.0-alpha.17 #526, by @renovate[bot]
- to v1.0.0-alpha.18 #536, by @renovate[bot]
- to v1.0.0-alpha.19 #537, by @renovate[bot]
- to v1.0.0-alpha.20 #546, by @renovate[bot]
- to v1.0.0-alpha.21 #549, by @renovate[bot]
- to v1.0.0-alpha.22 #562, by @renovate[bot]
- to v1.0.0-alpha.26 #571, by @renovate[bot]
- Update actions/upload-pages-artifact digest to a597aec #486, by @renovate[bot]
- Update dependency androidx.core:core-ktx to v1.9.0 #496, by @renovate[bot]
- Update actions/configure-pages
- Update io.insert-koin:koin-core
- Update actions/deploy-pages
- Update io.github.microutils:kotlin-logging
- Update org.slf4j:slf4j-simple
- Update actions/setup-node
- Update actions/checkout
- Update dependency de.undercouch.download to v5.3.0 #551, by @renovate[bot]
- Update actions/download-artifact digest to 9782bd6 #559, by @renovate[bot]
- Update actions/upload-artifact digest to 83fd05a #561, by @renovate[bot]
- Update xt0rted/markdownlint-problem-matcher action to v2 #567, by @renovate[bot]
- Update gradle/wrapper-validation-action digest to 55e685c #570, by @renovate[bot]
- Update alexellis/upload-assets action to v0.4.0 #577, by @renovate[bot]
- Update eps1lon/actions-label-merge-conflict action to v2.1.0 #579, by @renovate[bot]
- Update Kotlin #415, by @renovate[bot]
- Pin dependencies #479, by @renovate[bot]
Contributors
Compatibility
Info | Jellyfin version |
---|---|
Minimum API Version | 10.8.1 |
Recommended API Version | 10.8.7 |
v1.3.7
This release brings a temporary fix for a badly generated type in the TranscodingInfo model causing the JSON deserialization to fail.
Bugfixes
- Add TranscodingInfoTranscodeReasonsHook to fix issue with OpenAPI spec #542, by @nielsvanvelzen
Contributors
Compatibility
Info | Jellyfin version |
---|---|
Minimum API Version | 10.8.1 |
Recommended API Version | 10.8.5 |
v1.3.6
In this release we have fixed two small bugs and updated the API to Jellyfin 10.8.5. This API version adds the "data" member to the "MediaStreamType" enum.
Features
- Update OpenAPI to 10.8.5 #521, by @nielsvanvelzen
Bugfixes
- Fix AddressCandidateHelper issues with empty input and invalid ports #491, by @nielsvanvelzen
- Fallback to manufacturer + model when device name is null #508, by @nielsvanvelzen
Contributors
Compatibility
Info | Jellyfin version |
---|---|
Minimum API Version | 10.8.1 |
Recommended API Version | 10.8.5 |
v1.3.5
This release fixes device names with special characters, updates the API to Jellyfin 10.8.4 (no changes) and adds constants for CollectionType, ItemSortBy, MediaType and PersonType.
Changelog
- Use URL encoding for authorization header values #457, by @nielsvanvelzen
- Update OpenAPI to 10.8.4 #461, by @jellyfin-bot
- Add model constants CollectionType, ItemSortBy, MediaType and PersonType #462, by @nielsvanvelzen
Contributors
Compatibility
Info | Jellyfin version |
---|---|
Minimum API Version | 10.8.1 |
Recommended API Version | 10.8.4 |
v1.3.4
SSL exceptions are now handled by the ApiClient, fixing a regression of the previous 1.3.3 release that caused clients to crash. The recommended server version is bumped to 10.8.3 (although it does not contain any API changes).
Changelog
- Update OpenAPI to 10.8.3 #447, by @jellyfin-bot
- Add SecureConnectionException for all SSL related exceptions #449, by @nielsvanvelzen
- Catch all ApiClientException instances in RecommendedServerDiscovery #450, by @nielsvanvelzen
Contributors
Compatibility
Info | Jellyfin version |
---|---|
Minimum API Version | 10.8.1 |
Recommended API Version | 10.8.3 |
v1.3.3
This release fixes an issue where the ApiClient caught all throwables and rethrow them wrapped as ApiClientException. This behavior caused issues with Kotlin coroutines because the CancellationException was changed to a different exception type.
Changelog
- Remove catching (too generic) Throwable exceptions #446, by @nielsvanvelzen
Contributors
Compatibility
Info | Jellyfin version |
---|---|
Minimum API Version | 10.8.1 |
Recommended API Version | 10.8.1 |
v1.3.2
Fixed an issue where java.net.ConnectException was not mapped to the SDK's TimeoutException and adds two tiny features:
- Accept "minimumServerVersion" in JellyfinOptions to forcefully support older Jellyfin versions
- Add
clientLogApi.logFileUrl
to generate the URL used for crash reports
Changelog
- Generate URL builder function for ClientLogApi.logFile #432, by @nielsvanvelzen
- Allow client to change minimum server version #434, by @nielsvanvelzen
- Map java.net.ConnectException to TimeoutException #442, by @AndreasGB
Contributors
Compatibility
Info | Jellyfin version |
---|---|
Minimum API Version | 10.8.1 |
Recommended API Version | 10.8.1 |
v1.3.1
Jellyfin 10.8.1 was released with a few changes to the API. Unfortunately this includes some breaking changes. Keep using the previous SDK release (1.3.0) If you'd like to support 10.8.0 or don't need the changes from this release.
The breaking changes in the API are:
- Added
splashscreenEnabled
field in BrandingOptions - Added
vppTonemappingBrightness
andvppTonemappingContrast
fields in EncodingOptions
The mentioned API models will cause an exception when using 10.8.0 or lower because they lack a value in the API responses and have no defaults set.
Changelog
- Update kotest to v5.3.1 #418, by @renovate[bot]
- Update dependency com.squareup:kotlinpoet to v1.12.0 #419, by @renovate[bot]
- Increase minimum supported Jellyfin version to 10.8.1 #423, by @nielsvanvelzen
- Update kotest to v5.3.2 #429, by @renovate[bot]
- Update OpenAPI to 10.8.1 #431, by @jellyfin-bot
Contributors
Compatibility
Info | Jellyfin version |
---|---|
Minimum API Version | 10.8.1 |
Recommended API Version | 10.8.1 |
v1.3.0
Jellyfin 10.8 was just released! This version of the SDK builds on top of the API changes and guarantees compatibility. The SDK now requires the server to use 10.8 or newer because of some incompatible changes in the WebSocket code and stricter nullability in the API. We recommend using a previous SDK version (like 1.2) if you still want or need to support Jellyfin 10.7.
Significant changes in this release include:
- WebSocket code now authenticates via HTTP header instead of URL (incompatible with 10.7)
- Lot's of nullability fixes in the API code
- More enums in the API (BaseItemKind is an exiting one here)
Changelog
- Add generator task for stable-pre openapi files #364, by @nielsvanvelzen
- Use JsonElement type for empty schema #367, by @nielsvanvelzen
- Remove old WebSocket implementation #369, by @nielsvanvelzen
- Bump actions/setup-java from 2 to 3 #374, by @dependabot[bot]
- Update dependencies #376, by @nielsvanvelzen
- Use Authorization header for WebSocket connections #377, by @nielsvanvelzen
- Update OpenAPI to 10.8.0-beta.1 #378, by @nielsvanvelzen
- Update minimumVersion to 10.8 #379, by @nielsvanvelzen
- Update OpenAPI to 10.8.0-beta.2 #380, by @nielsvanvelzen
- Fix ServerVersion comparison failing when build is not set #381, by @nielsvanvelzen
- Add extension function for authenticateWithQuickConnect that takes the secret directly #382, by @nielsvanvelzen
- Configure Renovate #384, by @renovate[bot]
- Move dependency repository definition to build.gradle.kts #385, by @nielsvanvelzen
- Delete dependabot.yml #386, by @nielsvanvelzen
- Update dependency com.github.ajalt.clikt:clikt to v3.4.2 #387, by @renovate[bot]
- Update org.jetbrains.kotlin to v1.6.21 #388, by @renovate[bot]
- Update plugin dokka to v1.6.21 #389, by @renovate[bot]
- Update plugin kotlin-serialization to v1.6.21 #390, by @renovate[bot]
- Update plugin binarycompatibilityvalidator to v0.9.0 #392, by @renovate[bot]
- Update github/codeql-action action to v2 #393, by @renovate[bot]
- Fix invalid string and binary request bodies #395, by @nielsvanvelzen
- Migrate unit tests to Kotest #396, by @nielsvanvelzen
- Update kotest to v5.3.0 #399, by @renovate[bot]
- Update dependency io.insert-koin:koin-core to v3.2.0 #403, by @renovate[bot]
- Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.3.3 #405, by @renovate[bot]
- Update dependency org.jetbrains.kotlinx.binary-compatibility-validator to v0.10.0 #406, by @renovate[bot]
- Update dependency io.github.microutils:kotlin-logging to v2.1.23 #407, by @renovate[bot]
- Pin dependencies #408, by @renovate[bot]
- Update dependency io.swagger.parser.v3:swagger-parser to v2.0.33 #409, by @renovate[bot]
- Set input/output in openapi-generator tasks #411, by @nielsvanvelzen
- Update Kotlin to v1.6.2 #412, by @renovate[bot]
- Update github/codeql-action digest to 27ea8f8 #413, by @renovate[bot]
- Update dependency androidx.core:core-ktx to v1.8.0 #414, by @renovate[bot]
- Update OpenAPI to 10.8.0 #416, by @jellyfin-bot
Contributors
- @renovate[bot]
- @nielsvanvelzen
- @dependabot[bot]
- @jellyfin-bot
Compatibility
Info | Jellyfin version |
---|---|
Minimum API Version | 10.8.0 |
Recommended API Version | 10.8.0 |
v1.3.0-beta.3
This beta bumps the versions of our used libraries and fixes an issue in POST requests (#395) that use binary data or text instead of JSON. No changes to the API in this beta.
Changelog
- Configure Renovate #384, by @renovate[bot]
- Move dependency repository definition to build.gradle.kts #385, by @nielsvanvelzen
- Delete dependabot.yml #386, by @nielsvanvelzen
- Update dependency com.github.ajalt.clikt:clikt to v3.4.2 #387, by @renovate[bot]
- Update org.jetbrains.kotlin to v1.6.21 #388, by @renovate[bot]
- Update plugin dokka to v1.6.21 #389, by @renovate[bot]
- Update plugin kotlin-serialization to v1.6.21 #390, by @renovate[bot]
- Update plugin binarycompatibilityvalidator to v0.9.0 #392, by @renovate[bot]
- Update github/codeql-action action to v2 #393, by @renovate[bot]
- Fix invalid string and binary request bodies #395, by @nielsvanvelzen
- Migrate unit tests to Kotest #396, by @nielsvanvelzen
- Update kotest to v5.3.0 #399, by @renovate[bot]
- Update dependency io.insert-koin:koin-core to v3.2.0 #403, by @renovate[bot]
- Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.3.3 #405, by @renovate[bot]
Contributors
- @renovate[bot]
- @nielsvanvelzen
Compatibility
Info | Jellyfin version |
---|---|
Minimum API Version | 10.8.0 |
Recommended API Version | 10.8.0-beta.3 |