Releases: xbmc/xbmc
Releases Β· xbmc/xbmc
v22.0a2-Piers
Release summary
Major user-facing changes include:
Video/audio
- Upgraded to FFmpeg 8
- Added HEIF/HEIC support
- Fixed playing streams with more than 256 audio+video+subtitles tracks
- Improved audio channel handling
- Improved subtitle selection for "forced_only" subtitles
Library/Sources and Management
- Added Season Plot
- Added Movie/TV Show Original Language
- Fixed bug in Alpha 1 where scanning fails if local NFO files are present
- Improved Video Version importing
PVR
- Fixed Daylight Saving Time switching issues
Weather
- New Weather Skinning API
- Various fixes and improvements for the Home widget and Weather window
Python
- Upgraded to Python 3.13.7
- Added ability to set available fanart
Platforms
- Windows
- Multiple Kodi instances can now be run simultaneously
- Android
- New dialog explaining microphone permission
- macOS
- Fixed high CPU usage in the background
- LG webOS
- Improvements for new Media Pipeline
- Fixed very bright subtitles and GUI when playing HDR / DolbyVision content
- Fixed subtitles sometimes not displaying
v21.3-Omega
Release Summary
Major user-facing changes include:
Video
- Added HDR support on Xbox One
- Fixed Blu-ray playback on Linux
- Fixed audio/subtitle issues when resuming Blu-rays
- Fixed handling of HDR10 light metadata changes
- Fixed subtitle selection for ISO 639-1 (two-letter) language codes
Library/Sources and Management
- Improved speed of video library rescans
- Fixed multi-episode files overwriting the first episode
- Fixed info dialog for certain Movie Versions
- Fixed some false positives detecting Movie Versions
Music
- Fixed CDDB lookups using Gnudb.org's CDDB API
- Fixed album search failing for artist names
Audio
- Fixed rare Pipewire crash when connecting/removing audio devices
PVR
- Fixed crash when a PVR stream is stopped via remote app
Peripherals
- Added support for Turkish keyboards on Linux
- Fixed enabling and disabling Pulse-Eight CEC adapters
- Fixed the Delete and Alternative Insert keys on macOS
- Fixed minor visual glitches when managing peripherals
Addons
- Fixed updating add-ons after 25 days of inactivity (extended to ~68 years)
Skin/GUI
- Fixed busy dialog crash when multiple dialogs are opened
- Fixed suspend dialog remaining open after the system wakes up
- Improved touch support for slider dialog arrows
Network
- Added support for HTTP Basic Authentication
- Fixed some network streams failing due to interrupted HTTP/2 transfers
- Updated libnfs to v6 for embedded platforms
- Updated CA certificates to 2025-07-15 from the Mozilla CA certificate store
v22.0a1-Piers
Changelog
Video/audio
- Upgraded to FFmpeg 7
- Blu-ray menu support
- Audio book chapter support
- Movie Versions/Extras full redesign
- Better stream selection
- Automatic cleaning of cached images/artwork
PVR
- New Recently Added Channels (plus new widget)
- New Providers window (requires skin support)
- New Custom Timers
- Improved channel groups
- Improved saved searches
- Improved recording functionality
- Improved EPG search
- 1-minute EPG resolution (requires skin support)
Games
- Shader support (from Google Summer of Code 2017/2019)
- Improved mouse and keyboard support
Performance
- Reduced memory usage for single- and dual-channel textures
- Improved performance and memory usage on OpenGL and OpenGLES
Network
- Improved SMB GUI settings
- Support for SMBv2.0 devices lacking SMBv2.1 features such as "large MTU"
- Fixed connecting to Windows SMB servers with no password
- Drastically improved performance at listing large SMB directories
Platforms
- Windows/Xbox
- Initial Windows ARM64 desktop support
- Python 3.13 on Windows/Xbox
- Enabled XAudio2 sink for Windows desktop (was previously only on Xbox)
- Enhanced Video Super Resolution feature with 10-bit SDR support (Intel and Nvidia) and HDR10 (Nvidia)
- Android
- Enabled file sharing to other apps and players
- Improved channels on the home page
- Upgraded to Android 15
- Minimum Android version is now 7.0
- Android support for 16KB page size
- LG webOS
- New unified media pipeline
- HDR passthrough on OpenGL (was previously only on OpenGLES)
Peripherals
- Improved OSMC Remote support
- Improved Pulse-Eight CEC Adapter support
- Improved Flirc support
v21.2-Omega
Blog Announcement
Kodi 21.2 "Omega" - Release: https://kodi.tv/article/kodi-21-2-omega-release/
Downloads
What's Changed
- [Backport][Windows] Fix crash when audio device not has 'PKEY_Device_EnumeratorName' property by @thexai in #25660
- Backport #25657 (OSMC remote keymapping) by @samnazarko in #25658
- [Backport] Android default buttonmaps and generic controllers by @garbear in #25389
- [Backport][Windows] Fix Discovery of MAC Address by @CrystalP in #25707
- [backport v21] CPUInfo: make sure m_cpuFeatures is initialized by @peat-psuwit in #25715
- [Omega][dvdread] fix warning 'gcc_struct' attribute directive ignored by @ksooo in #25726
- [Omega][video] Video navigation window: Replace context menu items 'Set acto⦠by @ksooo in #25725
- [Omega][PVR] EPG search fixes by @ksooo in #25741
- [Omega][PVR][video] Fix loading of recording folder resume information. by @ksooo in #25765
- [Omega][PVR] Async EPG update: Fix removal of EPG events notified as 'deleted'. by @ksooo in #25782
- [Omega][PVR] Context menu item 'Stop recording': Fix visibility condition for EPG gap tags by @ksooo in #25783
- [Omega][PVR] Context menu item 'Start recording': Fix to respect other runni⦠by @ksooo in #25790
- [Omega][PVR] [PVR] Async EPG update: Fix removal of EPG events notified as ' deleted', take 2 by @ksooo in #25796
- [BP][UPnP] Do not scan for external subs for UPnP renderer by @CrystalP in #25830
- [addons] add missing flag to filesystem translation from binary add-ons - Backport by @phunkyfish in #25835
- [partial backport][GUI][GUIDialogSubtitleSettings] Add missing original flag support by @CastagnaIT in #25810
- [backport][CharArrayParser] Skip malformed EOL by @CastagnaIT in #25803
- [backport][DirectoryFactory] Store CFileItem mimetype to CURL, to avoid forced HTTP HEAD requests by @CastagnaIT in #25793
- [Omega][Android] Fix resuming paused media playback not working via play/pau⦠by @ksooo in #25859
- [BP][Libcdio-gplv3] Fix crash on macOS (upstream patch) by @enen92 in #25833
- [backport][subtitles][libass] Fallback value for no PlayResY by @CastagnaIT in #25881
- [BP] Restore Library Scan Performance by @CrystalP in #25884
- MediaSession: Properly update when pressing stop by @fritsch in #25843
- [backport][msvcrt] Fix buffer overflow due to fixed "var" size by @CastagnaIT in #25880
- [BP][depends] look for android sdk manager under latest subdir by @fuzzard in #25948
- [BP] Shut down gracefully if OpenGL context is not properly set up by @basilgello in #25931
- [backport][GUITextLayout] Removed custom chinese chars line break by @CastagnaIT in #25695
- [VideoPlayer] Make sure process info is updated on close by @enen92 in #26017
- [Backport][video] Preserve special characters in default names of extras by @CrystalP in #25970
- [backport] Add a scaling factor to
XBMC_ResizeEventby @neo1973 in #25996 - [Backport] System Info: Two improvements by @garbear in #26049
- [Backport] Games: Fix $VAR[] and $INFO[] usage in tag by @garbear in #26095
- [Omega][video] Fix default select action 'show info' processing for PVR items. by @ksooo in #26131
- [backport][guilib] Fix bookmark deletion in presence of chapters by @CrystalP in #26081
- [Backport] Games: Fix delay opening context menu on all file items by @garbear in #26088
- [Backport] Port Dialog: Fix resetting daisy-chained controllers by @garbear in #26111
- [Backport] System Info: Add Donate tab and QR codes by @garbear in #26094
- [Omega backport] Change width of XBMC_keysym.scancode member from 8 to 32 bit by @oliver in #26100
- [backport] Include missing includes by @neo1973 in #26139
- [backport] CFile: Handle std::bad_alloc in LoadFile by @neo1973 in #26137
- [Backport][Windows] Add full support for HDR toggle in Windows 11 24H2 by @thexai in #26135
- [BP] apple toolchain fixups by @fuzzard in #26155
- [Backport][MUSIC][AUDIOBOOKS] Fix mka/m4b track durations by @the-black-eagle in #26146
- [Backport][swig] Fix building with swig 4.3.0 by @heitbaum in #26163
- [Backport][Windows] Fix conditions to trigger FFmpeg rebuild by @thexai in #26161
- [Omega] LinuxRendererGLES: enable HDR passthrough for HDR videos with missing or incomplete metadata by @smp79 in #26134
- [backport][Android] Avoid failure when getInterfaceName() method returns null by @joseluismarti in #26151
- [backport] RecursiveMutex: Prevent initialization-order-fiasco of mutex attribute by @neo1973 in #26136
- [Backport] LinuxRendererGL/GLES: improve conditions to enable HDR to SDR tone mapping by @thexai in #26144
- [backport][cmake] do not use distutils in cmake scripts by @hbiyik in #26153
- [backport] egl async rendering fixes by @hbiyik in #26152
- [Backport] RenderManager: improve VideoPicture comparison for HDR by @thexai in #26145
- [Omega][video][music] Fix missing context menu entries for plugin-provided items. by @ksooo in #26172
- [Omega][tools/depends][target] Bump curl 8.10.0 by @blunden in #25849
- [backport] Python: allow building against Python 3.13 by @neo1973 in #26198
- [backport] GLES: disable attribute array when rendering from FBO by @neo1973 in #26199
- [Omega][FileItem] Fix missing dynpath in fileitems restored from disc cache. by @ksooo in #26214
- [Backport][VideoInfoScanner] Fix #25662 - save all tv show and episode actor images in tv show .actors folder. by @78andyp in #26192
- [backport][Android] Mark window dirty on app resume by @joseluismarti in #26226
- [backport][cmake][linux] Fix python modules install location for cross builds by @neo1973 in #26225
- [Backport] Fix segfault on exit if Peripherals dialog is loaded by @garbear in #26200
- [Backport] macOS-inspired controller fixes by @garbear in #26201
- [Backport][tools/depends][target] Bump dav1d 1.4.1 by @thexai in #26147
- [Backport][FileSystem][POSIX] Fix prompt for credentials when browsing SMB files by @thexai in #26179
- [backport][Android TV] fixed cover display for channels by @neo1973 in #26138
- [Backport][Games] Fix handling of zip files in My Games window if vfs.libarchive is installed by @garbear in #26241
- [backport][VideoInfoScanner] Honor importwatchedstate and importresumepoint from AS.xml by @neo1973 in #26177
- [Backport][DVDInputStreamBluray] fix multithreading issue in read_blocks callback by @fritsch in #26267
- [Backport] Fix build with taglib2 by @basilgello in #26279
- [Backport][Addons] Add missing error logging when no supported platforms are provided by @garbear in #26281
- [BACKPORT][MUSIC][AUDIOBOOKS] Fix duration for last track in some mka files by @the-black-eagle in #26282
- [Omega][video] Fix mark watched/unwatched missing in certain context menus. by @ksooo in #26294
- [Omega] Release 21.2 by @garbear in #26259
Full Changelog: 21.1-Omega...v21.2-Omega
v21.1-Omega
What's Changed
- [backport][guilib] Fix two heap-user-after-free by @neo1973 in #24946
- [backport][DllLoader] Remove fstatvfs64 wrapper by @joseluismarti in #24968
- [webinterface.default] Update to 21.x-1.0.1 by @enen92 in #24879
- [backport][MacOS] Handle MediaKey callback in main thread by @enen92 in #24983
- [Omega][video] CGUIDialogVideoManager: Fix master profile database instance β¦ by @ksooo in #24998
- [backport][video] Improve Performance of the "Choose version" dialog by @CrystalP in #25004
- [backport][Android] Fix wake-up when sleeping with active hdmi by @hugbug in #24993
- GBM: fix setting no HDR mode (on SDR display) by @mglae in #24865
- [backport][videoplayer] Fix Playback Delay for Items from uPnP sources by @CrystalP in #25017
- Linux: Use pulseaudio by default again by @fritsch in #25019
- [BP][ffmpeg] Fix stereo upmixing by @sundermann in #25038
- [BP][Xbox] Fix crash when DisplayInformation it's called from other thread by @thexai in #25037
- [backport][GUIDialogSettingsBase] Clean-up owned edit control in FreeControls() by @neo1973 in #25020
- MacOS: Avoid rendering refresh while liveresizing by @enen92 in #25030
- Backport: MediaSession: Update only when something changes by @fritsch in #25041
- [backport][VideoPlayerVideo] Dont require extradata for avc3, avc4 by @CastagnaIT in #24942
- [backport][video] Fix Movie Information Refresh by @CrystalP in #25016
- [backport][guilib] Decouple left/right text truncate from alignment by @CastagnaIT in #24851
- Add System.Platform.WebOS conditional [Omega backport] by @matthuisman in #25074
- [BP] AEStreamInfo: remove spammy EAC3 log line by @thexai in #25108
- [backport][GUITextLayout] Fix text wrap and justify alignment by @CastagnaIT in #25001
- [BP][FileSystem] Fix playback stop when read external SRT subtitles files by @thexai in #25129
- Bump version to 21.0.1 to allow Android install on top of Play Store version by @thexai in #25130
- [BP][Scraper] Set path when scraping filename identifiers by @sundermann in #25150
- [backport] fix gcc-14 compile issues for Omega by @heitbaum in #25107
- [backport]fix loading a video thumb in picture browser by @rmrector in #25138
- [Omega] game.controller.keyboard: Update to version 1.1.43 by @garbear in #25152
- [Backport] [GUI] Move dialog settings button and control ID range by @Hitcher in #25169
- [Omega][PVR] Timer settings dialog: Fix selection of current channel, for ex⦠by @ksooo in #25190
- [Omega][PVR] Fix crash on creation of epg-based reminder rule with 'any channel'β¦ by @ksooo in #25192
- [Omega] Fix loading ISO files on Android arm-v7a by @joseluismarti in #25156
- [backport][GUIFontTTF] Fix regressions on centered GUI text by @CastagnaIT in #25168
- [backport][GUI] Fix network link status in system info by @joseluismarti in #25220
- [bp] fix typo: [cleanup] convert defines to functions by @howie-f in #25181
- [backport][wayland] Treat monitor physical width/height of 0 as invalid by @j-piecuch in #25235
- [BP] Fix rare random audio dropouts in some TrueHD sources (passthrough) by @thexai in #25238
- [Backport][Video] Fix Episode NFO parsing error (introduced in #24565). by @78andyp in #25201
- [BP] FileCache: fix unnecessary use of StreamBuffer when is used FileCache by @thexai in #25251
- [Omega][PVR] CPVRChannelGroupFromClient::UpdateFromClients: Update from own β¦ by @ksooo in #25271
- [Backport] [Joysticks] Fix mapping PS4 trigger analog semiaxes by @garbear in #25225
- [Backport][Input] Fix Persian keyboard layout by @joseluismarti in #25249
- [Omega][settings] Fix empty heading of input dialogs (keyboard, number, ...)β¦ by @ksooo in #25283
- [Omega][video] VideoSelectActionProcessor: On ACTION_INFO, if the item has n⦠by @ksooo in #25287
- [BP][FileSystem] limit SMB chunk size to 64 KB for SMBv1 by @thexai in #25295
- [Omega][PVR] Timer settings dialog: When creating new timer rules without an⦠by @ksooo in #25302
- [Backport]Rendering: drop markwindow dirty after setrendergui change by @enen92 in #25165
- [build] fix missing include by @howie-f in #25320
- fixed: infinite loop parsing an invalid moving speed config by @notspiff in #25322
- [Backport] new TrueHD MAT packer code + move TrueHD packing to CDVDAudioCodecPassthrough by @thexai in #25312
- [Backport] [Android] Allow setting the VideoLayout view to transparent color by @quietvoid in #25335
- [Omega][PVR] CPVRClient: Request TV groups and members only if the addon sup⦠by @ksooo in #25333
- [BP][tools/depends] Bump rust 1.79 and add Cargo.lock files by @fuzzard in #25342
- [backport][CharsetConverter] Fix crash if iconv returns EINVAL by @enen92 in #25350
- [backport] Tuple: fix warning maybe-uninitialized by @vpeter4 in #25381
- [backport] libUPnP: Fix memory allocation of size 0 by @vpeter4 in #25375
- [backport][Windows] Fix rx6400 detection by @CrystalP in #25369
- [Omega] Python: Restore close of WindowXML when application exits by @garbear in #25399
- [Omega] Python: Fix hang at application shutdown by @garbear in #25400
- [Backport][AudioEngine] Make a smarter choice between PulseAudio and PipeWire by @neo1973 in #25252
- [Omega] [PVR] Fix Reminders update special cases by @ksooo in #25469
- [Omega] [video| Fix bookmarks db persistence by @ksooo in https://github.com//pull/25470
- [Omega][video] Do not show video info dialog if item has an empty video info tag by @ksooo in #25489
- Don't change fileending to png - Backport by @razzeee in #25484
- Fix typo in strings.po by @Hitcher in #25490
- [backport][videodb][videoversion] Fix Leaks on Movie / Asset Removal by @CrystalP in #25462
- [Backport] Fix missing subtitle help tips by @Hitcher in #25492
- [backport][FileItem] Fix mimetype content lookup regression by @CastagnaIT in #25477
- [backport][DVDFactorySubtitle] Improved ASS format detection by @CastagnaIT in #25455
- [Backport][DirectSound] Fix buffer underrun for Bluetooth audio devices by @thexai in #25511
- [backport][GUI][X11] Fix deadlock on dialog renderloop by @enen92 in #25451
- [PVR] Group Manager: Do not show hidden channels in list of ungrouped⦠by @ksooo in #25550
- [Backport][Estuary] Fix watched icons for episodes & sets by @jjd-uk in #25554
- [BP] Bump Android SDK 34 + AGP 8.1 by @fuzzard in #25583
- [backport] KeyboardTranslator: Fix call to
StringUtils::ToLowerby @neo1973 in #25572 - [MUSIC] Fix separators so that artist sortnames split correctly by @the-black-eagle in #25557
- [Omega][PVR] Fix major design flaw to use std::hash value as persistent client UID by @ksooo in #25594
- [Omega][video] Change select action choose implementation to open the full context menu of the item⦠by @ksooo in #25596
- [Omega] Show "Maximum rewind time" on basic level by @garbear in #25585
- [Omega][video][windows] Fix videos provided by plugins not played from info β¦ by @ksooo in #25611
- [backport] TestConversionMatrix: Add missing
<iomanip>include by @neo1973 in #25627 - [cmake][addons] Dont quote variable passed to externalproject_add by @fuzzard in #25628
- [Omega] Release 21.1 by @fuzzard in #25620
Full Changelog: 21.0-Omega...21.1-Omega
v21.0-Omega
What's Changed
- Complete list of changes can be viewed at 20.0-Nexus...21.0-Omega
- [guilib][EditControl] Improved rendering of label texts by @CastagnaIT in #22691
- SavestateFlatBuffer: Remove forward declararion of FlatBufferBuilder by @neo1973 in #23332
- [macos][nativewindowing] Suport HiDPI (retina) displays by @enen92 in #23259
- Add .gradle directory to .gitignore by @joseluismarti in #23339
- [platform] macOS,iOS: Add speech recognition and microphone usage des⦠by @ksooo in #23337
- [subtitles] Avoid calls to virtual methods on destructor by @enen92 in #23343
- [webOS] Audio sink improvements by @sundermann in #23295
- [buildsteps] osx-arm add test execution by @fuzzard in #23349
- depends/libmicrohttpd: bump to the new version by @Karlson2k in #23342
- [Windows] Add DXVA Video Super Resolution upscaler by @thexai in #23336
- Translations update from Kodi Weblate by @weblate in #23330
- Sync of addon metadata translations by @github-actions in #23356
- [guillib] Handle Page Up/Down/Home/End in settings / CGUIControlGroupList by @CrystalP in #22894
- [Buildsteps] Use xcode 14.2 and relevant SDK's for Apple platforms by @fuzzard in #23348
- [depends] Update flatbuffers to 23.3.3 and raise min OSX version to 10.14 by @neo1973 in #23266
- SysfsPath: Have CSysfsPath::Get() return a std::optional because reads can fail by @neo1973 in #23283
- CAppParamParserLinux: add --audio-backend= switch by @lrusak in #23148
- [Depends][native] Bump cmake 3.26.4 by @fuzzard in #23322
- [macos][nativewindow] Support fullscreen move / Fix display lost by @enen92 in #23335
- [Windows] DXVA: check if HDR10 color spaces are supported by video processor by @thexai in #23358
- CTextureBundleXBT: return std::optional by @lrusak in #23168
- threads: linux: simplify setting thread priority by @lrusak in #23227
- TextureFormats.h: use XB_FMT as an enum by @lrusak in #23240
- [Windows] remove unnecessary log for Intel without super resolution scaler support by @CrystalP in #23372
- Maintain the selection position after end of playback / watched status change by @CrystalP in #23311
- [Estuary] Reset 1110_seekbar timer on seeks by @enen92 in #23380
- AudioTrack: Check Head Movement to detect stuck sinks by @fritsch in #23375
- [PVR] Timer settings dialog: Set certain settings to default on change of timer type by @ksooo in #23384
- [tools/depends][target] fix removed download target by @fuzzard in #23379
- [Windowing] Fix regression for resolution label by @enen92 in #23371
- [Windows] HLG > PQ HDR Playback Fixes by @CrystalP in #23362
- [video] Fix watched/unwatched filter not working when creating playli⦠by @ksooo in #23394
- Pipewire: Catch exceptions in CPipewire::Create() by @neo1973 in #23282
- [Estuary] Also start timer (with reset) on seeks by @enen92 in #23399
- [Windows][dxva] Disable processor tone mapping for AMD and HDR to HDR by @CrystalP in #23404
- [Windows] Add render method information to the debug OSD by @CrystalP in #23377
- [Omega] Alpha 2 by @fuzzard in #23407
- Native Flatbuffers update and minor cmake module update by @fuzzard in #23395
- [tools/depends][target] config.site remove PYTHON_VERSION variable by @fuzzard in #23378
- [Android][cmake] adjust macros according to the API we are targeting by @joseluismarti in #23414
- [Windows][dxva] refactor video processor code by @CrystalP in #23408
- [windows] Distinguish between host/native download/tools for windows build by @fuzzard in #23409
- [tools/depends][native] texturepacker update and use cmake to build by @fuzzard in #23396
- [Windows] Remove workaround for Video Super Resolution by @thexai in #23416
- [PVR] Dynamic timer types: Update timer types from client whenever a β¦ by @ksooo in #23393
- [windows] remove doxygen from native dep list by @fuzzard in #23418
- [skin, gui] Look for definitions in xml files in /fonts directory by @smfontes in #22993
- [windows] Dont ship vswhere executable by @fuzzard in #23425
- [Windows][dxva] Test support of the video processor for SDR to SDR conversion by @CrystalP in #23423
- [Windows][deps] Bump libass to 0.17.1 by @CastagnaIT in #23420
- [Windows] Add "Graphics" log component for Direct3D by @CrystalP in #23422
- [Windowing] Make HiDPI more generic/platform agnostic by @enen92 in #23410
- Build jsonschemabuilder for all platforms from source by @fuzzard in #23419
- [cmake] TexturePacker: don't force static libraries by @lrusak in #23428
- Windowing: fix dialog confirmation not showing when moving fullscreen⦠by @enen92 in #23432
- [macOS] Default to nativewindowing by @enen92 in #23438
- [Windows] DXVAHD: simplifies parameters in CProcessorHD::Open() by @thexai in #23440
- [Android] Remove unnecessary if and use MediaFormat constants by @joseluismarti in #23442
- Translations update from Kodi Weblate by @weblate in #23370
- Sync of addon metadata translations by @github-actions in #23446
- [Subtitles] Add support to font collection (.ttc) by @CastagnaIT in #23429
- [Subtitles][libass] Enable bidi brackets for adapted subs by @CastagnaIT in #23421
- [Windows] Setting for high precision processing / HDR tone mapping by @CrystalP in #23359
- [Android] Prefer Google raw decoder over MediaTek on old Android devices by @joseluismarti in #23447
- [Windows] refactor DXGI_FORMAT to std::string for Debug Info OSD by @thexai in #23456
- [Windows] refactor Video Super Resolution by @CrystalP in #23458
- [video] Fix auto play next video not working from inside video info dialog by @ksooo in #23460
- [clang-tidy] fix performance-* warnings by @Rechi in #22812
- [Windows] Remove unused code in DeviceResources.cpp by @thexai in #23464
- [Windows] remove unused extra frame rate doubling for interlaced resolutions in CVideoSyncD3D by @CrystalP in #23463
- [PVR] Fix some CPPCheck and clang-tidy warnings by @ksooo in #23459
- [input] remove unused tinyxml usage in InputCodineTableFactory by @fuzzard in #23465
- [Windows] Fix: show 119.88Hz and future higher fractional refresh rates correctly by @CrystalP in #23461
- [addons] fix debug assert because of non-deterministic comparison of dependencies by @CrystalP in #23469
- Revert "[Android][cmake] adjust macros according to the API we are targeting" by @joseluismarti in #23475
- [video] Take 2 to fix auto play next video not working from inside video info dialog. by @ksooo in #23474
- [music][video] Context menu play items: Set playlist_type_hint before⦠by @ksooo in #23478
- [Estuary] Reset timer as long as the osd is shown by @enen92 in #23476
- Peripheral API v3.0.1: Expose keyboard/mouse types to add-on by @garbear in #23468
- [Windows] RetroPlayer: Fix blue/pink washed out colors on 10-bit displays by @garbear in #23467
- [guilib][vfs][imagecache] Load video thumbnail images into texture cache when viewed, like standard images by @rmrector in #23134
- [Windows] Remove unused variables by @thexai in #23491
- [Windows][dxva] refactor CProcessorHD/CEnumeratorHD to remove direct access to the D3D enumerator interfaces by @CrystalP in #23484
- [macos][nativewindowing] Check and update monitor setting on startup by @enen92 in https://github.com/xbmc/x...
v21.0rc2-Omega
What's Changed
- [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
Full Changelog: 21.0rc1-Omega...21.0rc2-Omega
v21.0rc1-Omega
What's Changed
- 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 Contributors
Full Changelog: 21.0b3-Omega...21.0rc1-Omega
v20.5-Nexus
What's Changed
- [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
Full Changelog: 20.4-Nexus...20.5-Nexus
v21.0b3-Omega
What's Changed
- [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 f...