jellyfin-sdk-kotlin

Kotlin SDK for Jellyfin, supporting Android and JVM targets

LGPL-3.0 License

Stars
74
Committers
25

Bot releases are visible (Hide)

jellyfin-sdk-kotlin - v0.7.1

Published by nielsvanvelzen about 4 years ago

Unfortunately our previous release did not go as expected. Some major issues caused the Android library to cause crashes because of some missing classes. And nothing was published to Bintray because of a misconfiguration. This release fixes both of these issues.

🔧 Build changes

  • Fix Java files not being included in the Android build #84, by @nielsvanvelzen
  • Fix incorrect Bintray repository URL #85, by @nielsvanvelzen
jellyfin-sdk-kotlin - v0.7.0

Published by nielsvanvelzen about 4 years ago

This release was not published to Bintray due too a failure in packaging the Android library and in the publishing configuration. A new version was released to fix this issue.


A few months ago we made the decision to drastically change the apiclient to be more robust and future proof. To achieve this goal the primary language of the code changed from Java to Kotlin and a bunch of features were removed because they were badly implemented or did not fit in the library. Some of those features might come back in the future based on our needs in the Android apps and feedback we receive from our users.

Our plan is to release the next version with a brand new HTTP API. This new API will be automatically adapt to the OpenAPI specification that Jellyfin 10.7.0 and up will generate. The code will change a lot: functions will use camel case instead of pascal case, the package will change, callback are replaced with coroutines and much more. Because of these drastic changes we decided to release version 0.7.0 (this one!) first to make it easier to migration applications. Allowing developers to upgrade the apiclient in two separate steps.

💜 Highlights

  • The library is now published on Bintray making it easier to install
  • New Jellyfin class that helps using all library features
    • The README samples use this class
  • Removed the credential manager
    • The implementation was bad and it made the code unmaintainable
    • Applications should store their credentials themselves
  • Rewritten server discovery
    • It now uses Kotlin coroutines and works on the JVM (previously Android only)
  • Added the "Kotlin Console Example", a command line interface for Jellyfin
    • See the README for more information

🔍 Pull requests

✨ New features

  • Refactor logging #55, by @nielsvanvelzen
  • Simplify Android module #63, by @nielsvanvelzen
  • Rewrite server discovery #61, by @nielsvanvelzen
  • Add Jellyfin class which should be used when using the library #69, by @nielsvanvelzen
  • Add kotlin-console example using kotlinx.cli and the library #70, by @nielsvanvelzen
  • Add listing users to cli #75, by @thornbill

🥀 Removals

  • Remove image loading utilities #45, by @nielsvanvelzen
  • Remove upload and local video/photo support from android module #51, by @nielsvanvelzen
  • Remove ICredentialProvider #62, by @nielsvanvelzen
  • Remove connection manager #72, by @nielsvanvelzen
  • Remove UploadFile function from ApiClient #73, by @nielsvanvelzen
  • Remove more sync code and remove unused models #74, by @nielsvanvelzen

🔥 Crash fixes

  • Declare used permissions in AndroidManifest #50, by @nielsvanvelzen
  • Fix crash when person type is null #66, by @nielsvanvelzen

🐛 Bug fixes

  • Fix discovery duplicates #71, by @nielsvanvelzen
  • Use JSON instead of forms (master branch) #76, by @nielsvanvelzen
  • Make server address optional #77, by @nielsvanvelzen

🎨 Code quality

  • Add .editorconfig #43, by @nielsvanvelzen
  • Remove appcompat #48, by @nielsvanvelzen
  • Add Detekt #64, by @nielsvanvelzen

⬆️ Dependency upgrades

  • Upgrade gradle wrapper to 6.3 #44, by @nielsvanvelzen
  • Upgrade dependencies #46, by @nielsvanvelzen
  • Upgrade Android compile/target version #47, by @nielsvanvelzen

🔧 Build changes

  • Use Kotlin in Gradle build scripts #42, by @nielsvanvelzen
  • Add "model" package to it's own module #49, by @nielsvanvelzen
  • Publish to Bintray #54, by @nielsvanvelzen
  • Enable Kotlin support for all modules #60, by @nielsvanvelzen
  • Rewrite Azure pipeline based on ATV app pipeline #78, by @nielsvanvelzen
  • Generate Android version code #79, by @nielsvanvelzen
  • Rename sources folder for android to "kotlin" instead of "java". #80, by @nielsvanvelzen
  • Add buildSrc gradle project #81, by @nielsvanvelzen
  • Fix release assets uploading the wrong files #83, by @nielsvanvelzen
  • Add env variable mapping #82, by @anthonylavado

📚 Documentation

  • Remove information about (removed feature) sync from README #41, by @nielsvanvelzen
  • Update header of README #52, by @nielsvanvelzen
  • Remove reference to tangible in README #58, by @thornbill
jellyfin-sdk-kotlin - v0.6.4

Published by nielsvanvelzen about 4 years ago

This release adds a fix for compatibility with Jellyfin 10.7.x.

🐛 Bug fixes

  • Use JSON instead of forms #76, by @nielsvanvelzen
jellyfin-sdk-kotlin - v0.6.3

Published by dkanada over 4 years ago

✨ New features

  • Add new method to append parameter for searches #67, by @bendardenne
jellyfin-sdk-kotlin - v0.6.2

Published by nielsvanvelzen over 4 years ago

🔥 Crash fixes

  • Fix crash when person type is null #65, by @nielsvanvelzen
jellyfin-sdk-kotlin - v0.6.1

Published by thornbill over 4 years ago

✨ New features

  • Add two missing methods to improve playlist support #53, by @dkanada
jellyfin-sdk-kotlin - v0.6.0

Published by thornbill over 4 years ago

✨ New features

  • Try both https and http when no protocol is set #37, by @nielsvanvelzen

🔥 Crash fixes

  • Add checks to catch misusages of logger #35, by @AndreasGB
  • Fix incorrect usages of ILogger interface #34, by @AndreasGB

🐛 Bug fixes

  • Update Java-WebSocket to 1.4.0 and some misc fixes #39, by @nielsvanvelzen

🎨 Code quality

  • Add genre items and deprecate the genres string array #36, by @nielsvanvelzen
  • Refactor PersonType into a proper enum #33, by @AndreasGB

🔧 Build changes

  • Set library as api and upgrade gradle build tools version #38, by @nielsvanvelzen
jellyfin-sdk-kotlin - v0.5.0

Published by thornbill over 4 years ago

Bumping the version in preparation for a new Android TV release 🎉

jellyfin-sdk-kotlin - v0.4.0

Published by dkanada almost 5 years ago

Initial Release