Kodi Changelog
What's new in Kodi 21.0 RC 2
Mar 19, 2024- [BP][macOS] fall back to legacy OpenGL profile on NSOpenGLContext creation error #24822 by @kambala-decapitator in #24823
- [BP][cmake] UWP fix escaping generate-UWP-pythonfix script by @fuzzard in #24839
- [BP][tools/depends] LLVM15 support - reduce errors to warnings by @fuzzard in #24840
- Install scalable svg icon by @razzeee in #24853
- [Omega][video] Fix regression when playing deleted movie. by @ksooo in #24863
- [Omega] RC2 by @fuzzard in #24848
New in Kodi 21.0 RC 1 (Mar 7, 2024)
- Fix player controls by @Hitcher in #24715
- [Settings] Fix Read Factor displayed as 0.0x in logs when setting value is "Adaptive" by @thexai in #24722
- [Android] Fix Zip Path Traversal vulnerability by @joseluismarti in #24730
- Add branding color to metainfo for linux by @razzeee in #24734
- [Android] Remove unused code and improve extraction of the apk file by @joseluismarti in #24735
- [FileSystem] Fix: not use CFileStreamBuffer in all network files by @thexai in #24733
- [plugins] Ignore fileaction (play) if item is not playable... by @enen92 in #24743
- macos: remove dead code by @enen92 in #24759
- [Android] zipAlignEnabled has been deprecated for a while by @joseluismarti in #24761
- [MUSIC] Get correct duration of stream from FFMPEG for audiobook chap… by @the-black-eagle in #24732
- [guiinfo] Fix LISTITEM_LABEL for movies with multiple versions only … by @ksooo in #24753
- VideoPlayer: Reset stale stream times after a flush by @popcornmix in #24748
- MacOS: Implement hotkeycontroller to fix exclusive mediakey usage by @enen92 in #24765
- [Android] Use compileSdk, minSdk and targetSdk by @joseluismarti in #24778
- [Android] Adjustments in manifest file by @joseluismarti in #24781
- AESinkPipewire: Properly identify HDMI devices by @fritsch in #24740
- [Windows] Fix inaccurate 10-bit SDR / HDR color using Pixel Shaders by @thexai in #24739
- Fix regression for play actions by @enen92 in #24789
- [VideoPlayer] Fix initial interlaced stream refresh rate switch by @CrystalP in #24785
- [video] fix selection after changing video or extra art by @CrystalP in #24792
- [PVR] Channel Manager: Fix refresh channel icons; old icons still shown after refresh. by @ksooo in #24793
- [video] fix selected item after removing version/extra by @CrystalP in #24791
- [doc] Fix incorrect tag name for the disabled slider bar texture by @CrystalP in #24804
- Bump androidx.tvprovider:tvprovider by @joseluismarti in #24805
- [video] remove unused string by @CrystalP in #24807
- [Docs] Fix doxygen references for cutlist deprecation by @enen92 in #24801
- [Android] Adjust GUI SRD peak luminance when display is in HDR PQ mode by @thexai in #24756
- Store streamed video subtitle on custom subtitles path if defined by user by @hagaygo in #24752
- [Omega] Release RC1 by @fuzzard in #24783
New in Kodi 20.5 (Mar 5, 2024)
- [Backport] Revert Android joystick fixes by @garbear in #24708
- [Backport] Android: add colorMode config to .Main activity in AndroidManifest.xml by @matthuisman in #24711
- AESinkAudioTrack: Help broken firmwares to make kodi ignore broken delay by @fritsch in #24729
- [backport] Allow to build with taglib-2.0 by @neo1973 in #24772
- Add branding color to metainfo for linux by @razzeee in #24774
- [backport] EGLUtils: Fix nullptr usage in EglErrorCallback by @neo1973 in #24773
- [Nexus] Release 20.5 by @fuzzard in #24782
New in Kodi 21.0 Beta 3 (Feb 15, 2024)
- [GUI] [Skins] Bump skins backwards-compatibility abi to 5.17.0 by @jjd-uk in #23927
- Network: dns lookup can return an IPv6 address by @joseluismarti in #24209
- [UPnP] Fix crash when adding UPnP source while UPnP is disabled by @neo1973 in #24215
- [groovy] Remove bundled groovy/apache commons binaries by @fuzzard in #24199
- [DllLibCurl][TestXBMCTinyXML2] Fix memory leaks by @neo1973 in #24211
- [Estuary] Fix shift view overlay by @jjd-uk in #24217
- [VideoVersion] Improved the same video detection by @xodidox in #24157
- [Windows] Fix chroma upsampling for software render method by @CrystalP in #24222
- [video] Video Versions Playback: Fixes and Cleanup by @ksooo in #24224
- [Windows] Fix chroma upsampling for pixel shaders render method by @CrystalP in #24221
- [video] Video versions: Add context menu item "Play using..." and "Play version using..." by @ksooo in #24234
- [Windows] fix chroma upscaling with software render method v2 by @CrystalP in #24237
- [application] Fix a race condition on CApplicationPlayerCallback::m_itemCurrentFile by @dobo90 in #23710
- [info] Deprecated Process and Colour picture/slideshow infos by @enen92 in #24218
- [video][guilib][input] Change video versions and extra selection to use Kodi's stock select dialog by @ksooo in #24249
- [video] CVideoInfoTag: Remove CVideoDataBase dependency. by @ksooo in #24253
- [Estuary] Fix video version dialog 'add extras' and 'add version' button not always visible. by @ksooo in #24260
- [video] Video version select: Hide extras/versions button if no extras/versions available. by @ksooo in #24261
- [UPnP] Fix playback restore after pause by @enen92 in #24257
- [guilib][GUIFadeLabelControl] Fix text right alignment by @CastagnaIT in #24266
- Fix compiler warning in BlurayCallback.cpp by @garbear in #24265
- [VideoPlayer] Call EnableStream when playback start disabled subtitles by @CastagnaIT in #24186
- [info] Add Player.IsRemote and Player.IsExternal by @enen92 in #24268
- [cmake] FindFFMPEG refactor target creation by @fuzzard in #24241
- Fix potential segfault when missing "layoutList" element by @garbear in #24242
- [Estuary] Hide next if conditions for next don't met by @enen92 in #24270
- [UPnP] Move Player to its own thread by @enen92 in #24262
- [UPnP] Player: Make hasvideo and hasaudio conditional on the item type by @enen92 in #24272
- [Discs][UPnP] Don't show simplified menu if playing to remote players by @enen92 in #24273
- [RSS] Fix parsing logic by @neo1973 in #24231
- [Windows] Fix chroma upsampling for AMD dxva processor and 10 bit output of SDR sources by @CrystalP in #24227
- [VideoDB] fix movie title index creation and version bump by @CrystalP in #24226
- Fix edge case when downloading subtitles for http(s) streams by @Pedrock in #24252
- [Estuary] Fix selected colours by @Hitcher in #24256
- [Estuary] Make all views consistent with PR#24168 by @Hitcher in #24258
- [UPnP] Player: Add option to avoid volume synchronization to target by @enen92 in #24263
- [tvOS] Fix binary addons (PVR) multi instance settings reset by @sy6sy2 in #24259
- [UPnP] Fix playlist playback on remote players by @enen92 in #24274
- [UPnP] Remove unuseful code block plus strong dependency on CApp by @enen92 in #24275
- [Settings] Disable video version scan by @jjd-uk in #24279
- [Estuary] Fix collection info layout by @Hitcher in #24254
- [UPnP] Assorted include cleanups by @enen92 in #24281
- [Estuary][GUI] Do not activate fullscreen window if rendering video to remote targets (UPnP) by @enen92 in #24280
- [video] Video version dialog: Fix artwork refresh. by @ksooo in #24282
- [video] Video Version Dialog Cleanup by @ksooo in #24290
- [video] Video version dialog: Fix wrong item played. by @ksooo in #24292
- [ContextMenus] Don't show move up/down if single favourite by @enen92 in #24298
- [dialogs] Fix CGUIDialogSubtitleSettings::BrowseForSubtitle to use it… by @ksooo in #24303
- [Pictures] Implement Slideshow delegator design pattern by @enen92 in #24291
- [ContextMenus][PVR] Do not show play using for live tv by @enen92 in #24297
- [UPnP] Access to g_UserData must be protected by @enen92 in #24296
- [video][Estuary] Separate video versions from video extras at GUI level by @ksooo in #24302
- [video] Versions/Extras Manage Dialogs: Selection improvements by @ksooo in #24316
- [video] Fix crash on strm file playback. by @ksooo in #24318
- [video] Fix playback of multi-version movies. Do not prompt for versi… by @ksooo in #24327
- Update some video versions messages by @CrystalP in #24326
- [video] Cleanup translation of versions/extras dialog messages by @CrystalP in #24332
- [Estuary] Fix button visibility in video versions manager by @Hitcher in #24325
- [cmake] FindTagLib Add version test for internal build by @fuzzard in #24313
- [video] Video versions select dialog: Highlight default version in list of versions by @ksooo in #24336
- [video] Fix no video information available when playing strm files, … by @ksooo in #24333
- [video][dialogs] Video versions: Fix delay before "Convert to version" video select dialog opens by @ksooo in #24331
- [depends][Windows] msys2 fixes and update to 20231026 by @CrystalP in #24133
- [tools/depends][target] Bump Harfbuzz + Android NDK26+ build fixes by @fuzzard in #24312
- [guilib][GUITextBox] Use vecText to determine text width by @CastagnaIT in #24315
- [InputStreamAddon] Fix memory leak by @neo1973 in #24214
- [GUI] Fix focus behaviour when scrolling to the bottom of the panel by @joseluismarti in #24232
- [Pictures] Fix exif parsing regression from v19 by @enen92 in #24344
- [video] Separate video versions and extras items by @ksooo in #24340
- Translations update from Kodi Weblate by @weblate in #24230
- Sync of addon metadata translations by @github-actions in #24357
- [video] Video Versions/Extras: More smaller cleanup and fixes by @ksooo in #24356
- [Estuary] Update versions icon for views by @Hitcher in #24317
- [CACerts] Update to 2023-12-12 by @fuzzard in #24361
- Support build with taglib-2.0 by @heitbaum in #24339
- [Video] Improve default folder for "Add Extra" file picker by @CrystalP in #24362
- [video] Remove context menu item 'Add as version to...' by @ksooo in #24365
- [Videodb] Fix of previous data migration and refactors by @CrystalP in #24370
- [video] Video Versions: Fix empty context menu item label. by @ksooo in #24373
- [Estuary] Better visual indicator of focused item by @Hitcher in #24323
- [Android] Fix audio engine initialisation after sleep by @hugbug in #24369
- langinfo.xml: Change Canadian shortdate format to YYYY-MM-DD by @neo1973 in #24328
- [Pictures addons] support Date Taken sort for pics decoded via addons by @rubpa in #24307
- [Video] Redesign of the "Add version" dialog of Manage versions by @CrystalP in #24364
- [UPnP] Renderer: use app messenger instead of calling into g_App by @enen92 in #24376
- [video] Fix/cleanup: We never want to obtain all video versions and all extras at the same time. by @ksooo in #24387
- [video] Movies window: Movies/Versions node: Context menu fixes by @ksooo in #24389
- [MUSIC] Only drop music db triggers on clean if they exist by @the-black-eagle in #24388
- [VIDEO] Prefer nfo streamdetails over file details where possible by @the-black-eagle in #24386
- [Video] Add a shortcut to the video dir in the Add version/extra file browsers by @CrystalP in #24394
- [Games] Filter out "virtual" Android joysticks by @garbear in #24382
- [fix build on linux] forward declare CMediaSource in GUIDialogVideoMa… by @howie-f in #24405
- Format my CODEOWNERS code with clang-format-14 by @garbear in #24381
- [Playlists] Rename song methods to generic item index by @enen92 in #24400
- [upnp] Renderer: playlist changed is an event that should e emitted b… by @enen92 in #24396
- [UPnP] Remove dependency on AppVolumeHandling by @enen92 in #24397
- [Estuary] Video Versions Dialog Redesign by @jjd-uk in #24286
- remove inclusion of MediaSource.h in GUIDialogVideoInfo.h by @howie-f in #24408
- [GUIWindowVideoBase] Library thumbnail not updated by @78andyp in #24176
- [Pictures] Better control of play/stop annoucements by @enen92 in #24412
- [video] Fix disappearing artwork on end of multi-version movie playback. by @ksooo in #24415
- [Estuary] Update DefaultVideoVersions.png by @Hitcher in #24423
- [Estuary] Fix duplicate music flags by @jjd-uk in #24416
- [UPnP] Fix OnSetAVTransportURI by @enen92 in #24413
- [UPnP] Renderer: Avoid calling into the main thread for playlist play… by @enen92 in #24414
- [UPnP] Renderer: Remove dependency on ApplicationPlayer by @enen92 in #24418
- [videodb] Move the extras of a movie converted to a version by @CrystalP in #24434
- [video] Refresh library list after changes in Info > Manage versions by @CrystalP in #24419
- [Peripherals] Fix missing controller icons in Peripheral Dialog by @garbear in #24384
- [Android] Enable logging of debug messages even if disabled system-wide (e.g. Fire TV) by @hugbug in #24432
- Peripheral API v3.0.2: Stable peripheral locations by @garbear in #24392
- [video][Estuary] Video Versions: Improvements and Fixes by @ksooo in #24430
- [Posix][Filesystem] Fixed SMB logging by @hugbug in #24417
- [CImageFile] Fix texture cache handling by @neo1973 in #24433
- [tools/depends][target] Bump freetyppe 2.13.2 by @fuzzard in #24407
- [UPnP] Translate object id when marked as watched by @enen92 in #24438
- [video] CVideoDatabase::GetVideoVersionsNav cleanup after c84fdfa… by @ksooo in #24443
- [video] Remove item 'New version...' from node 'Movies/Versions'. … by @ksooo in #24444
- [video] Video Versions: Remove more dead code by @ksooo in #24445
- [UPnP] Fix broadcast of item updates by @enen92 in #24450
- [UPnP] Clang-format main files by @enen92 in #24452
- [video] Video versions: Fix certain default select action handling scenarios by @ksooo in #24451
- [guilib] Kill CGUIListItemLayoutPtr typedef by @enen92 in #24454
- Update Kodi Icon for Linux packaging by @razzeee in #24310
- Players: Always reset CDataCacheCore on close file by @enen92 in #24402
- [guilib][utils] Set IsPlayable false on add items by @enen92 in #24461
- [gui] Move listproviders to guilib by @enen92 in #24463
- [FileItem][video] Remove dead code (we no longer have any videoversion items… by @ksooo in #24464
- [video] Detect similar movies when scanning movies with nfo files by @CrystalP in #24457
- [guillib][estuary] Make the existence of extras visible in the library by @CrystalP in #24456
- [video] Fix video versions folder navigation. by @ksooo in #24462
- [video] CVideoInfoTag::Reset(): Set m_isDefaultVideoVersion to false,… by @ksooo in #24473
- [videodb] fix miss in field renaming of PR#24370 by @CrystalP in #24469
- [video] Video versions/extras chooser: Fix button labels. by @ksooo in #24474
- [Estuary][video] Refactor video versions select dialog to use movie items by @ksooo in #24475
- DVDVideoCodecAndroidMediaCodec: Remove logspam when debug logging by @fritsch in #24479
- [video] Adjust the validations and messages in add version/extra by @CrystalP in #24477
- [clang-tidy] fix modernize-* and performance-* warnings by @Rechi in #24436
- [video] Refresh library list after the addition of extras in Info > Manage extras by @CrystalP in #24487
- [cppcheck] fix performance checks by @Rechi in #24411
- [Android] Fix audio engine initialisation on startup by @hugbug in #24484
- AndroidMediaCodec: Retry VC1 as mime type is confusing vendors by @fritsch in #24491
- [video] correct description of 'Adjust display HDR mode' by @chewitt in #24497
- [video] Change the name of the Manage Versions/Extras dialog by @CrystalP in #24499
- [Estuary] Fix hasvideextras overlay for views by @CrystalP in #24482
- [Android] ABI check removal by @joseluismarti in #24515
- [video] Fix watched overlay image of parent movie item by @CrystalP in #24509
- [FileSystem] Refactored and improved logic to use CFileStreamBuffer by @thexai in #24504
- added: enable .avif image support in ffmpeg image by @notspiff in #24520
- AndroidMediaCodec: Retry VC1 fix by @dbarkar in #24516
- [Player Viewer] Three improvements by @garbear in #24406
- [Android] ABI check removal: xbmc.properties file by @joseluismarti in #24519
- [Datacachecore] Initiallize SStateInfo with sane values by @enen92 in #24522
- [Input] Refactor to improve code organization by @garbear in #24501
- [Windows] AESinkWASAPI: improve fallback when is not supported exact output channel layout by @thexai in #24534
- [PVR] "Play EPG Tags as Movies" by @ksooo in #24528
- [ContextMenus] Don't populate python context items if browsing sub-menus by @enen92 in #24543
- AESinkPipewire: Set Samplerate for the node by @fritsch in #24363
- [tvOS] fix assigning bundle ID to the generated frameworks by @kambala-decapitator in #24541
- [video] rework dimensions by @DaVukovic in #24527
- [VideoDB] restore compatibility with MariaDB < 10.5.2 by @andred in #24505
- AESinkAudioTrack: Allow multi-channel float for new devices by @fritsch in #24553
- AudioTrack: Simplify Channel selection by @fritsch in #24554
- MacOS: add missing key mappings by @enen92 in #24556
- [video] Change Versions Art Handling by @CrystalP in #24538
- [Input] Default buttonmaps for keyboard and mouse by @garbear in #24512
- Fix the scourge of game add-on build failures by @garbear in #24531
- Revert "[guilib][utils] Set IsPlayable false on add items" by @enen92 in #24563
- [Joysticks] Fix broken focus on emulated analog stick by @garbear in #24513
- Game API v3.0.2: Mouse/keyboard addressing by @garbear in #24518
- [tools/depends] Fix android pycryptodome package, Bump rustup 1.75.0 by @fuzzard in #24551
- EGLUtils: Fix nullptr usage in EglErrorCallback by @neo1973 in #24523
- [Android] Remove special versioning for Android arch types by @fuzzard in #24494
- [video] Remove non-working context menu manage / info dialog buttons for versions by @CrystalP in #24569
- [Keyboard] Optimize keyboard symbol translation by @garbear in #24525
- [Estuary] Refactor of poster/widget overlay icons by @jjd-uk in #24521
- Add another msys2 binary to fix game add-on build failures by @garbear in #24567
- [Android][windowing] Initialize m_bWindowCreated by @joseluismarti in #24572
- Player Viewer: Add keyboard and mouse input by @garbear in #24524
- [video] Fix multi version movie playback by @ksooo in #24575
- [video] Restore selection of extras in "Choose" dialog by @CrystalP in #24558
- add renderbuffer index to RenderCapture() (like for RenderUpdate()), fixes sporadic black captures under Linux by @fightforlife in #24439
- Fix Input method on X11 by @wengxt in #24393
- Support build with taglib-2.0 with the removed integer type definitions in the release by @heitbaum in #24577
- [guilib] VideoThumbLoader don't look for basic local artwork when library items are displayed by @rmrector in #24483
- Bump VERSION_CODE one unit to fix Android install over current by @thexai in #24581
- [cmake] Don't append target sysroot in native toolchainfile by @sundermann in #24590
- [Android][windowing] Revert 'Initialize m_bWindowCreated' and remove … by @joseluismarti in #24587
- [Video] Always respect video versions/extras ignore setting by @CrystalP in #24391
- [Android] Add HDR allowed dynamic metadata formats setting by @quietvoid in #24584
- [tools/depends] Bump swig 4.2.0 by @fuzzard in #24552
- [Scraper] Check for filename identifers during refresh job by @sundermann in #24571
- changed: log to error (thanks @dmittiga) issue #24506 by @malard in #24596
- [FileCache] adjust Read Factor algorithm by @thexai in #24582
- [video] Fix playback of .rm files by @CrystalP in #24607
- [webOS] Add setting to select allowed HDR dynamic metadata formats by @quietvoid in #24600
- [VIDEO] fix tv show episodes not probed for streamdetails when refres… by @the-black-eagle in #24532
- [Estuary] Fix player controls dialog by @Hitcher in #24606
- [Estuary] Extras - change layout by @jjd-uk in #24609
- Android joystick fixes by @garbear in #24604
- webOS: Remove leftover libcec depend by @garbear in #24621
- [video] Remove fallback to movie art for undefined extra art types by @CrystalP in #24619
- tools/depends: Update waylandpp patch to fix build again with gcc 13 by @garbear in #24626
- Fix WebVTT compiler warning by @garbear in #24620
- [video] Fix playlist window select and play actions by @ksooo in #24617
- [docs] Use gh markdown highlights of warnings, tips and notes by @enen92 in #24613
- [darwin] fix retain cycle in Gamecontroller by @kambala-decapitator in #24634
- AESinkAudioTrack: Help broken firmwares to make kodi ignore broken delay by @fritsch in #24597
- [video] Only consider matches of same media type when looking for similar movies by @CrystalP in #24598
- [video] Modify versions/extras related texts by @CrystalP in #24591
- [video] Fix text of the context menu Choose version button by @CrystalP in #24648
- [favourites][listproviders] Fix select action not to show the choose … by @ksooo in #24638
- [Android] Exec wake-up routine only after hdmi handshake by @hugbug in #24632
- [video] fill GUIListItem properties with streamdetails for the hybrid… by @CrystalP in #24645
- [video] Fix video info dialog play button to always play the version … by @ksooo in #24652
- [skin] Remove estouchy from core by @fuzzard in #24655
- [video] Fix 'play version using' version select dialog having 'extras' button. by @ksooo in #24661
- [Keyboard] Fix special handling of Num Lock states for XKB common library by @garbear in #24639
- [Omega] Update controller add-ons for new keyboard layout and translations by @garbear in #24635
- Optimize keyboard/mouse input on first action by @garbear in #24651
- Minor game improvements by @garbear in #24650
- [strings] Reword remove movie from library by @DaVukovic in #24476
- [video] Fix the refresh of movies with additional versions or extras by @CrystalP in #24647
- [CPACK] Adjust dependencies to build packages compatible with focal to noble by @Gujal00 in #24662
- [iOS/tvOS] disable VTB for real-time interlaced videos by @kambala-decapitator in #24671
- [video] Hide 'Choose version' and 'Play version using' context menu i… by @ksooo in #24670
- Teletext: Fix crash due to invalid FTC_Node by @enen92 in #24673
- Screensaver: Do not force dim if another modal is being shown by @enen92 in #24664
- [VideoPlayer] Adjust lastseekpts on FlushBuffers by @enen92 in #24674
- Kill CGUIListItemPtr typedef by @enen92 in #24676
- [posix] PosixMountProvider excludes +efivarfs +systemd-1 by @sky42src in #24642
- [webOS][Power management] Implement shutdown/reboot by @sundermann in #24244
- [VideoDatabase] Do not overwrite Set Overview if no field in NFO by @78andyp in #24533
- [VideoInfoScanner] Fix processing of in TV show's NFO. by @78andyp in #24565
- [MUSIC] Only set libraryartfilled property if we actually found art by @the-black-eagle in #24675
- [FileCache] Implements adaptative read factor based on cache level by @thexai in #24640
- [JSON-RPC] Add GUI.ActivateScreenSaver by @DaVukovic in #24181
- [Android] Adjust copying of resource files to cache folder by @joseluismarti in #24666
- added: non standard language codes used by some DVDs (thanks @jsgh) by @malard in #24599
- [JSON-RPC] add command to change playback speed (tempo) by @kambala-decapitator in #24633
- [webOS] Disable core dumps by @sundermann in #24441
- [tools/depends] Bump gettext 0.22.4 by @fuzzard in #24630
- CXbtManager: Synchronize access to internal data structures by @neo1973 in #24685
- [webOS] Map info key by @sundermann in #24684
- [GUIEditControl] Use left truncate (and relative ellipses) for edit controls only by @CastagnaIT in #24624
- [video] Fix 'Play using...' context menu item not visible for version… by @ksooo in #24677
- VideoInfoScanner: Support .nomedia files in TV show subdirectories by @neo1973 in #24330
- [VideoInfoScanner] Fix scraping of episodes in Blu-ray folders (BDMV). by @78andyp in #24314
- [MUSIC] Allow navigating from artist directly to songs via AS.xml setting by @the-black-eagle in #24649
- [Estuary] Add video version name to playlist + Add 3D info + Cleanup by @jjd-uk in #24681
- [Android] Include missing binary addon libs in the apk package by @joseluismarti in #24688
- [CGUIPassword] Media served through plugins is not shown when there is a master lock. by @78andyp in #24446
- [keymaps] change show shutdownmenu to poweroff action by @DaVukovic in #24536
- [Estuary] Video Version Choose Dialog Fix by @jjd-uk in #24693
- [apple][xcode] use literal make command instead of variable in Xcode by @kambala-decapitator in #24691
- [guilib] Add Infolabels for versions by @CrystalP in #24695
- Videodb versions by @CrystalP in #24683
- Translations update from Kodi Weblate by @weblate in #24698
- Sync of addon metadata translations by @github-actions in #24699
- VideoPlayer: Fix error window for tempo/fractional play speeds by @enen92 in #24692
- VideoPlayer: Fix stalls when seeking with tempo enabled by @enen92 in #24701
- DXVA: Use at least 8 surfaces for H.264 decoding by @thexai in #24704
- Revert Android joystick fixes by @garbear in #24707
- Android: add colorMode config to .Main activity in AndroidManifest.xml by @spdfrk in #24710
- TagLoaderTagLib: Avoid potential crash when exception is thrown by @philipturnbull in #24706
- [Omega] Beta 3 by @fuzzard in #24690
New in Kodi 20.4 (Feb 11, 2024)
- [Nexus] Fix Playstore obb failure + bump 20.3.2 by @fuzzard in #24480
- [backport][tvOS] fix assigning bundle ID to the generated frameworks by @kambala-decapitator in #24540
- [Backport] Fix the scourge of game add-on build failures by @garbear in #24562
- [backport][Android] ABI check removal by @joseluismarti in #24561
- [Backport] Add another msys2 binary to fix game add-on build failures by @garbear in #24568
- AESinkWASAPI: improve fallback when is not supported exact output channel layout by @thexai in #24583
- [Backport] Android joystick fixes by @garbear in #24625
- [Nexus] Update controller add-ons for new keyboard layout and translations by @garbear in #24636
- [BP][iOS/tvOS] disable VTB for real-time interlaced videos by @kambala-decapitator in #24672
- [BP][darwin] fix retain cycle in Gamecontroller by @kambala-decapitator in #24637
- [Nexus] Bump 20.4 by @fuzzard in #24679
New in Kodi 20.3 (Jan 10, 2024)
- Estuary:
- An assortment of fixes for Estuary, including home categories' focus position, alignment of counter labels and Shift view for collections.
- Fixes to the weather layout when busy.
- Game/Retroplayer:
- Fixed controllers not assigned to game ports correctly on Android.
- Fixed blue/pink washed out colours on Windows with 10-bit displays.
- Fixed possible crash in Port dialogue box.
- Fixed typo for the mouse middle button in Controller dialogue box.
- General:
- A DVD playback fix that resolves unmounted drives not being playable.
- A fix for infinite loops in CPluginFile that occurred when using scrapers.
- A fix for a crash that occurred due to Addon settings being destructed in an incorrect order.
- Redact some information from Toast notifications (user/passwords incorrectly being shown).
- A memory leak in context menus was resolved.
- Image cache handling was fixed to correctly regenerate when cached files for JSON API consumers.
- Music:
- Music Library: now able to automatically recover if library cleaning was interrupted previously for some reason.
- Platform Specific:
- Android:
- Fixed (workaround implemented) possible audio out-of-sync in recent AMLogic BSP devices: FireTV Cube 3rd Gen, Homatics Box R 4K Plus, …
- Linux:
- VP9 Profile 2 playback failure was fixed.
- A fix for a leak of EGLFences in the DRM Prime renderer.
- macOS/iOS:
- Fix a crash on Apple Silicon based Macs when pressing the Caps Lock key.
- tvOS:
- Fixed: Not persistent binary addons (PVR) settings.
- Windows:
- Fixed: 24 Hz refresh rate related to HDR in specific use cases only (when Windows HDR auto-switch is not used).
- Fixed: audio device "WASAPI:default" was listed multiple times in audio device list.
- Fixed: fractional refresh rates 119.88 Hz and higher they were not displayed correctly.
- Pictures:
- An exif parsing regression from v19 was resolved.
- PVR:
- Fix TV channel subtitles not displayed on playback start, even when activated in subtitle settings.
- Fix recordings with a path containing a colon (':') not being displayed in recordings window.
- UPNP:
- A fix for a crash that occurred when a user added a UPNP source without having UPNP enabled.
- Playback from remote sources (ftp, http, etc.) has been fixed.
- Video:
- A fix to the default Select action on certain movie-related windows.
New in Kodi 21.0 Beta 2 (Dec 11, 2023)
- [webOS] Platform: Fix HOME variable append by @sundermann in #23954
- [cores] Fix CDVDInputStreamBluray::Open check for item being resumable. by @ksooo in #23967
- [playlistplayer] Fix PVR items not handled correctly. Those need to b… by @ksooo in #23961
- [video] CGUIWindowVideoBase::OnItemInfo: Skip check whether a video i… by @ksooo in #23969
- [GUI][Skins] Bump to xbmc.gui 5.17.0 by @jjd-uk in #23926
- [PVR] Fix playing channel not always highlighted in dialogs/windows. by @ksooo in #23971
- [interfaces] Fix PVR channel playback from remote app 'favourites' by @ksooo in #23972
- [video] Fix 'Play using' offering RetroPlayer for playback of iso bd/dvd disc images. by @ksooo in #23983
- [video] Fix CVideoDatabase::GetMusicVideosByWhere to set dyn path … by @ksooo in #23980
- [tools/depends] Bump wayland related dependencies by @fuzzard in #23982
- Fix Visual Studio warnings by @thexai in #23976
- [PVR] Fix/Improve recently played channels widget (e.g. respect hidden groups and channels). by @ksooo in #23985
- [Windows] Disable video settings not supported by the DXVA processor. by @CrystalP in #23988
- [tvos] Resolve some build issues with Xcode 15 by @fuzzard in #23949
- [cmake] Create FindPythonInterpreter for host information by @fuzzard in #23877
- [docs] Coding guidelines changes by @ksooo in #23998
- [cmake] add ${CORE_PLATFORM_NAME_LC}_SEARCH_CONFIG NO_DEFAULT_PATH for windows by @fuzzard in #23997
- Switch remote poweroff button behaviour to show shutdown menu, like on keyboards by @HiassofT in #23806
- [tools/depends] Bump Python 3.11.6 by @fuzzard in #23995
- VDPAU: fix hq scalers by @smp79 in #23973
- Format GUIControlFactory.cpp/h by @garbear in #23979
- [python][window] Delete pcontrol after SendGUIMessage by @CastagnaIT in #24002
- [upnp] Alternative fix for serving smartplaylists via upnp by @enen92 in #24008
- [docs] Coding guideline: Add, that we are using prefix operators in t… by @ksooo in #24004
- [depends][Python] Set setuptools library suffix by @sundermann in #23994
- Don't flush ffmpeg buffers if it holds any refs on close by @smp79 in #23996
- [Estuary] OSD showing wrong value for ‘Next’ programme when playing radio. by @FergusGeorge in #24017
- [Estuary] Fix home categories focus position by @HitcherUK in #24000
- [wayland][input] Add xkb compose and dead-keys support by @enen92 in #23943
- Fix 'Shift' view for Collections by @HitcherUK in #24024
- [video][music][interfaces][fileitem] STRM file fixes by @ksooo in #24025
- [FileSystem] Add GUI settings for NFS and SMB chunk size by @thexai in #24019
- Fix controller not rendering for copied gamecontroller controls by @garbear in #23987
- [PVR] const correctness improvements. by @ksooo in #24029
- [GUI] [Skins] Add locale InfoLabels for Skins by @DeltaMikeCharlie in #24028
- [video][PVR] Info dialogs: Add support for default play action by @ksooo in #24031
- [contextmenumanager] Fix 'More...' context menu item displayed for favourites… by @ksooo in #24037
- [Estuary] Fix alignment of counter labels in File Manager by @HitcherUK in #24041
- [python] Fix xmbc.getRegion("time") by @mglae in #24009
- [xkbcommon] Unify xkbLogger by @enen92 in #24045
- [builtins] PlayerBuiltins: PlayOrQueueMedia: Fixes by @ksooo in #24048
- [fileitem] Fix 'action play' not working for favourites for strm files. by @ksooo in #24047
- VAAPI: increase maxReferences for AV1 by @smp79 in #24042
- [PVR] Fix recordings with a path containing a ':' not displayed in recordings window. by @ksooo in #24053
- [CApp] Kill XBMC to Kodi migration by @enen92 in #24052
- [python] Add songVideoURL to InfoTagMusic by @the-black-eagle in #24061
- [PVR][Estuary] PVR core should not set label2 for PVR recording folde… by @ksooo in #24059
- [cmake] copy_file_to_buildtree make sure we create ExportFiles.cmake by @fuzzard in #24056
- [tools/depends] Bump openssl 1.1.1w by @fuzzard in #24003
- Use std::make_(shared|unique) by @notspiff in #23757
- [Cmake] enable_internal_cec by @fuzzard in #21585
- [imagecache] CVideoGeneratedImageFileLoader check setting to extract thumb by @rmrector in #24006
- [imagecache] clarify logic around image revalidation, fixing some images returning 404 via HTTP by @rmrector in #23956
- [input] Use smartpointers to wrap raw xkb pointers in libinput by @enen92 in #24036
- [libinput] Add dead-key xkbcommon-compose support by @enen92 in #24044
- [Documentation] Update doxygen for v20 and v21 game-related changes by @garbear in #24055
- [Discs] Fix ISOs are opened using File Cache in some cases and bad read size (sector size) by @thexai in #24060
- [Estuary] Player Viewer: Give example static content for skin devs by @garbear in #24073
- Picture: Switch internal functions to use smart pointers by @neo1973 in #24022
- Fix crash due nullptr surface using DXVA2 by @fritsch in #24085
- [Estuary] Fix weather layout when busy by @HitcherUK in #24090
- Backport weather fix by @HitcherUK in #24091
- Revert "Backport weather fix" by @HitcherUK in #24092
- [FileSystem] Move File Cache settings to GUI settings by @thexai in #24049
- [video] GUIWindowVideoNav.cpp: Remove unused include. by @ksooo in #24094
- [Rendering] Share the heuristics guessing SD/HD primaries across platforms by @CrystalP in #23953
- [macOS][Jenkins] migrate from altool to notarytool by @kambala-decapitator in #24032
- [Doxy] Improve documentation of game windows by @garbear in #24079
- [cmake] FindEGL set CMAKE_REQUIRED_INCLUDES for check_include_files by @lrusak in #24099
- [Xbox] Add support for HDR10 passthrough by @thexai in #24083
- tools/depends: curl adjust configure options by @lrusak in #24089
- [Xbox] Fix crash on close App by @thexai in #24104
- [Doxy] Fix formatting of Window IDs table by @garbear in #24106
- Fix/update strings.po with translations for game window IDs by @garbear in #24071
- Add tranlation for Peripherals dialog with ID 10149 by @garbear in #24105
- windowing/gbm: add EGL fencing for atomic drm by @lrusak in #23921
- [builtins] PlayerBuiltins::PlayOrQueueMedia: Fix logging and slightly optimize by @ksooo in #24114
- [Android] Unused variable m_colorFormat in MediaCodec by @joseluismarti in #24103
- [videoplayer] Go to Chapter Start for "Previous Chapter" Past Grace Period by @CrystalP in #24066
- [guilib][vfs][imagecache][pvr] Load PVR group images into texture cache when viewed, like standard images by @rmrector in #24087
- ffmpeg: Bump to version 6.0.1 by @fritsch in #24080
- [PVR] CGUIWindowPVRBase: Prevent concurrent updates caused by GUI_MSG_UPDATE by @ksooo in #24118
- [fileitem] CFileItem::LoadDetails: Add support for strm files containing an audio item. by @ksooo in #24119
- [PVR] Fix racing problems due to ACTION_CHANNEL_SWITCH message being … by @ksooo in #24116
- [video] CAsyncItemsForPlaylist: If we shall resume but can't, default… by @ksooo in #24120
- [Settings] Adjust the "Use display HDR capabilities" setting by @CrystalP in #24100
- [Settings][Windows] Update the description of the DXVA VSR setting by @CrystalP in #24123
- [VideoPlayer] Fix cache level calculation and add to Debug Info OSD by @thexai in #24117
- [clang-tidy] modernize-use-emplace by @Rechi in #23960
- Correctly handle 'Disc n' subdirectories in scraping and set creation. by @78andyp in #24076
- [Estuary] Modify settings decription field to avoid unnecessary autoscroll by @CrystalP in #24124
- [VideoPlayer] Remove unused code by @thexai in #24126
- [Feature][video]Added Video Versions feature by @xodidox in #14972
- [VideoVersion] Added VideoVersionPlay dialog by @xodidox in #24132
- [Android] Check if dovi profile is supported by the codec by @joseluismarti in #23577
- Remove article from summary by @razzeee in #24084
- [video] Fix auto play next item not working if 'uncategorized' is not… by @ksooo in #24134
- Fix Visual Studio warnings by @thexai in #24139
- [Android] Set codec profile 8 in DOVI compatibility mode by @quietvoid in #24143
- [cleanup][Windows] Remove a few compiler warnings and unnecessary global by @CrystalP in #24138
- XBMCTinyXML2: Strip trailing '