v1.0.0
版本发布时间: 2021-07-07 01:21:02
jellyfin/jellyfin-sdk-kotlin最新发布版本:v1.5.1(2024-07-21 16:34:07)
After over a year of development on a brand new library for our Android apps the "Jellyfin Kotlin SDK" is now ready for release!
This library is a replacement for our old Java apiclient and uses a modern technology stack with Kotlin and Ktor / OkHttp for networking. Everything is written Kotlin-first, with a Java compatibility layer added on top.
We've already integrated the SDK in our Android apps: jellyfin-android 2.3.0 uses the SDK for all native parts of the app and jellyfin-androidtv 0.12 is using it for background tasks and the new authentication screen.
Changelog
- Fix non self closing
and elements in descriptions #283, by @nielsvanvelzen - Forward UnknownHostException and log unknown exceptions in KtorClient #284, by @nielsvanvelzen
- Fix formatting of LocalDateTimeSerializer encoding and add tests #287, by @nielsvanvelzen
- Update Gradle Wrapper from 7.1 to 7.1.1 #288, by @jellyfin-bot
1.0.0-beta.9 changelog
- Add description builder to modify property and class kdoc #276, by @nielsvanvelzen
- Add simplified Java version of the cli sample #278, by @nielsvanvelzen
- Update OpenAPI to 10.7.6 #279, by @jellyfin-bot
- Fix nullability in ImageMapsHook #280, by @nielsvanvelzen
- Fix warnings and issue in DefaultUserIdHook #282, by @nielsvanvelzen
- Update all dependencies #281, by @nielsvanvelzen
1.0.0-beta.8 changelog
- Add bitrate measurement functions #263, by @nielsvanvelzen
- Publish openapi-unstable branch as openapi-unstable-SNAPSHOT #264, by @nielsvanvelzen
- Bump actions/cache from 2.1.5 to 2.1.6 #265, by @dependabot
- Move createPath function to separate PathBuilder #266, by @nielsvanvelzen
- Move createAuthorizationHeader function to separate AuthorizationHeaderBuilder #267, by @nielsvanvelzen
- Improve usage of Jellyfin class in Java code #268, by @nielsvanvelzen
- Add toString function to ServerVersion #269, by @nielsvanvelzen
- Add DefaultValueHook for setting default operation parameter values #270, by @nielsvanvelzen
- Add userId default value hook #272, by @nielsvanvelzen
- Fix bad line endings used in openapi generator #274, by @nielsvanvelzen
1.0.0-beta.7 changelog
- Fix enums not serialized in query parameters #262, by @nielsvanvelzen
1.0.0-beta.6 changelog
- Add information about desugaring and update sample code in README #252, by @nielsvanvelzen
- Replace GH_TOKEN with JF_BOT_TOKEN #254, by @ferferga
- Rename MissingPathVariableError to MissingPathVariableException and extend ApiClientException #256, by @nielsvanvelzen
- Add pair extensions to easily convert SDK pairs to and from Kotlin pairs #255, by @nielsvanvelzen
- Update kotlinx.coroutines and fix warnings in WebSocketApi #257, by @nielsvanvelzen
- Update Gradle Wrapper from 7.0.1 to 7.0.2 #258, by @jellyfin-bot
- Catch all types of timeouts and rethrow as ApiClientException #259, by @Maxr1998
- Add requestTimeout and socketTimeout to HttpClientOptions #261, by @nielsvanvelzen
1.0.0-beta.5 changelog
- Update all dependencies to latest version #242, by @nielsvanvelzen
- Add workflow to maintain an openapi-unstable branch #244, by @nielsvanvelzen
- Set nullability for query parameters based on the required attribute instead #245, by @nielsvanvelzen
- Add HttpClientOptions and exceptions in KtorClient #246, by @nielsvanvelzen
- Refactor discovery code with better rules #243, by @nielsvanvelzen
- Run test workflow on openapi-unstable branch #247, by @nielsvanvelzen
- Replace commit action with git commands in unstable branch workflow #249, by @nielsvanvelzen
1.0.0-beta.4 changelog
- Update Dokka to version 1.4.32 #241, by @nielsvanvelzen
- Update Kotlin to version 1.5.0 #240, by @nielsvanvelzen
- Sort generated operations alphabetically #239, by @nielsvanvelzen
- Update Android Gradle plugin to 4.2 #237, by @nielsvanvelzen
- Remove jcenter repository #238, by @nielsvanvelzen
- Update OpenAPI to 10.7.5 #236, by @jellyfin-bot
- Use eps1lon/actions-label-merge-conflict #235, by @nielsvanvelzen
- Fix path variable replacement #234, by @Maxr1998
- Rename recommendedVersion to minimumVersion #233, by @nielsvanvelzen
- Add deviceInfo and clientInfo getters in Jellyfin class #232, by @nielsvanvelzen
- Fix, suppress or modify all Detekt linter issues #231, by @nielsvanvelzen
- Add linting in CI using Detekt with SARIF output #229, by @nielsvanvelzen
- Use the Jellyfin Bot for all tasks using GitHub tokens #227, by @nielsvanvelzen
1.0.0-beta.3 changelog
- Model updates #224, by @nielsvanvelzen
- add missed dependencies label for dependabot PRs #225, by @h1dden-da3m0n
- Update OpenAPI to 10.7.2 #223, by @jellyfin-bot
- fix generated PR body overflow #221, by @h1dden-da3m0n
- (deps): bump actions/cache from v2 to v2.1.4 #215, by @dependabot
- Add GitHub workflow to automatically update OpenAPI spec and generated sources #219, by @h1dden-da3m0n
- Use experimental centralized dependency versions and type-safe project dependencies #218, by @nielsvanvelzen
- Use Java 16 in tests #217, by @nielsvanvelzen
- Update Gradle Wrapper from 6.8.3 to 7.0 #216, by @github-actions
- (deps): update used actions #214, by @h1dden-da3m0n
- Add binary compatibility validation #213, by @nielsvanvelzen
- Add default repositories to all projects #212, by @nielsvanvelzen
- Use SessionMessageType enum in WebSocketApi #204, by @nielsvanvelzen
- Remove server version from constants #205, by @nielsvanvelzen
- Update OpenAPI to 10.7.1 #203, by @nielsvanvelzen
- Automatically release on Sonatype #201, by @nielsvanvelzen
- Fix broken badge in README #202, by @nielsvanvelzen
1.0.0-beta.2 changelog
- Publish javadoc using Dokka #199, by @nielsvanvelzen
- Fix missing pom in android module #198, by @nielsvanvelzen
1.0.0-beta.1 changelog
- Create new README for 1.0.0 version #193, by @nielsvanvelzen
- Rename apiclient to SDK (after repository rename) #197, by @nielsvanvelzen
- Rename apiclient to SDK #196, by @nielsvanvelzen
- Add CODEOWNERS file #194, by @nielsvanvelzen
- Publish release assets #192, by @nielsvanvelzen
- Move publishing CI to GitHub actions #191, by @nielsvanvelzen
- Move build and testing CI to GitHub Actions #190, by @nielsvanvelzen
- Publish to Sonatype OSS #189, by @nielsvanvelzen
- Update generated sources (10.7.0 stable) #188, by @nielsvanvelzen
- Use OperationBuilder as parent class in OperationUrlBuilder and remove duplicate code #186, by @nielsvanvelzen
- Update openapi.json and generated sources to 10.7.0-RC4 #185, by @nielsvanvelzen
- Support OpenAPI composition #172, by @nielsvanvelzen
- Generate apiVersion and serverVersion constants #180, by @nielsvanvelzen
- Update Gradle Wrapper from 6.8.2 to 6.8.3 #184, by @github-actions
- Update Gradle Wrapper from 6.7 to 6.8.2 #182, by @github-actions
- Rename gradle wrapper workflows #183, by @nielsvanvelzen
- Add more properties to apiclient interface #178, by @nielsvanvelzen
- Add "observe" command to CLI sample to listen for WebSocket messages #177, by @nielsvanvelzen
- Remove versionName and versionCode from android module #179, by @nielsvanvelzen
- Update dependencies #175, by @nielsvanvelzen
- Support nullable POST bodies #173, by @nielsvanvelzen
- Add service name hook #170, by @nielsvanvelzen
- Add String.toUUID and String.toUUIDOrNull functions #171, by @nielsvanvelzen
- Update OpenAPI specification to 10.7~RC3 #169, by @nielsvanvelzen
- Discovery fixes #168, by @nielsvanvelzen
- Update OpenAPI specification to 10.7~RC2 #166, by @nielsvanvelzen
- Fix uuid parser sometimes failing #165, by @nielsvanvelzen
- Fix server discovery not ignoring unknown keys #164, by @nielsvanvelzen
- Update OpenAPI spec #160, by @nielsvanvelzen
- Encode device name in authorization header #159, by @nielsvanvelzen
- Fix lists incorrectly encoded in urls #157, by @nielsvanvelzen
- Set default value for requireAuthentication #155, by @nielsvanvelzen
- Expose ktor-http library #158, by @nielsvanvelzen
- Add option to generate URLs with access token added #154, by @nielsvanvelzen
- Update OpenAPI version to 10.7.0-rc1 (feature freeze) #151, by @nielsvanvelzen
- Support nullable parameters in path #150, by @nielsvanvelzen
- Add download and update tasks for OpenAPI spec #149, by @nielsvanvelzen
- Enable explicit API mode in jellyfin-core #153, by @nielsvanvelzen
- Enable explicit API mode in jellyfin-platform-android #152, by @nielsvanvelzen
- Add warning for path-parameters not specified in the operation path #144, by @nielsvanvelzen
- Support font files as binary content in OpenAPI generator #148, by @nielsvanvelzen
- Enable explicit API mode in jellyfin-api #146, by @nielsvanvelzen
- Enable explicit API mode in jellyfin-model #145, by @nielsvanvelzen
- Update all dependencies (November edition) #147, by @nielsvanvelzen
- Update gitattributes to mark generated code as such #143, by @nielsvanvelzen
- Update Kotlinpoet to 1.7.2 #138, by @nielsvanvelzen
- Refactor CLI sample #139, by @nielsvanvelzen
- Add recommended server discovery #134, by @nielsvanvelzen
- Add default values to API operations #135, by @nielsvanvelzen
- Normalize the Android device name #136, by @nielsvanvelzen
- Update OpenAPI spec (version 2020-10-16) #129, by @nielsvanvelzen
- Add openapi.json to git lfs #128, by @nielsvanvelzen
- Use coroutine based ByteReadChannel instead of synchronous InputStream #122, by @nielsvanvelzen
- update(ci): change ci publish steps ... again #127, by @h1dden-da3m0n
- Add more information to the Response class #123, by @nielsvanvelzen
- fix(ci): update search path for release assets #125, by @h1dden-da3m0n
- Enable Android core library desugaring #121, by @nielsvanvelzen
- Module name refactor #120, by @nielsvanvelzen
- Add WebSockets #111, by @nielsvanvelzen
- Catch IO exceptions when sending discovery messages #119, by @nielsvanvelzen
- Use kasechange in openapi-generator #116, by @nielsvanvelzen
- Fix all markdown linter issues #117, by @nielsvanvelzen
- Remove old logger (replaced with slf4j) #118, by @nielsvanvelzen
- Add SyncPlayGroupUpdateHook hook #115, by @nielsvanvelzen
- Improve discovery code #113, by @nielsvanvelzen
- Add operation url function to API services #112, by @nielsvanvelzen
- Nullable references #110, by @nielsvanvelzen
- Openapi api implementation #109, by @nielsvanvelzen
- Add SerialName to enum constants in openapi-generator #108, by @nielsvanvelzen
- Switch to kotlinx.serialization #104, by @nielsvanvelzen
- Update license to LGPL 3.0 #105, by @nielsvanvelzen
- Rewrite loggers from scratch while keeping their API compatible #106, by @nielsvanvelzen
- Change generated models package to org.jellyfin.apiclient.model.api #102, by @nielsvanvelzen
- Remove old API code #100, by @nielsvanvelzen
- Openapi generated sources #98, by @nielsvanvelzen
- Use buildSrc in new modules #97, by @nielsvanvelzen
- Add UserApi.authenticateUserByName extension #96, by @nielsvanvelzen
- Add Java compatibility to api module #95, by @nielsvanvelzen
- Add minimal API module with hardcoded Authorization header #94, by @nielsvanvelzen
- Update model module to support generated sources #93, by @nielsvanvelzen
- Add openapi-generator module #92, by @nielsvanvelzen
- Add info on how to include in projects #89, by @Maxr1998
Compatibility
Info | Jellyfin version |
---|---|
Minimum API Version | 10.7.0 |
Recommended API Version | 10.7.6 |
1、 java-cli-1.0.0.jar 3.01KB
2、 java-cli-1.0.0.zip 10.36MB
3、 jellyfin-api-1.0.0.jar 1.7MB
4、 jellyfin-core-1.0.0.jar 60.45KB
5、 jellyfin-model-1.0.0.jar 1.94MB
6、 jellyfin-platform-android-debug.aar 6.7KB
7、 jellyfin-platform-android-release.aar 6.53KB
8、 kotlin-cli-1.0.0.jar 49.38KB
9、 kotlin-cli-1.0.0.zip 10.89MB
10、 openapi-generator-1.0.0.jar 148.22KB
11、 openapi-generator-1.0.0.zip 17.21MB