Skip to content

Instantly share code, notes, and snippets.

@nielsvanvelzen
Last active September 23, 2024 17:15
Show Gist options
  • Save nielsvanvelzen/06b28e88c9cedb782e802ac363bfc343 to your computer and use it in GitHub Desktop.
Save nielsvanvelzen/06b28e88c9cedb782e802ac363bfc343 to your computer and use it in GitHub Desktop.
jellyfin-10_10-api-diff.md

Difference

Document info

Value Before After
API version 10.9.11 10.10.0
Jellyfin version 10.9.11 10.10.0

Operations

  • 🆕 getItemSegments GET /MediaSegments/\{itemId\}

Changed

  • ⚠ getAudioStream GET /Audio/\{itemId\}/stream

    key before after

    TODO: Add parameters

  • ⚠ getAudioStreamByContainer GET /Audio/\{itemId\}/stream\.\{container\}

    key before after

    TODO: Add parameters

  • ⚠ getDevices GET /Devices

    key before after
    Return type org.jellyfin.sdk.model.api.DeviceInfoQueryResult org.jellyfin.sdk.model.api.DeviceInfoDtoQueryResult

    TODO: Add parameters

  • ⚠ getDeviceInfo GET /Devices/Info

    key before after
    Return type org.jellyfin.sdk.model.api.DeviceInfo org.jellyfin.sdk.model.api.DeviceInfoDto

    TODO: Add parameters

  • ⚠ getDeviceOptions GET /Devices/Options

    key before after
    Return type org.jellyfin.sdk.model.api.DeviceOptions org.jellyfin.sdk.model.api.DeviceOptionsDto

    TODO: Add parameters

  • ⚠ getHlsAudioSegment GET /Audio/\{itemId\}/hls1/\{playlistId\}/\{segmentId\}\.\{container\}

    key before after

    TODO: Add parameters

  • ⚠ getVariantHlsAudioPlaylist GET /Audio/\{itemId\}/main\.m3u8

    key before after

    TODO: Add parameters

  • ⚠ getMasterHlsAudioPlaylist GET /Audio/\{itemId\}/master\.m3u8

    key before after

    TODO: Add parameters

  • ⚠ getHlsVideoSegment GET /Videos/\{itemId\}/hls1/\{playlistId\}/\{segmentId\}\.\{container\}

    key before after

    TODO: Add parameters

  • ⚠ getLiveHlsStream GET /Videos/\{itemId\}/live\.m3u8

    key before after

    TODO: Add parameters

  • ⚠ getVariantHlsVideoPlaylist GET /Videos/\{itemId\}/main\.m3u8

    key before after

    TODO: Add parameters

  • ⚠ getMasterHlsVideoPlaylist GET /Videos/\{itemId\}/master\.m3u8

    key before after

    TODO: Add parameters

  • ⚠ getItems GET /Items

    key before after

    TODO: Add parameters

  • ⚠ getThemeMedia GET /Items/\{itemId\}/ThemeMedia

    key before after

    TODO: Add parameters

  • ⚠ getThemeSongs GET /Items/\{itemId\}/ThemeSongs

    key before after

    TODO: Add parameters

  • ⚠ getThemeVideos GET /Items/\{itemId\}/ThemeVideos

    key before after

    TODO: Add parameters

  • ⚠ openLiveStream POST /LiveStreams/Open

    key before after

    TODO: Add parameters

  • ⚠ getSessions GET /Sessions

    key before after
    Return type kotlin.collections.List<org.jellyfin.sdk.model.api.SessionInfo> kotlin.collections.List<org.jellyfin.sdk.model.api.SessionInfoDto>

    TODO: Add parameters

  • ⚠ getUniversalAudioStream GET /Audio/\{itemId\}/universal

    key before after

    TODO: Add parameters

  • ⚠ getVideoStream GET /Videos/\{itemId\}/stream

    key before after

    TODO: Add parameters

  • ⚠ getVideoStreamByContainer GET /Videos/\{itemId\}/stream\.\{container\}

    key before after

    TODO: Add parameters

Models

  • 🆕 DeinterlaceMethod

    Enum containing deinterlace methods.

  • 🆕 DeviceInfoDto

    A DTO representing device information.

  • 🆕 DeviceInfoDtoQueryResult

    Query result container.

  • 🆕 EncoderPreset

    Enum containing encoder presets.

  • 🆕 HardwareAccelerationType

    Enum containing hardware acceleration types.

  • 🆕 MediaSegmentDto

    Api model for MediaSegment's.

  • 🆕 MediaSegmentDtoQueryResult

    Query result container.

  • 🆕 MediaSegmentType

    Defines the types of content an individual Jellyfin.Data.Entities.MediaSegment represents.

  • 🆕 SessionInfoDto

    Session info DTO.

  • 🆕 TonemappingAlgorithm

    Enum containing tonemapping algorithms.

  • 🆕 TonemappingMode

    Enum containing tonemapping modes.

  • 🆕 TonemappingRange

    Enum containing tonemapping ranges.

  • ActivityLogEntryQueryResult

    key before after
    Description null Query result container.
    • ⚠ items

      Value Before After
      Nullable true false
  • AuthenticationInfoQueryResult

    key before after
    Description null Query result container.
    • ⚠ items

      Value Before After
      Nullable true false
  • AuthenticationResult

    key before after
    Description null A class representing an authentication result.
    • ⚠ user

      Value Before After
      Description Class UserDto. Gets or sets the user.
    • ⚠ sessionInfo

      Value Before After
      Description Class SessionInfo. Gets or sets the session info.
      Type org.jellyfin.sdk.model.api.SessionInfo org.jellyfin.sdk.model.api.SessionInfoDto
    • ⚠ accessToken

      Value Before After
      Description null Gets or sets the access token.
    • ⚠ serverId

      Value Before After
      Description null Gets or sets the server id.
  • BaseItemDtoQueryResult

    key before after
    Description null Query result container.
    • ⚠ items

      Value Before After
      Nullable true false
  • ClientCapabilitiesDto

    • ⚠ deviceProfile

      Value Before After
      Description A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play.
      <br />
      Specifically, it defines the supported <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.ContainerProfiles">containers</see> and
      <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.CodecProfiles">codecs</see> (video and/or audio, including codec profiles and levels)
      the device is able to direct play (without transcoding or remuxing),
      as well as which <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.TranscodingProfiles">containers/codecs to transcode to</see> in case it isn't.
      Gets or sets the device profile.
    • ❌ supportsContentUploading

    • ❌ supportsSync

  • CodecProfile

    key before after
    Description null Defines the MediaBrowser.Model.Dlna.CodecProfile.
    • 🆕 subContainer

    • ⚠ type

      Value Before After
      Description null Gets or sets the MediaBrowser.Model.Dlna.CodecType which this container must meet.
    • ⚠ conditions

      Value Before After
      Description null Gets or sets the list of MediaBrowser.Model.Dlna.ProfileCondition which this profile must meet.
      Nullable true false
    • ⚠ applyConditions

      Value Before After
      Description null Gets or sets the list of MediaBrowser.Model.Dlna.ProfileCondition to apply if this profile is met.
      Nullable true false
    • ⚠ codec

      Value Before After
      Description null Gets or sets the codec(s) that this profile applies to.
    • ⚠ container

      Value Before After
      Description null Gets or sets the container(s) which this profile will be applied to.
  • ContainerProfile

    key before after
    Description null Defines the MediaBrowser.Model.Dlna.ContainerProfile.
    • 🆕 subContainer

    • ⚠ type

      Value Before After
      Description null Gets or sets the MediaBrowser.Model.Dlna.DlnaProfileType which this container must meet.
    • ⚠ conditions

      Value Before After
      Description null Gets or sets the list of MediaBrowser.Model.Dlna.ProfileCondition which this container will be applied to.
    • ⚠ container

      Value Before After
      Description null Gets or sets the container(s) which this container must meet.
      Nullable false true
  • DeviceProfile

    • ⚠ name

      Value Before After
      Description Gets or sets the name of this device profile. Gets or sets the name of this device profile. User profiles must have a unique name.
    • ⚠ id

      Value Before After
      Description Gets or sets the Id. Gets or sets the unique internal identifier.
      Type kotlin.String org.jellyfin.sdk.model.UUID
    • ⚠ containerProfiles

      Value Before After
      Description Gets or sets the container profiles. Gets or sets the container profiles. Failing to meet these optional conditions causes transcoding to occur.
  • DirectPlayProfile

    key before after
    Description null Defines the MediaBrowser.Model.Dlna.DirectPlayProfile.
    • ⚠ container

      Value Before After
      Description null Gets or sets the container.
      Nullable true false
    • ⚠ audioCodec

      Value Before After
      Description null Gets or sets the audio codec.
    • ⚠ videoCodec

      Value Before After
      Description null Gets or sets the video codec.
    • ⚠ type

      Value Before After
      Description null Gets or sets the Dlna profile type.
  • DownMixStereoAlgorithms

    key before after
    Description An enum representing an algorithm to downmix 6ch+ to stereo.
    Algorithms sourced from https://superuser.com/questions/852400/properly-downmix-5-1-to-stereo-using-ffmpeg/1410620#1410620. An enum representing an algorithm to downmix surround sound to stereo.
    • 🆕 Rfc7845
    • 🆕 Ac4
  • EncodingOptions

    • 🆕 qsvDevice

    • 🆕 enableDecodingColorDepth10HevcRext

    • 🆕 enableDecodingColorDepth12HevcRext

    • ⚠ hardwareAccelerationType

      Value Before After
      Type kotlin.String org.jellyfin.sdk.model.api.HardwareAccelerationType
      Nullable true false
    • ⚠ tonemappingAlgorithm

      Value Before After
      Type kotlin.String org.jellyfin.sdk.model.api.TonemappingAlgorithm
      Nullable true false
    • ⚠ tonemappingMode

      Value Before After
      Type kotlin.String org.jellyfin.sdk.model.api.TonemappingMode
      Nullable true false
    • ⚠ tonemappingRange

      Value Before After
      Type kotlin.String org.jellyfin.sdk.model.api.TonemappingRange
      Nullable true false
    • ⚠ encoderPreset

      Value Before After
      Type kotlin.String org.jellyfin.sdk.model.api.EncoderPreset
    • ⚠ deinterlaceMethod

      Value Before After
      Type kotlin.String org.jellyfin.sdk.model.api.DeinterlaceMethod
      Nullable true false
  • ExternalIdInfo

    • ⚠ urlFormatString

      Value Before After
      Deprecated false true
  • GetProgramsDto

    • ⚠ channelIds

      Value Before After
      Nullable false true
    • ⚠ minStartDate

      Value Before After
      Description Gets or sets the minimum premiere start date.
      Optional.
      Gets or sets the minimum premiere start date.
    • ⚠ hasAired

      Value Before After
      Description Gets or sets filter by programs that have completed airing, or not.
      Optional.
      Gets or sets filter by programs that have completed airing, or not.
    • ⚠ isAiring

      Value Before After
      Description Gets or sets filter by programs that are currently airing, or not.
      Optional.
      Gets or sets filter by programs that are currently airing, or not.
    • ⚠ maxStartDate

      Value Before After
      Description Gets or sets the maximum premiere start date.
      Optional.
      Gets or sets the maximum premiere start date.
    • ⚠ minEndDate

      Value Before After
      Description Gets or sets the minimum premiere end date.
      Optional.
      Gets or sets the minimum premiere end date.
    • ⚠ maxEndDate

      Value Before After
      Description Gets or sets the maximum premiere end date.
      Optional.
      Gets or sets the maximum premiere end date.
    • ⚠ isMovie

      Value Before After
      Description Gets or sets filter for movies.
      Optional.
      Gets or sets filter for movies.
    • ⚠ isSeries

      Value Before After
      Description Gets or sets filter for series.
      Optional.
      Gets or sets filter for series.
    • ⚠ isNews

      Value Before After
      Description Gets or sets filter for news.
      Optional.
      Gets or sets filter for news.
    • ⚠ isKids

      Value Before After
      Description Gets or sets filter for kids.
      Optional.
      Gets or sets filter for kids.
    • ⚠ isSports

      Value Before After
      Description Gets or sets filter for sports.
      Optional.
      Gets or sets filter for sports.
    • ⚠ startIndex

      Value Before After
      Description Gets or sets the record index to start at. All items with a lower index will be dropped from the results.
      Optional.
      Gets or sets the record index to start at. All items with a lower index will be dropped from the results.
    • ⚠ limit

      Value Before After
      Description Gets or sets the maximum number of records to return.
      Optional.
      Gets or sets the maximum number of records to return.
    • ⚠ sortBy

      Value Before After
      Description Gets or sets specify one or more sort orders, comma delimited. Options: Name, StartDate.
      Optional.
      Gets or sets specify one or more sort orders, comma delimited. Options: Name, StartDate.
      Nullable false true
    • ⚠ sortOrder

      Value Before After
      Description Gets or sets sort Order - Ascending,Descending. Gets or sets sort order.
      Nullable false true
    • ⚠ genres

      Value Before After
      Nullable false true
    • ⚠ genreIds

      Value Before After
      Nullable false true
    • ⚠ enableImages

      Value Before After
      Description Gets or sets include image information in output.
      Optional.
      Gets or sets include image information in output.
    • ⚠ enableTotalRecordCount

      Value Before After
      Default value null Boolean(value=true)
    • ⚠ imageTypeLimit

      Value Before After
      Description Gets or sets the max number of images to return, per image type.
      Optional.
      Gets or sets the max number of images to return, per image type.
    • ⚠ enableImageTypes

      Value Before After
      Description Gets or sets the image types to include in the output.
      Optional.
      Gets or sets the image types to include in the output.
      Nullable false true
    • ⚠ enableUserData

      Value Before After
      Description Gets or sets include user data.
      Optional.
      Gets or sets include user data.
    • ⚠ seriesTimerId

      Value Before After
      Description Gets or sets filter by series timer id.
      Optional.
      Gets or sets filter by series timer id.
    • ⚠ librarySeriesId

      Value Before After
      Description Gets or sets filter by library series id.
      Optional.
      Gets or sets filter by library series id.
      Nullable false true
    • ⚠ fields

      Value Before After
      Description Gets or sets specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines.
      Optional.
      Gets or sets specify additional fields of information to return in the output.
      Nullable false true
  • LibraryChangedMessage

    • ⚠ data

      Value Before After
      Description Class LibraryUpdateInfo. Gets or sets the data.
  • LibraryOptions

    • 🆕 disabledMediaSegmentProviders
    • 🆕 mediaSegmentProvideOrder
    • 🆕 saveTrickplayWithMedia
    • 🆕 disabledLyricFetchers
    • 🆕 lyricFetcherOrder
    • 🆕 preferNonstandardArtistsTag
    • 🆕 useCustomTagDelimiters
    • 🆕 customTagDelimiters
    • 🆕 delimiterWhitelist
  • LibraryOptionsResultDto

    • 🆕 lyricFetchers
  • MediaPathInfo

    • ❌ networkPath
  • MediaSourceInfo

    • 🆕 useMostCompatibleTranscodingProfile
    • 🆕 fallbackMaxStreamingBitrate
    • 🆕 hasSegments
  • MediaStream

    • 🆕 rotation
    • 🆕 referenceFrameRate
  • OpenLiveStreamDto

    • 🆕 alwaysBurnInSubtitleWhenTranscoding
  • PlayMessage

    • ⚠ data

      Value Before After
      Description Class PlayRequest. Gets or sets the data.
  • PluginInstallationCancelledMessage

    • ⚠ data

      Value Before After
      Description Class InstallationInfo. Gets or sets the data.
  • PluginInstallationCompletedMessage

    • ⚠ data

      Value Before After
      Description Class InstallationInfo. Gets or sets the data.
  • PluginInstallationFailedMessage

    • ⚠ data

      Value Before After
      Description Class InstallationInfo. Gets or sets the data.
  • PluginInstallingMessage

    • ⚠ data

      Value Before After
      Description Class InstallationInfo. Gets or sets the data.
  • PluginUninstalledMessage

    • ⚠ data

      Value Before After
      Description This is a serializable stub class that is used by the api to provide information about installed plugins. Gets or sets the data.
  • ScheduledTaskEndedMessage

    • ⚠ data

      Value Before After
      Description Class TaskExecutionInfo. Gets or sets the data.
  • SessionsMessage

    • ⚠ data

      Value Before After
      Type kotlin.collections.List<org.jellyfin.sdk.model.api.SessionInfo> kotlin.collections.List<org.jellyfin.sdk.model.api.SessionInfoDto>
  • SyncPlayCommandMessage

    • ⚠ data

      Value Before After
      Description Class SendCommand. Gets or sets the data.
  • SyncPlayGroupUpdateCommandMessage

    • ⚠ data

      Value Before After
      Description Group update without data. Gets or sets the data.
  • UserDataChangedMessage

    • ⚠ data

      Value Before After
      Description Class UserDataChangeInfo. Gets or sets the data.
  • UserUpdatedMessage

    • ⚠ data

      Value Before After
      Description Class UserDto. Gets or sets the data.
  • PlaybackInfoDto

    • 🆕 alwaysBurnInSubtitleWhenTranscoding
  • SeriesTimerInfoDtoQueryResult

    key before after
    Description null Query result container.
    • ⚠ items

      Value Before After
      Nullable true false
  • ServerConfiguration

    • ❌ metadataNetworkPath
  • SubtitleProfile

    key before after
    Description null A class for subtitle profile information.
    • ⚠ format

      Value Before After
      Description null Gets or sets the format.
    • ⚠ method

      Value Before After
      Description Delivery method to use during playback of a specific subtitle format. Gets or sets the delivery method.
    • ⚠ didlMode

      Value Before After
      Description null Gets or sets the DIDL mode.
    • ⚠ language

      Value Before After
      Description null Gets or sets the language.
    • ⚠ container

      Value Before After
      Description null Gets or sets the container.
  • ThemeMediaResult

    • ⚠ items

      Value Before After
      Nullable true false
  • TimerInfoDtoQueryResult

    key before after
    Description null Query result container.
    • ⚠ items

      Value Before After
      Nullable true false
  • TranscodeReason

    • 🆕 VideoCodecTagNotSupported
  • TranscodingInfo

    key before after
    Description null Class holding information on a runnning transcode.
    • ⚠ audioCodec

      Value Before After
      Description null Gets or sets the thread count used for encoding.
    • ⚠ videoCodec

      Value Before After
      Description null Gets or sets the thread count used for encoding.
    • ⚠ container

      Value Before After
      Description null Gets or sets the thread count used for encoding.
    • ⚠ isVideoDirect

      Value Before After
      Description null Gets or sets a value indicating whether the video is passed through.
    • ⚠ isAudioDirect

      Value Before After
      Description null Gets or sets a value indicating whether the audio is passed through.
    • ⚠ bitrate

      Value Before After
      Description null Gets or sets the bitrate.
    • ⚠ framerate

      Value Before After
      Description null Gets or sets the framerate.
    • ⚠ completionPercentage

      Value Before After
      Description null Gets or sets the completion percentage.
    • ⚠ width

      Value Before After
      Description null Gets or sets the video width.
    • ⚠ height

      Value Before After
      Description null Gets or sets the video height.
    • ⚠ audioChannels

      Value Before After
      Description null Gets or sets the audio channels.
    • ⚠ hardwareAccelerationType

      Value Before After
      Description null Gets or sets the hardware acceleration type.
      Type org.jellyfin.sdk.model.api.HardwareEncodingType org.jellyfin.sdk.model.api.HardwareAccelerationType
    • ⚠ transcodeReasons

      Value Before After
      Description null Gets or sets the transcode reasons.
  • TranscodingProfile

    key before after
    Description null A class for transcoding profile information.
    • 🆕 enableAudioVbrEncoding

    • ⚠ container

      Value Before After
      Description null Gets or sets the container.
    • ⚠ type

      Value Before After
      Description null Gets or sets the DLNA profile type.
    • ⚠ videoCodec

      Value Before After
      Description null Gets or sets the video codec.
    • ⚠ audioCodec

      Value Before After
      Description null Gets or sets the audio codec.
    • ⚠ protocol

      Value Before After
      Description Media streaming protocol.
      Lowercase for backwards compatibility.
      Gets or sets the protocol.
    • ⚠ estimateContentLength

      Value Before After
      Description null Gets or sets a value indicating whether the content length should be estimated.
    • ⚠ enableMpegtsM2TsMode

      Value Before After
      Description null Gets or sets a value indicating whether M2TS mode is enabled.
    • ⚠ transcodeSeekInfo

      Value Before After
      Description null Gets or sets the transcoding seek info mode.
    • ⚠ copyTimestamps

      Value Before After
      Description null Gets or sets a value indicating whether timestamps should be copied.
    • ⚠ context

      Value Before After
      Description null Gets or sets the encoding context.
    • ⚠ enableSubtitlesInManifest

      Value Before After
      Description null Gets or sets a value indicating whether subtitles are allowed in the manifest.
    • ⚠ maxAudioChannels

      Value Before After
      Description null Gets or sets the maximum audio channels.
    • ⚠ minSegments

      Value Before After
      Description null Gets or sets the minimum amount of segments.
    • ⚠ segmentLength

      Value Before After
      Description null Gets or sets the segment length.
    • ⚠ breakOnNonKeyFrames

      Value Before After
      Description null Gets or sets a value indicating whether breaking the video stream on non-keyframes is supported.
    • ⚠ conditions

      Value Before After
      Description null Gets or sets the profile conditions.
  • TrickplayOptions

    • 🆕 enableKeyFrameOnlyExtraction
  • TunerHostInfo

    • 🆕 allowFmp4TranscodingContainer
    • 🆕 allowStreamSharing
    • 🆕 fallbackMaxStreamingBitrate
  • UserDataChangeInfo

    • ⚠ userId

      Value Before After
      Type kotlin.String org.jellyfin.sdk.model.UUID
      Nullable true false
    • ⚠ userDataList

      Value Before After
      Nullable true false
  • UserItemDataDto

    • ⚠ key

      Value Before After
      Nullable true false
    • ⚠ itemId

      Value Before After
      Type kotlin.String org.jellyfin.sdk.model.UUID
      Nullable true false
  • ❌ ClientCapabilities

  • ❌ DeviceInfo

  • ❌ DeviceInfoQueryResult

  • ❌ DeviceOptions

    An entity representing custom options for a device.

  • ❌ HardwareEncodingType

    Enum HardwareEncodingType.

  • ❌ SessionInfo

    Class SessionInfo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment