<?xml version='1.0' encoding='utf-8'?>
<addon id="plugin.video.jellyfin" name="Jellyfin" version="2.2.0+py3" provider-name="Jellyfin Contributors">
  <requires>
    <import addon="xbmc.python" version="3.0.0" />
    <import addon="script.module.requests" version="2.22.0+matrix.1" />
    <import addon="script.module.dateutil" version="2.8.1+matrix.1" />
    <import addon="script.module.websocket" version="1.6.4" />
    <import addon="script.module.typing_extensions" version="4.7.1" />
  </requires>
  <extension point="xbmc.python.pluginsource" library="default.py">
    <provides>video audio image</provides>
  </extension>
  <extension point="xbmc.service" library="service.py" start="login">
	</extension>
  <extension point="kodi.context.item">
    <menu id="kodi.core.main">
      <item library="context.py">
        <label>30401</label>
        <visible>[!String.IsEmpty(ListItem.DBID) + !String.IsEqual(ListItem.DBID,-1) |
					!String.IsEmpty(ListItem.Property(jellyfinid))] +
					!String.IsEmpty(Window(10000).Property(jellyfin_context))</visible>
      </item>
      <item library="context_play.py">
        <label>30402</label>
        <visible>[[!String.IsEmpty(ListItem.DBID) + !String.IsEqual(ListItem.DBID,-1) |
					!String.IsEmpty(ListItem.Property(jellyfinid))] + [String.IsEqual(ListItem.DBTYPE,movie) |
					String.Contains(Container.FolderPath,livetv) |
					String.IsEqual(ListItem.DBTYPE,episode)]] +
					!String.IsEmpty(Window(10000).Property(jellyfin_context_transcode))</visible>
      </item>
    </menu>
  </extension>
  <extension point="xbmc.addon.metadata">
    <platform>all</platform>
    <language>en</language>
    <license>GNU GENERAL PUBLIC LICENSE. Version 3, 29 June 2007</license>
    <forum>https://forum.jellyfin.org</forum>
    <website>https://jellyfin.org/</website>
    <source>https://github.com/jellyfin/jellyfin-kodi</source>
    <summary lang="en" />
    <description lang="en">Welcome to Jellyfin for Kodi!
A whole new way to manage and view your media library. The Jellyfin addon for Kodi combines the best of Kodi - ultra smooth navigation, beautiful UIs and playback of any file under the sun, and Jellyfin - the most powerful fully open source multi-client media metadata indexer and server.

Jellyfin for Kodi is the absolute best way to enjoy the incredible Kodi playback engine combined with the power of Jellyfin's centralized database. Features:
* Direct integration with the Kodi library for native Kodi speed
* Instant synchronization with the Jellyfin server
* Full support for Movie, TV and Music collections
* Jellyfin Server direct stream and transcoding support - use Kodi when you are away from home!</description>
    <news>v2.2.0 (2026-09-17):
New features and improvements
-----------------------------
+ Make UpNext integration optional (#1178) @Rijul-A, @oddstr13

Bug Fixes
---------
+ Fix audio stream selection after playback starts (#1210) @Rijul-A, @oddstr13
+ Write playlist and node XML as UTF-8 (#1169) @yorah, @oddstr13
+ Fix segment skipper for multiple same type segments (#1177) @akaMagisk, @oddstr13
+ Fix hang on sigterm (#1172) @phly95, @oddstr13
+ Avoid errors at upgrade/uninstall (#1185) @Rijul-A, @oddstr13
+ Use correct key for log level (#1189) @Rijul-A, @oddstr13
+ Keep server order as collection default, honor sort titles (#1160) @pannal, @oddstr13

Code or Repo Maintenance
------------------------
+ Restructure release-drafter config for new categories syntax (#1230) @oddstr13
+ Dump running threads and their stacks on service exit (#1204) @oddstr13
+ Add proper deprecation (#1205) @oddstr13
+ Update mcr.microsoft.com/devcontainers/python Docker tag to v3.2.3 (#1180) @renovate[bot], @oddstr13
+ Remove deprecated `translate_path` (#1209) @Rijul-A, @oddstr13
+ Use correct localization method (#1202) @Rijul-A, @oddstr13
+ Cache and reload log level (#1192) @Rijul-A, @oddstr13
+ Localize segment skip dialog (#1195) @Rijul-A, @oddstr13
+ Remove unsupported Python and Kodi code (#1197) @Rijul-A, @oddstr13
+ Update devcontainer python version (#1199) @Rijul-A, @oddstr13
+ Remove unused dep script.module.addon.signals (#1193) @Rijul-A, @oddstr13
+ Add *.zip to .gitignore (#1190) @Rijul-A, @oddstr13

Documentation updates
---------------------
+ Update readme: py2, dev, llm (#1206) @oddstr13, @Rijul-A

Dependency updates
------------------
+ Update release-drafter to v7 and tune config (#1225) @oddstr13

CI &amp; build changes
------------------
+ Fix release-prepp workflow (#1234) @oddstr13
+ Space after comma please (#1233) @oddstr13
+ Update codecov/codecov-action action to v7.1.1 (#1232) @renovate[bot], @oddstr13
+ Fix changelog formatting (#1231) @oddstr13
+ Update codecov/codecov-action action to v7.1.0 (#1224) @renovate[bot], @oddstr13
+ Add CI to auto-close invalid:llm tagged items (#1215) @oddstr13
+ Update github/codeql-action action to v4.38.0 (#1213) @renovate[bot], @oddstr13
+ Avoid potential script injection in the changelog (#1207) @oddstr13
+ Expand deny list of files in build zip (#1188) @Rijul-A, @oddstr13
+ Update github/codeql-action action to v4.37.9 (#1171) @renovate[bot], @oddstr13
+ Update github/codeql-action action to v4.37.4 (#1167) @renovate[bot], @oddstr13
+ Update github/codeql-action action to v4.37.2 (#1166) @renovate[bot], @oddstr13
+ Update actions/upload-artifact action to v7.0.1 (#1128) @renovate[bot], @oddstr13
+ Update actions/setup-python action to v7 (#1165) @renovate[bot], @oddstr13
+ Update github/codeql-action action to v4.37.1 (#1130) @renovate[bot], @oddstr13
+ Update burnett01/rsync-deployments action to v9 (#1149) @renovate[bot], @oddstr13
+ Update codecov/codecov-action action to v7 (#1143) @renovate[bot], @oddstr13
+ Update actions/checkout action to v7 (#1148) @renovate[bot], @oddstr13
+ Update actions/setup-python action to v6.3.0 (#1150) @renovate[bot], @oddstr13</news>
    <assets>
      <icon>resources/icon.png</icon>
      <fanart>resources/fanart.png</fanart>
    </assets>
  </extension>
</addon>
