Kodi v17 (Krypton) changelog

From Official Kodi Wiki
Revision as of 12:23, 12 September 2016 by Ksooo (talk | contribs) (Live TV and PVR (Personal Video Recorder))
Jump to: navigation, search
Home icon grey.png   ▶ Releases
▶ Krypton
▶ Kodi v17 (Krypton) changelog
Emblem-important-yellow.png NOTICE:
Kodi v16 (Jarvis) final have just recently been released, so please keep in mind that a final non-alpha/beta v17 (Krypton) release is still far away into the future. As such, these new features/functions and API changes is a placeholder containing changes to the current Kodi mainline (the git master tree repository on GitHub). It is a very much a work in progress, this is only listing changes commited to the master branch after Jatvis branching, and many many many features/functions and API additions or removals are subject to future change.
Incomplete.png INCOMPLETE:
This page or section is incomplete. Please add information or correct uncertain data which is marked with a ?
Future.png FUTURE Krypton FEATURE:
This page or section describes features that are a future part of the Kodi v17 release, codename "Krypton". For more information see development builds.

This is a placeholder and Kodi Wiki copy of the condensed changelog for the future Kodi v17.x version (codename: "Krypton") releases with a summery of the most important core features and functions as well as other notable changes to key areas of the application software or its user interface.

1 Changelog

1.1 Live TV and PVR (Personal Video Recorder)

  • Refactoring of PVR Manager (PVRManager) so addons are now owned by the addon system[1]
  • Added enhancement/improvements to PVR addon API (connection state change handling, asynchronous updates & more)[2] [3][4]
  • Added support for navigation controls between EDL (commercial skipping) during PVR recodings playback[5]
  • Added support for sorting channels by 'last played' in the Channels window[6]
  • Added support to changing of timer type for existing timers to ex. change a episode timer to a series timer[7]
  • Added support to echo up important Status info to Timer Rules in the Timer rules window[8]
  • Added option to hide disabled timers in the Timer window[9]
  • Added support for 'Edit timer' & 'Delete timer' rules to context menu in the EPG & Search windows[10][11]
  • Added support to allow timer creation for EPG in recent past in the EPG window[12]
  • Added support to use timer logos depending on its state in the EPG window[13][14][15]
  • Make instant recording behavior configurable (fixed-time vs. current show vs. interactive)[16]
  • Added "ShowTimerRule" builtin to allow key mapping for "add timer" dialog pre-filled for epg-based timer rule[17]
  • Added support for JSON-RPC API sync PVR types fields with current implementation[18]
  • Improveed playback of live streams as PVR Live TV streams can now be identified as "live"
  • Improved Kodi's Eventlog with extentions to PVR events for 'create/delete timers, timer rules', 'start/stop recordings'[19]
  • Improved PVR Guide window performance, especially on first open[20][21]
  • Changes to have separate windows for 'Timer Rules' from 'Timers'[22]
  • Changes to separate TV and Radio recordings in the Recordings window[23]
  • Changes to make 'group items' setting be persistent in the Recordings window[24]
  • Recordings window now respects "default select action" settings value[25]
  • Added 'recent recordings' widget (core support and Estuary PVR home screen)[26]
  • Added vertical scrollbar to Guide window to allow channel navigation using the mouse (core support and Estuary change)[27]
  • Added, updated, and improved PVR backend clients addons for all popular third-party external PVR backend platforms:

1.2 Add-ons Framework, API, and Manager

For full changelogs of all Addons APIs, see Krypton API changes, JSON-RPC, and Add-ons Development Forums

  • Added a new API level system to binary addons, refactoring the binary addon library interface for Kodi[28]
  • Added a new input system with an API for keyboard and game controllers as "Peripheral Addons"[29]
  • Added API support for "Peripheral Addons" for updatable configuration of input devices[29]
  • Added support for game controller to system addons[30]
  • Added a user-mappable Joystick (Peripheral) Addon for joysticks and gamepad abstraction APIs[31][29][32]
  • Added support for "InputStream" binary addon extension point that can serve as input stream for VideoPlayer[33][34]
  • Added support for inputstream (input stream) to system addons[35]
  • Added support for method to get our useragent string[36]
  • Added support for Addons to include screenshots to be visible in Kodi's Addons Manager
  • Added support for skins to display 'recently installed' or 'recently updated' addon list in Addon Manager[37]
  • Added setting for enabling/disabling ZIP installation of addons from unknown sources (disbaled by default)[38][39]
  • Added a lot of Doxygen related Addons documentation regarding builtin commands to Documentation[40]

1.3 GUI Engine (Skinning Engine)

For full changelog on changes to the skinning engine, see Krypton API changes and the Skin Development Forum

  • Added a new default skin called Estuary, with themes & colors, (moving Confluence to addon repo)[41][42]
  • Added a new default touch-screen enabled skin called Estouchy (moving Re-Touched to addon repo)[41][43]
  • Added a new Color Manager to handle loading of madVR 3D LUT ICC profiles for color correction[44]
  • Added a new FFmpeg based image loader to guilib for loading pictures[45]
  • Added a new FFmpeg based image thumbnails implementation[46]
  • Added experimental limited support to guilib for animated APNG images in skin textures and backgrounds/posters[47]
  • Added experimental limited support to guilib for animated GIF images in skin textures and backgrounds/posters[48]
  • Added support for commercial skipping notifications and toggle action[49]
  • Added support for defaultcontrol to grouplists to allow skins to define defaults[50]
  • Added support for 'InstallAddon' builtin to allow skins to install addons on demand[51]
  • Added Skin.SelectBool builtin support for skinning[52]
  • Added support for multi-touch to display adjustment for touch panel calibration[53]
  • Improved skinning PVR section by unifying and/or seperating different PVR related windows
  • Update guilib ABI (for libgui) to version 5.11.0[54]
  • Updated keyboard layout for some languages and added a new keyboard layout for French AZERTY
  • Changed context menus by refactoring to a global item based system to unify them[55]
  • Changed GetThumbSize() to m_imageResso so bookmark/chapter images are same resolution as posters
  • Changed background loading of thumbnails so that it is enabled by default
  • Changed default icons with updated versions

1.4 Platform Independent Playback

  • Major refactoring of Kodi's built-in video player core (which will also be renamed from "DVDPlayer" to "VideoPlayer")[56][57][58]
  • Added support for 3D LUT (3D Lookup Table) & simple ICC profile linking support for color correction[59]
  • Added video stream selection to audio/subtitle dialogue to choose between multiple videos[57][58]
  • Added support for dithering for OpenGL rendering (part of VideoPlayer refactoring)[57][58]
  • Added support for gapless playback on stream change (with the new VideoPlayer)[60]
  • Added method for requesting desired video resolution to demuxer to new VideoPlayer[61]
  • Added multi-stream input demuxer to support a video stream with external audio tracks/streams[56][62]
  • Added support to change playback speed with audio enabled between 0.8 to 1.5 of normal speed with 'tempo' controls[63][64]
  • Added support for external PGS/.sup (Blu-ray Disc) subtitles[65]
  • Added support for hardware video acceleration of DVD-Video (with the new VideoPlayer)[56]
  • Changed video renderers to separate graphics rendering from main thread (part of VideoPlayer refactoring)[57]
  • Improved A/V sync during video playback which reduce time required for audio sync (part of VideoPlayer refactoring)[57][58]
  • Improved switching refresh rates during video playback (part of VideoPlayer refactoring)[56][57][58]
  • Improved audio pass-through support during video playback (part of VideoPlayer refactoring)[57][58]
  • Improved MMAL playback of H.264 MVC (Blu-ray 3D) stereoscopic video with framepacking decoding on Raspberry Pi
  • Improved Stereoscopic 3D playback of 3D videos (as well as better 2D playback of 3D videos)
  • Improved and enhanced Blu-ray support (including updated libbluray dependecies from the VideoLAN project[66])[67]
  • Upgraded FFmpeg multimedia codec and demux libraries to stable branch release version FFmpeg 3.1.2[68][69]
  • Removed certain audio codecs from core and made them into audio decoder and audio encoder add-ons

1.5 Library

  • Added support for scraping, storing, and displaying multiple ratings from different sources[70]
  • Added support for user rating to the OSD (On Screen Display) for music playback[71]
  • Added support for rating and votes label for specific rating[72]
  • Added support to filtering by userrating in the mediafilter dialog[73]
  • Added artist roles tag to the music library to handle tags for ex. Composer, Conductor, DJMixer, etc.[74]
  • Added support for MOOD tag scanning for FLAC, Ogg, Xiph, Vorbis, ASF and MP4 audio files to music library[75]
  • Added support for showning "in progress tv shows" in the filesystem-tree[76]
  • Added support Audio and Subtitle Track Count to Smart Playlist selections filtering[77]
  • Added support to sort actors by number of movies they are in[78]
  • Added support to sort discography ascending by years
  • Added support for a method to retrieve video tags[79]
  • Improved performance for tag scanning and browsing speed in the Music library
  • Improved database performance for addons accessing library

1.6 Web Scrapers

  • Refactor and updated scrapers in Kodi for music, movies, tv shows, and music videos

1.7 AudioEngine

  • Added initial support for Audio DSP (Digital Signal Processing) plugins and addons for Kodi's AudioEngine[1]
  • Improved the default cross-platform event driven active state machine pattern ActiveAE (Kodi's AudioEngine)
  • Improved ALSA sink for ActiveAE for Linux Desktop and generic Linux based Embedded Systems
  • Improved PulseAudio sink for ActiveAE for Linux Desktop
  • Improved OSS (Open Sound System) sink for ActiveAE for BSD, like FreeBSD and similar BSD Unix based systems
  • Improved AUDIOTRACK sink for ActiveAE for Amlogic
  • Improved Pi Audio sink for ActiveAE for Raspberry Pi
  • Improved DirectSound sink for ActiveAE for Windows
  • Improved WASAPI sink for ActiveAE for Windows
  • Improved CoreAudio sink for ActiveAE for (Mac) OS X and iOS
  • Improved Darwin sink for ActiveAE for (Mac) OS X and iOS

1.8 Other

  • Added support for game controller haptics (rumble motors) when the user receives a notification[80]
  • Added support for AppVeyor CI (CI for Windows) build server for regression testing of Kodi and binary addons[81]
  • Added support building binary addons to Travis build server for regression testing of Kodi[82]
  • Added support for auto creating code documentation with Doxygen including To-Do list (https://codedocs.xyz/xbmc/xbmc/ )
  • Added documentation for skinning API to Doxygen, and moved PyDocs of Kodi API to Doxygen
  • Added support for IPv6 via cURL
  • Improved code stability, performance. and security, as well as general code clean-up in many core areas
  • Improved render capture which is used by Ambilight implementations (such as example Boblight)
  • Improved the the integrated UPnP / DNLA Media Server and Client[83][84]
  • Improved AirPlay compatibility support for iOS 8 (via updated libshairplay)[85]
  • Improved Kodi's JSON-RPC API
  • Improved the the integrated web server (used for remote control web interface and more)
  • Improved HDMI CEC (Consumer Electronics Control) support for Pulse-Eight's LibCEC
  • Improved "long-press" support functionality of a single button on a remote control
  • Updated community maintained translations to over 60+ languages to date for Kodi via Transifex Translation System
  • Updated critical dependency libraries such as sqlite, openssl, gnutls, and CMake (used to compile binary addons)
  • Removed support for RAW image decoding (with removal of CxImage as FFmpeg do not support RAW[86][87])
  • Removed CxImage, Libgif, and JpegIO (C/C++ libraries) as dependencies in favor of FFmpeg image decoding[88][89][90]
  • Removed all Boost (C++ libraries) and libsquish as dependencies[91][92]

1.9 Android Specific

  • Moved to Android API 21 and SDK 21 with NDK 10 as minimum, meaning at least Android 5.0 is now required[93][94][95]
  • Added support for audio pass-through for DTS-HD, DTS-X, Dolby TrueHD, and Dolby ATMOS
  • Improved MediaCodec API video decoding implementations support for Android 5.0 (API level 21) and later
  • Improved automatic refresh rate switching support for video playback on Android 5.0 & later (>= API 21), inc. Android TV
  • Improved support for UltraHD decoding / 4K resolution output when HW supports it
  • Improved playback of HEVC, VC-1 / WMV 9, and VP9 hardware video decoding when using Android's MediaCodec API
  • Removed AMLCodec hardware accelerated video decoding support for Android on Amlogic devices[96]

1.10 BSD Specific

  • Improved Kodi support for BSD (operating system) on FreeBSD, PC-BSD, and other similar BSD platforms
  • Improved VAAPI (Video Acceleration API) support (requires VAAPI compatible hardware and drivers)
  • Improved VDPAU (NVIDIA) Hardware Video Acceleration (requires VDPAU compatible hardware and drivers)

1.11 Linux Specific

  • Added new CMake based build system of Kodi and binary addons for Linux (as well as for OSX and Windows[97]
  • Added support for HEVC Main 10 profile (10-bit) hardware video decoding via VAAPI if hardware support it
  • Added support for VP9 hardware video acceleration via VAAPI if supported by display drivers[98]
  • Added support for EGL for X11 (which adds zero copy rendering for VAAPI)[57][58]
  • Added support for zero copy interface to FFmpeg for MMAL renderer on Raspberry Pi[99]
  • Added support for Clang compiler building of Kodi
  • Added support for generating Debian packages with Kodi's shiny new CMake/CPack system[100]
  • Improved multi-touch support, and improved touch and gesture support on Linux
  • Improved support for UltraHD decoding / 4K resolution output when hardware supports it
  • Improved OpenGL ES and EGL support (using Raspberry Pi as reference devices)
  • Improved VAAPI (Video Acceleration API) support (requires VAAPI compatible hardware and drivers)
  • Improved VDPAU (NVIDIA) Hardware Video Acceleration (requires VDPAU compatible hardware and drivers)
  • Improved XvBA (AMD/ATI) Hardware Video Acceleration (requires XvBA compatible hardware and drivers)
  • Improved OpenMAX Video Acceleration API support for Linux (using Raspberry Pi as reference hardware)
  • Improved dedicated AMLCodec hardware accelerated video decoding support for Linux on Amlogic devices
  • Improved AMD/Intel x86-64 64-bit (AMD64 / IA-64t CPU architectures) support under Linux
  • Removed Wayland display server protocol support (as depended heavily on removed Boost C++ libraries)[101]

1.12 iOS Specific

  • Added support for TVOS (Apple's iOS fork for Apple TV 4) to Kodi mainline
  • Added support to build iOS for ARM64 (64-bit iOS)
  • Improved Apple VDADecoder Video Acceleration support for iOS (on iPad, iPhone, and iPod iDevices)
  • Improved touch and gesture support for iOS based iDevice platforms (iPad, iPod, and iPhone)

1.13 OS X Specific

  • Added new CMake based build system of Kodi and binary addons for OSX (as well as for Linux and Windows[102]
  • Added “Copy to Kodi” functionality on iOS (for “Open In” Kodi feature in iOS)
  • Improved Apple VDADecoder Video Acceleration support for (Mac) OS X

1.14 Windows Specific

  • Added new CMake based build system of Kodi and binary addons for Windows (as well as for Linux and OSX)[103]
  • Added support for HEVC Main 10 profile (10-bit) hardware video decoding via DXVA on Windows if drivers support it
  • Added support for 10 to 16 bit video output through the DXVA renderer
  • Improved rendering system for DirectX 11 and Direct3D 11 native support on Microsoft Windows
  • Improved DXVA/DXVA2 (DirectX Video Acceleration) support (requires DXVA/DXVA2 compatible hardware & drivers)
  • Changed all external libraries to be built with Microsoft Visual Studio 2015
  • Removed unneeded DXVA to D3D11VA wrapper as we now build FFmpeg with D3D11VA support and use it directly[104]

2 References

  1. http://github.com/xbmc/xbmc/pull/9429
  2. http://github.com/xbmc/xbmc/pull/8736
  3. http://github.com/xbmc/xbmc/pull/9295
  4. http://github.com/xbmc/xbmc/pull/9662
  5. http://github.com/xbmc/xbmc/pull/10064
  6. http://github.com/xbmc/xbmc/pull/9248
  7. http://github.com/xbmc/xbmc/pull/10057
  8. http://github.com/xbmc/xbmc/pull/8732
  9. http://github.com/xbmc/xbmc/pull/8543
  10. http://github.com/xbmc/xbmc/pull/8713
  11. http://github.com/xbmc/xbmc/pull/9370
  12. http://github.com/xbmc/xbmc/pull/8447
  13. http://github.com/xbmc/xbmc/pull/9012
  14. http://github.com/xbmc/xbmc/pull/9636
  15. http://github.com/xbmc/xbmc/pull/9657
  16. http://github.com/xbmc/xbmc/pull/9847
  17. http://github.com/xbmc/xbmc/pull/9370
  18. http://github.com/xbmc/xbmc/pull/10074
  19. http://github.com/xbmc/xbmc/pull/8374
  20. http://github.com/xbmc/xbmc/pull/9370
  21. http://github.com/xbmc/xbmc/pull/9453
  22. http://github.com/xbmc/xbmc/pull/8561
  23. http://github.com/xbmc/xbmc/pull/9319
  24. http://github.com/xbmc/xbmc/pull/10101
  25. http://github.com/xbmc/xbmc/pull/10333
  26. http://github.com/xbmc/xbmc/pull/10438
  27. http://github.com/xbmc/xbmc/pull/10450
  28. http://github.com/xbmc/xbmc/pull/9659
  29. 29.0 29.1 29.2 PR #8807 Controller input system http://github.com/xbmc/xbmc/pull/8807
  30. http://github.com/xbmc/xbmc/pull/9374
  31. http://github.com/kodi-game/peripheral.joystick
  32. http://github.com/xbmc/xbmc/pull/9376
  33. http://github.com/xbmc/xbmc/pull/9173
  34. http://github.com/xbmc/xbmc/pull/9162
  35. http://github.com/xbmc/xbmc/pull/9373
  36. http://github.com/xbmc/xbmc/pull/8643
  37. Recently installed or update http://kodi.tv/kodi-v17-krypton-alpha-2/
  38. Unknown sources... http://kodi.tv/kodi-v17-krypton-alpha-2/
  39. http://github.com/xbmc/xbmc/pull/8857
  40. http://github.com/xbmc/xbmc/pull/9433
  41. 41.0 41.1 A brand new look for future Kodi versions http://kodi.tv/a-brand-new-look-for-future-kodi-versions/
  42. http://github.com/xbmc/xbmc/pull/9235
  43. http://github.com/xbmc/xbmc/pull/9222
  44. http://github.com/xbmc/xbmc/pull/9731
  45. http://github.com/xbmc/xbmc/pull/8370
  46. http://github.com/xbmc/xbmc/pull/8583
  47. http://github.com/xbmc/xbmc/pull/8937
  48. http://github.com/xbmc/xbmc/pull/8937
  49. http://github.com/xbmc/xbmc/pull/9399
  50. http://github.com/xbmc/xbmc/pull/8501
  51. http://github.com/xbmc/xbmc/pull/8419
  52. http://github.com/xbmc/xbmc/pull/8303
  53. http://github.com/xbmc/xbmc/pull/9160
  54. http://github.com/xbmc/xbmc/pull/8948
  55. http://github.com/xbmc/xbmc/pull/9257
  56. 56.0 56.1 56.2 56.3 Video Player - First wave of changes http://kodi.tv/kodi-v17-krypton-alpha-2/
  57. 57.0 57.1 57.2 57.3 57.4 57.5 57.6 57.7 VideoPlayer Development Forum (developers only) http://forum.kodi.tv/forumdisplay.php?fid=240
  58. 58.0 58.1 58.2 58.3 58.4 58.5 58.6 PR #8486 VideoPlayer refactoring initial pull request http://github.com/xbmc/xbmc/pull/8486
  59. http://github.com/xbmc/xbmc/pull/9731
  60. http://github.com/xbmc/xbmc/pull/8886
  61. http://github.com/xbmc/xbmc/pull/9531
  62. http://github.com/xbmc/xbmc/pull/9286
  63. http://github.com/xbmc/xbmc/pull/10216
  64. http://github.com/xbmc/xbmc/pull/10164
  65. http://github.com/xbmc/xbmc/pull/9559
  66. http://git.videolan.org/?p=libbluray.git;a=blob;f=ChangeLog
  67. http://github.com/xbmc/xbmc/pull/10056
  68. http://git.videolan.org/?p=ffmpeg.git;a=blob_plain;f=Changelog;hb=release/3.1.2 FFmpeg 3.1.2 release changelog
  69. http://github.com/xbmc/xbmc/pull/10262
  70. http://github.com/xbmc/xbmc/pull/8080
  71. http://github.com/xbmc/xbmc/pull/9094
  72. http://github.com/xbmc/xbmc/pull/8788
  73. http://github.com/xbmc/xbmc/pull/8553
  74. http://github.com/xbmc/xbmc/pull/8015
  75. http://github.com/xbmc/xbmc/pull/8905
  76. http://github.com/xbmc/xbmc/pull/8261
  77. http://github.com/xbmc/xbmc/pull/8333
  78. http://github.com/xbmc/xbmc/pull/8576
  79. http://github.com/xbmc/xbmc/pull/7369
  80. http://github.com/xbmc/xbmc/pull/9663
  81. http://github.com/xbmc/xbmc/pull/9258
  82. http://github.com/xbmc/xbmc/pull/9103
  83. http://github.com/xbmc/xbmc/pull/8045
  84. http://github.com/xbmc/xbmc/pull/8051
  85. http://github.com/xbmc/xbmc/pull/8180
  86. http://github.com/xbmc/xbmc/pull/8662
  87. http://github.com/xbmc/xbmc/pull/8583
  88. http://github.com/xbmc/xbmc/pull/8662
  89. http://github.com/xbmc/xbmc/pull/8583
  90. http://github.com/xbmc/xbmc/pull/9055
  91. http://github.com/xbmc/xbmc/pull/9021
  92. http://github.com/xbmc/xbmc/pull/9092
  93. http://github.com/xbmc/xbmc/pull/9688
  94. http://github.com/xbmc/xbmc/pull/9517
  95. http://github.com/xbmc/xbmc/pull/9528
  96. http://github.com/xbmc/xbmc/pull/9688
  97. http://github.com/xbmc/xbmc/pull/9083
  98. http://github.com/xbmc/xbmc/pull/8624
  99. http://github.com/xbmc/xbmc/pull/9384
  100. http://github.com/xbmc/xbmc/pull/9987
  101. http://github.com/xbmc/xbmc/pull/8980
  102. http://github.com/xbmc/xbmc/pull/9083
  103. http://github.com/xbmc/xbmc/pull/9083
  104. http://github.com/xbmc/xbmc/pull/9198

3 See also