Releases: jellyfin/jellyfin-sdk-kotlin
v1.5.0
This release is based on the Jellyfin 10.9 API and no longer supports Jellyfin 10.8.
🏗️ Enhancements
- Use Clikt in openapi-generator #613, by @nielsvanvelzen
- Add command line option to disable hooks in openapi-generator #623, by @nielsvanvelzen
- refactor: convert Long to Duration for `HttpClientOptions` #650, by @Yash-Garg
- Update sdk-update-api-spec.yaml workflow so that it can label its prs as 'enhancement' #668, by @alialiusefi
- Add compare command to openapi-generator #684, by @nielsvanvelzen
- Update and specify full action versions #691, by @1337joe
- add unsupported ssl and server unavailable issues #694, by @alialiusefi
- Force single line in createParameterValidation #708, by @nielsvanvelzen
- Migrate Android namespace to build file, remove deprecated target SDK #710, by @nielsvanvelzen
- Add fromNameOrNull and fromName functions to generated enum models #711, by @nielsvanvelzen
- Split KtorClient to separate module #739, by @nielsvanvelzen
- Add interfaces and polymorphic serialization to OpenAPI generator #745, by @nielsvanvelzen
- Support readOnly properties in OpenAPI generator #746, by @nielsvanvelzen
- Update WebSocket code to generated models #774, by @nielsvanvelzen
- Add builders for device profile and related models #795, by @nielsvanvelzen
- Add RegexValidation to OpenAPI generator #841, by @nielsvanvelzen
- Update to Gradle 8.6 and AGP 8.1 #863, by @nielsvanvelzen
- Remove support for includeCredentials from ApiClient.createUrl and generated API #871, by @nielsvanvelzen
- Remove measureBitrate and detectBitrate extensions from MediaInfoApi #874, by @nielsvanvelzen
- Remove DefaultUserIdHook #879, by @nielsvanvelzen
- Update API to 10.9.0-unstable.20240325170309 #888, by @nielsvanvelzen
- Increase minimum supported Jellyfin version to 10.9.0 #891, by @nielsvanvelzen
- Remove manually model.constant package #892, by @nielsvanvelzen
- Improve logging in kotlin-cli sample #907, by @nielsvanvelzen
- Update API to 10.9.0-unstable.20240417011332 #908, by @nielsvanvelzen
- Remove userId property from ApiClient #910, by @nielsvanvelzen
- Replace property setters in ApiClient with new update function #911, by @nielsvanvelzen
- Rewrite WebSocket code to be simpler and coroutine based #913, by @nielsvanvelzen
- Update API to 10.9.0-unstable.20240430191733 #914, by @nielsvanvelzen
- Flow on Dispatchers.IO by default in LocalServerDiscovery #916, by @nielsvanvelzen
- Use data object for RecommendedServerIssue.MissingVersion #926, by @nielsvanvelzen
- Remove specific HTTPS exceptions #939, by @nielsvanvelzen
- Support media type for image uploads #946, by @nielsvanvelzen
📚 Documentation
- Use code-group in getting-started and v1.4 migration pages #612, by @nielsvanvelzen
- Fix a kdoc typo #923, by @nielsvanvelzen
- Add homedia as third party client #942, by @valmnt
- Update documentation for 1.5 #948, by @nielsvanvelzen
🔧 Bugfixes
- Use lazy injection for openapi-generator CLI #626, by @nielsvanvelzen
- Update java-cli sample to use UserApiExtensionsKt #639, by @nielsvanvelzen
- Fix invalid comitter/author in Update OpenAPI workflow #672, by @nielsvanvelzen
- Downgrade AGP to IntelliJ compatible 7.4.0-beta02 #698, by @nielsvanvelzen
- Add descriptions to enum functions and fix typo in description for model request operations #712, by @nielsvanvelzen
- Remove affected files from automated OpenAPI spec update pull request body #724, by @nielsvanvelzen
- Fix getDefaultEnumMember dependent on schema order #731, by @nielsvanvelzen
- Merge EmptyApiModel into ObjectApiModel and add fix empty constructor #772, by @nielsvanvelzen
- Don't add @SerialName annotation to polymorphic discriminator property in ObjectModelBuilder #773, by @nielsvanvelzen
- Fix Vitepress builds #793, by @nielsvanvelzen
- Lower Java toolchain version to 8 #865, by @nielsvanvelzen
- Fix failure when signing during publishing #866, by @nielsvanvelzen
- Fix updateApiSpec* tasks not specifying dependency order #867, by @nielsvanvelzen
- Only use ByteReadChannel for API responses #877, by @nielsvanvelzen
- Fix javadoc using wrong name #925, by @nielsvanvelzen
- Disable flaky unit tests #931, by @nielsvanvelzen
- Fix typo in FileInfo.mediaType kdoc #950, by @nielsvanvelzen
- Update URL for OpenAPI source #956, by @nielsvanvelzen
- Filter out all keep alive messages from WebSocket API #959, by @nielsvanvelzen
- Add LiveTVModelsHook #960, by @nielsvanvelzen
🔃 Refactoring
- Configure core-android publishing #620, by @nielsvanvelzen
- Set name of Gradle root project #621, by @nielsvanvelzen
- Migrate to new Kotlin Multiplatform source set layout #622, by @nielsvanvelzen
- Make CurrentUserIdDefaultValue a data class #624, by @nielsvanvelzen
- Remove gradlew-update.yaml workflow #646, by @nielsvanvelzen
- Add type to make generator aware of operation request body type #876, by @nielsvanvelzen
💡 Everything else
- Extend organization Node.js Renovate config #632, by @nielsvanvelzen
- Bump Android SDK to 33 #636, by @nielsvanvelzen
- Revert "Downgrade AGP to IntelliJ compatible 7.4.0-beta02" #704, by @nielsvanvelzen
- Enable Renovate dependency dashboard #828, by @nielsvanvelzen
- Ignore failure of apiDump task in OpenAPI update workflows #870, by @nielsvanvelzen
📈 Dependency updates
- Update io.gitlab.arturbosch.detekt by renovate[bot] v1.23.6 #886, v1.23.5 #837, v1.23.3 #826, v1.23.1 #791, v1.23.0 #748, v1.22.0 #596
- Update actions/deploy-pages by renovate[bot] 497da40 #682, 0243b6c #660, 20a4baa #597
- Update actions/configure-pages by renovate[bot] fc89b04 #666, 37538b2 #653, 3c444c0 #651, c5a3e11 #598
- Update org.slf4j:slf4j-simple by renovate[bot] v2.0.13 #905, v2.0.12 #869, v2.0.11 #855, v2.0.9 #805, v2.0.7 #695, v2.0.6 #599
- Update github/codeql-action by renovate[bot] 16964e9 #683, 32dc499 #675, 17573ee #662, 39d8d7e #658, 3ebbd71 #647, a34ca99 #642, 515828d #634, 959cbb7 #600
- Update Gradle Wrapper from 7.5.1 to 7.6 #601, by @jellyfin-bot
- Update Kotlin by renovate[bot] v1.8.1 #921, v1.9.24 #917, v1.7.2 #776, v1.8.22 #762, v1.5.1 #743, v1.7.0 #736, v1.8.20 #703, v1.8.10 #655, v1.8.0 #619, v1.7.22 #602
- Update actions/setup-java by renovate[bot] 3f07048 #661, 1df8dbe #604
- Update technote-space/create-pr-action digest to 9111450 #605, by renovate[bot]
- Update vitepress by renovate[bot] v1.2.3 #958, v1.2.2 #940, v1.1.4 #903, v1.0.1 #895, v1.0.0-rc.40 #858, v1.0.0-rc.36 #850, v1.0.0-rc.31 #832, v1.0.0-rc.24 #824, v1.0.0-rc.22 #814, v1.0.0-rc.14 #810, v1.0.0-rc.10 #804, v1.0.0-rc.4 #790, v1.0.0-beta.5 #784, v1.0.0-beta.3 #771, v1.0.0-beta.2 #765, v1.0.0-beta.1 #750, v1.0.0-alpha.75 #737, v1.0.0-alpha.74 #732, v1.0.0-alpha.74 #729, v1.0.0-alpha.72 #726, v1.0.0-alpha.70 #723, v1.0.0-alpha.65 #713, v1.0.0-alpha.64 #701, v1.0.0-alpha.60 #697, v1.0.0-alpha.56 #685, v1.0.0-alpha.49 #678, v1.0.0-alpha.46 #659, v1.0.0-alpha.44 #648, v1.0.0-alpha.38 #645, v1.0.0-alpha.36 #633, v1.0.0-alpha.33 #614, v1.0.0-alpha.32 #606
- Update actions/upload-pages-artifact digest to 253fd47 #609, by renovate[bot]
- Update actions/checkout by renovate[bot] ac59398 #627, 755da8c #610
- Update io.inser...
v1.5.0-beta.4
🔧 Bugfixes
- Fix typo in FileInfo.mediaType kdoc #950, by @nielsvanvelzen
- Update URL for OpenAPI source #956, by @nielsvanvelzen
- Filter out all keep alive messages from WebSocket API #959, by @nielsvanvelzen
- Add LiveTVModelsHook #960, by @nielsvanvelzen
📈 Dependency updates
- Update OpenAPI to 10.9.6 #955, by @jellyfin-bot
- Update dependency vitepress to v1.2.3 #958, by renovate[bot]
- Update CI dependencies #951, by renovate[bot]
Contributors
Compatibility
Info | Jellyfin version |
---|---|
Minimum API Version | 10.9.0 |
Recommended API Version | 10.9.6 |
v1.5.0-beta.3
🏗️ Enhancements
- Support media type for image uploads #946, by @nielsvanvelzen
📚 Documentation
- Add homedia as third party client #942, by @valmnt
- Update documentation for 1.5 #948, by @nielsvanvelzen
📈 Dependency updates
- Update dependency vitepress to v1.2.2 #940, by renovate[bot]
- Update OpenAPI to 10.9.4 #949, by @jellyfin-bot
- Update CI dependencies #944, by renovate[bot]
Contributors
Compatibility
Info | Jellyfin version |
---|---|
Minimum API Version | 10.9.0 |
Recommended API Version | 10.9.4 |
v1.5.0-beta.2
🏗️ Enhancements
- Use data object for RecommendedServerIssue.MissingVersion #926, by @nielsvanvelzen
- Remove specific HTTPS exceptions #939, by @nielsvanvelzen
🔧 Bugfixes
- Disable flaky unit tests #931, by @nielsvanvelzen
📈 Dependency updates
- Update OpenAPI by @jellyfin-bot 10.9.3 #941, 10.9.2 #930, 10.9.1 #928
- Update github/codeql-action action to v3.25.6 - autoclosed #932, by renovate[bot]
- Update dependency com.android.tools.build:gradle to v8.4.1 #933, by renovate[bot]
- Update dependency com.squareup:kotlinpoet to v1.17.0 #938, by renovate[bot]
- Update CI dependencies #927, by renovate[bot]
Contributors
Compatibility
Info | Jellyfin version |
---|---|
Minimum API Version | 10.9.0 |
Recommended API Version | 10.9.3 |
v1.5.0-beta.1
I'm extremely excited to announce the first beta for the next version of our Kotlin SDK. This release is based on the Jellyfin 10.9 API. It is not recommended to use this version in production builds.
🏗️ Enhancements
- Use Clikt in openapi-generator #613, by @nielsvanvelzen
- Add command line option to disable hooks in openapi-generator #623, by @nielsvanvelzen
- refactor: convert Long to Duration for `HttpClientOptions` #650, by @Yash-Garg
- Update sdk-update-api-spec.yaml workflow so that it can label its prs as 'enhancement' #668, by @alialiusefi
- Add compare command to openapi-generator #684, by @nielsvanvelzen
- Update and specify full action versions #691, by @1337joe
- add unsupported ssl and server unavailable issues #694, by @alialiusefi
- Force single line in createParameterValidation #708, by @nielsvanvelzen
- Migrate Android namespace to build file, remove deprecated target SDK #710, by @nielsvanvelzen
- Add fromNameOrNull and fromName functions to generated enum models #711, by @nielsvanvelzen
- Split KtorClient to separate module #739, by @nielsvanvelzen
- Add interfaces and polymorphic serialization to OpenAPI generator #745, by @nielsvanvelzen
- Support readOnly properties in OpenAPI generator #746, by @nielsvanvelzen
- Update WebSocket code to generated models #774, by @nielsvanvelzen
- Add builders for device profile and related models #795, by @nielsvanvelzen
- Add RegexValidation to OpenAPI generator #841, by @nielsvanvelzen
- Update to Gradle 8.6 and AGP 8.1 #863, by @nielsvanvelzen
- Remove support for includeCredentials from ApiClient.createUrl and generated API #871, by @nielsvanvelzen
- Remove measureBitrate and detectBitrate extensions from MediaInfoApi #874, by @nielsvanvelzen
- Remove DefaultUserIdHook #879, by @nielsvanvelzen
- Update API to 10.9.0-unstable.20240325170309 #888, by @nielsvanvelzen
- Increase minimum supported Jellyfin version to 10.9.0 #891, by @nielsvanvelzen
- Remove manually model.constant package #892, by @nielsvanvelzen
- Improve logging in kotlin-cli sample #907, by @nielsvanvelzen
- Update API to 10.9.0-unstable.20240417011332 #908, by @nielsvanvelzen
- Remove userId property from ApiClient #910, by @nielsvanvelzen
- Replace property setters in ApiClient with new update function #911, by @nielsvanvelzen
- Update API to 10.9.0-unstable.20240430191733 #914, by @nielsvanvelzen
- Flow on Dispatchers.IO by default in LocalServerDiscovery #916, by @nielsvanvelzen
📚 Documentation
- Use code-group in getting-started and v1.4 migration pages #612, by @nielsvanvelzen
- Fix a kdoc typo #923, by @nielsvanvelzen
🔧 Bugfixes
- Use lazy injection for openapi-generator CLI #626, by @nielsvanvelzen
- Update java-cli sample to use UserApiExtensionsKt #639, by @nielsvanvelzen
- Fix invalid comitter/author in Update OpenAPI workflow #672, by @nielsvanvelzen
- Downgrade AGP to IntelliJ compatible 7.4.0-beta02 #698, by @nielsvanvelzen
- Add descriptions to enum functions and fix typo in description for model request operations #712, by @nielsvanvelzen
- Remove affected files from automated OpenAPI spec update pull request body #724, by @nielsvanvelzen
- Fix getDefaultEnumMember dependent on schema order #731, by @nielsvanvelzen
- Merge EmptyApiModel into ObjectApiModel and add fix empty constructor #772, by @nielsvanvelzen
- Don't add @SerialName annotation to polymorphic discriminator property in ObjectModelBuilder #773, by @nielsvanvelzen
- Fix Vitepress builds #793, by @nielsvanvelzen
- Lower Java toolchain version to 8 #865, by @nielsvanvelzen
- Fix failure when signing during publishing #866, by @nielsvanvelzen
- Fix updateApiSpec* tasks not specifying dependency order #867, by @nielsvanvelzen
- Only use ByteReadChannel for API responses #877, by @nielsvanvelzen
- Fix javadoc using wrong name #925, by @nielsvanvelzen
🔃 Refactoring
- Configure core-android publishing #620, by @nielsvanvelzen
- Set name of Gradle root project #621, by @nielsvanvelzen
- Migrate to new Kotlin Multiplatform source set layout #622, by @nielsvanvelzen
- Make CurrentUserIdDefaultValue a data class #624, by @nielsvanvelzen
- Remove gradlew-update.yaml workflow #646, by @nielsvanvelzen
- Add type to make generator aware of operation request body type #876, by @nielsvanvelzen
💡 Everything else
- Extend organization Node.js Renovate config #632, by @nielsvanvelzen
- Bump Android SDK to 33 #636, by @nielsvanvelzen
- Revert "Downgrade AGP to IntelliJ compatible 7.4.0-beta02" #704, by @nielsvanvelzen
- Enable Renovate dependency dashboard #828, by @nielsvanvelzen
- Ignore failure of apiDump task in OpenAPI update workflows #870, by @nielsvanvelzen
📈 Dependency updates
- Update io.gitlab.arturbosch.detekt by renovate[bot] v1.23.6 #886, v1.23.5 #837, v1.23.3 #826, v1.23.1 #791, v1.23.0 #748, v1.22.0 #596
- Update actions/deploy-pages by renovate[bot] 497da40 #682, 0243b6c #660, 20a4baa #597
- Update actions/configure-pages by renovate[bot] fc89b04 #666, 37538b2 #653, 3c444c0 #651, c5a3e11 #598
- Update org.slf4j:slf4j-simple by renovate[bot] v2.0.13 #905, v2.0.12 #869, v2.0.11 #855, v2.0.9 #805, v2.0.7 #695, v2.0.6 #599
- Update github/codeql-action by renovate[bot] 16964e9 #683, 32dc499 #675, 17573ee #662, 39d8d7e #658, 3ebbd71 #647, a34ca99 #642, 515828d #634, 959cbb7 #600
- Update Gradle Wrapper from 7.5.1 to 7.6 #601, by @jellyfin-bot
- Update Kotlin by renovate[bot] v1.8.1 #921, v1.9.24 #917, v1.7.2 #776, v1.8.22 #762, v1.5.1 #743, v1.7.0 #736, v1.8.20 #703, v1.8.10 #655, v1.8.0 #619, v1.7.22 #602
- Update actions/setup-java by renovate[bot] 3f07048 #661, 1df8dbe #604
- Update technote-space/create-pr-action digest to 9111450 #605, by renovate[bot]
- Update vitepress by renovate[bot] v1.1.4 #903, v1.0.1 #895, v1.0.0-rc.40 #858, v1.0.0-rc.36 #850, v1.0.0-rc.31 #832, v1.0.0-rc.24 #824, v1.0.0-rc.22 #814, v1.0.0-rc.14 #810, v1.0.0-rc.10 #804, v1.0.0-rc.4 #790, v1.0.0-beta.5 #784, v1.0.0-beta.3 #771, v1.0.0-beta.2 #765, v1.0.0-beta.1 #750, v1.0.0-alpha.75 #737, v1.0.0-alpha.74 #732, v1.0.0-alpha.74 #729, v1.0.0-alpha.72 #726, v1.0.0-alpha.70 #723, v1.0.0-alpha.65 #713, v1.0.0-alpha.64 #701, v1.0.0-alpha.60 #697, v1.0.0-alpha.56 #685, v1.0.0-alpha.49 #678, v1.0.0-alpha.46 #659, v1.0.0-alpha.44 #648, v1.0.0-alpha.38 #645, v1.0.0-alpha.36 #633, v1.0.0-alpha.33 #614, v1.0.0-alpha.32 #606
- Update actions/upload-pages-artifact digest to 253fd47 #609, by renovate[bot]
- Update actions/checkout by renovate[bot] ac59398 #627, 755da8c #610
- Update io.insert-koin:koin-core by renovate[bot] v3.5.6 #900, v3.5.3 #847, v3.5.0 #808, v3.4.3 #789, v3.4.2 #760, v3.4.1 #756, v3.4.0 #699, v3.3.3 #663, v3.3.2 #611
- Update com.github.ajalt.clikt:clikt by renovate[bot] v4.4.0 #912, v4.3.0 - autoclosed #894, v4.2.2 #848, v4.2.1 #815, v4.2.0 #792, v4.1.0 #786, v4 #780, v3.5.4 #767, v3.5.3 #766, v3.5.2 #677, v3.5.1 #617
- Update actions/setup-node digest to 64ed1c7 #628, by renovate[bot]
- Update actions/download-artifact digest to 9bc31d5 #629, by renovate[bot]
- Update actions/upload-artifact digest to 0b7f8ab #630, by renovate[bot]
- Update io.swagger.parser.v3:swagger-parser by renovate[bot] v2.1.22 #901, v2.1.21 #883, v2.1.20 #856, v2.1.19 #836, v2.1.18 #821, v2.1.16 #770, v2.1.15 #753, v2.1.14 #747, v2.1.13 #700, v2.1.12 #665, v2.1.11 #641, v2.1.10 #631
- Update actions/configure-pages action by renovate[bot] v5 #897, v4 #843, v3.0.6 #718, v3 #643
- Update dependency io.git...
v1.4.7
Jellyfin 10.9 is coming, and it will be backwards compatible with 10.8 clients! However, one potential issue may arise due to deserialization issues when a response contains a newly introduced enum member. Particularly notable here is the lyrics media stream type.
To address this problem, this SDK release backports the new enum members onto the 10.8.13 OpenAPI specification. As a result, both 10.8 and 10.9 servers can be supported in your Jellyfin client.
We advise updating your client to this SDK version before the stable release of 10.9, expected towards the end of April. Additionally, we recommend removing support for 10.8 servers approximately 1 to 2 months after the stable release.
🏗️ Enhancements
- [1.4] Backport 10.9 enum changes to 10.8.13 API specification #896, by @nielsvanvelzen
- Update JSON options in ApiSerializer #898, by @nielsvanvelzen
Contributors
Compatibility
Info | Jellyfin version |
---|---|
Minimum API Version | 10.8.1 |
Recommended API Version | 10.8.13 |
v1.4.6
This release updates the API version to Jellyfin 10.8.13. With this version all codec parameters (e.g. video/audio/container codec) in all API's are now restricted to a specific format. This is backwards compatible with all previously valid values, bad values will now return a bad request (HTTP 400) instead of crashing FFmpeg. A future version of the SDK will also validate these parameters client side (see #841).
📈 Dependency updates
- Update OpenAPI to 10.8.13 #838, by @jellyfin-bot
Contributors
Compatibility
Info | Jellyfin version |
---|---|
Minimum API Version | 10.8.1 |
Recommended API Version | 10.8.13 |
v1.4.5
This release bumps the recommended API version to Jellyfin 10.8.11 and introduces the "ignorePathParameters " option in the ApiClient.createUrl
function.
🏗️ Enhancements
- Add ignorePathParameters to ApiClient.createUrl #812, by @nielsvanvelzen
📈 Dependency updates
- Update OpenAPI to 10.8.12 #831, by @jellyfin-bot
Contributors
Compatibility
Info | Jellyfin version |
---|---|
Minimum API Version | 10.8.1 |
Recommended API Version | 10.8.12 |
v1.4.4
This release bumps the recommended API version to Jellyfin 10.8.11 and introduces the "ignorePathParameters " option in the UrlBuilder.
🏗️ Enhancements
- Add ignorePathParameters option to UrlBuilder #796, by @nielsvanvelzen
📈 Dependency updates
- Update OpenAPI to 10.8.11 #811, by @jellyfin-bot
Contributors
Compatibility
Info | Jellyfin version |
---|---|
Minimum API Version | 10.8.1 |
Recommended API Version | 10.8.11 |
v1.4.3
This release improves the reliability of WebSocket connections by enhancing the reconnect logic and fixing a bug when stopping the "sessions" subscription.
🏗️ Enhancements
- Remove unused androidx libraries #709, by @nielsvanvelzen
- Use slowly increasing WebSocket reconnect delay #799, by @nielsvanvelzen
🔧 Bugfixes
- Fix invalid kdoc in DiscoveryService #738, by @nielsvanvelzen
- Fix wrong serial name for SessionsStopMessage #798, by @nielsvanvelzen
- Remove release environment from sdk-publish.yaml #800, by @nielsvanvelzen
Contributors
Compatibility
Info | Jellyfin version |
---|---|
Minimum API Version | 10.8.1 |
Recommended API Version | 10.8.10 |