kodi (2:19.0+git20200819.0307-821ce49b1e-0eoan) eoan; urgency=high

  [Wolfgang Haupt]
   * EventScanner: Fix threadname not applied

  [ronie]
   * [VideoInfo] fix browse button for plugin items

  [fuzzard]
   * [filesystem] Disregard Apple Resource Fork data

  [ronie]
   * remove xx prefix from imdb id for plugin content


  [thexai]
   * Gets Windows Update Build Revision and append to kernelVersion string



  [Alwin Esch]
   * [addons][install] fix origin view direct after install of addon

  [Alwin Esch]
   * [addons][vfs] not allow disable, uninstall and update in case of use

  [Alwin Esch]
   * [addons][vfs] fix addon version update

  [ronie]
   * [Estuary] use 'Origin' instead of 'Repository' prefix for the addon origin

  [ronie]
   * rename addon origin 'unknown' to 'manual'

  [fuzzard]
   * [depends/target] fix build Pillow 7.1.2

  [ronie]
   * remove ListItem.Property(Addon.OriginType) infolabel

  [satmandu]
   * Fix "SyntaxWarning" error

  [thexai]
   * [Windows] Get size of system RAM installed

  [thexai]
   * Fix unintialized pointers

  [thexai]
   * Fix compilation errors on targets Windows UWP-ARM and UWP-Win32

  [Vasyl Gello]
   * [LINUX] Fix kodi-ps3remote exceptions


  [Kai Sommerfeld]
   * [PVR] Fix date format for ListItem.Premiered and VideoPlayer.Premiered guiinfo labels.

  [Alwin Esch]
   * [addons][database] remove no more used "broken" list

  [ronie]
   * [Estuary] add missing string to language file

  [ronie]
   * [Estuary] implement AddonIsEnabled / EnableAddon


  [dianlujitao]
   * [depends] pythonmodule-pil: Fold build_ext into --install-lib

  [dianlujitao]
   * [depends] Explicitly install libjpeg to lib

  [dianlujitao]
   * [depends] properly ignore aarch64 dir


  [howie-f]
   * [db] use column name instead of field index

  [Alwin Esch]
   * [addons][cmake][binary] add test about "C" ABI

  [Alwin Esch]
   * [filesystem][music] check track number of music tag is set

  [Alwin Esch]
   * [filesystem][music] fix music tag set if file contains several streams


  [Alwin Esch]
   * [skin.estuary] make on addon info dialog description text height a small tick bigger

  [howie-f]
   * [db] change column order on table creation

  [howie-f]
   * [db] fix column select order

  [Alwin Esch]
   * [addons][binary] add "C" include guards to his headers

  [Alwin Esch]
   * [addons][binary] fix few "C" ABI build errors where now possible

  [thexai]
   * Improves log info about swapchain creation (flip discard/sequential info)

  [thexai]
   * Direct3D 11 and DXVA updates


  [DaveTBlake]
   * Fix CSettingControlList following addition of option to allow users to enter new values not on the preset list. Use correct conditional casting of pointers


  [phunkyfish]
   * [pvr][estuary] remove extra bracket from premiere label


  [Kai Sommerfeld]
   * [PVR] Fix grid container model access with invalid index in CGUIEPGGridContainer::GetDescription().

  [DaveTBlake]
   * Add option to settings selection list controls for the user to enter and add a new value to the selection list. This is enabled for the setting using new constraint <allownewoption>true</allownewoption> and on the control the label for the both the button shown on the selection dialog and the heading of the subsequent keyboard entry dialog is given by <addbuttonlabel>, defaults to "Add"



  [the-black-eagle]
   * Allow scanning of album art served over http(s)

  [Alwin Esch]
   * [video] fix "Scan to library" calls about archives

  [Alwin Esch]
   * [video] fix content scan about videos inside archive with folder


  [DaveTBlake]
   * Add 3rd optional button to GUIDialogSelect Update both Estuary and Estouchy skins to show this button (id=8)

  [the-black-eagle]
   * Read tags from http sources but not streams


  [the-black-eagle]
   * [filesystem] Use statx on posix systems if available to get file birth time

  [Alwin Esch]
   * [cmake] fix build by remove quotation marks on ExternalProject values

  [fuzzard]
   * [tools/depends] bump gmp 6.2.0

  [fuzzard]
   * [tools/depends] bump freetype2 2.10.2

  [fuzzard]
   * [tools/depends] bump fribidi 1.0.10

  [phunkyfish]
   * [addons] fix uncaught regex exception

  [phunkyfish]
   * [addons] fix unitialised class member

  [fuzzard]
   * [tools/depends] bump libass 0.14.0

  [fuzzard]
   * [tools/depends] bump libplist 2.2.0

  [fuzzard]
   * [tools/depends] bump libxslt 1.1.34

  [Alwin Esch]
   * [addons][audiodecoder] increase API version to 3.0.0

  [Alwin Esch]
   * [addons][audiodecoder] update and cleanup interface docs

  [Alwin Esch]
   * [addons][audiodecoder] add some new info parts to info tag

  [Alwin Esch]
   * [addons][audiodecoder] use "C" structure and "C++" class to read music tag from addon

  [Alwin Esch]
   * [addons][audiodecoder] clang cleanup about AudioDecoder.[cpp

  [Alwin Esch]
   * [addons][audiodecoder] separate "C" to own file

  [Alwin Esch]
   * [addons][audiodecoder] improve error handling about CAudioDecoder::Init

  [Alwin Esch]
   * [addons][audiodecoder] remove use of AEChannelData.h and use AudioEngine.h

  [Alwin Esch]
   * [addons][audiodecoder] don't use C++ class in C

  [Alwin Esch]
   * [addons][audiodecoder] make all "C" interface structures to own memory


  [Brent Murphy]
   * [depends/target] darwinembedded openssl enable asm

  [Brent Murphy]
   * [depends/target] darwinembedded nettle enable asm

  [Brent Murphy]
   * [depends/target] Darwinembedded gnutls enable building asm

  [Brent Murphy]
   * [depends/native] native gas-preprocessor bump


  [jjd-uk]
   * [Estuary] OSD Button Improvements + Additions

  [Craig Andrews]
   * [test] [webserver] Conditional TestHTTPDirectory


  [fuzzard]
   * [tools/depends/target] bump python 3.7.8


  [fuzzard]
   * [tools/depends/target] Python3 build bz2 module

  [fuzzard]
   * [tools/depends/target] python patch cleanup


  [Alwin Esch]
   * [addons][audioencoder] increase version to 2.1.0

  [Alwin Esch]
   * [addons][audioencoder] rework audio encoder documentation

  [Alwin Esch]
   * [addons][audioencoder] separate "C" to own file

  [Alwin Esch]
   * [addons][audioencoder] don't use C++ class in C

  [Alwin Esch]
   * [addons][audioencoder] make all "C" interface structures to own memory

  [fuzzard]
   * [tools/depends] bump libxml2 2.9.10

  [fuzzard]
   * [tools/depends] bump libpng 1.6.37

  [fuzzard]
   * [tools/depends] bump libmicrohttpd 0.9.71

  [fuzzard]
   * [tools/depends] bump libjpeg-turbo 2.0.5

  [fuzzard]
   * [tools/depends] bump nghttp2 1.41.0

  [fuzzard]
   * [tools/depends] bump liblzo2 2.10.0

  [fuzzard]
   * [tools/depends] bump libcec 4.0.7

  [fuzzard]
   * [tools/depends] bump flatbuffers 1.12.0

  [fuzzard]
   * [tools/depends] bump gettext 0.20.2

  [fuzzard]
   * [tools/depends] bump expat 2.2.9

  [fuzzard]
   * [tools/depends] bump bzip2 1.0.8

  [ronie]
   * [GUIInfo] allow infolabels in all string comparison methods



  [Alwin Esch]
   * fix debian-addon-package-test.sh if in addon.xml.in version is more as 1 time

  [Alwin Esch]
   * [clang] set ReflowComments to false

  [Alwin Esch]
   * [addons][internal] increase changed internal addon versions

  [Alwin Esch]
   * [addons][internal] change audioencoder.kodi.builtin.wma to new settings.xml format

  [Alwin Esch]
   * [addons][internal] change audioencoder.kodi.builtin.aac to new settings.xml format

  [Alwin Esch]
   * [addons][internal] change screensaver.xbmc.builtin.dim settings.xml to new format

  [Alwin Esch]
   * [addons][internal] change language name for path and addon.xml to correct one

  [DaVukovic]
   * [Estuary] Fix parentheses

  [phunkyfish]
   * [addons] detect addon origin and set skin property

  [ronie]
   * [PlayerControl] allow tempo to be set directly

  [phunkyfish]
   * [addons] detect binary addons and set skin property



  [DaveTBlake]
   * Update new splash screen for v19 alpha

  [thexai]
   * Add info for recent Windows 10 versions




  [Alwin Esch]
   * [subtitle] fix subtitles archive in archive


  [phunkyfish]
   * [depends] gnutls 3.6.14 and nettle 3.6 bump

  [phunkyfish]
   * [depends] Disable libidn2 support in curl

  [DaveTBlake]
   * Fix group single movie into set setting, it is not dependent on show movie sets setting

  [DaveTBlake]
   * JSON does not expose album path so no need to fetch it in GetAlbumDetails

  [enen92]
   * [addons] Update Chorus2 to v19.x-2.4.7

  [Andrey Filipenkov]
   * [macos][jenkins][docs] update readme to include Xcode 10.2

  [Andrey Filipenkov]
   * [macos][jenkins][docs] add SessionCreate:true flag to jenkins daemon

  [Andrey Filipenkov]
   * [macos][jenkins] add script to load defaultenv

  [Andrey Filipenkov]
   * [macos][jenkins] pass signing params to cmakebuildsys

  [Andrey Filipenkov]
   * [macos] add ability to notarize dmg

  [Andrey Filipenkov]
   * [macos] add ability to codesign app and dmg

  [Andrey Filipenkov]
   * [darwin] allow passing signing certificate's SHA hash instead of identity name

  [Andrey Filipenkov]
   * [darwin-embedded] allow signing with eoanribution certificate

  [DaveTBlake]
   * [scrapers]Sync with repo



  [Alwin Esch]
   * [settings] fix cddb access URL


  [DaveTBlake]
   * Fix isScrapedMBID value when another artist with this mbid already exists (so neither flag or MBID being saved)


  [fritsch]
   * GL-Shaders: Remove nvidia special handling


  [howie-f]
   * [addons] add property: IsFromOfficialRepo

  [howie-f]
   * [addons] introduce setting for addon updatemode

  [howie-f]
   * [addons] deny addon-updates from private repos if they exist in official repos

  [montellese]
   * [videodb] improve (unique) indices on actor_link table after bffa7bb5e33aff1325e090eddbba16a2740637bb.


  [ronie]
   * [Estuary] fix log errors

  [Luca Weiss]
   * Fix exception with empty string in field_value::get_asInt64


  [Lukas Rusak]
   * FFmpeg: Bump to 4.3.1-Matrix-Alpha1-1

  [fritsch]
   * VDPAU: Implement support for VP9 Profile0

  [kiwiploetze]
   * [Windows] fix for dual monitor problem

  [Roman Miroshnychenko]
   * Fix allocating buffer for a Python unicode string

  [DaveTBlake]
   * Use more secure snprintf on variable format strings to avoid buffer overflow

  [Paul Lesur]
   * add troubleshoot section to the raspberry build instructions

  [Paul Lesur]
   * add instruction for building kodi via docker



  [ronie]
   * make the '1' parameter in PlayMedia() apply to music as well

  [jjd-uk]
   * [Estuary] Fixup Topbar consistency

  [DaVukovic]
   * Changes for sets in set-info-screen


  [fritsch]
   * Revert "Revert "AESinkAudioTrack: Support multi channel float""

  [ronie]
   * [Estuary] fix weather maps navigation

  [ronie]
   * [Estuary] add support for Day%i weather labels

  [ronie]
   * [filemanger] reset to root if directory is inaccessible


  [Kai Sommerfeld]
   * [Estuary] For PVR OSD sublabel, prefer 'channel number + channel name + episode name' over 'chapter numbers + chapter name'

  [enen92]
   * [PAPlayer] Fix incorrect usage of GetPath in VideoPlayerCodec



  [Craig Andrews]
   * [webserver] run clang-format

  [Craig Andrews]
   * [webserver] Compatibility with libmicrohttpd 0.9.71

  [Lukas Rusak]
   * [depends] bump libudfread to 1.1.0


  [finkleandeinhorn]
   * [interfaces/json-rpc] Retrieve ListItem properties via Files API


  [Philipp Kerling]
   * Add MANIFESTO.md

  [Andrii Liubimov]
   * Fix matching video for GLES


  [enen92]
   * [DX] Enable alpha-blending for video renderer (credits: afedchin)

  [enen92]
   * Fix oppacity calculation if previous colour contains an alpha value (credits: paxxi)


  [enen92]
   * [Addons] Remove unused function definition

  [enen92]
   * [Addons] Migration - Hide dependency addons from the dialog of disabled addons after the addon migration

  [peak3d]
   * Bump mariadb connector version from 3.0.3 -> 3.1.9


  [DaveTBlake]
   * Fix check that another artist with this mbid not already exist

  [ronie]
   * set python scrapers as default on new install

  [ronie]
   * update addon installdata

  [ronie]
   * remove outdated demo scrapers

  [ronie]
   * add python artist scraper

  [ronie]
   * add python album scraper

  [sarbes]
   * fixed faulty thumbnail hashing


  [enen92]
   * Addons: fix definition of IsUserInstalled addons

  [Matt Huisman]
   * Dont send referer on redirects. Same behaviour as ffmpeg ans browsers



  [phunkyfish]
   * [addons] Show both enabled and disabled incompatbile addons when performing a migration

  [Alwin Esch]
   * [addons] increase binary addon base version to 1.2.4

  [Alwin Esch]
   * [addons] use HasSettings instead of ReloadSettings

  [Alwin Esch]
   * [addons] add callback to check setting is default


  [ronie]
   * [estuary] handle up/down in fullscreeninfo

  [ronie]
   * [estuary] various osd fixes

  [ronie]
   * [skins] update fonts


  [thexai]
   * Windows HDR passthrough support


  [ronie]
   * [Estuary] fix touch back button

  [DaveTBlake]
   * Better artist discography matching to albums in library by using Musicbrainz release group id (providing scraper provides it)

  [DaveTBlake]
   * Fix update artist Musicbrainz ID constraint violation when trying to set a scraped mbid value and another artist record with that mbid already exists (probably an unmatched alias).


  [phunkyfish]
   * [addons] allow disabled and incompatible addons to still be updated

  [ronie]
   * [xbmc.gui] drop backward compatibility for Leia skins


  [ronie]
   * [Estuary] handle input in the fullscreeninfo dialog


  [Vasyl Gello]
   * Fix spelling errors identified by Lintian

  [djp952]
   * [PVR] Clean up API v7 warnings generated on Microsoft compilers


  [Kai Sommerfeld]
   * [addons] Fix data encapsulation violation for C++ PVR Addon API classes.

  [djp952]
   * [PVR] APIv7 crash when EPG_TAG structure contains null pointers

  [wsnipex]
   * [cmake] allow passing additional flag to internal ffmpeg

  [ronie]
   * [Estuary] add missing back buttons for touchscreen users


  [peak3d]
   * [Android] Move PYTHON into cache folder


  [Lukas Rusak]
   * FFmpeg: Bump to 4.3-Matrix-Alpha1


  [Bernd Kuhls]
   * Fix build with x11/gles

  [fuzzard]
   * [tools/depends] bump pythonmodule-pil 7.1.2

  [peak3d]
   * [Android] Invoke PowerManager OnStart / OnStop



  [ronie]
   * Albumscraper: allow fine-grained relevance values

  [peak3d]
   * [Android] Fix drain in flushed state

  [ronie]
   * provide detailed album selection dialog

  [ronie]
   * show selection dialog even if 1 result

  [ronie]
   * fix manual album refresh



  [DaveTBlake]
   * Fix MySQL syntax for trigger tgrInsertGenre


  [DaveTBlake]
   * [JSON]Differential sync of the music library. This is provided by adding properties to AudioLibrary.GetProperties and ability to filter songs, albums and artists by "datenew" and "datemodified" values (new smart playlist rules so not explicitly listed in schema).

  [DaveTBlake]
   * Option for "dateadded" for song to be from earliest of ctime and mtime time. Add dateadded as a field of artist and album tables (not subquery in view that is slow in MySQL). Allow for artists that are only album artists (not song artists) when calc artist dateadded.



  [ronie]
   * fix addon label2

  [mediaminister]
   * Don't touch plugin:// urls


  [Matt Huisman]
   * [Android] pause audio playback when headphone is disconnected

  [Alwin Esch]
   * [addons] rename getAddonInstance with a capital letter

  [Alwin Esch]
   * [addons] check incompatible addons always by start

  [Alwin Esch]
   * [addons] cleanup binary addon manager

  [Alwin Esch]
   * [addons] use CAddonInfo everywhere and prevent CBinaryAddonBase

  [Alwin Esch]
   * [addons] remove GetInstalledAddonInfo call where possible

  [Alwin Esch]
   * [addons] use GetAddonInfo from normal manager where possible

  [Alwin Esch]
   * [addons] remove no more needed/used functions from binary addon manager

  [Alwin Esch]
   * [addons] use for PVR disable/enable the normal addon manager

  [Alwin Esch]
   * [cmake] remove very old no more needed part of addons

  [Matt Huisman]
   * Support dvh1 codec on Android


  [Alwin Esch]
   * [addons][pvr] remove pvr complete from binary addon cache

  [Alwin Esch]
   * [addons] improve Has[Installed]Addons performance


  [Sebastian S]
   * [docs][python] fixed typo

  [anxdpanic]
   * [doc] add Kodi banner to cmake/addons/bootstrap/README.md

  [anxdpanic]
   * [doc] fix Kodi banner in cmake/addons/README.md

  [Vasyl Gello]
   * TestSysfsPath: Use unique file name for every test


  [Alwin Esch]
   * [PVR] Reinit binary addon manager when loading a profile; fixes non working pvr addons

  [howie-f]
   * [gui] cleanup: remove log spam / code improvements

  [Alwin Esch]
   * [addons] increase all patch versions of addons

  [Alwin Esch]
   * [addons][pvr] allow list fallback to xbmc.pvrclient

  [Alwin Esch]
   * [addons][general] clang cleanup of General.h header

  [Alwin Esch]
   * [addons][general] separate "C++" and "C" parts to different headers

  [Alwin Esch]
   * [addons][general] cleanup namespace use

  [Alwin Esch]
   * [addons] use on all interface functions and classes ATTRIBUTE_HIDDEN

  [jjd-uk]
   * [Estuary] Improvements to Fullscreen Info/Seekbar for Video & Music


  [Kai Sommerfeld]
   * [PVR] Make CGUIEPGGridContainer::UpdateLayout thread-safe; some of the modified members will be read by timeline refresh thread.

  [Kai Sommerfeld]
   * [PVR] CGUIEPGGridContainer: Update layout early in GUI thread, not in timeline refresh thread, for performance and thread safety reasons (fix a race).


  [Alwin Esch]
   * [addons] add script to generate function lists for used parts in interface group

  [Alwin Esch]
   * [addons][pvr] increase version to 7.0.0

  [Alwin Esch]
   * [addons][pvr] make menu hook transfer to Kodi in "const"

  [Alwin Esch]
   * [addons][pvr] complete "C" language cleanup of PVR changes

  [Alwin Esch]
   * [addons][pvr] include only the "C" related headers on kodi

  [Alwin Esch]
   * [addons][pvr][upload] rename addon id "xbmc.pvrclient" to "kodi.pvrclient"

  [Alwin Esch]
   * [addons][pvr] add complete reworked documentation

  [Alwin Esch]
   * [addons][pvr] set -1 by defines on recordings and timers

  [Alwin Esch]
   * [addons][pvr] add C++ PVR instance class

  [Alwin Esch]
   * [addons][pvr] use uint64_t for timer types

  [Alwin Esch]
   * [addons][pvr] change "C" API to use everywhere PVR_ERROR as return

  [Alwin Esch]
   * [addons][pvr] move all "C" parts to independent header place

  [Alwin Esch]
   * [addons][pvr] add EPG_EVENT_CONTENTSUBMASK... types

  [Alwin Esch]
   * [addons][pvr] rename interface value inputFormat to mimetype

  [Alwin Esch]
   * [addons][pvr] replace long long use with int64_t/uint64_t

  [Alwin Esch]
   * [addons][inputstream] add property STREAM_PROPERTY_INPUTSTREAM_INSTANCE_ID

  [Alwin Esch]
   * [addons] remove old interface code (no more needed anymore)

  [Alwin Esch]
   * [addons][pvr] change to multi instance usage

  [Alwin Esch]
   * [addons][pvr] move xbmc_pvr_types.h to addon-instance/PVR.h

  [Alwin Esch]
   * [addons][pvr] cleanup PVR related stream and codec structures

  [Alwin Esch]
   * [addons][pvr] remove use of ATTRIBUTE_PACKED on pvr

  [Alwin Esch]
   * [addons][pvr] cleanup and sort xbmc_pvr_types.h

  [Alwin Esch]
   * [addons][pvr] separate menu hook calls and remove union use

  [Alwin Esch]
   * [addons][pvr] remove obsolete xbmc_pvr_dll.h

  [Alwin Esch]
   * [addons][pvr] rework xbmc_pvr_types.h to have "C" compatible

  [Alwin Esch]
   * [addons][pvr] remove temp. all docs on xbmc_pvr_types.h and clang cleanup

  [Alwin Esch]
   * [addons][pvr] add instance pointer value to addon call functions

  [mglae]
   * EDL comskip: support commercial at 0:00

  [peak3d]
   * Remove locks which should not be there now

  [peak3d]
   * Ensure GUI thread in CDialogProgress::Open()

  [ronie]
   * disallow album release_type to be scraped

  [ronie]
   * Allow original release date for albums to be scraped

  [montellese]
   * fix displaying integer / string values with dynamic options (fixes #18010)

  [enen92]
   * [GUI] Fix ActivateWindow if 'return' is defined


  [ronie]
   * [Estuary] use new version infolabels in sysinfo

  [ronie]
   * [python] add DelayedCallGuard to xbmcgui.Dialog().info()


  [peak3d]
   * [Android] Make m_activityResultEvents access thread safe

  [fuzzard]
   * [libnfs] bump to untagged commit to support PR #15686

  [Brent Murphy]
   * [peripheralbusdarwinembedded] Micro and Extended gamecontroller support

  [peak3d]
   * Use HEVC_NAL_CRA_NUT as KeyFrame

  [peak3d]
   * [Android] proper drain implementation

  [peak3d]
   * Implement NFS timeout

  [fuzzard]
   * [cmake] JsonSchemaBuilder warnings and install fix

  [Brent Murphy]
   * [depends] bump libnfs to 4.0.0


  [fuzzard]
   * [buildsteps/tvos] remove deb target from make-xbmc step

  [peak3d]
   * [Android] Rename deprecated getVolumeList -> getStorageVolumes

  [peak3d]
   * jquery 1.11.0 -> 3.5.1 for Webinterface


  [Kai Sommerfeld]
   * [video] Re-add 'Mark watched/unwatched' context menu items to content-less video sources.

  [yeahme49]
   * Show media stub messages even if there is no optical drive

  [Alwin Esch]
   * [addons][base] allow optional set of default value on GetSetting... calls

  [Alwin Esch]
   * [addons][filesystem] use const on CFile get calls

  [Alwin Esch]
   * [addons] use addon ID instead of Name for Log

  [Alwin Esch]
   * [addons][gui] fix crash by wrong shared_from_this call

  [Alwin Esch]
   * [addons] fix and improve instance creation calls

  [Alwin Esch]
   * [addons][filesystem] add function to get available disc space

  [Kai Sommerfeld]
   * [ServiceManager] Init PVR manager after login, not already on login screen.

  [Kai Sommerfeld]
   * [PVR] Display reminder dialog only after GUI is ready.


  [phunkyfish]
   * [inputstream] log error for use of deprecated inputstreamaddon property

  [Kai Sommerfeld]
   * [PVR] Timer settings dialog: Fix end margin visible for reminders.

  [peak3d]
   * [Android] Fix drain in flushed state

  [emveepee]
   * PVR margin change

  [phunkyfish]
   * [pvr] Expert setting to allow using backend channel numbers with more than one PVR backend

  [fritsch]
   * AESinkAudioTrack: Revisit VerifySinkConfiguration and Flushing


  [peak3d]
   * [Android] Fix stall on stream end


  [Tolriq]
   * Fix JSON schema after https://github.com/xbmc/xbmc/pull/17990

  [phunkyfish]
   * [inputstream] cleanup extra whitespace

  [phunkyfish]
   * [inputstream] remove inputstreamaddon and inputstreamclass as identifiers for inputstream addons


  [the-black-eagle]
   * [JSON] Add album release status to json-rpc

  [the-black-eagle]
   * [Music] read and process musicbrainz album release status tag

  [peak3d]
   * Expose VERSION_CODE and GIT SHA to GUI


  [Kai Sommerfeld]
   * [PVR] EPG grid model, EPG tags container, EPG tags cache: Unify start/end time handling.

  [Kai Sommerfeld]
   * [PVR] EPG grid container model: Fix event/block matching.

  [Tolriq]
   * Expose player cache percentage to JSON so remotes can display it.

  [Craig Andrews]
   * [tests] Disable TestDateTime.GetAsTimeStamp


  [peak3d]
   * [Android] More exception handling in MediaCodec

  [peak3d]
   * CApplication::IsStopping() implementation

  [ronie]
   * [Estaury] add missing font definitions


  [enen92]
   * Infolabels: expose Player.Progress and Player.ProgressCache as a string

  [montellese]
   * fix focusing proper setting control in CGUIDialogContentSettings


  [Markus Pfau]
   * [Android] Implement MediaCodec::Reconfigure to reduce codec setups (#17960)

  [peak3d]
   * [Android] Remove VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING

  [Kai Sommerfeld]
   * [PVR] EPG container: Do not fetch EPG updates from the clients while system is suspended.


  [Garrett Brown]
   * Fix doxy in input code after clang-format

  [enen92]
   * [docs] Fixes for doxygen 1.8.17

  [Garrett Brown]
   * Add .git-blame-ignore-revs

  [Garrett Brown]
   * Peripherals: Clang-format files

  [Garrett Brown]
   * Input: Clang-format files

  [Garrett Brown]
   * Games: Clang-format files

  [Garrett Brown]
   * RetroPlayer: Clang-format files

  [Garrett Brown]
   * [clang-format] Enable comment reflow


  [howie-f]
   * [docs] fix typo CODE_GUIDELINES.md

  [Lukas Rusak]
   * [depends] bump dav1d to 0.7.0

  [the-black-eagle]
   * [Music] Apply sort description (order, direction and limits) read from xsp option when present

  [peak3d]
   * [VP] Fix short stream changes

  [DaveTBlake]
   * [JSON]Bump patch version for implementation changes of sorting of Audiolibrary results

  [DaveTBlake]
   * Use order by clauses when fetching songs, album and artists. Make music nodes and smartplaylists faster by avoiding needless expensive URL decoding and checking in FillInDefaultIcon

  [DaveTBlake]
   * Add native stored functions to do natural number sorting in MySQL. Bump to MyMusic76 for this.

  [DaveTBlake]
   * Add custom collation (SQLite only) to do natural number alphanumeric sorting same as item lists but working efficiently in raw UTF8 encoded data

  [AhmedAdelAbouzeid]
   * Prevent crashing when visualToLogicalMap contains garbage values BUILDDATE CMakeLists.txt LICENSE.md LICENSES README.md VERSION addons cmake debian docs lib media privacy-policy.txt project system tools userdata version.txt xbmc xbmc-xrandr.c Initialize visualToLogicalMap before passing it to Fribidi to prevent crashing when the mapping contain invalid values BUILDDATE CMakeLists.txt LICENSE.md LICENSES README.md VERSION addons cmake debian docs lib media privacy-policy.txt project system tools userdata version.txt xbmc xbmc-xrandr.c Correct the values in visualToLogicalMap when the visual string is shorter than the original logical string (due to multiple code points possibly representing a single grapheme)


  [popcornmix]
   * [gbm] Avoid dereferncing null crtc

  [montellese]
   * [windows] BuildSetup.bat: use a platform-specific kodi-build directory

  [montellese]
   * [cmake] FindGtest.cmake: properly support debug and release builds

  [peak3d]
   * [Android] Call codec::release

  [fritsch]
   * ActiveAE: Don't wake when externally suspended


  [DaveTBlake]
   * Fix initialising song count later use to reserve JSON results


  [howie-f]
   * [moviesets] allow to add movie to set if there's only one member

  [montellese]
   * [settings] move CSettingList::FindIntInList() to CSettingUtils::FindIntInList()

  [Alwin Esch]
   * [addons][plugin] don't use extra ways to check "provides"


  [chewitt]
   * add Samsung exynos to DRMUtils.cpp

  [Alwin Esch]
   * [addons][global] add setting read way for enum's and create docs

  [peak3d]
   * [Android] Use releaseOutputBufferAtTime for valid frames

  [Alwin Esch]
   * [addons][pvr][stream] fix nullset init of PVR_STREAM_TIMES in inputstream

  [Kai Sommerfeld]
   * [PVR] Fix channel playback time issues.

  [phunkyfish]
   * [pvr] remove unused SetSizeInBytes function call

  [phunkyfish]
   * [pvr] fix setting initial recording size value from addon

  [Alwin Esch]
   * [addons][tools] add helper as ADDON_GLOBAL_TOOLS to versions.h

  [Alwin Esch]
   * [addons][tools] update documentation of CDllHelper

  [Alwin Esch]
   * [addons][tools] bring parts of CDllHelper in namespace kodi::tools

  [Alwin Esch]
   * [addons][tools] update dll helper to support Android


  [kert]
   * [GBM] add VirtualBox

  [Alwin Esch]
   * [addons][network] add function to get Kodi's network user agent

  [Alwin Esch]
   * [addons][filesystem] fix missing set to nullptr

  [Alwin Esch]
   * [clang] fix Disabling Formatting on a Piece of Code

  [Jakob Linskeseder]
   * Add AV1 video-codec flag to skins


  [Lukas Rusak]
   * [settings] add settings to disable drm prime hw acceleration

  [Jonas Karlman]
   * CDVDVideoCodecDRMPRIME: software decoding

  [Jonas Karlman]
   * DVDVideoCodecDRMPRIME: enable use of threads

  [Kai Sommerfeld]
   * [PVR] Recordings folders: Add context menu item 'Delete all watched'.

  [Kai Sommerfeld]
   * [PVR] Implement/fix context menu items for PVR categories.

  [Kai Sommerfeld]
   * [PVR] Fix epg tag path not initialzed when loading the tag from database.


  [Rechi]
   * [cmake] fix FindPackageHandleStandardArgs name mismatch



  [Alwin Esch]
   * [addons] increase filesystem API version to 1.1.1

  [Alwin Esch]
   * [addons][filesystem] fix wrongly used -1 as return on bool

  [Kai Sommerfeld]
   * [PVR][Estuary] Dynamic PVR categories for Estuary home screen.

  [Kai Sommerfeld]
   * [Estuary] PVR side blade: Fix label for PVR quick navigation button list.

  [i96751414]
   * Check if item is playable before adding 'play from here' or 'play only this' to context menu

  [Alwin Esch]
   * [addons][docs] extend C++ related initial webpage



  [wsnipex]
   * [android] python: include profile module

  [wsnipex]
   * [depends/pillow] fix android library names


  [Kai Sommerfeld]
   * [PVR] Fix context menu item 'Add timer' visibility conditions.

  [Garrett Brown]
   * Remove g_pythonParser macro

  [Garrett Brown]
   * [settings] Make enable mouse/controller advanced settings

  [Garrett Brown]
   * [strings] Remove unused joystick strings

  [Garrett Brown]
   * [strings] Reword re-introduced controller setting for consistency in the UI

  [Garrett Brown]
   * [peripherals] Re-introduce "input.enablejoystick" setting

  [Garrett Brown]
   * [peripherals] Style changes and parameter grouping in PeripheralJoystick.h


  [Alwin Esch]
   * [addons] increase image deocder API version to 2.1.0

  [Alwin Esch]
   * [addons][imagedecoder] rework documentation to have usable

  [Alwin Esch]
   * [addons][imagedecoder] separate "C" and "C++" parts in different files

  [Alwin Esch]
   * [addons][imagedecoder] remove nowhere used functions and values

  [Alwin Esch]
   * [addons][imagedecoder] separate all interface structures to own parts

  [Alwin Esch]
   * [addons][imagedecoder] don't pass C++ class within "C" interface

  [Alwin Esch]
   * [addons][imagedecoder] clang cleanup on addon header

  [DaveTBlake]
   * Prevent album artists being left blank when merging scraped album results and preferring scraper results enabled.

  [Alwin Esch]
   * [addons] increase binary API versions

  [Alwin Esch]
   * [addons] fix open of addon settings dialog via addon

  [Alwin Esch]
   * [addons][general] add function to check another addon is available

  [Alwin Esch]
   * [addons] allow ask about Kodi's used addon type version and cleanup Dll

  [Alwin Esch]
   * [addons] add DestroyInstance function to addon base class

  [Alwin Esch]
   * [addons] add "const C_STRUCT* GetCStructure() const" and" operator const C_STRUCT*() const"

  [Alwin Esch]
   * [addons][base] clang and sort cleanups on AddonBase.h

  [Alwin Esch]
   * [addons][base] separate now all C parts complete to addon_base.h

  [Alwin Esch]
   * [addons][base] don't pass C++ part inside AddonGlobalInterface

  [Alwin Esch]
   * [addons] use "clang format off" on dependency check place in versions.h

  [Alwin Esch]
   * [addons][base] move ADDON_STATUS from AddonBase.h to addon_base.h

  [Alwin Esch]
   * [addons][base] move all "C" define's from AddonBase.h to addon_base.h

  [Alwin Esch]
   * [addons][base] add documentation about "kodi::Log(...)" function

  [Alwin Esch]
   * [addons][base] move ADDON_LOG_... parts to "kodi/c-api/addon_base.h"

  [Alwin Esch]
   * [addons][base] fix possible memory overrun on kodi::Log(...) call

  [Alwin Esch]
   * [addons][network] remove use of KODI_HANDLE on <kodi/c-api/network.h>

  [Alwin Esch]
   * [addons][filesystem] add #undef for CreateDirectory and DeleteFile

  [Alwin Esch]
   * [addons[filesystem] add translator for file read bits

  [Alwin Esch]
   * [addons][filesystem] add more functions to get web content

  [Alwin Esch]
   * [addons][filesystem] separate "C" and "C++" parts of headers

  [Alwin Esch]
   * [addons][filesystem] add some functions to check file path relate to web

  [Alwin Esch]
   * [addons][filesystem] add IoControl functions

  [Alwin Esch]
   * [addons][filesystem] cleanup documentation

  [Alwin Esch]
   * [addons][filesystem] clang code cleanup

  [Alwin Esch]
   * [addons][filesystem] cleanup namespace kodi::addon use

  [Alwin Esch]
   * [addons][filesystem] make interface "C" conform

  [Alwin Esch]
   * [addons][filesystem] replace __stat64 with STAT_STRUCTURE

  [Alwin Esch]
   * [addons][filesystem] add function IsOpen to CFile

  [montellese]
   * [video] only parse CVideoInfoTag::m_strPictureURL if really needed

  [montellese]
   * [utils] CScraperUrl: avoid parsing the same data multiple times

  [montellese]
   * [utils] CScraperUrl: refactor parsing methods

  [montellese]
   * [utils] CScraperUrl: add Has/Get/SetUrls()

  [montellese]
   * [utils] CScraperUrl: add Has/Get/SetData()

  [montellese]
   * [utils] CScraperUrl: add Get/SetId()

  [montellese]
   * [utils] CScraperUrl: add Get/SetTitle()

  [montellese]
   * [utils] CScraperUrl: add Get/SetRelevance()

  [montellese]
   * [utils] CScraperUrl: follow coding guidelines

  [montellese]
   * [utils] CScraperUrl: remove unused m_spoof


  [Philipp Kerling]
   * [network] Add setting for web server authentication and enable by default

  [Philipp Kerling]
   * [network] Discourage exposing the web server port

  [Philipp Kerling]
   * [network] Show warning dialog when enabling remote control on all interfaces

  [Philipp Kerling]
   * [network] Clarify "remote control" settings

  [Philipp Kerling]
   * [network] Show warning dialog when enabling web server

  [Philipp Kerling]
   * [network] Use application name for web server auth prompt


  [Attila Jakosa]
   * [lang][skin.estouchy] updated language files from Transifex

  [Attila Jakosa]
   * [lang][skin.estuary] updated language files from Transifex

  [Danila Vershinin]
   * Log button name in event client

  [ronie]
   * [skins] fix sortletter

  [roidy]
   * Fix for <fanartres> not being used in advancedsettings.xml


  [Charles Surett]
   * Use poster before thumbnail in Top Shelf


  [Kai Sommerfeld]
   * [android] Fix crash on Kodi exit (powersyscall no more available, but called).


  [DaveTBlake]
   * Fix bug with Audiolibrary.GetArtists return of "isalbumartist" field

  [Kai Sommerfeld]
   * [application] Fix mixed pictures/videos slideshow ending after first video.

  [Kai Sommerfeld]
   * [PVR] Fix crash due to unsynchronized concurrent EPG database access.

  [enen92]
   * [python] drop xbmc.abortRequested flag


  [Kai Sommerfeld]
   * [PVR] Optimize EPG Grid Container Model.

  [DaveTBlake]
   * Only check if items are .iso and expand disc image when in file view



  [Kai Sommerfeld]
   * [video] BUILDDATE CMakeLists.txt LICENSE.md LICENSES README.md VERSION addons cmake debian docs lib media privacy-policy.txt project system tools userdata version.txt xbmc xbmc-xrandr.c CID 1463261: Resource leaks (RESOURCE_LEAK) /xbmc/video/ContextMenus.cpp: 171 in CONTEXTMENU::<unnamed>::AddRecordingsToPlayListAndSort(const std::shared_ptr<CFileItem> &, CFileItemList &)()

  [Matt Huisman]
   * remove seek hls work-around as no longer required. This also breaks ability to play live hls from live (not start)

  [Matt Huisman]
   * ffmpeg version in Matrix returns 'hls' not 'hls,applehttp' for hls format

  [Bernd Kuhls]
   * cmake: fix check for memfd_create

  [Peter]
   * [bluray] Correctly recognize subtitle language PGS subtitles can also have pid starting with 0x12a0 for hdr. fixes #15337

  [djp952]
   * HTTP Directory parser enhancements for multi-line anchor tags


  [Kai Sommerfeld]
   * [Estuary] Playlist window: Add support for PVR recordings.

  [Kai Sommerfeld]
   * [Estuary][PVR] Recordings window: Add 'Go to playlist' to side blade.

  [Kai Sommerfeld]
   * [video] Fix playlist window not playing the clicked item if 'autoplay next item' is enabled for 'Uncategorised' content in Kodi settings.

  [Kai Sommerfeld]
   * [video][PVR] Recordings: Add support for 'Play from here' context menu item.

  [Kai Sommerfeld]
   * [video][PVR] Recordings: Add support for 'Play next' and 'Queue item' context menu items.

  [Kai Sommerfeld]
   * [video][PVR] Recordings folders: Add support for 'Play next' and 'Queue item' context menu items.

  [Kai Sommerfeld]
   * [video][PVR] Recordings folders: Add support for 'Play' context menu item.

  [enen92]
   * Addons: Guard the addon installation process while migrating

  [enen92]
   * Addons: Ensure addon installation order when migrating to matrix

  [enen92]
   * Addons: Do not submit install jobs in the background


  [Alwin Esch]
   * [addons][audioengine] increase API version to 1.1.0

  [Alwin Esch]
   * [addons][audioengine] separate "C" and "C++" parts of headers

  [Alwin Esch]
   * [addons][audioengine] update documentation

  [Alwin Esch]
   * [addons] fix CStructHdl use by copy class to class

  [Alwin Esch]
   * [addons][doxygen] update doc views

  [Alwin Esch]
   * [addons][audioengine] rename CAddonAEStream to CAEStream

  [Alwin Esch]
   * [addons][audioengine] clang code style cleanup

  [Alwin Esch]
   * [addons][audioengine] separate Kodi and Addon enum parts

  [Alwin Esch]
   * [addons][audioengine] change interface code to match "C"

  [Alwin Esch]
   * [addons][audioengine] add #ifdef __cplusplus

  [Alwin Esch]
   * [addons][network] increase API version to 1.0.1

  [Alwin Esch]
   * [addons][network] separate "C" and "C++" parts of headers

  [Alwin Esch]
   * [addons][network] minor cleanups

  [Alwin Esch]
   * [addons][network] add new functions

  [Lukas Rusak]
   * [linux] CCPUInfoLinux: add imx_thermal_zone to default sensor names

  [Henrik Johnson]
   * Event server keyboard events dont work for keys that have long press defined

  [AhmedAdelAbouzeid]
   * Prevent RTL text from mirrorring around cursor for on-screen keyboard

  [Anton Fedchin]
   * [video] clear library entries from plugins if media source is removed.


  [montellese]
   * fix creating unique index for actors on MySQL after bffa7bb5 (thanks @mkreisl)

  [Jakob Linskeseder]
   * Remove unused CI integrations


  [h.udo]
   * [docs] Improve tvOS logo

  [Kai Sommerfeld]
   * [PVR] Fix deadlock in CPVREpg::Persist. Never lock epg instance after epgdb instance.

  [Kai Sommerfeld]
   * [PVR] CPVREpgDatabase: Replace c-style casts with c++-style casts.

  [Kai Sommerfeld]
   * [PVR] CPVREpgDatabase: Remove some default parameters.

  [Kai Sommerfeld]
   * [PVR] Speed up persisting EPG container to database. First, only queue all INSERT queries and after that do one commit.

  [nl6720]
   * [kodi-standalone.sh] Replace which with command -v

  [Jay Linski]
   * [docs] Add Ubuntu 20.04 to tested versions

  [phunkyfish]
   * [videoplayer] Fix TS Streams by disallowing streaminfo for realtime streams


  [enen92]
   * Improve plugin resolution logic

  [DaveTBlake]
   * JSON API bump patch number for faster implementation of fetching music data

  [DaveTBlake]
   * Faster parsing item lists and music datasets to JSON by preallocating CVariant array

  [DaveTBlake]
   * GetAlbumsByWhereJSON faster by doing "songgenres" as subquery - save 20% times. SQLite prepare convert multi-field CONCAT() statement to use

  [montellese]
   * [videodb] allow the same actor to appear multiple times in the same media with different roles


  [ronie]
   * [addons] Define assets and bump addon version

  [phunkyfish]
   * [pvr] switch INFO log statements to DEBUG

  [phunkyfish]
   * [filesystem] switch INFO log statements to DEBUG

  [enen92]
   * [upnp] Prefer movie posters to thumbs when serving the library items over upnp

  [Kai Sommerfeld]
   * [dialogs][guillib] CGUIDialogKaiToast now only closes the dialog if the whole toast text was displayed at least once.



  [Roman Artiukhin]
   * Fix watching icons are not shown when content type is not set

  [Montellese]
   * [depends] libspdlog: point CMAKE_PREFIX_PATH to the provided prefix

  [Montellese]
   * [cmake] FindSpdlog.cmake: point CMAKE_PREFIX_PATH to internally built libraries

  [Montellese]
   * [depends] patch spdlog to require at least fmt 5.3.0



  [Brent Murphy]
   * [macos] allow portable mode to run

  [enen92]
   * [docs][python] Misc doxygen improvements

  [Alwin Esch]
   * [addons][pvr] increase PVR API to 6.5.0

  [Alwin Esch]
   * [addons][pvr] rename SignalStatus to GetSignalStatus

  [Alwin Esch]
   * [addons][pvr] pass channel unique id to SignalStatus and GetDescrambleInfo

  [Alwin Esch]
   * [addons][pvr] rename GetAddonCapabilities to GetCapabilities

  [Alwin Esch]
   * [addons][pvr] sort API function tables

  [Alwin Esch]
   * [addons][pvr] rename PVR_PROPERTIES to AddonProperties_PVR

  [Vasyl Gello]
   * Fix duplicated queue and VFS types

  [Anton Fedchin]
   * [windows] don't mark render buffer as loaded until UploadBuffer is called

  [ronie]
   * [Skins] misc. fixes



  [Jim Carroll]
   * [cosmetic] comply with coding guidlines.

  [CastagnaIT]
   * [docs][python] Some fixes for xbmcdrm documentation

  [Lukas Rusak]
   * windowing/gbm: preseve crtc index when adding crtcs

  [Jim Carroll]
   * [cosmetic] remove blank lines and reorder methods.

  [Jim Carroll]
   * Fix crash on exit.

  [Jim Carroll]
   * Document removed python callback Monitor.onAbortRequested.

  [Jim Carroll]
   * Remove deprecated onAbortRequested python callback.

  [Jim Carroll]
   * Fix minor warning.


  [enen92]
   * [python] Move xbmc.validatePath to xbmcvfs.validatePath

  [enen92]
   * [Python] Fix ControlTextBox actions before being added to the window


  [phunkyfish]
   * [pvr] get previous epg tag instead of previous of previous

  [howie-f]
   * [Subtitles] fix smi subtitles to use quoted start tags

  [Wolfgang Haupt]
   * Network: Simplify the bind logic



  [Alwin Esch]
   * [addons][pvr] increase PVR API version to 6.4.0

  [Alwin Esch]
   * [addons][pvr] remove obsolete LOG types and sync with Kodi side

  [Alwin Esch]
   * [addons][pvr] remove not used lambda for "this" on GetDriveSpace call

  [Alwin Esch]
   * [addons][pvr] change stream properties and do over inputstream

  [Alwin Esch]
   * [addons][pvr] use STREAM_MAX_PROPERTY_COUNT from inputstream also for pvr

  [Alwin Esch]
   * [addons][pvr] correct CPVRClient::GetDriveSpace call

  [Alwin Esch]
   * [addons][pvr] move xbmc_epg_types.h to xbmc_pvr_types.h

  [Alwin Esch]
   * [addons][pvr] remove deprecated interface parts

  [Alwin Esch]
   * [addons][pvr] remove deprecated kodi_vfs_types.h

  [Alwin Esch]
   * [pvr] make props and functions to/from Kodi in own parts

  [Alwin Esch]
   * [pvr] remove deprecated "inputstreamaddon" property

  [enen92]
   * [python] move xbmc.makeLegalFilename() to xbmcvfs module

  [enen92]
   * Addons: Move migration and addon updates to AddonManager

  [CastagnaIT]
   * [docs][python] Improve documentation for xbmcdrm

  [djp952]
   * [PVR] Use active channel name when 'Importing guide from clients'

  [phunkyfish]
   * [logging] update docs for python logging

  [phunkyfish]
   * [logging] convert NOTICE level to INFO

  [phunkyfish]
   * [logging] convert SEVERE level to FATAL


  [Matt Huisman]
   * Update docs/README.Windows.md

  [Matt Huisman]
   * Update docs/README.Windows.md

  [phunkyfish]
   * [inputstream] support mime type by default for all inputstream addons

  [montellese]
   * use python style formatting in CLog::SetLogLevel()

  [montellese]
   * fix log levels in debug builds

  [montellese]
   * [settings] don't load setting values twice

  [AhmedAdelAbouzeid]
   * Adjust cursor blinking effect for on-screen keyboard to accommodate Arabic text

  [AhmedAdelAbouzeid]
   * Correct on-screen keyboard behaviour for Arabic characters 1- Prevent arabic characters from being disjoined when using the on-screen keyboard. Fixes #16040 2- Prevent the flipping of existing arabic text when editing (ex. renaming something) using the on-screen keyboard

  [Matt Huisman]
   * Fix ClearFile if directory passed to it

  [Matt Huisman]
   * Must close database before returning

  [Matt Huisman]
   * Fix addon search showing same addon multiple times for same addon ids

  [DaveTBlake]
   * Alphanumeric sorting improvements: Add ascii folding collation (mimicking that used in MySQL/MariaDB as utf8_general_ci) for better sorting of accented characters on those platforms that do not support locale collate facets e.g Android.

  [Matt Huisman]
   * Update Windows build config to match current VS2017 and java installers


  [enen92]
   * [docs][python] Improve documentation for xbmc.sleep and xbmc.Monitor().waitForAbort

  [Wolfgang Haupt]
   * Network: Fix double close of socket

  [Wolfgang Haupt]
   * Network: Fix overflow in our network code

  [phunkyfish]
   * [docs] tvOS updates

  [Sylvain CECCHETTO]
   * [packaging iOS/tvOS] fix wrong architecture field in deb control file


  [Rechi]
   * [depends] bump libzip to 1.6.1

  [Rechi]
   * [depends] build libzip only for android

  [peak3d]
   * [Android] Ignore intents until application is initialized

  [phunkyfish]
   * [docs] add link to PRs in needed of review in contributing doc

  [howie-f]
   * [CurlFile] proper setup proxy credentials

  [Lukas Rusak]
   * CProcessInfoGBM: Register using CVideoBufferPoolDMA

  [Lukas Rusak]
   * CVideoBufferDMA: add class to use CBufferObject

  [montellese]
   * [settings] apply clang format to CGUIDialogSettingsBase and CGUIControlSettings

  [montellese]
   * [settings/controls] split Update() into UpdateFromControl() and UpdateFromSetting()

  [montellese]
   * [settings/controls] only update the displayed value using Update() after having changed it in OnClick()

  [montellese]
   * [settings/controls] CGUIControlSpinExSetting: refactor internal methods

  [montellese]
   * [settings/controls] don't fully update GUI controls when creating them

  [montellese]
   * [settings/dialogs] CGUIDialogSettingsBase: only update the displayed value of a setting control whose setting has changed

  [montellese]
   * [settings/lib] support getting dynamic options from CSettingInt / CSettingString without updating them


  [phunkyfish]
   * [estuary] optionally show date/duration if recordings sort mode is size or duration

  [Brent Murphy]
   * [cmake] addons support multiple regex arguments for ADDONS_TO_BUILD

  [enen92]
   * [repository.xbmc.org] Define assets and bump addon version

  [Lukas Rusak]
   * [cmake] change warnings to status as it's only for indication


  [Hugh Cole-Baker]
   * [windowing/gbm] Set original CRTC as inactive if not used

  [Brent Murphy]
   * [tvos] Runtime fixup after spdlog

  [roke]
   * fixed checking if proxy and username pass are empty

  [Lukas Rusak]
   * CVideoLayerBridgeDRMPRIME: query supported values before blindly setting them

  [DaveTBlake]
   * Clean up some compiler warnings and Coverity issues

  [Lukas Rusak]
   * [gbm] rework plane selection based on crtcs

  [montellese]
   * [settings/lib] implement missing CSettingList/Int/String::MergeDetails()

  [Dimitry Ishenko]
   * TexturePacker: fix for 32-bit systems


  [Wanilton]
   * Add "Portuguese (Brazil)" for audio and subtitles streams (ISO-639-2)

  [Rechi]
   * [cmake] disable gtest auto fallback to internal build

  [Rechi]
   * [depends] add googletest

  [mediaminister]
   * Support multi-line text in dialogs

  [ronie]
   * add option to mask numeric input

  [ronie]
   * [python] masking support for numeric input

  [Zhouyang Jia]
   * Add error handling code for some external APIs


  [fritsch]
   * ProfileManager: Save changes when they happen

  [Brent Murphy]
   * [ios] Runtime fix after spdlog merge

  [Lukas Rusak]
   * [windows] enable libdav1d in the ffmpeg build

  [Lukas Rusak]
   * [cmake] dav1d: make optional for internal build

  [Lukas Rusak]
   * [cmake] look for libdav1d as well

  [Lukas Rusak]
   * [windows] add libdav1d to build depends





  [ronie]
   * move Container.CurrentItem to the correct map

  [ronie]
   * fix documentation for Container.SubItem()

  [ronie]
   * fix Container.SortMethod() infobool

  [ronie]
   * fix documentation for infolabels that do support (id)

  [ronie]
   * fix documentation for infolabels that don't support (id)

  [ronie]
   * move infolabels that don't support (id) to the correct map

  [ronie]
   * add documentation for missing infobools


  [montellese]
   * [network] CUPnPServer: remove unused SortItems() method

  [montellese]
   * ~ follow coding style for ec6cd6ee41

  [montellese]
   * [network] UPnP: make use of new logging functionality

  [montellese]
   * ~ follow coding style for 7b5518da91

  [montellese]
   * [network] HTTP request handlers: make use of new logging functionality

  [montellese]
   * ~ follow coding style for 362f28668f

  [montellese]
   * [addons] CAddonSettings: make use of new logging functionality

  [montellese]
   * ~ follow coding style for e0f2a73316

  [montellese]
   * [settings/lib] make use of new logging functionality

  [montellese]
   * ~ follow coding style for 5163bf37fb

  [montellese]
   * [network] CWebServer: make use of new logging functionality

  [montellese]
   * [utils] add CStaticLoggerBase helper class for static loggers

  [montellese]
   * ~ follow coding style for 5af7aaeecc

  [montellese]
   * remove unnecessary trailing newline from log messages

  [montellese]
   * ~ follow coding style for 50ced18d7b

  [montellese]
   * move component logging from CAdvancedSettings to CLog

  [montellese]
   * ~ follow coding style for d7489e5714

  [montellese]
   * [utils] CLog: replace custom logging implementation with spdlog

  [montellese]
   * [cmake/depends/win32] add spdlog

  [montellese]
   * [cmake] fix FindFmt.cmake for windows and fix version from 3.0.1 to 6.1.2

  [Sascha Montellese]
   * [docs] update list of manually installed packages on Ubuntu

  [Philipp Kerling]
   * Remove F-Droid badge from README.md

  [Philipp Kerling]
   * Fix missing cast to void* in %p format

  [phunkyfish]
   * [pvr] tidy do not call virtual functions from constructors or destructors

  [phunkyfish]
   * [pvr] tidy range based loops should use reference

  [phunkyfish]
   * [pvr] tidy value stored but not used

  [wsnipex]
   * libudfread: add download target

  [Lukas Rusak]
   * CUDFFile: switch to using libudfread

  [Lukas Rusak]
   * [depends] add libudfread

  [phunkyfish]
   * [inputstream] add support for new property name to load inputstreams

  [phunkyfish]
   * [inputstream] bump API to v2.2.0

  [phunkyfish]
   * [inputstream] Remove Pause from Inputstream API and PauseStream from Inputstream Addons

  [phunkyfish]
   * [inputstream] increase number of supported streams to 256

  [phunkyfish]
   * [inputstream] stop overflow when sending props to Inputstream and fix naming

  [Philipp Kerling]
   * Disable VAAPI/VDPAU MPEG-2 hwaccel by default

  [Pär Björklund]
   * clang-format

  [howie-f]
   * [clang-format] disable for all arrays in LangCodeExpander.cpp

  [Pär Björklund]
   * Improve build performance on windows

  [ronie]
   * [skins] bump skin versions and dependencies

  [ronie]
   * [GUI] bump xbmc.gui to 5.15.0 for Matrix

  [Lukas Rusak]
   * IBufferObject: allow creating by size


  [Lukas Rusak]
   * [tests] update to use gtest 1.10.0

  [Lukas Rusak]
   * gtest: remove lib/gtest and add as library



  [Jernej Skrabec]
   * DVDVideoCodecDRMPRIME: Always use best_effort_timestamp

  [Jonas Karlman]
   * DVDVideoCodecDRMPRIME: IsSupportedHwFormat

  [Jonas Karlman]
   * VideoBufferDRMPRIME: rename Map and Unmap


  [Lukas Rusak]
   * [RetroPlayer] CRenderBufferDMA: add sync support

  [Lukas Rusak]
   * IBufferObject: add sync methods

  [Alwin Esch]
   * [addons][network] add "using namespace ::kodi::addon;" to reduce size

  [Alwin Esch]
   * [addons][network] clang cleanups

  [Alwin Esch]
   * [addons][filesystem] "C" ABI cleanups

  [Lukas Rusak]
   * [test] update TestSysfsPath to use EXPECT_EQ

  [Lukas Rusak]
   * [linux] drop drm folder from drm includes

  [Lukas Rusak]
   * windowing/gbm: remove 10bit plane support

  [enen92]
   * [Addons] Addons for linux don't necessarily mean they are compatible with freebsd

  [Lukas Rusak]
   * windowing/wayland: GL: register using CRPRendererDMA

  [Lukas Rusak]
   * windowing/wayland: GL: register using CDMAHeapBufferObject

  [Lukas Rusak]
   * windowing/wayland: GL: register using CUDMABufferObject

  [Lukas Rusak]
   * CRenderBufferDMA: log the buffer type in use

  [Lukas Rusak]
   * [RetroPlayer] CRenderContext: remove unused TEXTURE_RGBA_OES shader method

  [Lukas Rusak]
   * CRPRendererDMA: use TEXTURE shader so DMA can be used with OpenGL

  [Lukas Rusak]
   * CBufferObject: unify logging style

  [Jonas Karlman]
   * windowing/gbm: add option to limit gui size

  [Lukas Rusak]
   * windowing/gbm: GL: register using CRPRendererDMA

  [Lukas Rusak]
   * windowing/gbm: GL: register using CDMAHeapBufferObject

  [Lukas Rusak]
   * windowing/gbm: GL: register using CUDMABufferObject

  [Lukas Rusak]
   * windowing/gbm: GL: register using CGBMBufferObject

  [Lukas Rusak]
   * windowing/gbm: GL: register using CDumbBufferObject

  [snaunton]
   * http sources look for subtitles


  [peak3d]
   * Trigger render when scrolling (smartredraw)

  [howie-f]
   * [LanguageCodes] Add "Swiss german" for audio streams (ISO639-2)

  [howie-f]
   * [cosmetics] clang-format on remaining LangCodeExpander

  [howie-f]
   * [cosmetics] clang-format on array (ISO3166)

  [howie-f]
   * [cosmetics] clang-format on array (ISO639)

  [howie-f]
   * [cosmetics] clang-format on array (ISO639-1)

  [howie-f]
   * [cosmetics] clang-format on array (ISO639-2)

  [peak3d]
   * [Android] Add WisePlay DRM

  [the-black-eagle]
   * [Music] Add NODE_TYPE_DISC to CMusicDatabaseDirectory::ContainsSongs()


  [Bas Rieter]
   * Changed: see if we can reuse the language invoker for a menu callback

  [Bas Rieter]
   * Added: option to pass arguments to add-on menu callbacks




  [Lukas Rusak]
   * windowing/wayland: GLES: register using CRPRendererDMA

  [Lukas Rusak]
   * windowing/wayland: GLES: register using CDMAHeapBufferObject

  [Lukas Rusak]
   * windowing/wayland: GLES: register using CUDMABufferObject

  [Lukas Rusak]
   * [RetroPlayer] allow using wayland with CRPRendererDMA

  [phunkyfish]
   * [inputstream] bump API to v2.1.0

  [phunkyfish]
   * [inputstream] increase max stream properties to 30

  [phunkyfish]
   * [inputstream] Update comment on PauseStream() to clarify purpose

  [Rechi]
   * [depends] refresh libshairplay patches

  [Rechi]
   * [depends] refresh libgpg-error patches

  [Rechi]
   * [depends] refresh libcdio-gplv3 patches

  [Rechi]
   * [depends] refresh gnutls patches

  [Rechi]
   * [depends] remove unused python3 patches

  [Wolfgang Haupt]
   * Remove usage of KEY_ASCII

  [Wolfgang Haupt]
   * Make OnJumpLetter work with UTF-8 chars

  [Lukas Rusak]
   * [RetroPlayer] CRPRendererDMA: only create buffer pool if buffer objects are registered

  [phunkyfish]
   * [inputstream] remove unused functions CanPauseStream and CanSeekStream from API

  [Lukas Rusak]
   * CDMAHeapBufferObject: add /dev/dma_heap/linux,cma path

  [enen92]
   * [Addons] Remove noicon/nofanart and old fallback paths to the root of the addon directory


  [djp952]
   * Correct Windows date/time calculations after PR17358

  [enen92]
   * [Tests] Support addonversion pep-0440/local-version-identifiers

  [enen92]
   * [AddonVersion] Always store version as lowercase


  [peak3d]
   * Don't send UNFOCUS_ALL after touch action

  [Bernd Kuhls]
   * cmake: add check for python3.8

  [peak3d]
   * [Android] MediaCodec: reimplement JNI (instead NDK)

  [Sylvain CECCHETTO]
   * [tvOS] Implement PowerManager::OnSleep/OnWake

  [Sylvain CECCHETTO]
   * [tvOS] Do not stop player when applicationWillResignActive

  [Harish Yadav]
   * Spelling Mistake in IMemoryStream.h

  [yeahme49]
   * open python file in binary mode

  [Lukas Rusak]
   * [buildsteps] freebsd 12 now includes fstrcmp

  [Lukas Rusak]
   * [docs] update FreeBSD build instructions for 12.1

  [David Vukovic]
   * [docs] added missing dependency



  [Kai Sommerfeld]
   * [application] CApplication::SwitchToFullScreen: Do not activate designated window if it is already active.

  [Kai Sommerfeld]
   * [application] Fix black screen when switching from PVR Live TV channel to PVR Radio channel. Fixes #17556.


  [ronie]
   * add ListItem.TvShowDBID infolabel

  [ronie]
   * fix VideoPlayer.UniqueID() infolabel

  [ronie]
   * add VideoPlayer.offset() infolabels


  [Lukas Rusak]
   * [VideoPlayer] CVideoBufferDRMPRIME move to Buffers directory

  [Lukas Rusak]
   * [VideoPlayer] CVideoBuffer move to Buffers directory


  [DerickLebron]
   * Max 60s commbreakautowait and commbreakautowind

  [Sam Nazarko]
   * CProfileManager: do not wait for bool uiInitializationFinished or skins will load without all elements ready



  [peak3d]
   * Re-enable selection OnMouseOver / GUIPanelContainer adjustments for touch

  [wsnipex]
   * [depends] fix Makefile to download and build dav1d without depends


  [ronie]
   * contextmenu - hide favourites option if we have no path


  [Alwin Esch]
   * [addons][vfs] increase API version to 2.3.0

  [Alwin Esch]
   * [addons][vfs] rework documentation

  [Alwin Esch]
   * [addons][vfs] change ABI interface to match pure "C"

  [Alwin Esch]
   * [addons][vfs] make all "C" interface structures to own memory

  [Alwin Esch]
   * [addons][vfs] prevent C++ designed Kodi Header IFileTypes.h

  [Alwin Esch]
   * [addons][vfs] add "#ifdef __cplusplus" to addon header

  [Alwin Esch]
   * [addons][vfs] do not interact addon class with Kodi

  [Alwin Esch]
   * [addons][vfs] clang style cleanup on addon header


  [Brent Murphy]
   * [darwin_embedded] enable xcode project binary addon build for ios

  [Kai Sommerfeld]
   * [PVR] setting 'Switch to full screen' now supports channel types.

  [Alwin Esch]
   * [settings] allow TranslatableIntegerSettingOption to get string from addon

  [Jay Linski]
   * Add section on Meson and nasm build dependency in Ubuntu





  [Alwin Esch]
   * [addons] remove deprecated xbmc_addon_types.h

  [phunkyfish]
   * [pvr] Recording sizes and folder total sizes, sorting and in progress callback

  [phunkyfish]
   * [pvr] New, Live, Finale and Premiere for EPG, Recordings and Timers

  [DaveTBlake]
   * [JSON]Fix Player.GetProperties return of "currentaudiostream" and "audiostreams" data for PAPlayer. Include "sample rate".

  [fritsch]
   * Revert "DVDVideoCodecAndroidMediaCodec: Properly set MAX WIDTH and MAX HEIGHT (thanks to cerarp)"

  [ChrisEt]
   * added support for ZIP extended local headers



  [Ryan Rector]
   * [jsonrpc] remove ambiguous and duplicate Player.Seek options


  [Lukas Rusak]
   * [RetroPlayer] CRPRendererDMA: use GL_TEXTURE_2D as OES EXTERNAL should be used for YUV formats





  [the-black-eagle]
   * [json][music] add support for fetching sample rate, bit rate and number of channels for songs

  [the-black-eagle]
   * [music] read, process and display sample rate, bit rate and no of channels in music files



  [Alwin Esch]
   * [addons][vfs] fix Kodi start crash if incompatible VFS addon present

  [Alwin Esch]
   * [addons][pvr] add GetPlayingChannelUniqueID to playback state

  [Alwin Esch]
   * [addons][pvr] Pass in addon string ID and not its class

  [Alwin Esch]
   * [addons] change xbmc_addon_types.h include to AddonBase.h on AddonStatusHandler.h


  [Markus Pfau]
   * Adjust mouse and gesture handling (#17548)

  [ronie]
   * [python] revert onAbortRequested removal

  [peak3d]
   * Fix Android DPI detection / eventloop is not called anymore

  [Wolfgang Haupt]
   * Windowing: GBM/gl - Remove reference to header that has been renamed


  [ronie]
   * [python] add custom button to yesno dialog

  [montellese]
   * [settings/lib] support static <enable> tag for <setting> definitions

  [Kai Sommerfeld]
   * [PVR] CPVREpgTagsContainer::GetTimeline : Fix edge case where a gap tag needs to be appended to time line.

  [ronie]
   * Favourites Dialog - fix crash


  [Lukas Rusak]
   * windowing/gbm: register using CDMAHeapBufferObject

  [Lukas Rusak]
   * CDMAHeapBufferObject: add new class to abstract new dma-heap buffers

  [Lukas Rusak]
   * [RetroPlayer] add documentation about DMA render methods

  [Lukas Rusak]
   * windowing/wayland: inherit from abstract class CWinSystemEGL

  [Lukas Rusak]
   * windowing/gbm: inherit from abstract class CWinSystemEGL

  [Lukas Rusak]
   * CWinSystemEGL: add new abstract type

  [Lukas Rusak]
   * windowing/gbm: register using CUDMABufferObject

  [Lukas Rusak]
   * CUDMABufferObject: add new class to abstract memfd/udmabuf buffers

  [James Hutchinson]
   * [PVR] add watched count to grouped recordings list

  [Lukas Rusak]
   * [RetroPlayer] rename GBM related buffers/pools/renderers to DMA

  [Lukas Rusak]
   * IBufferObject: add doxygen

  [Lukas Rusak]
   * CDumbBufferObject: add new class to abstract dumb buffers

  [Lukas Rusak]
   * [gbm] add CBufferObjectFactory to allow using multiple buffer object types

  [DaveTBlake]
   * Use of previously declared variable

  [DaveTBlake]
   * Apply sorting with limits of songs, albums and artists in the music database, including natural sort and article removal (to match fileitem sort behaviour).

  [Lukas Rusak]
   * GBMBufferObject: guard against creating if we already have a valid fd

  [Lukas Rusak]
   * CGBMBufferObject: set m_bo to nullptr when destroying the buffer object

  [Lukas Rusak]
   * GBMBufferObject: close fd in DestroyBufferObject()

  [Lukas Rusak]
   * IBufferObject: stride should be uint32_t

  [Lukas Rusak]
   * IBufferObject: width and height should be uint32_t

  [Lukas Rusak]
   * IBufferObject: format should be uint32_t

  [Lukas Rusak]
   * IBufferObject: format is required during buffer creation

  [djp952]
   * [PVR] Convert EPG First Aired from time_t to date string

  [djp952]
   * [PVR] Add support for firstAired tag via PVR Recordings

  [ronie]
   * [json-rpc] favourites - add support for androidapp

  [DaveTBlake]
   * Make migration from earlier db versions more robust

  [fritsch]
   * AESinkAudioTrack: Query ServiceBroker only once

  [fritsch]
   * AESinkAudioTrack: Change Component logging behaviour

  [fritsch]
   * AESinkAudioTrack: Add hw delay to normal delay

  [Alwin Esch]
   * [addons][inputstream] add `extern "C"` to Inputstream.h

  [Alwin Esch]
   * [addons][inputstream] add 'extern "C"' to StreamCrypto.h

  [Alwin Esch]
   * [addons][videocodec][demux] add 'extern "C"' to DemuxPacket

  [Alwin Esch]
   * [addons][videocodec] change buffer handle to use "KODI_HANDLE"

  [phunkyfish]
   * [pvr] add defines for invalid season and episode values

  [DaveTBlake]
   * Stop and wakeup screen saver when play request received from any source including PlayFile

  [ronie]
   * [EPG] change season/episode infolabels for specials

  [emveepee]
   * PVR Documentation Change

  [enen92]
   * Implement range check in URIUtils::resolvePath

  [Lukas Rusak]
   * [cmake] fix dav1d spelling

  [ronie]
   * Window cleanup

  [ronie]
   * ListItem cleanup

  [ronie]
   * Dialog cleanup

  [Alwin Esch]
   * [vfs][addons] fix title show of compressed package dir

  [howie-f]
   * [Estuary] hide remaining time when fullscreen-info is displayed

  [mediaminister]
   * Support double precision in bookmarks

  [Lukas Rusak]
   * [depends] dav1d: update to 0.6.0

  [Lukas Rusak]
   * replace strncasecmp with StringUtils::CompareNoCase

  [Lukas Rusak]
   * replace strcasecmp with StringUtils::CompareNoCase

  [Lukas Rusak]
   * replace strnicmp with StringUtils::CompareNoCase

  [Lukas Rusak]
   * replace strcmpi with StringUtils::CompareNoCase

  [Lukas Rusak]
   * replace stricmp with StringUtils::CompareNoCase

  [Lukas Rusak]
   * replace _stricmp with StringUtils::CompareNoCase

  [Lukas Rusak]
   * StringUtils: allow CompareNoCase to compare first n bytes of s1

  [Attila Jakosa]
   * [lang][skin.estouchy] updated language files from Transifex

  [Attila Jakosa]
   * [lang][skin.estuary] updated language files from Transifex

  [Attila Jakosa]
   * [lang][kodi.core] automatic syntax corrections for the en_GB language file

  [Alwin Esch]
   * [addons][videocodec] add documentation to STREAMCODEC_PROFILE

  [Alwin Esch]
   * [videoplayer] update TimingConstants.h to support also "C"

  [Alwin Esch]
   * [docs] update doxygen to define __cplusplus to include related parts

  [Alwin Esch]
   * [addons][inputstream] add inttypes.h and string.h to StreamCrypto.h

  [the-black-eagle]
   * [Estuary] Add new music infolabels to Includes_MusicInfo.xml

  [Alwin Esch]
   * [addons][inputstream] add blocksize ask support

  [Alwin Esch]
   * [addons][inputstream] don't give addon instance class to Kodi

  [enen92]
   * [Doxygen] Remove trailing whitespaces in the list of infolabels/bools

  [enen92]
   * [Doxygen] Fix infolabel/bool table after PR #16697

  [enen92]
   * [Doxygen] Fix builtin function table after PR #13762

  [ronie]
   * Control cleanup

  [ronie]
   * Player cleanup

  [ronie]
   * Monitor cleanup

  [Lukas Rusak]
   * [tests] TestDateTime: disable GetAsTimeStamp on OSX

  [fritsch]
   * Revert "AESinkAudioTrack: Support multi channel float"

  [Frederik “Freso” S. Olesen]
   * [python] Expose MusicBrainz IDs from MusicInfoTag

  [Thomas Kühnel]
   * remove hidden files when cleaning up the temp/fonts folder

  [Thomas Kühnel]
   * Remove invalid characters from mkv embedded font names

  [ronie]
   * [guilib] add listitem.uniqueid() infolabel

  [ronie]
   * [Estuary] re-add support for the autocomplete plugin

  [Andrey Filipenkov]
   * [ios] disable GUI insets for external screen

  [Andrey Filipenkov]
   * [ios] apply safe area insets to Kodi GUI

  [MilhouseVH]
   * SWIG: find also v4

  [ronie]
   * remove support for 'XBMC.' prefixed built-in commands

  [emveepee]
   * PVR Radio "Now Playing"

  [Alwin Esch]
   * [addons] fix stupid circumstance with addon settings on folder with file extension

  [Lukas Rusak]
   * [posix] remove XFileUtils

  [Lukas Rusak]
   * remove unused CIoSupport class

  [Lukas Rusak]
   * cmake: move iso9660 from cdio to iso9660pp

  [Lukas Rusak]
   * udf: rework IFile and IFileDirectory implementation

  [Lukas Rusak]
   * [depends] libcdio-gplv3: add patch to remove glob reference

  [the-black-eagle]
   * [JSON]Music add release and original date fields, rules and and sort order

  [the-black-eagle]
   * Add support for extra date and bpm tags in music files

  [Sebastian S]
   * Added Embuary Info features to home categories

  [phunkyfish]
   * [windows] patch to enable pthreads compat layer for w32threads

  [phunkyfish]
   * [windows] refresh ffmpeg patches and add -p1 to patch command

  [phunkyfish]
   * [videoplayer] format udp/rtp ffmpeg options/url

  [phunkyfish]
   * [url] skip parsing username:password for udp/rtp

  [DaveTBlake]
   * Remove invalid grouping when playlist type changed

  [Jakob Linskeseder]
   * [cmake] ffmpeg: add support for libdav1d

  [Lukas Rusak]
   * [depends] move meson cross file generation to target Makefile and fill in host info

  [Lukas Rusak]
   * [depends] add nasm

  [DaveTBlake]
   * Fix song playback history import to correctly match multiple releases with and without mbid

  [Maven85]
   * modernize android sdk detection

  [ronie]
   * change season/episode infolabels for specials

  [fritsch]
   * Android: Don't reset user set volume

  [fritsch]
   * AESinkAudioTrack: Fallback if IEC is not existent

  [fritsch]
   * AESinkAUDIOTRACK: Allow RAW and IEC eoaninguishing

  [phunkyfish]
   * [apple] tar on osx now supports xz files no need for our native one

  [phunkyfish]
   * [darwin_embedded] Move to correct aarch64-apple-darwin host triplet for tvOS/iOS

  [phunkyfish]
   * [ios] set minimum ios version to 11.0 and cleanup dependencies

  [ronie]
   * [Estuary] Info dialog cosmetics

  [Lukas Rusak]
   * CRendererDRMPRIMEGLES: inherit from CBaseRenderer not CLinuxRendererGLES

  [ronie]
   * [estuary] display playcount/lastplayed in musicinfo dialog

  [Lukas Rusak]
   * [test] add test for CDateTime

  [Lukas Rusak]
   * [test] add test for CDateTimeSpan

  [Lukas Rusak]
   * CDateTime: add missing format TIME_FORMAT_HH_SS

  [Lukas Rusak]
   * CDateTime: time zone needs to be adjusted in reverse of advertised

  [Lukas Rusak]
   * [depends] libcdio-gplv3: enable c++ bindings

  [Lukas Rusak]
   * iso9660: rework IFile and IFileDirectory implementations

  [Pär Björklund]
   * Fix stack overflow when trying to find nfo files in a rar file.

  [fandangos]
   * [FIX] Chapter selection in UHD BD and BD

  [Andre Meyering]
   * [Docs] Fix minor typos

  [fritsch]
   * Android: Skip HW acceleration if not needed

  [CastagnaIT]
   * Do not force flip for hebrew/arabic languages

  [CastagnaIT]
   * Revert "[subtitles] decode html escape characters (reverted from commit 56ff2ab08874ab78b7341be092aed0d9b37bb175)"

  [Qian Yun]
   * [Android] pause audio playback when headphone is disconnected

  [Arne Morten Kvarving]
   * fixed: trim platform string prior to split

  [vjadid]
   * [Win32BuildSetup] add Version to add/remove programs entry

  [PanderMusubi]
   * added Android badges

  [sarbes]
   * Add svg mime

  [Olaf Hering]
   * [libUPnP] Remove unused headers from Platinum/Source/Extras


  [Kai Sommerfeld]
   * [PVR] CPVRTimerInfoTag::ConvertUTCToLocalTime: Fix leap year detection.

  [Pär Björklund]
   * Fix enum formatting

  [Pär Björklund]
   * Revert enum fix, didn't work

  [Alwin Esch]
   * [cmake][addons] remove windowsstore path, there no differences anymore to windows path

  [Alwin Esch]
   * [cmake][addons] remove p8-platform from addon depends

  [Alwin Esch]
   * [cmake][addons] remove tinyxml from addon depends

  [Alwin Esch]
   * [cmake][addons] remove kodi platform from depends

  [ronie]
   * [python] set abi to 3.0.0


  [howie-f]
   * GUIPassword.h: fix doxygen header

  [howie-f]
   * refactor: enum MediaLockState

  [Maven85]
   * [python] fixed incorrectly formatted region time

  [Alwin Esch]
   * [addons] add platform for android-x86_64 binary addons

  [Alwin Esch]
   * [docs] add note to README's that Android x86 and x86_64 not maintained

  [Alwin Esch]
   * [build] add android x86_64 to buildstep scripts

  [Alwin Esch]
   * [build][depends] add support for x86_64-linux-android

  [Alwin Esch]
   * add image mime type for support over imagedecoder.raw


  [ronie]
   * [estuary] make weather maps less transparent

  [Rechi]
   * [depends] bump libjpeg-turbo to 2.0.4

  [Rechi]
   * [toolchain] add CMAKE_SYSTEM_PROCESSOR


  [Andrey Filipenkov]
   * [macos] fix warnings introduced in 13f83f82

  [Alwin Esch]
   * [addons] rename binary gui interface dir to "gui" (lowercase) to match headers

  [Alwin Esch]
   * [addons] change some binary interface log calls to new style

  [Alwin Esch]
   * [addons] change few CAddonDll parts to match more C++ style

  [Alwin Esch]
   * [addons] some clang cleanups on binary addon interface headers

  [Alwin Esch]
   * [addons] remove wrong included header "FileItem.h" from Interface_Filesystem

  [Alwin Esch]
   * [addons] add some missing 'extern "C"' to binary interface calls

  [Alwin Esch]
   * [addons] code style cleanup on Interface_Base to match more C++

  [Alwin Esch]
   * [addons] move binary addon interface calls to own files

  [Rechi]
   * [depends] bump libcdio-gplv3 to 2.1.0

  [howie-f]
   * Extend CheckMenuLock to check Mediasources (video and music) if needed

  [howie-f]
   * Reimplement functions for checking Master-/Medialocks

  [howie-f]
   * Introduce LockState enum

  [Jakob Linskeseder]
   * Remove outdated eoanribute dependency

  [Andrey Filipenkov]
   * [macos] change Toggle Fullscreen shortcut to system default Cmd+Ctrl+F


  [peak3d]
   * [ffmpeg] CActiveAEFilter: initialize frame pts only once after filter creation

  [Lukas Rusak]
   * FFmpeg: Bump to 4.2.2-Matrix-Alpha1

  [Lukas Rusak]
   * PlatformDefs.h: remove inttypes definitions

  [Lukas Rusak]
   * PlatformDefs.h: move FILETIME to XTimeUtils.h


  [Alwin Esch]
   * [build] add note to DEFAULT_NDK_VERSION and DEFAULT_NDK_API


  [Attila Jakosa]
   * [lang][skin.estouchy] updated language files from Transifex

  [Attila Jakosa]
   * [lang][skin.estuary] updated language files from Transifex

  [Attila Jakosa]
   * [lang][skin.estuary] automatic syntax corrections for the en_GB language file

  [Attila Jakosa]
   * [lang][kodi.core] automatic syntax corrections for the en_GB language file


  [Rechi]
   * [depends] bump curl to 7.68.0

  [Rechi]
   * update SSL CA trust store

  [Rechi]
   * [depends] add update-cacert target to curl

  [Rechi]
   * move cacert.pem to system/certs

  [Sebastian S]
   * Added support for script.embuary.info



  [Lukas Rusak]
   * PlatformDefs.h: remove _atoi64 define

  [Ryan Rector]
   * Don't try to generate a thumb for unresolved plugin path


  [Rechi]
   * [depends] bump libfmt to 6.1.2


  [Rechi]
   * [osx] drop i386 support

  [Rechi]
   * [osx] drop powerpc support


  [Kai Sommerfeld]
   * [PVR] CGUIEPGGridContainer: Fix GUI_MSG_REFRESH_LIST message parameters.

  [Disconnect3d]
   * Fix strnicmp size argument in AdvancedSettings

  [phunkyfish]
   * [pvr] always add new members to group at end in group manager

  [fritsch]
   * DVDVideoCodecAndroidMediaCodec: Properly set MAX WIDTH and MAX HEIGHT (thanks to cerarp)

  [Lukas Rusak]
   * PlatformDefs.h: move WIN32_FIND_DATA to iso9660.h


  [Pär Björklund]
   * Fix memory leak


  [ronie]
   * fix 'Show empty TV Shows' for xml library node

  [ronie]
   * [guiinfo] DisplayAfterSeek should not return True if playback is paused

  [Lukas Rusak]
   * [linux] use GetAppName() to get compiled app name

  [Kai Sommerfeld]
   * [PVR] When deleting a channel, also delete all associated EPG tags from database, not only the EPG database entry.

  [Kai Sommerfeld]
   * [PVR] CPVREpgContainer: Remove dead code.

  [ronie]
   * add setting to switch to visualisation on playback

  [Balint Reczey]
   * [tools/EventClients] Bring back EXIF data of bluetooth.png and add Copyright tag


  [Kai Sommerfeld]
   * [PVR] CPVREpg: Fix EPG not saved for newly added channels.

  [Kai Sommerfeld]
   * [PVR] CPVRChannel: Remove dead code.

  [Lukas Rusak]
   * XTimeUtils: add methods to namespace KODI::TIME::

  [Lukas Rusak]
   * threading: use CThread::Sleep to differentiate from KODI::TIME::Sleep

  [Rechi]
   * [osx] fix GetBuildTargetPlatformVersion

  [bam80]
   * fix missed line break

  [Lukas Rusak]
   * replace Sleep(0) with std::this_thread::yield()

  [phunkyfish]
   * [macosx] remove ATI rendering logic from macs pre 2006

  [phunkyfish]
   * [macosx] set minimum osx version to 10.13 (High Sierra), fix deprecations and cleanup dependencies

  [Lukas Rusak]
   * [test] TestCPUInfo: remove useless test

  [Pär Björklund]
   * Cleanup MHD content length patch and use the provided macro

  [Pär Björklund]
   * Fix formatting of class enums

  [Lukas Rusak]
   * buildsteps: add linux-aarch64-gbm

  [Pär Björklund]
   * Fix libaacs decryption

  [Lukas Rusak]
   * [linux] CSysfsPath: fix reading from strings with spaces

  [peak3d]
   * Prevent VideoSync from setting up in Destructor



  [yol]
   * Add liberapay to FUNDING.yml

  [Rechi]
   * [windows] update Effects11 to April 26, 2019

  [Wolfgang Haupt]
   * Set EOF when tempo filter fails


  [Lukas Rusak]
   * [depends] gnutls: update to 3.6.11.1

  [Lukas Rusak]
   * CCPUInfoLinux: check paths in constructor

  [Alwin Esch]
   * [cmake] show API version by addon dependency check

  [Alwin Esch]
   * [cmake] add message to find easier the checks on log

  [Alwin Esch]
   * [cmake] fix check of " #include <...>" with spaces on begin

  [Alwin Esch]
   * [cmake] prevent "@ADDON_DEPENDS@" with same several times

  [enen92]
   * [JSON-RPC] Also set art when updating infolabels (VideoLibrary.SetMovieDetails)

  [Lukas Rusak]
   * CPUInfo: remove default "N/A" value from strings

  [Lukas Rusak]
   * [test] TestCPUInfo: remove useless test as we cannot guarantee that they exist

  [Lukas Rusak]
   * [depends] nettle: update to 3.5.1

  [Lukas Rusak]
   * [depends] libgpg-error: update to 1.36 and add patch for gawk5 support

  [fandangos2]
   * Update DVDInputStreamBluray for UHD BD

  [arnova]
   * fixed: File cache logic for reading from source

  [fandangos]
   * Fix UHD BD Dolby Vision dual layer stream


  [ronie]
   * [Estuary] fix navigation in video info dialog

  [Kai Sommerfeld]
   * [android][windowing] Fix CWinSystemAndroid::UpdateResolutions to apply calibrations after resetting resolutions (like the other platform implementations already do, btw.)

  [Alwin Esch]
   * [addons] move GetTempAddonBasePath() from binary to normal AddonManager

  [Garrett Brown]
   * Rename "dvdimage" selection tag to "discimage"

  [Garrett Brown]
   * Fix launching zip and 7z files from MyGames

  [Garrett Brown]
   * Fix error playing disk image games

  [Garrett Brown]
   * FileItem: Fix range iterator constness


  [Kai Sommerfeld]
   * [PVR][guiinfo] Fixup multiline episode name strings (which do not fit in any way in our GUI).

  [Bernd Kuhls]
   * Add missing cstddef includes


  [DaveTBlake]
   * Allow access to files on automounted sources via webserver

  [Lukas Rusak]
   * StringUtils: define FMT_DEPRECATED to fix windows coverity build

  [Alwin Esch]
   * [addons] Code guideline update for xbmc/addons/binary-addons/AddonDll.h

  [Alwin Esch]
   * [addons] use on CAddonDll instance class pointer as identifier

  [the-black-eagle]
   * Add boxset, disctitle & totaldiscs to jsonrpc

  [ronie]
   * [videos] allow 0.0 rating


  [Alwin Esch]
   * [pvr] rename m_iplayingChannelUniqueID to m_playingChannelUniqueId

  [Alwin Esch]
   * [addons] add a bit of documentation to CAddon and CAddonInfo

  [Alwin Esch]
   * [addons] rename all addon IsType func. to HasType (is more correct)

  [Alwin Esch]
   * [addons] fix script/plugin subtype check

  [Alwin Esch]
   * [addons] fix check on CAddonsDirectory::GetScriptsAndPlugins for right type

  [Alwin Esch]
   * [addons] remove func. "FullType()" from IAddon and other places, becomes nowhere used

  [Alwin Esch]
   * [addons] prevent on addon directory the add of "plugin" or "script" as own folder

  [Alwin Esch]
   * [addons] use in filesystem the IsAddonInstalled to check

  [ronie]
   * Dialog.Close(all) should only close modal dialogs


  [Alwin Esch]
   * [videoplayer] cleanup Inputstream constants documentation

  [Alwin Esch]
   * [addons] fix CStructHdl operator= with before has not worked

  [Alwin Esch]
   * [addons] Don't use kodi::addon::IAddonInstance on Kodi side

  [Alwin Esch]
   * [addons] remove wrong PVR API version note

  [Rechi]
   * [depends] build samba-gplv3 static

  [Rechi]
   * [depends] bump samba-gplv3 to version 4.11.6

  [Rechi]
   * [depends] remove lib64 library search path

  [Wolfgang Haupt]
   * Fix TextureCache::CacheImage does not fill texture outparam

  [Lukas Rusak]
   * [posix] network: split into platform specific files

  [Sven Neumann]
   * Initialize stack-allocated structs with all zeros in InputStreamAddon

  [Sven Neumann]
   * Ensure that first enum values are 0 in InputStream API

  [Alwin Esch]
   * [addons][inputstream] add RDS stream support


  [Lukas Rusak]
   * [gbm] define EGL_NO_X11 to follow upstream changes

  [ronie]
   * [Estuary] remove support for script.extendedinfo

  [ronie]
   * [Estuary] remove support for plugin.program.autocompletion

  [ronie]
   * [Estuary] remove support for script.maps.browser

  [djp952]
   * [AddonBase] Segfault/AV in CreateInstanceEx if addonInstance is not initialized





  [mediaminister]
   * [JSON-RPC] Fix plugin:// url support for Files.GetFileDetails

  [Kai Sommerfeld]
   * [PVR] Fix CPVREpgTagsCache missing channel data.

  [Alwin Esch]
   * [cmake] fix ldflags transfer on addon depends build

  [Kai Sommerfeld]
   * [PVR] Fix CPVREpgTagsContainer::UpdateEntries to reset the tags cache data, not the tags cache instance. Make two members const to prevent those kind of bugs in the future.

  [DaveTBlake]
   * Fix MUSICPLAYER_DISC_TITLE so with other infolabels

  [the-black-eagle]
   * Ensure disc subtitle is in ListItem.Title for skins to display

  [Kai Sommerfeld]
   * [PVR] EPG search: Drastically speed up programme searches by directly using the EPG database.

  [Kai Sommerfeld]
   * [PVR] EPG container: To keep system load down, set low priority for the EPG container thread, and when persisting data, do it in slices of one second every 60 seconds. Respect 'No EPG updates when playing' setting when persisting or delivering updated EPG tags.

  [Kai Sommerfeld]
   * [PVR] CPVRTimerInfoTag::GetEpgInfoTag: Only probe for an EPG tag one time to reducde database/backend load.

  [Kai Sommerfeld]
   * [PVR] EPG: Load EPG tags from database on demand only; do never preload and hold all tags in memory.

  [Lukas Rusak]
   * [depends] allow compiling on an aarch64 host

  [Jonas Karlman]
   * VideoBufferDRMPRIME: set pixel format

  [Jonas Karlman]
   * DVDVideoCodecDRMPRIME: simplify color_range assignment

  [Jonas Karlman]
   * DVDVideoCodecDRMPRIME: drain ffmpeg codec on reset

  [Jonas Karlman]
   * DVDVideoCodecDRMPRIME: log human readable ffmpeg error message

  [Kai Sommerfeld]
   * [PVR] Context menus: Implement 'Record', 'Stop recording', 'Switch to channel' for EPG gap tags.

  [Kai Sommerfeld]
   * [PVR] Channel Manager: If started via channel's context menu, preselect that channel on dialog open.

  [Rechi]
   * [cmake] fix optional platform dependencies for X11 GLES

  [Kai Sommerfeld]
   * [PVR] Factor out playback time calculation from CPVREpgInfoTag to CPVRPlaybackState.

  [Kai Sommerfeld]
   * [PVR] Fix CPVREpgInfoTag::SetGenre to always set genre string.

  [Kai Sommerfeld]
   * [PVR] Ensure not to compare EPG tag instances by pointer values.

  [Kai Sommerfeld]
   * [PVR] EPG: Always store EPG tags in database, do never load all tags from database on startup. Todo: Still keeping all EPG tags fetched from the clients in memory.

  [Kai Sommerfeld]
   * [PVR] EPG: Encapsulate access to EPG tags map.

  [ronie]
   * [Estuary]fix brackets

  [Andrey Filipenkov]
   * [macos][packaging] fix parsing device handle of a mounted dmg

  [CastagnaIT]
   * Perform operations only outside the login screen

  [jjd-uk]
   * [Estuary] Media Flags fix

  [Alwin Esch]
   * [cmake] fix not allowed depends check

  [montellese]
   * Revert "Print the mirror redirected to for easier debugging of of mirror issues"

  [Rechi]
   * [modernize] use-default-member-init

  [enen92]
   * [VideoThumbLoader] Remove old SetArt fallbacks. Use appendArt to avoid replacing the whole art map

  [arnova]
   * fixed: Seeking with FileCache could lockup due to terminated thread fixed: When a fatal error occurs we should mark end of input

  [Lukas Rusak]
   * fixup! legacy/Dialog: remove defines

  [the-black-eagle]
   * skip comments in .edl files

  [ronie]
   * Fix SiriRemote keymap

  [Craig Andrews]
   * Add missing cassert include

  [Arne Morten Kvarving]
   * fixed: guard against assert in tinyxml

  [Rozhuk Ivan]
   * Improve FreeBSD CPUInfo support - add CPU temperature reading - enable neon detection

  [Lukas Rusak]
   * kodi-test: add test cases for CSysfsPath

  [Lukas Rusak]
   * SysfsUtils: move to platform/linux and rename to SysfsPath

  [Lukas Rusak]
   * SysfsUtils: cleanup and improve interface according to the documentation

  [Lukas Rusak]
   * legacy/Dialog: remove defines

  [Lukas Rusak]
   * legacy/Dialog: reorder includes

  [fritsch]
   * PeripheralUSB: Create udev contexts in their thread

  [Lukas Rusak]
   * remove SysfsUtils.h header from non linux platforms

  [phunkyfish]
   * Support for starting EPG entries as live

  [Sylvain CECCHETTO]
   * [tvOS] Fix cropped Now Playing image

  [peak3d]
   * [Android] Implement PowerManager::OnSleep/OnWake

  [Dag Wieers]
   * Added musicvideo as well

  [fritsch]
   * PeripheralBusUSBLibUdev: Filter on USB only

  [jjd-uk]
   * [Estuary] Add additional media flags to Music Visualization window info

  [jjd-uk]
   * [Estuary] Rating position fix + minor adjustments for ListThumbInfoPanel & RightListPanel

  [Pär Björklund]
   * Fix crash in libcdio

  [Dag Wieers]
   * Remove Duration as it is already available

  [Dag Wieers]
   * Add more metadata to Video info pane

  [Andrey Filipenkov]
   * [macos] fix copying addons/skin.estuary/resources to app package

  [Andrey Filipenkov]
   * [macos] copy files script cleanup

  [Pär Björklund]
   * Fix missing algorithms in pycryptodome

  [cpmw167]
   * [bluray] fix playback of bus encryption enabled discs

  [Pär Björklund]
   * Fix HEAD Content-Length

  [Kai Sommerfeld]
   * [PVR] EPG Guide window: Prevent scrolling of the grid if causing action was not user-initiated.

  [djp952]
   * [PVR] Address regression due to recent PVR recordings change

  [fuzzard]
   * [DarwinEmbedded] Support xcode 11 certificate naming scheme

  [fuzzard]
   * [TVOS] sleep state management

  [fuzzard]
   * [tvOS] add binary-addons to xcode project

  [Sylvain CECCHETTO]
   * [tvOS] Initial Platform Commit for Apple TVOS

  [fuzzard]
   * [DarwinEmbedded] Darwinembedded generic code path for GetBuildTargetPlatformVersionDecoded

  [fuzzard]
   * [ios/tvos] Python3 patch update - remove waitpid define

  [fuzzard]
   * [ios/tvos] Relocate CPUInfo for DarwinEmbed platforms

  [fuzzard]
   * [ios-common] relocate Darwinnsuserdefaults to ios-common

  [fuzzard]
   * [settings] SettingOptionsMonitorsFiller refactor

  [Pär Björklund]
   * Fix python crash when aborting script

  [djp952]
   * [PVR] Improve performance of TriggerRecordingUpdate()

  [Pär Björklund]
   * miniwdk build didn't work

  [Pär Björklund]
   * Update dependencies

  [Wolfgang Haupt]
   * Reset playlist on new file playback

  [Josh Bendavid]
   * Add JSON RPC call to send button press event and move button string translation to common place.

  [Alwin Esch]
   * [vfs][addons] fix media view from addon given content

  [Kai Sommerfeld]
   * [PVR] EPG grid container: fix regression after 2791691 that prevented scrolling to next page if first item on page was not completely visible.

  [Andrey Filipenkov]
   * [ios] replace label with placeholder, use AutoLayout instead of manual layout

  [CastagnaIT]
   * Fixed windows 7 environment compatibility

  [Kai Sommerfeld]
   * [PVR] EPG grid model: fix another edge case, that can lead to a crash when rendering the last page of the grid.

  [Kai Sommerfeld]
   * [PVR] EPG grid container: fix wrong timeline display on first grid page.

  [montellese]
   * CGUIDialogSelect: fix focusing list / buttons after 6d34db9900

  [Kai Sommerfeld]
   * [PVR] EPG grid model: Simplify and speed up CGUIEPGGridContainerModel::FindChannelAndBlockIndex.

  [Kai Sommerfeld]
   * [PVR] EPG grid container: Make CGUIEPGGridContainer::GoToEnd consistent with CGUIEPGGridContainer::GoToBegin behavior.

  [fritsch]
   * LinuxRendererGL: Fix useage of glTexImage3D format was not valid

  [Kai Sommerfeld]
   * EPG grid container: Fix CGUIEPGGridContainer::UpdateItems eventOffset calculation for gap tags.

  [Kai Sommerfeld]
   * [PVR] Guide window: Goto 'now' on system resume from sleep.

  [montellese]
   * pass path settings as JSON to python scrapers (thanks @romanvm)

  [montellese]
   * [settings] add JSON serialization implementation of ISettingsValueSerializer

  [arnova]
   * changed: Improve logic for determining memory cache size

  [arnova]
   * fixed: Cache forward size wasn't updated when source EOF was hit

  [arnova]
   * fixed: Caching of small files was broken

  [the-black-eagle]
   * [musicdb] ensure check for boxset flag is case insensitive

  [montellese]
   * [video] fix "Browse" button in CGUIDialogVideoInfo for tvshows

  [montellese]
   * [videodb] use UpdateUniqueIDs() instead of AddUniqueIDs() in VideoDatabase::SetDetailsForMovie()

  [djp952]
   * Resume paused ActiveAE stream while draining to avoid lapse during playback

  [Andrey Filipenkov]
   * [ios] fix size of EAGL layer on external screen

  [DaveTBlake]
   * Fix calling OnPlaybackStarted twice because of race condition when stream processing is faster than the callback process

  [Kai Sommerfeld]
   * [platform][input] Fix keyboard layouts sort order.

  [Anssi Hannula]
   * Fix cosmetic style issues introduced by TrueHD fix

  [peak3d]
   * [Android] Simplify / fix modechange

  [montellese]
   * [settings] use the ISettingsValueSerializer interface in CSettingsManager::Save()

  [montellese]
   * [settings] move ISubSettings handling from CSettingsManager to CSettings

  [montellese]
   * [settings] add XML serialization implementation of ISettingsValueSerializer

  [arnova]
   * changed: Make filecache chunk size configurable

  [arnova]
   * changed: Log in case cache gets reset as a result of a seek

  [arnova]
   * changed: Use std:min() instead of boolean selector

  [arnova]
   * changed: Cache should read from source using its chunksize, if provided by source

  [montellese]
   * [settings/lib] add ISettingsValueSerializer interface

  [phunkyfish]
   * [VideoPlayer] enable teletext support for inputstream addons

  [Ryan Rector]
   * add 'movie set information folder' setting

  [Andrey Filipenkov]
   * [ios] split keyboard class into common and iOS-specific parts

  [fuzzard]
   * [ios] clang-format cosmetics for platform/darwin/ios-common/IOSKeyboard*.*

  [montellese]
   * [settings/lib] add GetVersion() and GetMinimumSupportedVersion() to CSettingsManager

  [arnova]
   * fixed: Calling SetCommonOptions() once should be 'nough

  [arnova]
   * fixed: When seeking m_bRetry must be updated else it will default to true again with multisession

  [phunkyfish]
   * [cmake] add PKG_CONFIG_LIBDIR for addon build systems

  [Wolfgang Haupt]
   * Windowing: GBM - Fix refreshrate switch

  [fritsch]
   * AESinkAUDIOTRACK: Remove PT hack for volume

  [James Hutchinson]
   * [PVR] Recordings window: added support for ToggleWatched action

  [ronie]
   * [EStuary] fix artist slideshow condition

  [jjd-uk]
   * [Estuary] Refactor Playlist Window + Views

  [Roman Artiukhin]
   * Fix GetItemsToScan scan in sub-directories

  [ronie]
   * [Estuary] fallback to icon in poster view

  [CastagnaIT]
   * Copy name property to stream

  [Alwin Esch]
   * [settings] allow set of needed extensions for picture selection

  [ronie]
   * [Settings] CSettingInt: support pure string based labels for <option>

  [ronie]
   * [Python] fix build against python 3.8

  [djp952]
   * [PVR] Fix 'Resume from' functionality with audio only MPEG-TS streams

  [fritsch]
   * AESinkAudioTrack: Implement timestamp method for delay

  [Maven85]
   * moves dependencies to AndroidX

  [fritsch]
   * AESinkAudioTrack: Fine-grain forced blocking depending on period_time and buffer

  [DaveTBlake]
   * Conditional control of children of album node as discs or songs. Move into CMusicDatabaseDirectory so applies to both navigation between the library screens and to any sublists of child items on those screens defined in the skin.

  [Tobias Kortkamp]
   * Unbreak GBM runtime on FreeBSD

  [Tobias Kortkamp]
   * FreeBSD: Unbreak VAAPI by syncing system/settings/{freebsd,linux}.xml

  [Tobias Kortkamp]
   * Link with libepoll-shim on FreeBSD

  [Tobias Kortkamp]
   * Add ctime to AddonBase.h

  [CastagnaIT]
   * json-rpc: code fixes to audio/subtitle flags properties

  [enen92]
   * [WinSystemOSX] Change XBMC word leftover to Kodi

  [Craig Andrews]
   * Add missing cassert includes

  [CastagnaIT]
   * json-rpc: add flags properties to GetPropertyValue concerning audio/subtitle

  [DaveTBlake]
   * Process boolean fields with true/false parameter and (not) equal/contains operator like true/false operator

  [ronie]
   * add Library.HasNode infobool

  [fritsch]
   * XBMCTinyXML: Properly Flush when writing xml to disk

  [fritsch]
   * ProfileManager: Fall back to master profile if profile.xml not loadable / parseable

  [DaveTBlake]
   * Update code guidelines to allow for initialization of table-like structures to be vertical aligned and exceed line limits for readability

  [peak3d]
   * clang-format changes

  [peak3d]
   * [Android] Priorize timer instead HDMI_AUDIOPLUG on refreshrate switch

  [djp952]
   * [Visualization] Prevent NULL/zero-length packets from being processed

  [fritsch]
   * AESinkAudioTrack: Discard on deinitialize instead of drain

  [fritsch]
   * AESinkPulse: Flush on Deinitialize not Drain

  [fritsch]
   * AESinkAudioTrack: Pause after drain - to care for underrun

  [fritsch]
   * AESinkPULSE: Properly cork after drain to not underrun

  [Kai Sommerfeld]
   * [Estuary][guiinfo][cpuinfo] Hide CPU usage if system does not provide this information (for example: recent Android versions).

  [Philipp Kerling]
   * Add mergeable config to check PR labels/milestones

  [fritsch]
   * AESinkAudioTrack: Increase minbuffer when probing

  [the-black-eagle]
   * Add boxset detection and navigation by individual discs

  [phunkyfish]
   * [pvr] update channel number and client order for selected group when channel update triggered

  [Kai Sommerfeld]
   * [PVR] Guide window: Fill CGUIMediaWindow::m_vecItems only with currently active EPG items.

  [fritsch]
   * AESinkAudioTrack: Properly show detected codecs in IEC mode

  [fritsch]
   * AESinkAudioTrack: Enumerate 2 channel IEC prior to 8 channels

  [fritsch]
   * AESinkAudioTrack: Use 150 ms to decrease menu sound delay

  [fritsch]
   * AudioTrack: Revisit hacks

  [fritsch]
   * AESinkAudioTrack: Search correct buffer by incrementing in min_buffer units

  [Kai Sommerfeld]
   * [PVR] EPG grid model: Fetch epg tags for active blocks only, release as soon as block becomes inactive. Fix some bugs along the way.

  [Kai Sommerfeld]
   * [PVR] CPVREpgInfoTag no longer needs to implement ISortable.

  [Kai Sommerfeld]
   * [PVR] EPG grid model: Init with channels only, fetch and purge epg tags dynamically.

  [Kai Sommerfeld]
   * [PVR] Fix CGUIEPGGridContainer::GoTo(Top

  [Kai Sommerfeld]
   * [PVR] EPG grid model: remove inactive items from grid. This can save lots of memory.

  [Kai Sommerfeld]
   * [PVR] EPG grid model: insert items into grid on demand. Eliminate fixed sized grid.

  [Kai Sommerfeld]
   * [PVR] EPG grid model: do not leak grid model internal GridItem*.

  [Kai Sommerfeld]
   * [PVR] CGUIEPGGridContainer::GoToBegin: eliminate unneeded sequential looping over epg grid.

  [Kai Sommerfeld]
   * [PVR] CGUIEPGGridContainer::GetNextItem: eliminate unnended sequential looping over epg grid.

  [Kai Sommerfeld]
   * [PVR] CGUIEPGGridContainer::GetPrevItem: eliminate unneeded sequential looping over epg grid.

  [Kai Sommerfeld]
   * [PVR] CGUIEPGGridContainer::(UpdateItems

  [Kai Sommerfeld]
   * [PVR] CGUIEPGGridContainer::HandleProgrammeGrid: eliminate unneeded sequential looping over epg grid.

  [Kai Sommerfeld]
   * [PVR] EPG grid model: Fill grid data on demand.

  [Kai Sommerfeld]
   * [PVR] EPG grid model: Encapsulate grid data access.

  [fritsch]
   * DVDAudioCodecPassthrough: Properly check for DTSHD_MA as well after HR change

  [montellese]
   * [addons] fix CAddon::HasSettings() for settings.xml files without any settings

  [Kostas Andrianos]
   * Always highlight the OK button when installing an add-on

  [arnova]
   * changed: Improve video database clean performance by using directory-cache

  [DaveTBlake]
   * Make tag processing of "various artists" compilation albums more consistent and less impacted by changes in language settings.

  [phunkyfish]
   * [pvr] refactor recording file or folder check

  [phunkyfish]
   * [pvr] refactoring fix whitespace

  [Stefan Sichler]
   * [windowing] fixed typo

  [Kai Sommerfeld]
   * [PVR] Fix missing 'mark watched'/'mark unwatched' context menu entries for recordings folders.

  [fritsch]
   * DTS-HD: Distinguish between profiles on basis of ffmpeg

  [fritsch]
   * AESinkAudioTrack: Distinguish DTS-HD and DTS-HD-MA

  [peak3d]
   * [Android] Use DV decoder for HEVC streams with dvhe fourcc

  [Philipp Kerling]
   * CODEOWNERS: add yol

  [Garrett Brown]
   * CODEOWNERS: add garbear

  [DaveTBlake]
   * CODEOWNERS: add DaveTBlake

  [Kai Sommerfeld]
   * CODEOWNERS: add ksooo

  [Lukas Rusak]
   * add CODEOWNERS file to help selecting reviewers

  [montellese]
   * [swig/python] fix vector output typemap for specialized std::vector<bool>

  [montellese]
   * CVideoInfoTag: fix behaviour of SetUniqueID(s) if no default unique ID has been previously set

  [bam80]
   * fix clashing XBMCK_EJECT and XBMCK_FAVORITES

  [Elan Ruusamäe]
   * Bump JSONRPC_VERSION to 10.6.1 due internal changes of C*Library::Export()

  [Elan Ruusamäe]
   * AudioLibrary: check boolean option values

  [Elan Ruusamäe]
   * VideoLibrary: check boolean option values

  [Rozhuk Ivan]
   * Move OSS code to FreeBSD platform

  [fritsch]
   * AESinkAudioTrack: Remove now superflous HeadSet check

  [fritsch]
   * WinSystem: Allow ALSA+PULSE in parallel

  [phunkyfish]
   * [videoplayer] refactoring - fix header order

  [phunkyfish]
   * [videoplayer] add inputstreamclass property for selecting inputstream addon or ffmpeg

  [phunkyfish]
   * [videoplayer] allow custom headers to be sent to ffmpeg

  [fritsch]
   * RendererMediaCodecSurface: Announce vertical shift as well

  [Garrett Brown]
   * RetroPlayer/GLES: Use no-alpha texture shader

  [DaveTBlake]
   * Find Python.h correctly on Win64 when Python installed separately

  [fritsch]
   * AESinkAudioTrack: Try to aim 200 ms buffer and 50 ms periods

  [Rozhuk Ivan]
   * Fix OSS support for FreeBSD

  [Rainer Hochecker]
   * ActiveAE: Align VizBuffer size with sink's max delay

  [Rainer Hochecker]
   * AESinkPULSE: Make CacheTotal dynamic

  [Rainer Hochecker]
   * AE: Implement selective device re-enumeration

  [fritsch]
   * AESinkPULSE: Fixup blocked write to use RequestCallback

  [fritsch]
   * AESinkPULSE: Distinguish HW, BT and Network device

  [Rainer Hochecker]
   * AESinkPULSE: Implement Hotplug monitor

  [montellese]
   * fix old-style action settings being called twice after 84b719c (fixes #16833)

  [Arne Morten Kvarving]
   * fixed: support shoutcast over https

  [DaVukovic]
   * [Estuary] rework DialogMusicInfo.xml

  [DaVukovic]
   * kodi-send: python3 fix

  [Kyle Johnson]
   * add dual support for Artist Slideshow 2.x and 3.x

  [arnova]
   * fixed: Extension matching in FileDirectoryFactory was broken

  [Arthur Liberman]
   * fixed: redact url in log

  [Sebastian S]
   * [json] Add missing "status" string for VideoLibrary.GetTVShowDetails

  [ronie]
   * [addon settings] parse action data

  [Lukas Rusak]
   * CPUInfoLinux: add /proc/cpuinfo parsing for arm/aarch64

  [ronie]
   * [addons] bump xbmc.python dependency

  [ronie]
   * [Estuary] handle 'back' when info is visible in fullscreen

  [Lukas Rusak]
   * tests: disable GetTemperature test for TestCPUInfo on windows

  [Lukas Rusak]
   * CCPUInfo: move servicebroker registration earlier in app startup

  [Lukas Rusak]
   * CPUInfo: split posix functions into specific class to allow windows to build

  [Roman Miroshnychenko]
   * Fix UnicodeDecode errors when returning strings

  [Stefan Sichler]
   * [windowing] resurrection of X11/GLES support

  [Kai Sommerfeld]
   * [PVR] Fix CGUIDialogPVRGuideInfo::GetCurrentListItem crash.

  [Kai Sommerfeld]
   * [PVR] Code cleanup: Remove declaration for unused/undefined method.

  [peak3d]
   * [Android] fetchDisplayMode only for SDK>=24

  [Garrett Brown]
   * CRenderSystemGLES: Add no-alpha texture shader

  [Lukas Rusak]
   * CPUInfoLinux: fix ifdefs for non neon platforms

  [Lukas Rusak]
   * CPUInfoLinux: return false if temperature units aren't valid

  [Lukas Rusak]
   * CPUInfoWin32: remove _M_ARM gaurd

  [DaveTBlake]
   * Base cache filename on itemlist path with options. Save cache filename with each item so correct cache cleared on item update.

  [fuzzard]
   * [ios] refactor MPNowPlaying functions to ios-common

  [montellese]
   * [settings/addon] properly merge setting's definition if there are reference settings

  [montellese]
   * [settings/addon] rework and fix reference settings (fixes #15252)

  [montellese]
   * [settings/addon] fix parsing of setting conditions in the old format

  [Lukas Rusak]
   * CSystemInfo: cleanup duplicate methods

  [Lukas Rusak]
   * CCPUInfo: split platforms and rework

  [Lukas Rusak]
   * win32: remove check for sse2 during init

  [Kai Sommerfeld]
   * [profiles] Do always stop PVR services on logoff. Restart PVR services only when not loading the master profile for the login screen.

  [Garrett Brown]
   * Profiles: ensure that the skin is reloaded after profile is loaded

  [DaveTBlake]
   * Fix wrong sort order list for music playlists node

  [Alwin Esch]
   * [addons][game] fix crash where NULL was given to std::string

  [fuzzard]
   * [ios] AnnounceReceiver cosmetic changes

  [Jonas Karlman]
   * VideoLayerBridgeDRMPRIME: set HDR metadata

  [Jonas Karlman]
   * windowing/gbm: add GetConnector method

  [Wolfgang Haupt]
   * Docs: Add python3-dev as dependency since we bumped the python version

  [Kai Sommerfeld]
   * [macos] Improve and fix the fix for only quarter of screen rendered in windowed mode and certain fullscreen resolutions on macOS 10.15 (Catalina).

  [phunkyfish]
   * [pvr] Fix editing channels via channel manager

  [phunkyfish]
   * [pvr] remove unrequired (void) fron function declarations

  [Anssi Hannula]
   * Fix crashes due to missing TrueHD overrun checks

  [Jim Carroll]
   * Revert "Revert "Reusepython""

  [Alwin Esch]
   * [addons][game] add initial doxygen documentation

  [Alwin Esch]
   * [addons][game] change Game addon system to C++ interface

  [Alwin Esch]
   * [addons][game] change addon header to support AddonInstance_Game on functions

  [Jonas Karlman]
   * VideoBufferDRMPRIME: use video picture in renderer

  [DaveTBlake]
   * Build disc cache file name consistently using item path without options string

  [Lukas Rusak]
   * remove g_mediaManager global

  [Jonas Karlman]
   * VideoBufferDRMPRIME: convert interface to abstract class

  [Jonas Karlman]
   * DVDVideoCodecDRMPRIME: set video picture chroma_position and colorBits

  [Jonas Karlman]
   * DVDVideoCodecDRMPRIME: use hints as fallback for video picture params

  [Jonas Karlman]
   * DVDVideoCodecDRMPRIME: do not set DVP_FLAG_DROPPED

  [Jonas Karlman]
   * DVDVideoCodecDRMPRIME: release video buffer before receiving next frame from ffmpeg

  [Jonas Karlman]
   * DVDVideoCodecDRMPRIME: append CDVDCodecOptions to AVCodecContext

  [Jonas Karlman]
   * RendererDRMPRIME: add VERTICAL_SHIFT render feature flag

  [Jonas Karlman]
   * DRMPRIME: format code with clang-format

  [Jonas Karlman]
   * DRMPRIME: use Python-like format string syntax

  [Wolfgang Haupt]
   * VideoTagInfoLoaderFFmpeg: Resolve stack before trying to process

  [Kai Sommerfeld]
   * [macos] Fix only quarter of screen rendered in windowed mode and certain fullscreen resolutions on macOS 10.15 (Catalina).

  [peak3d]
   * [Android][Python] remove wrong platform suffix from native libraries

  [jakaja]
   * Update Includes.xml

  [Kai Sommerfeld]
   * Revert "[skin.estuary/pvr] Add support for more meta data to PVR info panel."

  [ronie]
   * xbmc.python bump to 3.0.0

  [ronie]
   * [Py3] cleanup pt.1

  [DaveTBlake]
   * Fix Musicplayer.Property(Role.xxx) info labels

  [DaveTBlake]
   * Revert setting playcount to PLAYCOUNT_NOT_SET on read from cache

  [Garrett Brown]
   * Game add-ons: Document the subsystem architecture

  [ronie]
   * [Estuary] add scrollbar to settings dialogs

  [ronie]
   * System.HasAddon() - return true for disabled addons

  [jakaja]
   * Uniforming media flag usage, part II

  [jakaja]
   * Uniforming media flag usage

  [Jim Carroll]
   * Fix the ability for subclasses of API classes to call super().__init()__.

  [Jim Carroll]
   * Fix build on various windows by including the correct openssl and Windows UWP by adding -DMS_STORE

  [Alwin Esch]
   * [addons][vis] add function to transfer presets and increase version to 2.0.2

  [Alwin Esch]
   * [addons][vis][gui] use IsDirty addon call again

  [Alwin Esch]
   * [addons][vis] fix address set of is_dirty function

  [Alwin Esch]
   * [addons][vis] change AddonInstance_Visualization to use pointers

  [Anssi Hannula]
   * VAAPI: fix use after free in CVAAPIContext::DestroyContext

  [ronie]
   * [Estuary] fix studio icon name

  [Rechi]
   * [TEMP] add windows precompiled python lib

  [Rechi]
   * [TEMP] add python BASE_URL

  [Rechi]
   * [debian][cpack] switch to python3 depends

  [Arpit Nandwani]
   * Added Python Version Varaiable

  [Arpit Nandwani]
   * Added Android Fix

  [Arpit Nandwani]
   * Added IOS and OSX Fix

  [Arpit Nandwani]
   * [depends] Updated the PythonPath in target directories

  [Arpit Nandwani]
   * [depends] Updated Python3 Makefile and Patches

  [Arpit Nandwani]
   * [depends] Native Files Updated

  [Arpit Nandwani]
   * Updated Windows Dependencies

  [Arpit Nandwani]
   * python3 implementation

  [Arpit Nandwani]
   * Converted Virtual to Pure Virtual Functions

  [Rechi]
   * [cleanup] remove unused parameters from executeScript function

  [Rechi]
   * [cleanup] remove unused functions

  [Markus Pfau]
   * Revert "Reusepython"

  [Garrett Brown]
   * Separate GetVolumePercent() and GetVolumeRatio()

  [Kai Sommerfeld]
   * [PVR] EDL: Passing unsupported items to CPVREdl::GetCuts is not an error.

  [fuzzard]
   * [ios/networking] - Implemented Darwin_embedded specific network implemenation

  [fuzzard]
   * [SystemInfo] Remove ifdef that always returned true for all platforms

  [Andrey Filipenkov]
   * [ios] add new sandbox path for iOS 13

  [Andrey Filipenkov]
   * [ios] refactor checking sandbox path prefix

  [fuzzard]
   * [darwin] apply modernize obj-c to darwin common platform code

  [Andrey Filipenkov]
   * [ios] add new action to Logging settings for native sharing of the log file

  [Andrey Filipenkov]
   * [ios] set EAGL layer frame to the size of containing view

  [Andrey Filipenkov]
   * [ios] set correct frame of EAGL view on init

  [Andrey Filipenkov]
   * [ios] fix returned file system sizes before iOS 12

  [Andrey Filipenkov]
   * sort includes in xbmc/platform/darwin/ios/XBMCController.mm

  [Kai Sommerfeld]
   * [skin.estuary/pvr] Add support for more meta data to PVR info panel.

  [Kai Sommerfeld]
   * Revert "[skin.estuary] add genre to recordings and timer uis"

  [Maven85]
   * [Android] added more program information for android tv channels

  [phunkyfish]
   * [skin.estuary] increase info panel space slighly to allow 12 hour clock times fit on one line

  [phunkyfish]
   * [skin.estuary] includ Deleted in breadcrumbs when viewing deleted recordings

  [Kai Sommerfeld]
   * [PVR] EPG database: Fix persisting/restoring of optional(!) firstAired date.

  [DaVukovic]
   * AdvancedSettings: Fix arttype return

  [jakaja]
   * Add rating mark also to "Shift" view

  [peak3d]
   * [Android] Use JNI instead NDK MediaCrypto for secure decoder check

  [phunkyfish]
   * [skin.estuary] add genre to recordings and timer uis

  [phunkyfish]
   * [skin.estuary] add year to guide, recordings, timers and info if populated

  [DaveTBlake]
   * Reduce repeated parsing of path to get node details, get information in one call.

  [Andrey Filipenkov]
   * [ios] retrieve screen scale directly from iOS SDK APIs instead of relying on a hardcoded list of models

  [phunkyfish]
   * [docs] Update code guidelines on C++14 usage

  [phunkyfish]
   * [clang-format] switch - indent case and default

  [phunkyfish]
   * [clang-format] change constructor init list to colon on newline, break after comma for longer lines

  [Andrey Filipenkov]
   * [ios] remove unused InfoPlist.strings

  [Andrey Filipenkov]
   * [ios] add real app version to Info.plist

  [Andrey Filipenkov]
   * [ios] remove keys from Info.plist that are inserted by Xcode automatically

  [Andrey Filipenkov]
   * [ios] sort Info.plist keys alphabetically

  [Andrey Filipenkov]
   * [ios] fix overlapping keyboard helper view with the "safe area"

  [Rechi]
   * [depends] bump libbluray to 1.1.2

  [fritsch]
   * AdvancedSettings: Further cleanup of unused variables

  [fritsch]
   * AdvancedSettings: Cleanup audio settings not in use anymore

  [fritsch]
   * AdvancedSettings: Remove FfmpegVDA setting

  [fritsch]
   * AdvancedSettings: Remove force vaapi - not used anymore

  [Andrey Filipenkov]
   * [ios] fix overlapping drawing surface with the "safe area"

  [Andrey Filipenkov]
   * [ios] add support for iPad 7th gen

  [Kai Sommerfeld]
   * [EDL] Change CEdl::AddCut to take a copy of 'cut' parameter, because modified value is not used by callers, making it possible to achieve more constness in calling code.

  [Andrey Filipenkov]
   * [ios] show splash image in the Launch Screen

  [Andrey Filipenkov]
   * [ios] replace static launch images with Launch Screen storyboard

  [phunkyfish]
   * [docs] Fix indexes for code guidelines

  [Kai Sommerfeld]
   * [PVR] PVRThumbloader.cpp: Fix include order.

  [Kai Sommerfeld]
   * [PVR] Cleanup: Reduce cores/VideoPlayer/Edl.cpp PVR dependencies.

  [fuzzard]
   * [ios/tvos] Refactor darwin_embedded platforms in configure.ac

  [fuzzard]
   * [ios/tvos] Implement Codesigning build arguments for darwin_embedded platforms

  [Sylvain CECCHETTO]
   * [iOS/tvOS] Update xcode attributes in Toolchain*.cmake.in

  [phunkyfish]
   * [pvr] refactoring - remove extra whitespace

  [fritsch]
   * Revert "[VideoPlayer] Change avsync handling"

  [fuzzard]
   * [cmakebuildsysios] generator option (GEN) + docs

  [fuzzard]
   * [cmakebuildsys] Add build_dir option + Docs

  [Kai Sommerfeld]
   * [PVR] Rework PVR component source directory structure.

  [Kai Sommerfeld]
   * [PVR] Refactor: Move PVR classes from xbmc/addons to xbmc/pvr/addons.

  [Kai Sommerfeld]
   * [PVR] PVRManager: Factor out playback state functionality into its own class.

  [Rechi]
   * [modernize] use-override

  [Kai Sommerfeld]
   * [PVR] Refactor PVR jobs. Get rid of PVRJobs.(h

  [Kai Sommerfeld]
   * [guiinfo][pvr][Estuary] Rename Listitem.IsPremiere to Listitem.IsNew.

  [phunkyfish]
   * [pvr] Update and persist channel group members from client on boot if changed

  [Andrey Filipenkov]
   * [ios] implement disk space usage

  [Andrey Filipenkov]
   * split DarwinStorageProvider into OSX and iOS

  [fritsch]
   * AESinkAudioTrack: Remove Headphone check - let Audiotrack handle it internally

  [arnova]
   * fixed: Double redact

  [phunkyfish]
   * [pvr] refactoring - review fixup after merge of 16677

  [Kai Sommerfeld]
   * [pvr][dialogs][Estuary][keymaps] Rework Guide window's navigation context menu, introduce (optional) grid controls dialog.

  [phunkyfish]
   * Refactoring Left align pointer in pvr

  [phunkyfish]
   * Refactoring Left align ampersand in pvr

  [phunkyfish]
   * Refactoring remove PVRTypes.h

  [phunkyfish]
   * Refactor out remaining CPVR*Ptr classes

  [phunkyfish]
   * Refactor out PVR::CPVR*Ptr classes

  [phunkyfish]
   * Refactor out CPVR*Ptr classes in pvr source folder

  [DaveTBlake]
   * Clear "libraryartfilled" property when art map is cleared

  [montellese]
   * [settings] catch formatting exception in CGUIControlSliderSetting::GetText() and fall back to default formatting labels (fixes #16663)

  [phunkyfish]
   * Refactor out CConstPVREpgInfoTagPtr

  [Rechi]
   * [modernize] use-equals-default

  [phunkyfish]
   * [pvr] support numbering all groups from one locally

  [phunkyfish]
   * [pvr] support group specific channel numbering

  [Andrey Filipenkov]
   * [ios] don't rely on main screen having only one screen mode - it's not true for iPhones 11

  [montellese]
   * [addons/settings] add missing CGUIDialogAddonSettings::OnSettingAction()

  [arnova]
   * added: as.xml option to disable Curl HTTP2

  [Aman Gupta]
   * fix configure with xcode 11

  [Andrey Filipenkov]
   * [ios] add iPhones 11 to the list of known devices

  [peak3d]
   * [Inputstream] Make API backwards compatible to old addons

  [peak3d]
   * [VideoPlayer] Change avsync handling

  [DaveTBlake]
   * Rearrange musicplayer defines to group infolabels that work with offset and position for range checking separately from others e.g. infobools. Define range.

  [Alwin Esch]
   * [cmake] give CMAKE_SYSTEM_NAME and CMAKE_SYSTEM_VERSION also to normal Win

  [DaveTBlake]
   * Reduce log spam produced by AnnouncementManager announcing

  [montellese]
   * [addons/settings] fix empty labels showing up with wrong translated string

  [montellese]
   * [settings] fix missing label for multiselect (list) add-on settings (fixes #15423)

  [montellese]
   * [settings] support "sort" attribute on <options> constraint of integer and string settings

  [DaveTBlake]
   * Fix musicplayer.offset(n).xxx and musicplayer.position(n).xxx

  [Alwin Esch]
   * [addons] add interface helper class to translate "C" to "CPP"

  [ronie]
   * add EnableAddon() builtin

  [peak3d]
   * [Log] Use Thread PID instead NativeHandle for logging

  [arnova]
   * fixed: We must exact match addon extensions/mimetypes/protocols (should fix #16652)

  [montellese]
   * [settings] fix parsing of path setting with <control type="button" format="image">

  [montellese]
   * [settings] extend supported <masking> format in CSettingPath with "video", "audio", "image", "executable" and "", "", "", ""

  [montellese]
   * [settings] support pure string based labels for <option>

  [montellese]
   * [settings] support <close> attribute in action button <control>

  [Kai Sommerfeld]
   * [PVR][guiinfo][Estuary] New GUI info label Listitem.IsPremiere + implementation for PVR EPG info tags + visualization in Estuary.

  [rustyx]
   * fixed: make archive files work via UPnP

  [DaveTBlake]
   * Remove unnecessary CDirectoryNode classes for compilations and years nodes, they are implemented as NODE_TYPE_ALBUM nodes

  [DaveTBlake]
   * Cleanup GetQuickPathName, unnecessary as default library folder settng saved as node xml path e.g. library://music/recentlyplayedalbums.xml not abbreviated names derived from DirectoryNode path e.g. musicdb://recentlyplayedalbums/

  [DaveTBlake]
   * Fix navigation back from default folder view This also fixes back from after filter type node shown via calling ActivateWindow() with .xml file parameter

  [Rechi]
   * [depends] bump fribidi to 1.0.5

  [Alwin Esch]
   * [addons] fix addon version.h, do not give nullptr as string

  [Kai Sommerfeld]
   * [Estuary] DialogPVRInfo: Add support for 'first aired' and 'rating'.

  [Kai Sommerfeld]
   * [PVR] CPVREpgInfoTag: Fix 'first aired' value. Respect that this attribute is optional.

  [peak3d]
   * [binary addons] Provide VERSION_MIN and VERSION in addon.xml and rework version check

  [Kai Sommerfeld]
   * [PVR] Cleanup: Replace Observer/Observable with EventSource/EventStream.

  [Kai Sommerfeld]
   * [application] Fix CApplication::ActivateScreenSaver to always allow 'Black' screen saver. Closes #16123.

  [Christian Fetzer]
   * [cmake] Enable C++14 support for core

  [Rechi]
   * [modernize] use-emplace

  [wsnipex]
   * [depends] check for c++14 support

  [wsnipex]
   * [docs] update linux readmes

  [Rechi]
   * [fix] use value initialization after b9d11a2

  [ronie]
   * [skins] allow vendors to supply their own logo

  [Rechi]
   * [modernize] use-bool-literals

  [Kevin Goffe]
   * [screensaver.xbmc.builtin.dim] reduce dim minimum threshold to zero

  [arnova]
   * added: Inhibit screensaver builtin

  [DaveTBlake]
   * Folder type nodes - take list label from node xml file (like filter type nodes) - allow *All item on nodes with options (but not smart playlists)

  [Andre Meyering]
   * [Buildsteps] Fix URL for list of Kodi mirrors

  [peak3d]
   * [Inlutstream] Add IChapter interface

  [Andrey Filipenkov]
   * [macos] make Blank Other Displays setting immediately take effect

  [Andrey Filipenkov]
   * [ios] fix broken touch input after closing keyboard on iOS 13

  [Dag Wieers]
   * Fix empty spacing when no Premiered infoLabel

  [Dag Wieers]
   * Show Studio icons (e.g. on folders and episodes)

  [bb10]
   * Update joystick.xml

  [ronie]
   * add System.AddonIsEnabled() infobool


  [the-black-eagle]
   * skip comments in .edl files

  [ronie]
   * Fix SiriRemote keymap

  [Craig Andrews]
   * Add missing cassert include

  [Rozhuk Ivan]
   * Improve FreeBSD CPUInfo support - add CPU temperature reading - enable neon detection

  [Lukas Rusak]
   * kodi-test: add test cases for CSysfsPath

  [Lukas Rusak]
   * SysfsUtils: move to platform/linux and rename to SysfsPath

  [Lukas Rusak]
   * SysfsUtils: cleanup and improve interface according to the documentation

  [Lukas Rusak]
   * remove SysfsUtils.h header from non linux platforms

  [Sylvain CECCHETTO]
   * [tvOS] Fix cropped Now Playing image

  [peak3d]
   * [Android] Implement PowerManager::OnSleep/OnWake

  [Dag Wieers]
   * Added musicvideo as well

  [jjd-uk]
   * [Estuary] Add additional media flags to Music Visualization window info

  [jjd-uk]
   * [Estuary] Rating position fix + minor adjustments for ListThumbInfoPanel & RightListPanel

  [Dag Wieers]
   * Remove Duration as it is already available

  [Dag Wieers]
   * Add more metadata to Video info pane

  [Andrey Filipenkov]
   * [macos] fix copying addons/skin.estuary/resources to app package

  [Andrey Filipenkov]
   * [macos] copy files script cleanup


  [fritsch]
   * PeripheralUSB: Create udev contexts in their thread

  [phunkyfish]
   * Support for starting EPG entries as live

  [fritsch]
   * PeripheralBusUSBLibUdev: Filter on USB only

  [Tobias Kortkamp]
   * Unbreak GBM runtime on FreeBSD

  [Tobias Kortkamp]
   * Link with libepoll-shim on FreeBSD


  [Pär Björklund]
   * Fix crash in libcdio

  [cpmw167]
   * [bluray] fix playback of bus encryption enabled discs

  [Pär Björklund]
   * Fix python crash when aborting script



  [Pär Björklund]
   * Fix missing algorithms in pycryptodome

  [Kai Sommerfeld]
   * [PVR] EPG Guide window: Prevent scrolling of the grid if causing action was not user-initiated.

  [fuzzard]
   * [DarwinEmbedded] Support xcode 11 certificate naming scheme

  [fuzzard]
   * [TVOS] sleep state management

  [fuzzard]
   * [tvOS] add binary-addons to xcode project

  [Sylvain CECCHETTO]
   * [tvOS] Initial Platform Commit for Apple TVOS

  [fuzzard]
   * [DarwinEmbedded] Darwinembedded generic code path for GetBuildTargetPlatformVersionDecoded

  [fuzzard]
   * [ios/tvos] Python3 patch update - remove waitpid define

  [fuzzard]
   * [ios/tvos] Relocate CPUInfo for DarwinEmbed platforms

  [fuzzard]
   * [ios-common] relocate Darwinnsuserdefaults to ios-common

  [fuzzard]
   * [settings] SettingOptionsMonitorsFiller refactor

  [Andre Meyering]
   * [Buildsteps] Fix URL for list of Kodi mirrors


  [Pär Björklund]
   * Fix HEAD Content-Length


  [djp952]
   * [PVR] Address regression due to recent PVR recordings change

  [Roman Artiukhin]
   * Fix GetItemsToScan scan in sub-directories


  [djp952]
   * [PVR] Improve performance of TriggerRecordingUpdate()

  [Pär Björklund]
   * miniwdk build didn't work

  [Pär Björklund]
   * Update dependencies


  [Wolfgang Haupt]
   * Reset playlist on new file playback

  [DaveTBlake]
   * Fix calling OnPlaybackStarted twice because of race condition when stream processing is faster than the callback process


  [Alwin Esch]
   * [vfs][addons] fix media view from addon given content

  [Kai Sommerfeld]
   * [PVR] EPG grid container: fix regression after 2791691 that prevented scrolling to next page if first item on page was not completely visible.


  [Andrey Filipenkov]
   * [ios] replace label with placeholder, use AutoLayout instead of manual layout

  [CastagnaIT]
   * Fixed windows 7 environment compatibility

  [Andrey Filipenkov]
   * [ios] split keyboard class into common and iOS-specific parts

  [fuzzard]
   * [ios] clang-format cosmetics for platform/darwin/ios-common/IOSKeyboard*.*


  [Kai Sommerfeld]
   * [PVR] EPG grid model: fix another edge case, that can lead to a crash when rendering the last page of the grid.

  [Kai Sommerfeld]
   * [PVR] EPG grid container: fix wrong timeline display on first grid page.


  [montellese]
   * CGUIDialogSelect: fix focusing list / buttons after 6d34db9900

  [Kai Sommerfeld]
   * [PVR] EPG grid model: Simplify and speed up CGUIEPGGridContainerModel::FindChannelAndBlockIndex.

  [Kai Sommerfeld]
   * [PVR] EPG grid container: Make CGUIEPGGridContainer::GoToEnd consistent with CGUIEPGGridContainer::GoToBegin behavior.


  [fritsch]
   * LinuxRendererGL: Fix useage of glTexImage3D format was not valid

  [Kai Sommerfeld]
   * EPG grid container: Fix CGUIEPGGridContainer::UpdateItems eventOffset calculation for gap tags.

  [Kai Sommerfeld]
   * [PVR] Guide window: Goto 'now' on system resume from sleep.

  [montellese]
   * pass path settings as JSON to python scrapers (thanks @romanvm)

  [montellese]
   * [settings] add JSON serialization implementation of ISettingsValueSerializer

  [montellese]
   * [videodb] use UpdateUniqueIDs() instead of AddUniqueIDs() in VideoDatabase::SetDetailsForMovie()


  [arnova]
   * changed: Improve logic for determining memory cache size

  [arnova]
   * fixed: Cache forward size wasn't updated when source EOF was hit

  [arnova]
   * fixed: Caching of small files was broken

  [the-black-eagle]
   * [musicdb] ensure check for boxset flag is case insensitive

  [montellese]
   * [video] fix "Browse" button in CGUIDialogVideoInfo for tvshows

  [montellese]
   * [settings] use the ISettingsValueSerializer interface in CSettingsManager::Save()

  [montellese]
   * [settings] move ISubSettings handling from CSettingsManager to CSettings

  [montellese]
   * [settings] add XML serialization implementation of ISettingsValueSerializer

  [montellese]
   * [settings/lib] add ISettingsValueSerializer interface

  [montellese]
   * [settings/lib] add GetVersion() and GetMinimumSupportedVersion() to CSettingsManager


  [Andrey Filipenkov]
   * [ios] fix size of EAGL layer on external screen

  [djp952]
   * [PVR] Fix 'Resume from' functionality with audio only MPEG-TS streams


  [djp952]
   * Resume paused ActiveAE stream while draining to avoid lapse during playback


  [jjd-uk]
   * [Estuary] Refactor Playlist Window + Views


  [phunkyfish]
   * [VideoPlayer] enable teletext support for inputstream addons


  [Kai Sommerfeld]
   * [platform][input] Fix keyboard layouts sort order.

  [Anssi Hannula]
   * Fix cosmetic style issues introduced by TrueHD fix

  [peak3d]
   * [Android] Simplify / fix modechange


  [arnova]
   * changed: Make filecache chunk size configurable

  [arnova]
   * changed: Log in case cache gets reset as a result of a seek

  [arnova]
   * changed: Use std:min() instead of boolean selector

  [arnova]
   * changed: Cache should read from source using its chunksize, if provided by source

  [arnova]
   * changed: Improve video database clean performance by using directory-cache


  [Ryan Rector]
   * add 'movie set information folder' setting



  [arnova]
   * fixed: Calling SetCommonOptions() once should be 'nough

  [arnova]
   * fixed: When seeking m_bRetry must be updated else it will default to true again with multisession

  [phunkyfish]
   * [cmake] add PKG_CONFIG_LIBDIR for addon build systems


  [Anssi Hannula]
   * Fix crashes due to missing TrueHD overrun checks


  [Roman Miroshnychenko]
   * Fix UnicodeDecode errors when returning strings


  [Wolfgang Haupt]
   * Windowing: GBM - Fix refreshrate switch


  [fritsch]
   * AESinkAUDIOTRACK: Remove PT hack for volume


  [ronie]
   * [EStuary] fix artist slideshow condition

  [ronie]
   * [Estuary] fallback to icon in poster view


  [James Hutchinson]
   * [PVR] Recordings window: added support for ToggleWatched action

  [Rozhuk Ivan]
   * Move OSS code to FreeBSD platform

  [Rozhuk Ivan]
   * Fix OSS support for FreeBSD



  [Tobias Kortkamp]
   * FreeBSD: Unbreak VAAPI by syncing system/settings/{freebsd,linux}.xml


  [CastagnaIT]
   * Copy name property to stream

  [ronie]
   * [Settings] CSettingInt: support pure string based labels for <option>

  [ronie]
   * [Python] fix build against python 3.8

  [enen92]
   * [WinSystemOSX] Change XBMC word leftover to Kodi

  [Craig Andrews]
   * Add missing cassert includes


  [Alwin Esch]
   * [settings] allow set of needed extensions for picture selection



  [DaveTBlake]
   * Conditional control of children of album node as discs or songs. Move into CMusicDatabaseDirectory so applies to both navigation between the library screens and to any sublists of child items on those screens defined in the skin.


  [fritsch]
   * AESinkAudioTrack: Implement timestamp method for delay

  [Maven85]
   * moves dependencies to AndroidX

  [fritsch]
   * XBMCTinyXML: Properly Flush when writing xml to disk

  [fritsch]
   * ProfileManager: Fall back to master profile if profile.xml not loadable / parseable


  [fritsch]
   * AESinkAudioTrack: Fine-grain forced blocking depending on period_time and buffer

  [ronie]
   * add Library.HasNode infobool


  [Tobias Kortkamp]
   * Add ctime to AddonBase.h

  [CastagnaIT]
   * json-rpc: code fixes to audio/subtitle flags properties



  [CastagnaIT]
   * json-rpc: add flags properties to GetPropertyValue concerning audio/subtitle

  [DaveTBlake]
   * Process boolean fields with true/false parameter and (not) equal/contains operator like true/false operator

  [DaveTBlake]
   * Update code guidelines to allow for initialization of table-like structures to be vertical aligned and exceed line limits for readability



  [peak3d]
   * clang-format changes

  [Jim Carroll]
   * Revert "Revert "Reusepython""





  [peak3d]
   * [Android] Priorize timer instead HDMI_AUDIOPLUG on refreshrate switch


  [djp952]
   * [Visualization] Prevent NULL/zero-length packets from being processed

  [Kai Sommerfeld]
   * [PVR] Guide window: Fill CGUIMediaWindow::m_vecItems only with currently active EPG items.

  [Kai Sommerfeld]
   * [PVR] EPG grid model: Fetch epg tags for active blocks only, release as soon as block becomes inactive. Fix some bugs along the way.

  [Kai Sommerfeld]
   * [PVR] CPVREpgInfoTag no longer needs to implement ISortable.

  [Kai Sommerfeld]
   * [PVR] EPG grid model: Init with channels only, fetch and purge epg tags dynamically.

  [Kai Sommerfeld]
   * [PVR] Fix CGUIEPGGridContainer::GoTo(Top

  [Kai Sommerfeld]
   * [PVR] EPG grid model: remove inactive items from grid. This can save lots of memory.

  [Kai Sommerfeld]
   * [PVR] EPG grid model: insert items into grid on demand. Eliminate fixed sized grid.

  [Kai Sommerfeld]
   * [PVR] EPG grid model: do not leak grid model internal GridItem*.

  [Kai Sommerfeld]
   * [PVR] CGUIEPGGridContainer::GoToBegin: eliminate unneeded sequential looping over epg grid.

  [Kai Sommerfeld]
   * [PVR] CGUIEPGGridContainer::GetNextItem: eliminate unnended sequential looping over epg grid.

  [Kai Sommerfeld]
   * [PVR] CGUIEPGGridContainer::GetPrevItem: eliminate unneeded sequential looping over epg grid.

  [Kai Sommerfeld]
   * [PVR] CGUIEPGGridContainer::(UpdateItems

  [Kai Sommerfeld]
   * [PVR] CGUIEPGGridContainer::HandleProgrammeGrid: eliminate unneeded sequential looping over epg grid.

  [Kai Sommerfeld]
   * [PVR] EPG grid model: Fill grid data on demand.

  [Kai Sommerfeld]
   * [PVR] EPG grid model: Encapsulate grid data access.


  [Kai Sommerfeld]
   * [Estuary][guiinfo][cpuinfo] Hide CPU usage if system does not provide this information (for example: recent Android versions).

  [DaveTBlake]
   * Make tag processing of "various artists" compilation albums more consistent and less impacted by changes in language settings.

  [montellese]
   * CVideoInfoTag: fix behaviour of SetUniqueID(s) if no default unique ID has been previously set


  [fritsch]
   * AESinkAudioTrack: Discard on deinitialize instead of drain

  [fritsch]
   * AESinkPulse: Flush on Deinitialize not Drain

  [fritsch]
   * AESinkAudioTrack: Pause after drain - to care for underrun

  [fritsch]
   * AESinkPULSE: Properly cork after drain to not underrun

  [the-black-eagle]
   * Add boxset detection and navigation by individual discs



  [Philipp Kerling]
   * Add mergeable config to check PR labels/milestones

  [bam80]
   * fix clashing XBMCK_EJECT and XBMCK_FAVORITES


  [fritsch]
   * AESinkAudioTrack: Increase minbuffer when probing

  [fritsch]
   * AESinkAudioTrack: Properly show detected codecs in IEC mode

  [fritsch]
   * AESinkAudioTrack: Enumerate 2 channel IEC prior to 8 channels

  [fritsch]
   * AESinkAudioTrack: Use 150 ms to decrease menu sound delay

  [fritsch]
   * AudioTrack: Revisit hacks

  [fritsch]
   * AESinkAudioTrack: Search correct buffer by incrementing in min_buffer units


  [phunkyfish]
   * [pvr] update channel number and client order for selected group when channel update triggered

  [fritsch]
   * DVDAudioCodecPassthrough: Properly check for DTSHD_MA as well after HR change


  [montellese]
   * [addons] fix CAddon::HasSettings() for settings.xml files without any settings

  [Kostas Andrianos]
   * Always highlight the OK button when installing an add-on

  [phunkyfish]
   * [pvr] refactor recording file or folder check

  [phunkyfish]
   * [pvr] refactoring fix whitespace

  [Stefan Sichler]
   * [windowing] fixed typo


  [montellese]
   * [swig/python] fix vector output typemap for specialized std::vector<bool>

  [ronie]
   * [addons] bump xbmc.python dependency


  [Kai Sommerfeld]
   * [PVR] Fix missing 'mark watched'/'mark unwatched' context menu entries for recordings folders.

  [fritsch]
   * DTS-HD: Distinguish between profiles on basis of ffmpeg

  [fritsch]
   * AESinkAudioTrack: Distinguish DTS-HD and DTS-HD-MA

  [peak3d]
   * [Android] Use DV decoder for HEVC streams with dvhe fourcc


  [fritsch]
   * AESinkAudioTrack: Remove now superflous HeadSet check



  [Philipp Kerling]
   * CODEOWNERS: add yol

  [Garrett Brown]
   * CODEOWNERS: add garbear

  [DaveTBlake]
   * CODEOWNERS: add DaveTBlake

  [Kai Sommerfeld]
   * CODEOWNERS: add ksooo

  [Lukas Rusak]
   * add CODEOWNERS file to help selecting reviewers

  [Garrett Brown]
   * RetroPlayer/GLES: Use no-alpha texture shader

  [Stefan Sichler]
   * [windowing] resurrection of X11/GLES support

  [Garrett Brown]
   * CRenderSystemGLES: Add no-alpha texture shader


  [Elan Ruusamäe]
   * Bump JSONRPC_VERSION to 10.6.1 due internal changes of C*Library::Export()

  [Elan Ruusamäe]
   * AudioLibrary: check boolean option values

  [Elan Ruusamäe]
   * VideoLibrary: check boolean option values

  [Sebastian S]
   * [json] Add missing "status" string for VideoLibrary.GetTVShowDetails



  [fritsch]
   * WinSystem: Allow ALSA+PULSE in parallel

  [phunkyfish]
   * [videoplayer] refactoring - fix header order

  [phunkyfish]
   * [videoplayer] add inputstreamclass property for selecting inputstream addon or ffmpeg

  [phunkyfish]
   * [videoplayer] allow custom headers to be sent to ffmpeg

  [fritsch]
   * RendererMediaCodecSurface: Announce vertical shift as well

  [DaveTBlake]
   * Find Python.h correctly on Win64 when Python installed separately

  [DaVukovic]
   * kodi-send: python3 fix

  [ronie]
   * [Py3] cleanup pt.1


  [fritsch]
   * AESinkAudioTrack: Try to aim 200 ms buffer and 50 ms periods

  [Rainer Hochecker]
   * ActiveAE: Align VizBuffer size with sink's max delay

  [Rainer Hochecker]
   * AESinkPULSE: Make CacheTotal dynamic

  [Rainer Hochecker]
   * AE: Implement selective device re-enumeration

  [fritsch]
   * AESinkPULSE: Fixup blocked write to use RequestCallback

  [fritsch]
   * AESinkPULSE: Distinguish HW, BT and Network device

  [Rainer Hochecker]
   * AESinkPULSE: Implement Hotplug monitor

  [montellese]
   * fix old-style action settings being called twice after 84b719c (fixes #16833)


  [Arne Morten Kvarving]
   * fixed: support shoutcast over https

  [DaVukovic]
   * [Estuary] rework DialogMusicInfo.xml

  [Kyle Johnson]
   * add dual support for Artist Slideshow 2.x and 3.x

  [Arthur Liberman]
   * fixed: redact url in log

  [montellese]
   * [settings/addon] properly merge setting's definition if there are reference settings

  [montellese]
   * [settings/addon] rework and fix reference settings (fixes #15252)

  [montellese]
   * [settings/addon] fix parsing of setting conditions in the old format


  [arnova]
   * fixed: Extension matching in FileDirectoryFactory was broken


  [Lukas Rusak]
   * CPUInfoLinux: add /proc/cpuinfo parsing for arm/aarch64


  [ronie]
   * [addon settings] parse action data

  [ronie]
   * [Estuary] handle 'back' when info is visible in fullscreen


  [DaveTBlake]
   * Base cache filename on itemlist path with options. Save cache filename with each item so correct cache cleared on item update.

  [DaveTBlake]
   * Fix wrong sort order list for music playlists node


  [Lukas Rusak]
   * tests: disable GetTemperature test for TestCPUInfo on windows

  [Lukas Rusak]
   * CCPUInfo: move servicebroker registration earlier in app startup

  [Lukas Rusak]
   * CPUInfo: split posix functions into specific class to allow windows to build

  [Lukas Rusak]
   * CPUInfoLinux: fix ifdefs for non neon platforms

  [Lukas Rusak]
   * CPUInfoLinux: return false if temperature units aren't valid

  [Lukas Rusak]
   * CPUInfoWin32: remove _M_ARM gaurd




  [Kai Sommerfeld]
   * [PVR] Fix CGUIDialogPVRGuideInfo::GetCurrentListItem crash.

  [Kai Sommerfeld]
   * [PVR] Code cleanup: Remove declaration for unused/undefined method.

  [peak3d]
   * [Android] fetchDisplayMode only for SDK>=24





  [fuzzard]
   * [ios] refactor MPNowPlaying functions to ios-common

  [fuzzard]
   * [ios] AnnounceReceiver cosmetic changes

  [Jonas Karlman]
   * VideoLayerBridgeDRMPRIME: set HDR metadata

  [Jonas Karlman]
   * windowing/gbm: add GetConnector method


  [Garrett Brown]
   * Profiles: ensure that the skin is reloaded after profile is loaded


  [Lukas Rusak]
   * CSystemInfo: cleanup duplicate methods

  [Lukas Rusak]
   * CCPUInfo: split platforms and rework

  [Lukas Rusak]
   * win32: remove check for sse2 during init


  [Kai Sommerfeld]
   * [profiles] Do always stop PVR services on logoff. Restart PVR services only when not loading the master profile for the login screen.


  [Lukas Rusak]
   * remove g_mediaManager global

  [ronie]
   * System.HasAddon() - return true for disabled addons

  [Anssi Hannula]
   * VAAPI: fix use after free in CVAAPIContext::DestroyContext


  [Alwin Esch]
   * [addons][game] fix crash where NULL was given to std::string

  [Alwin Esch]
   * [addons][vis] add function to transfer presets and increase version to 2.0.2

  [Alwin Esch]
   * [addons][vis][gui] use IsDirty addon call again

  [Alwin Esch]
   * [addons][vis] fix address set of is_dirty function

  [Alwin Esch]
   * [addons][vis] change AddonInstance_Visualization to use pointers


  [Wolfgang Haupt]
   * Docs: Add python3-dev as dependency since we bumped the python version

  [Kai Sommerfeld]
   * [macos] Improve and fix the fix for only quarter of screen rendered in windowed mode and certain fullscreen resolutions on macOS 10.15 (Catalina).

  [phunkyfish]
   * [pvr] Fix editing channels via channel manager

  [phunkyfish]
   * [pvr] remove unrequired (void) fron function declarations

  [Alwin Esch]
   * [addons][game] add initial doxygen documentation

  [Alwin Esch]
   * [addons][game] change Game addon system to C++ interface

  [Alwin Esch]
   * [addons][game] change addon header to support AddonInstance_Game on functions

  [fuzzard]
   * [darwin] apply modernize obj-c to darwin common platform code



  [Jonas Karlman]
   * VideoBufferDRMPRIME: use video picture in renderer

  [DaveTBlake]
   * Build disc cache file name consistently using item path without options string

  [Jonas Karlman]
   * VideoBufferDRMPRIME: convert interface to abstract class

  [Jonas Karlman]
   * DVDVideoCodecDRMPRIME: set video picture chroma_position and colorBits

  [Jonas Karlman]
   * DVDVideoCodecDRMPRIME: use hints as fallback for video picture params

  [Jonas Karlman]
   * DVDVideoCodecDRMPRIME: do not set DVP_FLAG_DROPPED

  [Jonas Karlman]
   * DVDVideoCodecDRMPRIME: release video buffer before receiving next frame from ffmpeg

  [Jonas Karlman]
   * DVDVideoCodecDRMPRIME: append CDVDCodecOptions to AVCodecContext

  [Jonas Karlman]
   * RendererDRMPRIME: add VERTICAL_SHIFT render feature flag

  [Jonas Karlman]
   * DRMPRIME: format code with clang-format

  [Jonas Karlman]
   * DRMPRIME: use Python-like format string syntax


  [Maven85]
   * [Android] added more program information for android tv channels


  [ronie]
   * xbmc.python bump to 3.0.0

  [ronie]
   * [Estuary] add scrollbar to settings dialogs


  [peak3d]
   * [Android][Python] remove wrong platform suffix from native libraries

  [jakaja]
   * Update Includes.xml

  [DaveTBlake]
   * Revert setting playcount to PLAYCOUNT_NOT_SET on read from cache

  [jakaja]
   * Uniforming media flag usage, part II

  [jakaja]
   * Uniforming media flag usage








  [Wolfgang Haupt]
   * VideoTagInfoLoaderFFmpeg: Resolve stack before trying to process


  [Kai Sommerfeld]
   * [macos] Fix only quarter of screen rendered in windowed mode and certain fullscreen resolutions on macOS 10.15 (Catalina).


  [Kai Sommerfeld]
   * Revert "[skin.estuary/pvr] Add support for more meta data to PVR info panel."


  [DaveTBlake]
   * Fix Musicplayer.Property(Role.xxx) info labels


  [Garrett Brown]
   * Game add-ons: Document the subsystem architecture

  [Garrett Brown]
   * Separate GetVolumePercent() and GetVolumeRatio()


  [DaveTBlake]
   * Reduce repeated parsing of path to get node details, get information in one call.


  [Jim Carroll]
   * Fix the ability for subclasses of API classes to call super().__init()__.

  [Jim Carroll]
   * Fix build on various windows by including the correct openssl and Windows UWP by adding -DMS_STORE

  [ronie]
   * [Estuary] fix studio icon name

  [Rechi]
   * [TEMP] add windows precompiled python lib

  [Rechi]
   * [TEMP] add python BASE_URL

  [Rechi]
   * [debian][cpack] switch to python3 depends

  [Arpit Nandwani]
   * Added Python Version Varaiable

  [Arpit Nandwani]
   * Added Android Fix

  [Arpit Nandwani]
   * Added IOS and OSX Fix

  [Arpit Nandwani]
   * [depends] Updated the PythonPath in target directories

  [Arpit Nandwani]
   * [depends] Updated Python3 Makefile and Patches

  [Arpit Nandwani]
   * [depends] Native Files Updated

  [Arpit Nandwani]
   * Updated Windows Dependencies

  [Arpit Nandwani]
   * python3 implementation

  [Arpit Nandwani]
   * Converted Virtual to Pure Virtual Functions

  [Rechi]
   * [cleanup] remove unused parameters from executeScript function

  [Rechi]
   * [cleanup] remove unused functions

  [Markus Pfau]
   * Revert "Reusepython"

  [jakaja]
   * Add rating mark also to "Shift" view

  [bb10]
   * Update joystick.xml



  [Kai Sommerfeld]
   * [PVR] EDL: Passing unsupported items to CPVREdl::GetCuts is not an error.

  [Andrey Filipenkov]
   * [ios] add new sandbox path for iOS 13

  [Andrey Filipenkov]
   * [ios] refactor checking sandbox path prefix

  [Andrey Filipenkov]
   * [ios] add new action to Logging settings for native sharing of the log file

  [Andrey Filipenkov]
   * [ios] set EAGL layer frame to the size of containing view

  [Andrey Filipenkov]
   * [ios] set correct frame of EAGL view on init

  [Andrey Filipenkov]
   * [ios] fix returned file system sizes before iOS 12

  [Andrey Filipenkov]
   * sort includes in xbmc/platform/darwin/ios/XBMCController.mm


  [fuzzard]
   * [ios/networking] - Implemented Darwin_embedded specific network implemenation

  [fuzzard]
   * [SystemInfo] Remove ifdef that always returned true for all platforms

  [Kai Sommerfeld]
   * [skin.estuary/pvr] Add support for more meta data to PVR info panel.

  [Kai Sommerfeld]
   * Revert "[skin.estuary] add genre to recordings and timer uis"

  [phunkyfish]
   * [skin.estuary] increase info panel space slighly to allow 12 hour clock times fit on one line

  [phunkyfish]
   * [skin.estuary] includ Deleted in breadcrumbs when viewing deleted recordings


  [phunkyfish]
   * [docs] Update code guidelines on C++14 usage

  [phunkyfish]
   * [clang-format] switch - indent case and default

  [phunkyfish]
   * [clang-format] change constructor init list to colon on newline, break after comma for longer lines

  [phunkyfish]
   * [docs] Fix indexes for code guidelines

  [montellese]
   * [settings] catch formatting exception in CGUIControlSliderSetting::GetText() and fall back to default formatting labels (fixes #16663)

  [montellese]
   * [addons/settings] add missing CGUIDialogAddonSettings::OnSettingAction()

  [montellese]
   * [addons/settings] fix empty labels showing up with wrong translated string

  [montellese]
   * [settings] fix missing label for multiselect (list) add-on settings (fixes #15423)

  [montellese]
   * [settings] support "sort" attribute on <options> constraint of integer and string settings

  [montellese]
   * [settings] fix parsing of path setting with <control type="button" format="image">

  [montellese]
   * [settings] extend supported <masking> format in CSettingPath with "video", "audio", "image", "executable" and "", "", "", ""

  [montellese]
   * [settings] support pure string based labels for <option>

  [montellese]
   * [settings] support <close> attribute in action button <control>


  [Kai Sommerfeld]
   * [PVR] EPG database: Fix persisting/restoring of optional(!) firstAired date.

  [DaVukovic]
   * AdvancedSettings: Fix arttype return


  [peak3d]
   * [Android] Use JNI instead NDK MediaCrypto for secure decoder check

  [Andrey Filipenkov]
   * [ios] retrieve screen scale directly from iOS SDK APIs instead of relying on a hardcoded list of models

  [Andrey Filipenkov]
   * [ios] remove unused InfoPlist.strings

  [Andrey Filipenkov]
   * [ios] add real app version to Info.plist

  [Andrey Filipenkov]
   * [ios] remove keys from Info.plist that are inserted by Xcode automatically

  [Andrey Filipenkov]
   * [ios] sort Info.plist keys alphabetically

  [Dag Wieers]
   * Fix empty spacing when no Premiered infoLabel

  [Dag Wieers]
   * Show Studio icons (e.g. on folders and episodes)


  [phunkyfish]
   * [skin.estuary] add genre to recordings and timer uis

  [phunkyfish]
   * [skin.estuary] add year to guide, recordings, timers and info if populated

  [Andrey Filipenkov]
   * [ios] fix overlapping keyboard helper view with the "safe area"

  [Rechi]
   * [depends] bump libbluray to 1.1.2

  [Andrey Filipenkov]
   * [ios] fix overlapping drawing surface with the "safe area"

  [DaveTBlake]
   * Reduce log spam produced by AnnouncementManager announcing


  [fritsch]
   * AdvancedSettings: Further cleanup of unused variables

  [fritsch]
   * AdvancedSettings: Cleanup audio settings not in use anymore

  [fritsch]
   * AdvancedSettings: Remove FfmpegVDA setting

  [fritsch]
   * AdvancedSettings: Remove force vaapi - not used anymore

  [Andrey Filipenkov]
   * [ios] add support for iPad 7th gen

  [Kai Sommerfeld]
   * [EDL] Change CEdl::AddCut to take a copy of 'cut' parameter, because modified value is not used by callers, making it possible to achieve more constness in calling code.

  [Kai Sommerfeld]
   * [PVR] PVRThumbloader.cpp: Fix include order.

  [Kai Sommerfeld]
   * [PVR] Cleanup: Reduce cores/VideoPlayer/Edl.cpp PVR dependencies.

  [fuzzard]
   * [ios/tvos] Refactor darwin_embedded platforms in configure.ac

  [fuzzard]
   * [ios/tvos] Implement Codesigning build arguments for darwin_embedded platforms

  [Sylvain CECCHETTO]
   * [iOS/tvOS] Update xcode attributes in Toolchain*.cmake.in


  [Andrey Filipenkov]
   * [ios] show splash image in the Launch Screen

  [Andrey Filipenkov]
   * [ios] replace static launch images with Launch Screen storyboard

  [arnova]
   * added: as.xml option to disable Curl HTTP2


  [phunkyfish]
   * [pvr] refactoring - remove extra whitespace

  [fritsch]
   * Revert "[VideoPlayer] Change avsync handling"

  [fuzzard]
   * [cmakebuildsysios] generator option (GEN) + docs

  [fuzzard]
   * [cmakebuildsys] Add build_dir option + Docs

  [arnova]
   * fixed: Double redact


  [Kai Sommerfeld]
   * [PVR] Rework PVR component source directory structure.

  [Kai Sommerfeld]
   * [PVR] Refactor: Move PVR classes from xbmc/addons to xbmc/pvr/addons.

  [Kai Sommerfeld]
   * [PVR] PVRManager: Factor out playback state functionality into its own class.

  [Rechi]
   * [modernize] use-override

  [Kai Sommerfeld]
   * [PVR] Refactor PVR jobs. Get rid of PVRJobs.(h

  [Kai Sommerfeld]
   * [guiinfo][pvr][Estuary] Rename Listitem.IsPremiere to Listitem.IsNew.

  [phunkyfish]
   * [pvr] Update and persist channel group members from client on boot if changed

  [Andrey Filipenkov]
   * [ios] implement disk space usage

  [Andrey Filipenkov]
   * split DarwinStorageProvider into OSX and iOS

  [fritsch]
   * AESinkAudioTrack: Remove Headphone check - let Audiotrack handle it internally

  [Andrey Filipenkov]
   * [macos] make Blank Other Displays setting immediately take effect


  [phunkyfish]
   * [pvr] refactoring - review fixup after merge of 16677

  [peak3d]
   * [VideoPlayer] Change avsync handling





  [Kai Sommerfeld]
   * [pvr][dialogs][Estuary][keymaps] Rework Guide window's navigation context menu, introduce (optional) grid controls dialog.

  [phunkyfish]
   * Refactoring Left align pointer in pvr

  [phunkyfish]
   * Refactoring Left align ampersand in pvr

  [phunkyfish]
   * Refactoring remove PVRTypes.h

  [phunkyfish]
   * Refactor out remaining CPVR*Ptr classes

  [phunkyfish]
   * Refactor out PVR::CPVR*Ptr classes

  [phunkyfish]
   * Refactor out CPVR*Ptr classes in pvr source folder

  [DaveTBlake]
   * Clear "libraryartfilled" property when art map is cleared

  [phunkyfish]
   * Refactor out CConstPVREpgInfoTagPtr

  [ronie]
   * add EnableAddon() builtin

  [ronie]
   * [skins] allow vendors to supply their own logo

  [ronie]
   * add System.AddonIsEnabled() infobool


  [Rechi]
   * [modernize] use-equals-default

  [phunkyfish]
   * [pvr] support numbering all groups from one locally

  [phunkyfish]
   * [pvr] support group specific channel numbering

  [Andrey Filipenkov]
   * [ios] don't rely on main screen having only one screen mode - it's not true for iPhones 11

  [Andrey Filipenkov]
   * [ios] add iPhones 11 to the list of known devices

  [arnova]
   * fixed: We must exact match addon extensions/mimetypes/protocols (should fix #16652)


  [Aman Gupta]
   * fix configure with xcode 11

  [DaveTBlake]
   * Rearrange musicplayer defines to group infolabels that work with offset and position for range checking separately from others e.g. infobools. Define range.

  [DaveTBlake]
   * Fix musicplayer.offset(n).xxx and musicplayer.position(n).xxx


  [peak3d]
   * [Inputstream] Make API backwards compatible to old addons

  [Andrey Filipenkov]
   * [ios] fix broken touch input after closing keyboard on iOS 13


  [Alwin Esch]
   * [cmake] give CMAKE_SYSTEM_NAME and CMAKE_SYSTEM_VERSION also to normal Win

  [Alwin Esch]
   * [addons] add interface helper class to translate "C" to "CPP"

  [peak3d]
   * [Log] Use Thread PID instead NativeHandle for logging

  [DaveTBlake]
   * Remove unnecessary CDirectoryNode classes for compilations and years nodes, they are implemented as NODE_TYPE_ALBUM nodes

  [DaveTBlake]
   * Cleanup GetQuickPathName, unnecessary as default library folder settng saved as node xml path e.g. library://music/recentlyplayedalbums.xml not abbreviated names derived from DirectoryNode path e.g. musicdb://recentlyplayedalbums/

  [DaveTBlake]
   * Fix navigation back from default folder view This also fixes back from after filter type node shown via calling ActivateWindow() with .xml file parameter

  [DaveTBlake]
   * Folder type nodes - take list label from node xml file (like filter type nodes) - allow *All item on nodes with options (but not smart playlists)

  [peak3d]
   * [Inlutstream] Add IChapter interface


  [Kai Sommerfeld]
   * [PVR][guiinfo][Estuary] New GUI info label Listitem.IsPremiere + implementation for PVR EPG info tags + visualization in Estuary.


  [rustyx]
   * fixed: make archive files work via UPnP



  [Christian Fetzer]
   * [cmake] Enable C++14 support for core

  [wsnipex]
   * [depends] check for c++14 support

  [wsnipex]
   * [docs] update linux readmes



  [Rechi]
   * [depends] bump fribidi to 1.0.5

  [Kai Sommerfeld]
   * [Estuary] DialogPVRInfo: Add support for 'first aired' and 'rating'.

  [Kai Sommerfeld]
   * [PVR] CPVREpgInfoTag: Fix 'first aired' value. Respect that this attribute is optional.

  [Kai Sommerfeld]
   * [PVR] Cleanup: Replace Observer/Observable with EventSource/EventStream.

  [Kai Sommerfeld]
   * [application] Fix CApplication::ActivateScreenSaver to always allow 'Black' screen saver. Closes #16123.


  [Alwin Esch]
   * [addons] fix addon version.h, do not give nullptr as string

  [peak3d]
   * [binary addons] Provide VERSION_MIN and VERSION in addon.xml and rework version check

  [Rechi]
   * [modernize] use-emplace


  [Rechi]
   * [fix] use value initialization after b9d11a2

  [Rechi]
   * [modernize] use-bool-literals

  [Kevin Goffe]
   * [screensaver.xbmc.builtin.dim] reduce dim minimum threshold to zero

  [arnova]
   * added: Inhibit screensaver builtin


  [Kai Sommerfeld]
   * [PVR] Fix: we must close all open modal dialogs before we can activate the PVR search window.

  [DaveTBlake]
   * Fix check of "isplayable" property for plugins


  [Rechi]
   * [cleanup] remove unused variable

  [Pär Björklund]
   * Don't modify jsonschemadefinition during checks



  [phunkyfish]
   * [videoplayer] fix commercial skip (EDL's) from recordings and library sources

  [Andre Meyering]
   * [docs] Add note about missing package to Ubuntu build instructions

  [Andre Meyering]
   * [docs] Add missing library 'libunistring' to Fedora build instructions


  [peak3d]
   * [VideoPlayer] force ffmpeg to expose codec information in AVCodecContext

  [Rechi]
   * [depends] bump fontconfig to 2.13.1


  [wsnipex]
   * fix generating addon.xmls

  [arucard21]
   * Override joystick controls per-keyname (fixes userdata config override)

  [Olaf Hering]
   * [cmake] find_package(PkgConfig) sets required variables


  [peak3d]
   * [Settings] Fix typo (s)

  [Rechi]
   * [depends] bump freetype2 to 2.10.1

  [arnova]
   * fixed: External subtitles in custom folder were not picked up due to not considering URL-encoding (fixes #16567)

  [arnova]
   * changed: Clear resume bookmarks also when marking as unwatched


  [Markus Pfau]
   * Revert "[Binary addons] Use VERSION_MIN for automated generated dependency requirements"

  [peak3d]
   * [Binary addons] Use VERSION_MIN instead VERSION for automated generated dependency requirements

  [Arne Morten Kvarving]
   * added: include .m4v in video tag reader


  [peak3d]
   * [EGL Render] Fix accidentially changed egl config

  [peak3d]
   * bump androidjni sha (fix Display::isHdr()


  [peak3d]
   * [Android] Implement HDR display enable for ffmpeg decoded streams


  [Rechi]
   * [modernize] readability-redundant-smartptr-get


  [phunkyfish]
   * [pvr] refactor channel constructors to default initialisation and init lists

  [phunkyfish]
   * [pvr] fix member not initialised warning from coverity from PR16558


  [phunkyfish]
   * [pvr] ability to sort channels and epg by the backend order of channels

  [peak3d]
   * [Android] Update build (4.1 -> 5.4.1) and SDK (26 -> 28) versions

  [Rechi]
   * [modernize] readability-redundant-control-flow


  [Rechi]
   * [depends] bump flatbuffers to 1.11.0


  [Alwin Esch]
   * [cmake] check present "CPU" variable on PrepareEnv, if empty use CMAKE_SYSTEM_PROCESSOR

  [Kai Sommerfeld]
   * [listproviders] Update addons list on repository updated (for example, to instantly show 'updates available' on Estuary addons home screen widget).

  [Kai Sommerfeld]
   * [PVR] Fix deadlock on PVR shutdown.

  [peak3d]
   * [Android] activate keyframe search



  [Kevin Goffe]
   * [screensaver.xbmc.builtin.dim] reduce dim level

  [peak3d]
   * [Inputstream Addon] Add missing breaks

  [Alwin Esch]
   * [addons] use on build in binary addons only `library="dummy.so"`


  [phunkyfish]
   * [pvr] Update comment regarding EPG_GENRE_USE_STRING after PR16541

  [phunkyfish]
   * [pvr] Allow use genre strings to be set from subtype so genre type (category) is preserved

  [Alwin Esch]
   * [addons][inputstream] fix depedency version check

  [Alwin Esch]
   * [addons] add new function "CAddonInfo::DependencyVersion(...)" (to check depends)



  [peak3d]
   * [Android] Implement HDR static metadata

  [peak3d]
   * [Demux] Support static HDR metadata

  [Arne Morten Kvarving]
   * fixed: since there may be multiple protocols, we have to split

  [Arne Morten Kvarving]
   * fixed: use first protocol from add-on in add network dialog





  [Rechi]
   * [depends] build libplist static

  [arnova]
   * fixed: Use exact matching for protocol in file+dir factories (fixes vfs.sftp addon issue #37) changed: Consistently prefer addon protocols over internal protocols


  [Rechi]
   * [buildsteps] add tvOS binary add-ons

  [Rechi]
   * [buildsteps] fix pathChanged comment after 2876b9c0d6


  [BigRetroMike]
   * Label2 fix for PluginDirectories


  [DaveTBlake]
   * [JSON] Patch bump for internal fix to get art for an item now that art map stores the default icon. Use item property to check if FillLibaryArt has already been called rather than look for empty map.

  [DaveTBlake]
   * Use item property to flag that FillLibraryArt has been called. Now default icon is stored in item art map can not use empty() to check that FillLibraryArt needs to be called art.

  [Kai Sommerfeld]
   * [contextmenumanager] Move 'Add/Remove fafourite' to new context menu system.

  [DaveTBlake]
   * Fix PlayMedia when item is a .strm or other playlists. Ensure that and played within a playlist by the correct player. Also that "arists" smart playlists are treated correctly as music playlists not as video

  [arnova]
   * [addons] added: Missing protocol member for VFSURL struct

  [Kevin Goffe]
   * [ESTUARY] Fix ape.png

  [Wolfgang Haupt]
   * Guilib: Add IsOdd/IsEven boolean condition

  [Wolfgang Haupt]
   * Add new infolabel ListItem.CurrentItem


  [Rechi]
   * [fix] python crashes after bf0834e



  [Rechi]
   * [fix] return type bool for boolean python functions

  [Rechi]
   * [python] add context manager support for xbmcvfs.File


  [Alwin Esch]
   * [addons] add gui/gl/Shader.h to filesystem check (it open files)

  [Rechi]
   * [depends] bump expat to 2.2.7

  [Alwin Esch]
   * [addons] add doc parts (needed as link on other places)

  [Alwin Esch]
   * [addons][audiodecoder] update documentation

  [Alwin Esch]
   * [addons][audidecoder] header guideline changes


  [Kai Sommerfeld]
   * [Estuary] PictureInfoDialog: Fix picture title and and date when slideshow is active.

  [Kai Sommerfeld]
   * [guiinfo] CPicturesGUIInfo: Fix LISTITEM_PICTURE_PATH.

  [Kai Sommerfeld]
   * [pictures] Fix previous video playing in the background while displaying next picture in mixed picture/video slide shows when skipping to next picture manually while a video is playing.

  [Kai Sommerfeld]
   * [pictures] Fix black screen for videos in slide shows on systems that do render video to a video layer.

  [Kai Sommerfeld]
   * [guiinfo] Fix black screen for videos in slide shows on systems that do not render video to a video layer.

  [arnova]
   * [addons] fixed: num_props should be unsigned

  [arnova]
   * [addons] added: Support for file times in VFS addons



  [Sylvain CECCHETTO]
   * Replace "computer" by "device" in setting help text

  [fritsch]
   * FFmpeg: Bump to 4.0.4-Leia-18.4

  [Andrey Filipenkov]
   * [darwin] remove autorelease pool wrapper

  [Andrey Filipenkov]
   * [darwin] create macro for ARC enabling

  [Andrey Filipenkov]
   * [ios] handle arrow keys from hardware keyboard

  [Andrey Filipenkov]
   * [ios] convert objc code to ARC

  [Andrey Filipenkov]
   * [osx] replace autorelease pool wrapper with `@autoreleasepool`, remove the pool from CocoaPowerSyscall as it uses only CoreFoundation

  [Andrey Filipenkov]
   * [osx] convert objc code to ARC but leave UPnP's wrapper of autorelease pool as is

  [Alwin Esch]
   * [doxygen] add addon docs for kodi::gui::gl::CShaderProgram

  [Alwin Esch]
   * [doxygen] add documentation about addon CMake variables

  [Alwin Esch]
   * [cmake] add support for install bigger addon dir structure


  [Alwin Esch]
   * [doxygen] update and sync addon doxyfile to main doxyfile


  [Ross Nicholson]
   * [cmake] fix ios addon builds

  [Alwin Esch]
   * [addons] move CBinaryAddonBase functions from *.h to *.cpp

  [Alwin Esch]
   * [addons] remove the no more needed files

  [Alwin Esch]
   * [addons] change the use of CBinaryAddonBase



  [Kai Sommerfeld]
   * [music] Fix thumb loader after '[Cleanup] Remove SetIconImage, GetIconImage, HasIcon and SetThumbnailImage'

  [Ross Nicholson]
   * [VideoPlayer] Fix TS resume point, related to PR16314

  [valoulou]
   * Fix + sign HTTP folder


  [Kai Sommerfeld]
   * [dialogs] Fix missing cancel button in progress dialogs.

  [enen92]
   * Fix typo in CDVD*CodecFFmpeg cryptosession log messages

  [Alwin Esch]
   * [addons] sort binary general functions to match interface table flow

  [Alwin Esch]
   * [addons] change ADDON_GLOBAL_VERSION_MAIN to 1.1.0 and leave min by old 1.0.12

  [enen92]
   * [GUI] Bump version to 5.14.0

  [enen92]
   * [Cleanup/NOP] Remove setThumbnailImage (use setArt only)

  [enen92]
   * [cleanup] Remove GetIconImage (use GetArt('icon') only)

  [enen92]
   * [Cleanup] Drop HasIcon (use HasArt only)

  [enen92]
   * [Cleanup/NOP] Remove setIconImage (use setArt only)


  [Rechi]
   * [depends] bump curl to 7.65.3

  [Alwin Esch]
   * [addons] fix repo addon install (<path> in addons.xml wasn't checked)


  [Alwin Esch]
   * [addons] increase binary addon interface versions

  [Alwin Esch]
   * [addons] make audioengine more safe if used and audioengine becomes stopped

  [Alwin Esch]
   * [addons] keyboard value on addon GUI action calls and allow change of control

  [Alwin Esch]
   * [addons] fix binary addon compiler warnings (win32) on GUI function calls

  [Alwin Esch]
   * [addons] add binary keyboard layout interface calls


  [Jim Carroll]
   * Increase the wait time in a test that relies on timing to have it fail less often.


  [Jim Carroll]
   * Slightly more robust incase IOCtrl is called multiple times.

  [Jim Carroll]
   * Fix a race condition in posting the stream's tag information to the GUI by moving the thread creation to after the condition is satisfied.

  [enen92]
   * [GUIControllerWindow] Subscribe to events at the end of initialization

  [enen92]
   * [GUIControllerWindow] Subscribe to controller install events

  [Palo Kisa]
   * [addons] Remove unneded dlfcn includes

  [Alwin Esch]
   * [addons] fix binary addon lib name for iOS

  [Alwin Esch]
   * add ACTION_MOUSE_DRAG_END support


  [arnova]
   * fixed: Using absolute paths in combination with hosts in URLs caused double slashes (fixes #16413)




  [enen92]
   * [PlaylistPlayer] Do not attempt to further resolve plugin paths for failing entries


  [phunkyfish]
   * Update p8-platform sha for PR5

  [Kevin Goffe]
   * [ESTUARY] Fix radio button text length

  [DaVukovic]
   * Fix season/episode formatting for video addons


  [DaveTBlake]
   * Fix PlayMedia when item is a playlist or smart playlist that needs to be recursively expanded




  [phunkyfish]
   * Update kodi-platform sha for PR29

  [fuzzard]
   * [addon] fix ios runtime failure


  [root]
   * [fix] prevent context leak


  [Kai Sommerfeld]
   * [PVR] CPVRChannelGroup,CPVRInternalChannelGroup: Remove dead code.

  [Kai Sommerfeld]
   * [PVR] Fix CPVRChannelGroupInternal::CPVRChannelGroupInternal(bool bRadio) regression introduced with commit ca5caa7 - fixes #16386.

  [axbmcuser]
   * Remove special case for parent folder item

  [axbmcuser]
   * Clear focus-history when leaving with focus on parent folder item (Fixes #15608)


  [Kai Sommerfeld]
   * [estuary] Tweak DialogConfirm layout.

  [Kai Sommerfeld]
   * [dialogs][pvr] Extend CGUIDialogProgress to handle multiple buttons and use that for auto-close countdown bar in PVR reminder dialog."


  [Arthur Liberman]
   * settings: add "Dark Grey" subtitles color option This can be useful when watching HDR content with subs, and "Grey" is still too bright.

  [Rechi]
   * [darwin] move BatteryLevel to powermanagement

  [Rechi]
   * [darwin] rename CDarwinUtils::Get(IOS

  [Rechi]
   * [cleanup] remove unused CSysInfo::HasVideoToolBoxDecoder function

  [Rechi]
   * [cleanup] remove dummy CDarwinUtils::ResetSystemIdleTimer function

  [Rechi]
   * [cleanup] remove dummy CDarwinUtils::EnableOSScreenSaver function

  [Rechi]
   * [cleanup] remove unsed DarwinUtils.h includes

  [Rechi]
   * [cleanup] combine TARGET_DARWIN_(EMBEDDED




  [Rechi]
   * [android] use ndk 20

  [Rechi]
   * [android] symplify ndk naming workaround

  [Rechi]
   * [cleanup] remove unused variables after 5f5d8c8649

  [Rechi]
   * [cleanup] remove outdated GDBPATH android ndk workarounds

  [Rechi]
   * [cleanup] remove unused android libc replacements

  [Rechi]
   * [toolchain] add CMAKE_NM

  [Rechi]
   * [depends] configure: move checking host programs up

  [Rechi]
   * [depends] configure: move checking build programs up

  [Rechi]
   * [fix] declare copy assignment operator as deleted

  [Alwin Esch]
   * [depends] remove expat from win build

  [Alwin Esch]
   * [addons] changing the test system in a new way without cpluff

  [Alwin Esch]
   * [addons] add check if same addon on two places

  [Alwin Esch]
   * [addons] adds support for various description languages

  [Alwin Esch]
   * [addons] remove cpluff complete

  [Alwin Esch]
   * [addons] move on without "cpluff"

  [Alwin Esch]
   * [addons] add to CAddon construction the types as value

  [Alwin Esch]
   * [addons] change from CAddonInfo from static to a shared pointer

  [Alwin Esch]
   * [addons] add primitives to create CAddonInfo without cpluff

  [Alwin Esch]
   * [addons] move AddonInfo (.cpp / .h) to its own folder

  [Wolfgang Haupt]
   * VideoPlayer: Properly propagate playback errors


  [fuzzard]
   * [ios] darwin_embedded change in xbmc application code

  [fuzzard]
   * [ios/build] rename core_system_name to darwin_embedded



  [Arne Morten Kvarving]
   * xbmc/platform: use ranged for

  [Arne Morten Kvarving]
   * xbmc/peripherals: use ranged for

  [Arne Morten Kvarving]
   * xbmc/network: use ranged for

  [Arne Morten Kvarving]
   * xbmc/listproviders: use ranged for

  [Arne Morten Kvarving]
   * xbmc/interfaces: use ranged for

  [Arne Morten Kvarving]
   * xbmc/input: use ranged for

  [Arne Morten Kvarving]
   * xbmc/guilib: use ranged for

  [Arne Morten Kvarving]
   * xbmc/games: use ranged for

  [Arne Morten Kvarving]
   * xbmc/filesystem: use ranged for

  [Arne Morten Kvarving]
   * xbmc/dialogs: use ranged for

  [Arne Morten Kvarving]
   * xbmc/dbwrappers: use ranged for

  [Arne Morten Kvarving]
   * xbmc/music: use ranged for


  [arnova]
   * changed: Delete stream details when video info is refreshed


  [Arne Morten Kvarving]
   * [PVR] CPVRChannelsPath: add unittests

  [Kai Sommerfeld]
   * [PVR] CPVRChannelsPath: Encapsulate channels paths.

  [Rechi]
   * [iOS] fix Xcode genration for armv7 cpu

  [Rechi]
   * [iOS] use CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET instead of hardcoded min version

  [Kai Sommerfeld]
   * strings.po cleanup.

  [Kai Sommerfeld]
   * URIUtils/CUtil cleanup.



  [Wolfgang Haupt]
   * VideoPlayer/Rendering: Remove more 'GL_ARB_texture_non_power_of_two' checks

  [Wolfgang Haupt]
   * VideoPlayer: LinuxRendererGL - remove unnecessary extension check

  [Wolfgang Haupt]
   * VideoPlayer: Rendering - replace gl ARB functions with std ones

  [DaveTBlake]
   * Fix paplayer to handle passthrough for TrueHD



  [Rechi]
   * [format] fix include order

  [Rechi]
   * [cosmetics] fix include format for system & lib headers

  [Rechi]
   * [fix] add missing includes

  [Rechi]
   * [cleanup] remove commented includes

  [Rechi]
   * [cleanup] remove FreeBSD include hack after cadd14550d

  [Rechi]
   * [cleanup] remove unused ifdes


  [Kai Sommerfeld]
   * [PVR] CGUIDialogPVRGroupManager: Automatically fill channel lists upon group selection.

  [Kai Sommerfeld]
   * [PVR] CGUIDialogPVRGroupManager: remove unused method.

  [Kai Sommerfeld]
   * [PVR] Generate thumbnail picture for channel groups.


  [Leonard Lausen]
   *  [docs/linux] Fix README.Linux.md binary addon installation instructions (#16304)


  [Kai Sommerfeld]
   * [Estuary] Add TV and radio channel groups home screen widgets.

  [Kai Sommerfeld]
   * [PVR] Guide window, Channels window: Accept channel group path on window init.



  [Rainer Hochecker]
   * [VideoPlayer] Load program from stream property without using streaminfo

  [Craig Andrews]
   * [cmake] Use CORE_PLATFORM_NAME, not PLATFORM

  [phunkyfish]
   * reformat pointers, statement brackets and arithmetic spacing as per coding guidelines



  [James Hutchinson]
   * [PVR] New GUI info bool: PVR.IsPlayingActiveRecording

  [Arno van Amersfoort]
   * Revert "changed: Improve handling of internet filesystems (http/https) on LANs"


  [Rechi]
   * [fix] use gas-preprocessor as as for armv7 on ios

  [Kai Sommerfeld]
   * [Android][windowing] Update display settings on display resolution info change. Simplify and fix CWinSystemAndroid::UpdateResolutions(bool bUpdateDesktopRes).

  [Kai Sommerfeld]
   * [settings] CDisplaySettings::Clear must insert RES_CUSTOM dummy elements into m_resolutions after clearing it. Otherwise CDisplaysettings::AddAddResolutionInfo will put new infos at wrong place in m_resolutions if CDisplaySettings::Clear was called before.

  [Kai Sommerfeld]
   * [Android][windowing] Don't assume display mode ids are constant.

  [MilhouseVH]
   * Revert "fixed: We should always update stream details from player (fixes #15584)"


  [djp952]
   * Corrections to CircularCache initialization and termination

  [Lukas Rusak]
   * utils/Screenshot: rework and split up



  [Kai Sommerfeld]
   * [PVR] PVRRecordings: Prevent concurrent calls to video database.


  [Stefan Sichler]
   * LinuxRendererGLES: fixed memory leak, fixed segfault when NV12 textures are in use, when (stride != width*bps) and GL_UNPACK_ROW_LENGTH is not available


  [Arne Morten Kvarving]
   * fixed: redact url in log

  [Harish Krupo]
   * DRMUtils: Don't fail when aspect ratio cap isn't present

  [Jim Carroll]
   * JobManager tests where broken because they assumed Jobs were still valid after being passed to the JobManager.


  [Rechi]
   * [depends] bump zlib to 1.2.11

  [Rechi]
   * [depends] bump yasm to 1.3.0

  [Rechi]
   * [depends] bump xz to 5.2.4

  [Rechi]
   * [depends] bump swig to 4.0.0

  [Rechi]
   * [depends] bump python3 to 3.7.3

  [Rechi]
   * [depends] bump pkg-config to 0.29.2

  [Rechi]
   * [depends] bump ninja to 1.9.0

  [Rechi]
   * [depends] bump meson to 0.51.0

  [Rechi]
   * [depends] bump giflib to 5.2.1

  [Rechi]
   * [depends] bump dpkg to 1.19.7

  [Rechi]
   * [depends] bump cmake to 3.14.5

  [Rechi]
   * [depends] bump automake to 1.16.1

  [peylight]
   * Add persian language keyboard


  [Memphiz]
   * [jenkins] - ensure to export DEVELOPER_DIR to override used Xcode version - fixes binary addon build - credits to Rechi for this one

  [Jim Carroll]
   * Fix a test that was hanging due to ignoring test sync mechanisms.





  [Jim Carroll]
   * Threads that end are now correctly marked as !IsRunning.

  [Jim Carroll]
   * Move main thread implementation to std::thread to remove as many platform specific functions as possible.





  [Rechi]
   * [docs] update header include coding guideline

  [Andrey Filipenkov]
   * [ios] fix occasional rotation to portrait mode of external screen


  [smp79]
   * replace payloadObj.release() with payloadObj.reset() in ActorProtocol.cpp

  [Darren]
   * [docs] Move Code of Conduct to master repo


  [peak3d]
   * [Android] Fix segfault when calling GetMemoryInfo

  [Jim Carroll]
   * Add tools for mutithreaded testing and use them to remove dependency on timing in the TestJobManager test.


  [Rechi]
   * [depends] refresh zlib patches

  [Rechi]
   * [depends] refresh taglib patches

  [Rechi]
   * [depends] refresh sqlite3 patches

  [Rechi]
   * [depends] refresh samba-gplv3 patches

  [Rechi]
   * [depends] refresh samba patches

  [Rechi]
   * [depends] refresh rapidjson patches

  [Rechi]
   * [depends] refresh pythonmodule-pycryptodome patches

  [Rechi]
   * [depends] refresh pythonmodule-pil patches

  [Rechi]
   * [depends] refresh python27 patches

  [Rechi]
   * [depends] refresh nettle patches

  [Rechi]
   * [depends] refresh mariadb patches

  [Rechi]
   * [depends] refresh libusb patches

  [Rechi]
   * [depends] refresh libsdl patches

  [Rechi]
   * [depends] refresh libgcrypt patches

  [Rechi]
   * [depends] refresh libcdio-gplv3 patches

  [Rechi]
   * [depends] refresh libcdio patches

  [Rechi]
   * [depends] refresh libbluray patches

  [Rechi]
   * [depends] refresh gnutls patches

  [Rechi]
   * [depends] refresh gettext patches

  [Rechi]
   * [depends] refresh fontconfig patches

  [Rechi]
   * [depends] refresh flatbuffers patches

  [Rechi]
   * [depends] refresh bzip2 patches

  [Rechi]
   * [depends] refresh boblight patches


  [Rechi]
   * [swig] format generated files with clang-format

  [Memphiz]
   * [VideoInfoTag] - ensure to move the vector in trim instead of making an implicite copy - fixes new warning introduced with xcode bump (newer compiler)

  [Memphiz]
   * [darwin/jenkins] - bump to xcode10.2 and its SDKs for tvos, ios and macos


  [Rechi]
   * [fix] is dpms supported check after c2d7eee269

  [Lukas Rusak]
   * [linux] MemUtils: parse /proc/meminfo so we can get the actual available memory

  [Lukas Rusak]
   * MemUtils: remove unused struct parameters

  [peak3d]
   * [android] MemUtils: Implement ActivityManager / MemoryInfo

  [Lukas Rusak]
   * MemUtils: breakup into platform specific files

  [Lukas Rusak]
   * separate and organize DPMS support


  [wsnipex]
   * [webdav] allow http2


  [Jim Carroll]
   * [cosmetic] Fix code style.

  [Jim Carroll]
   * Add a test for CryptThreadingInitializer thread id generation.

  [Jim Carroll]
   * Fix test that expects CryptThreadingInitializer to be there even when OpenSSL >= 1.1.

  [Jim Carroll]
   * Require OpenSSL 1.0.2 in order to remove the need to manage thread ids.


  [Kai Sommerfeld]
   * [PVR] Cleanup PVR includes: reshuffle to obey coding guidelines.

  [Kai Sommerfeld]
   * [PVR] Cleanup PVR cpp files: removed unneeded includes, add missing includes.

  [Kai Sommerfeld]
   * [PVR] Cleanup PVR header files: removed unneeded includes, add missing includes, use forward declarations whenever possible.

  [Andrey Filipenkov]
   * [iOS] remove pre-iOS 7 keyboard hook

  [Andrey Filipenkov]
   * [darwin] simplify GetFrameworksPath() by re-writing in Objective-C

  [Andrey Filipenkov]
   * [darwin] replace singleton methods with std::call_once

  [Andrey Filipenkov]
   * [iOS] remove legacy runtime class/method checks that are always true

  [Andrey Filipenkov]
   * [iOS] remove legacy rotation code



  [Arne Morten Kvarving]
   * cosmetics fixups after #16242

  [Rechi]
   * [cmake] pass all CPPFLAGS to libcpluff configure

  [James D. Smith]
   * Require the offset to be less than or equal to the data size

  [James D. Smith]
   * Read APE tag embedded cover art


  [Lukas Rusak]
   * RPProcessInfo: drop method ConfigureRenderSystem

  [Lukas Rusak]
   * Remove amlogic platform

  [Lukas Rusak]
   * AESinkAUDIOTRACK: drop amlogic hacks



  [ruralhunter]
   * Support AVCHD format disk/image/folder


  [Lukas Rusak]
   * platform: linux is for linux! (and freebsd I guess)

  [enen92]
   * [cleanup][python] Drop deprecated monitor.onDatabaseScanStarted function

  [enen92]
   * [cleanup][python] Drop deprecated monitor.onDatabaseUpdated function


  [arnova]
   * changed: Increase buffer for Curl http response to 2k (fixes #16179)


  [Kai Sommerfeld]
   * [PVR] Reminders: Add settings to control reminder popup auto-close behavior.


  [Razzeee]
   * Remove typo

  [Razzeee]
   * Add funding config

  [ronie]
   * [Estuary] fix navigation in side menu


  [Kai Sommerfeld]
   * [PVR] Fix component dependencies: CPVRManager::IsPlayingChannel(int iClientID, int iUniqueChannelID) must not call into other PVR subcomponents, as this method must be callable from *any* other PVR component.

  [Lukas Rusak]
   * XMemUtils: namespace methods and add windows wrapper


  [Rechi]
   * [depends] remove superfluous -native directory postfix

  [Kai Sommerfeld]
   * [PVR] Separate GUI from PVR core: remove CFileItem usage from core: step 6: Some cleanup.

  [Kai Sommerfeld]
   * [PVR] Separate GUI from PVR core: remove CFileItem usage from core: step 5: No more CFileItem usage in CPVRClient.

  [Kai Sommerfeld]
   * [PVR] Separate GUI from PVR core: remove CFileItem usage from core: step 4: No more CFileItem usage in 'recordings'.

  [Kai Sommerfeld]
   * [PVR] Separate GUI from PVR core: remove CFileItem usage from core: step 3: No more CFileItem usage in 'channels'.

  [Kai Sommerfeld]
   * [PVR] Separate GUI from PVR core: remove CFileItem usage from core: step 2: PVR core must not create new CFileItem instances.

  [Kai Sommerfeld]
   * [PVR] Separate GUI from PVR core: remove CFileItem usage from core: step 1.5: directory listings (forgot to remove one last occurence in step 1).


  [Rechi]
   * update clang-format

  [Rechi]
   * [network] prefer interface with gateway

  [DaveTBlake]
   * Fix getting first "thumb" type art URL from scraper available art results

  [Lukas Rusak]
   * CDRMUtils: explicitly set the caps we want (atomic brings them in)

  [arnova]
   * fixed: DVD playback from http(s) sources (fixes #15694)


  [David Bridson]
   * Ask CMake to write compile_commands.json


  [David Bridson]
   * Remove CDatabase::InTransaction

  [David Bridson]
   * Remove some checks against null

  [David Bridson]
   * Remove redundant smart pointer get()

  [David Bridson]
   * Remove m_bDeleteCache

  [David Bridson]
   * Replace FileCache implementation ptr with unique_ptr

  [David Bridson]
   * Remove unused functions in CFileCache

  [Rechi]
   * [fix] use correct include path for fribidi.h

  [fuzzard]
   * [posix] platformdefs.h

  [fuzzard]
   * [posix] rename LinuxTimezone to PosixTimezone

  [fuzzard]
   * [posix] rename linuxresourcecounter to posixresourcecounter

  [fuzzard]
   * [osx] remove platform/linux

  [fuzzard]
   * [posix] relocate PosixMountProvider from platform/linux to platform/posix

  [fuzzard]
   * [posix] relocate common platform/network/linux to platform/posix

  [fuzzard]
   * [posix] move common posix files from linux to posix platform

  [Rechi]
   * [fix] call lcms2 functions only with valid transforms

  [Rechi]
   * [fix][windows] initialize m_colorManager after f47c959f0d

  [Lukas Rusak]
   * AirTunesServer: don't dynamically open libshairplay

  [arnova]
   * fixed: Test for URIUtils-IsInternetStream

  [Lukas Rusak]
   * [network] remove class NetworkAccessPoint and unused dialog CGUIDialogAccessPoints

  [Lukas Rusak]
   * AirPlayServer: don't dynamically open libplist

  [Lukas Rusak]
   * threads: move thread priority defines out of PlatformDefs.h

  [ronie]
   * [Estuary] (Info)Wall fixes

  [Kai Sommerfeld]
   * [interfaces] Fix crash on Kodi exit caused by double freed AsyncCallbackMessage.

  [arnova]
   * changed: Improve handling of internet filesystems (http/https) on LANs


  [Lukas Rusak]
   * [cmake] remove _LINUX define

  [Rechi]
   * [cmake] use CMAKE_CXX_STANDARD to set WindowsStore specific C++ standard

  [burlizzi]
   * optimized GetAvailableUpdates in AddonManager

  [James Broadhead]
   * [kodi.sh] pass sigterm to kodi binary

  [Lukas Rusak]
   * [linux] remove unneeded define _FILE_DEFINED

  [Lukas Rusak]
   * [linux] glibc recommends only using _FILE_OFFSET_BITS for new programs

  [Alwin Esch]
   * [cmake][addons] add THIRD_PARTY_PATH definition

  [enen92]
   * [PlaylistPlayer] Resolve plugin paths to fill the item infotag

  [Darren-Hill]
   * Blade menu and context menu exit

  [Darren-Hill]
   * Blade menu access for touchscreens

  [enen92]
   * [DialogVideoInfo] do not reset the current listitem before play

  [enen92]
   * [cleanup] Remove strings.xml support

  [David Bridson]
   * Simplify boolean expressions 2

  [David Bridson]
   * Simplify boolean expressions

  [gemedet]
   * Use special sort order when selecting first unwatched

  [ronie]
   * fix: SetSortMethod would fail on certain SortMethods




  [Kai Sommerfeld]
   * [PVR] Change CPVRTimersPath::m_iParentId type from 'unsigned int' to 'int'.

  [Kai Sommerfeld]
   * [PVR] CPVRGUIFirectory: obey coding guidelines.

  [ronie]
   * [guilib] add ListItem.FileNameNoExtension infolabel

  [Marcel Bostrano]
   * [Subtitles] Added a setting to change the subtitle opacity

  [Marcel Bostrano]
   * [Subtitles] COverlayText::GetFontLayout() accepts an Opacity value instead of defaulting to alpha=1.0


  [Kai Sommerfeld]
   * [PVR] Separate GUI from PVR core: remove CFileItem usage from core: step 1: directory listings.



  [Kai Sommerfeld]
   * [video] Add support for HEVC to CDVDDemuxClient::GetStreamCodecName.


  [Kai Sommerfeld]
   * [PVR] Prevent concurrent updates for all pvr windows.

  [Lukas Rusak]
   * platform/linux: remove unused headers

  [ronie]
   * [Estuary] fix search button on side menu



  [Rechi]
   * [cleanup][network] remove unused functions and variables

  [Lukas Rusak]
   * settings: allow setting the DRMPRIME renderer without having the DRMPRIME decoder enabled



  [Rechi]
   * [fix] unused-variable warnings

  [Rechi]
   * [fix] stringop-truncation warnings

  [Rechi]
   * [fix] format-overflow warning



  [Kai Sommerfeld]
   * [PVR] Fix start/stop time for manual timers created via timer settings dialog.

  [Luca Olivetti]
   * xbmcclient.py doesn't allow non ascii characters

  [DaVukovic]
   * Improve german keyboardlayout

  [fritsch]
   * TexturePacker: Fix memory / resource leak the ugly way




  [Rechi]
   * drop omxplayer

  [David Bridson]
   * Remove redundant ternary notation

  [David Bridson]
   * Replace integer literals cast to bool with bool literals

  [ronie]
   * [Estuary] fix scrollbar focus with mouse

  [DaveTBlake]
   * Fix display of blank dialog when X key hit and there is no visualisation

  [DaveTBlake]
   * Fix blank viz preset dialog when no viz or when viz not have presets


  [Kai Sommerfeld]
   * [PVR] Fix group manager crash when adding a new group. Closes #16079.

  [DaVukovic]
   * [Estuary] Fix order of TVShowTitle and Title

  [Kai Sommerfeld]
   * [video] Fix info for movies which are part of sets.

  [Lukas Rusak]
   * CRendererVAAPIGLES: remove overrides for render features

  [Lukas Rusak]
   * CRendererVAAPIGLES: use CEGLFence to sync rendering

  [DaveTBlake]
   * Inform user that scanning is already in progress should they try to scan another music source into the library at the same time.

  [ronie]
   * [python] add thumb preview param


  [ronie]
   * [Estuary] fix scrollbar in skinsettings

  [ronie]
   * [Estuary] fix scrollbar in skinsettings

  [David Bridson]
   * Remove unused using

  [ronie]
   * [Estuary] addonsettings - fix list

  [Kai Sommerfeld]
   * [PVR] Fix and simplify store epg event to db on update from pvr addon.


  [fritsch]
   * Revert "VideoPlayerCodec: Ask Demuxer to seek for us"

  [Rechi]
   * [cmake] use treedata instead of add_directory for omxplayer and rpi windowing

  [Rechi]
   * [cmake] add treedata/common/${CORE_PLATFORM_NAME_LC}/*.txt to read files

  [Rechi]
   * [windows] use treedata instead of add_directory after f47c959f0d


  [peak3d]
   * Remove 3:2 pullback from current check

  [djp952]
   * Create EPG when a PVR channel has been dynamically added at runtime

  [fritsch]
   * MusicExtensions: Add dtshd as that extension is used for commercial dtshd audio files

  [David Bridson]
   * Simplify some boolean expressions in RetroPlayer

  [ronie]
   * [skins] videoinfo - add support for sets

  [ronie]
   * handle button state in core

  [Arne Morten Kvarving]
   * added: video info dialog for movie sets

  [ronie]
   * choose art > don't show thumb were not applicable

  [ronie]
   * choose art > fix thumbnail listing

  [ronie]
   * [python-docs] xbmcvfs - fix file.readBytes() example

  [ronie]
   * [python] file.seek() - make whence optional

  [ronie]
   * [python] xbmcvfs - add file.tell() function


  [djp952]
   * Fix problem with newly added channels causing EPG UI corruption

  [Kai Sommerfeld]
   * Revert "[addons] this adds helper functions to get current time"

  [Kai Sommerfeld]
   * [PVR] Fix CPVREpg::(Add

  [Jonas Karlman]
   * VideoBufferDRMPRIME: add Map/Unmap callbacks

  [Jonas Karlman]
   * VideoBufferDRMPRIME: extract interface

  [Jonas Karlman]
   * VideoBufferDRMPRIME: extract class

  [Jonas Karlman]
   * GBM: override ProcessInfo and use Deinterlace Half by default on arm


  [fritsch]
   * PAPlayer: Don't fallback to DTS too early

  [arnova]
   * fixed: Resume bookmark would clear on player start failure


  [Olaf Hering]
   * [addons] use correct revision for kodi-platform

  [fuzzard]
   * [ios] remove XBMCDebughelpers.h

  [fuzzard]
   * [ios] Move keyboard and keyboardview to ios-common

  [netpok]
   * Fix formatting

  [netpok]
   * Use fanart to hide spoilers if available


  [ronie]
   * [Estuary] favourites widget would not scroll to end on 16:10 displays

  [Alwin Esch]
   * [addons] add OpenGL support on addon interface / allow GL via DirectX

  [Alwin Esch]
   * [addons] add OpenGL shader support

  [Alwin Esch]
   * [addons] Bring back audioengine addon interface (not ADSP)

  [Kai Sommerfeld]
   * [PVR] Rework epg db storage setting semantics. Default to 'do not store'.

  [wsnipex]
   * [cmake] make sure CXX11 is also always set for addons

  [Jonas Karlman]
   * DVDVideoCodecDRMPRIME: update process info in get format callback

  [Jonas Karlman]
   * DVDVideoCodecDRMPRIME: GetPicture only works for DRM_PRIME pix fmt

  [Lukas Rusak]
   * CWinSystemGbm: only lock the front buffer if something is rendered


  [Alwin Esch]
   * [addons] add dummy libraries to screensaver to prevent error

  [Alwin Esch]
   * [addons] add possibility to get ID3D11DeviceContext all the time

  [Alwin Esch]
   * [addons] this adds helper functions to get current time



  [kszaq]
   * GL: fix HAS_FLOAT_TEXTURE usage


  [Kai Sommerfeld]
   * Matix addon repository

  [fritsch]
   * VideoPlayerCodec: Ask Demuxer to seek for us

  [Sam Nazarko]
   * LibInputKeyboard: re-add support for KEY_STOP as we had in CLinuxInputDevices

  [Alwin Esch]
   * [addons] add settings support for property condition (basic conditions only)


  [Arthur Liberman]
   * [skin.estouchy] Implement ListItem.IsPlayable API

  [Arthur Liberman]
   * [skin.estuary] Implement HasArchive and IsPlayable ListItem API

  [Arthur Liberman]
   * [pvr][guilib][json] PVR Addon API 6.0.0: Add PVR_CHANNEL::bHasArchive, Add GUI info bools ListItem.HasArchive and ListItem.IsPlayable.

  [Kai Sommerfeld]
   * [pvr][addons] PVR Addon API 6.0.0: Increase size of PVR_ADDON_TIMERTYPE_STRING_LENGTH and PVR_ADDON_ATTRIBUTE_DESC_LENGTH. We encountered situations where they were to small for localized strings for multibyte languages.

  [Kai Sommerfeld]
   * [pvr][addons] PVR Addon API 6.0.0: EPG_TAG: Removed unused member 'bNotify'.

  [Kai Sommerfeld]
   * [pvr][addons] PVR Addon API 6.0.0: Cosmetics.

  [Kai Sommerfeld]
   * [pvr][addons] PVR Addon API 6.0.0: Change signature for API function 'GetEPGForChannel'.

  [Kai Sommerfeld]
   * [pvr][addons] PVR Addon API 6.0.0: Remove unused API function 'IsTimeshifting'.

  [Kai Sommerfeld]
   * [pvr][addons] PVR Addon API 6.0.0: Add API function 'FillBuffer'.

  [Kai Sommerfeld]
   * [pvr][addons] Bump API version to 6.0.0

  [linknetx]
   * [FIX] - Kodi crash with empty node in advanced settings file

  [Kai Sommerfeld]
   * [settings] Fix media source path substitution.

  [Arne Morten Kvarving]
   * more nasty language. tsk tsk

  [Arne Morten Kvarving]
   * added: support for queue item as default select action


  [peak3d]
   * [Android] Check for icon stride instead assuming 4 BPP

  [peak3d]
   * CGUIDialogMediaBrowser: Fix usage of wrong item index

  [Rechi]
   * [depends] remove unused fakeroot

  [Rechi]
   * [ios] use dpkg-deb --root-owner-group for deb creation

  [Rechi]
   * [depends] bump dpkg to 1.19.6

  [Rechi]
   * [depends] bump tar to 1.32

  [Kai Sommerfeld]
   * Use repo bin addons Matrix branch



  [Rechi]
   * bump version code and addon api for v19 alpha1

  [Olaf Hering]
   * Use CMAKE_CXX_STANDARD to settle on --std= C++ option

  [fritsch]
   * ApplicationMessenger: Add todo - so that flaw is documented

  [peak3d]
   * Fix / secure 2 code places


  [Lukas Rusak]
   * CDRMUtils: fallback to drmModeAddFB2 if drmModeAddFB2WithModifiers fails

  [Lukas Rusak]
   * CRendererDRMPRIMEGLES: add override methods for ERENDERFEATURE and ESCALINGMETHOD

  [Lukas Rusak]
   * CRendererDRMPRIMEGLES: update VBO's to be similar to CLinuxRendererGL

  [Lukas Rusak]
   * CRendererDRMPRIMEGLES: use CEGLFence to sync rendering

  [Lukas Rusak]
   * CEGLFence: add class to help with EGL sync objects

  [Lukas Rusak]
   * CDRMUtils: rework modifiers flag selection


  [Rechi]
   * [cmake] sort treedata

  [fuzzard]
   * [Jenkins] tvOS depends build

  [Sylvain CECCHETTO]
   * [tvOS] doc

  [Sylvain CECCHETTO]
   * [tvOS] openSSL

  [Sylvain CECCHETTO]
   * [tvOS] configure.ac

  [Olaf Hering]
   * [interfaces] use fixed date string in PythonSwig.cpp


  [Rechi]
   * [cleanup] remove unused AMLUtils functions

  [Rechi]
   * [cleanup] remove outated iOS version checks

  [Anton Fedchin]
   * [builddeps/win10] change file extension of uwp package.

  [Philipp Kerling]
   * Remove dead code for static libdvdnav

  [Anton Fedchin]
   * [windows] updated docs to recent SDK changes

  [Anton Fedchin]
   * [win10] dependencies: remove unneeded cppwinrt includes

  [Anton Fedchin]
   * [win10] bump SDK to v10.0.17763.0

  [Lukas Rusak]
   * CEGLImage: dump attributes if the import fails

  [Lukas Rusak]
   * CEGLAttributes: add method to get size of array for valid attributes

  [AkariDN]
   * [VideoInfoScanner] don't call GetArtwork for plugin sources


  [Kai Sommerfeld]
   * [guiinfo] Fix crash in CPlayerGUIInfo::GetContentRanges.


  [Rechi]
   * [darwin] move ios windowing into seperate folder

  [Rechi]
   * [darwin] move storage into darwin folder

  [Rechi]
   * [darwin] compile powermanagement only for osx

  [Rechi]
   * [darwin] use PeripheralBusUSB only on osx

  [Rechi]
   * [darwin] move Zeroconf into darwin folder

  [Rechi]
   * [darwin] move CoreAudioHelpers into darwin folder

  [Rechi]
   * [cleanup] remove unused CocoaInterface.h includes

  [Rechi]
   * [cmake] enable using ccache with xcode

  [fritsch]
   * Version: Bump to 19 alpha1

  [fritsch]
   * Splash: Update to v19.0 alpha

  [flubshi]
   * [json-rpc][pvr] Recordings: add fields season, episode and showtitle

  [Kai Sommerfeld]
   * [pvr][estuary] Add icons to timer settings dialog's types list.

  [Kai Sommerfeld]
   * [settings] Add possibility to supply properties (name-value-pairs) with setting options.

  [Kai Sommerfeld]
   * [estuary] Skin support for PVR reminders.

  [Kai Sommerfeld]
   * [pvr,guiinfo] New GUI info bools: ListItem.HasReminder, ListItem.HasReminderRule.

  [Kai Sommerfeld]
   * [pvr] Fixed signed/unsigned comparism compiler warnings.

  [Kai Sommerfeld]
   * [pvr] Feature: PVR reminders.

  [Kai Sommerfeld]
   * [dialogs] CGUIDialogYesNo: Add methods Reset() and GetResult().

  [Kai Sommerfeld]
   * [PVR] Addon API 5.10.4 (non-breaking): Introduce support for reminder timers.

  [ronie]
   * [skins] - add addon settings level button

  [ronie]
   * DialogAddonSettings - add settings level button

  [enen92]
   * [Doxygen] Document new Ranges control for skinners

  [Kai Sommerfeld]
   * [guilib][guiinfo][video][Estuary] Feature: Seek dialog: Add EDL and chapter marker visualisation.

  [enen92]
   * [Docs] Add xrefitems for v19 (python and skinning engine)

  [ronie]
   * Improve default keyboardlayout

  [Anton Fedchin]
   * [windows] VideoPlayer - hide renderer buffer implementations.

  [Anton Fedchin]
   * [windows] VideoPlayer - cosmetics changes into WinVideoFilter

  [Anton Fedchin]
   * [windows] VideoPlayer - removed adding dxva deint method in decoder, because it depends on renderer.

  [Anton Fedchin]
   * [windows] RenderSystemDX - remove unused stuff.

  [Anton Fedchin]
   * [windows] VideoPlayer - added experimental HDR10 support for d3d11 processor.

  [Anton Fedchin]
   * [windows] VideoPlayer - re-work dxva hw decoder output path.

  [Anton Fedchin]
   * [windows] VideoPlayer - re-factor WinRenderer

  [Anton Fedchin]
   * [windows] user reference instead of pointer for back buffer texture.

  [linknetx]
   * [PVR] Inconsistencies in Guide/Channel/Recording Info Dialogs

  [DaVukovic]
   * [Kodi] Removed unused string


  [Garrett Brown]
   * fixup! Controller dialog: Focus installed controller

  [Garrett Brown]
   * Controller dialog: Focus installed controller

  [Garrett Brown]
   * Controller dialog: Update controller list after controller add-on installation



  [Rechi]
   * [addons] sync with repo

  [Rechi]
   * [darwin][packaging] adjust minimum iOS version to 9.0 after 4020c8649d

  [Lukas Rusak]
   * CEGLImage: don't add modifiers if they are just linear

  [afl1]
   * DVDVideoCodecAmlogic: fix div by 0 in FrameRateTracking

  [afl1]
   * AMLCodec: update pts overflow for every frame

  [kszaq]
   * VideoSyncAML: Increase rendering thread prioroty

  [afl1]
   * DVDVideoCodecAmlogic: InstanceGuard fix

  [Dmitry_L]
   * AMLUtils: Default resolution change to 1080p

  [kszaq]
   * AMLUtils: turn 3D off for resolution switch


  [djp952]
   * Initialize timer info tag with first available timer type from client instead of manual one-shot



  [DaveTBlake]
   * Fix log statement - remove { and } from format are not parsing

  [peak3d]
   * [Android] Add colorMode to android:configChanges to avoid restarts

  [peak3d]
   * Fix pixelstore usage

  [DaveTBlake]
   * Fix loader skipping music files that are in library but located on a server hence have dynpath starting "HTTP" and IsInternetStream returns true.


  [Lukas Rusak]
   * CRenderBufferPoolGBM: use DRM_FORMAT_ARGB1555 for AV_PIX_FMT_RGB555


  [peak3d]
   * Find 3:2 pullback when searching for matching resolutions

  [Rechi]
   * [cleanup] remove retroplayer leftovers after 3ed099ae0d

  [peak3d]
   * [Android] Prevent modeswitch when native_window is invalid

  [fritsch]
   * DVDDemuxFFmpeg: Do not discard stream indexes belonging to program



  [DaveTBlake]
   * Fix singles node sort orders - include year, playcount and lastplayed to be consistent with songs (on albums)

  [DaveTBlake]
   * Import music library data on a separate thread from GUI. This allows cancel button on progress dialog to be clicked.

  [DaveTBlake]
   * Export song playback history - playcount, last played and ratings to single xml file

  [Ryan Rector]
   * Add available artwork to the video 'Choose art type' dialog

  [ronie]
   * [python] update WindowXML docs

  [afl1]
   * [Application] - register Stereoscopicmanager for message target - workaround for #13878 for leia

  [kszaq]
   * [GLES] Check for UNPACK_ROW_LENGTH support on renderer instantiation, not on every LoadPlane call


  [Philipp Kerling]
   * [vaapi] Remove unused code

  [Philipp Kerling]
   * [vaapi] Always deinterlace when an interlaced frame was encountered once

  [Philipp Kerling]
   * [vaapi] Support running progressive frames through the vpp deinterlacer

  [Philipp Kerling]
   * [vaapi] Remove filter_flags setting in vpp

  [Philipp Kerling]
   * [vaapi] Remove superfluous logic from ffmpeg postproc

  [Philipp Kerling]
   * [vaapi] Include name of failed function in error messages

  [Philipp Kerling]
   * [vaapi] Remove texture bit guessing

  [DaveTBlake]
   * Add facility to export artist folders only, no NFO or art. Show full description of where export is going when not picking folder explicitly. Simplify display by hiding non-applicable controls depending on export type.

  [Ryan Rector]
   * Include user config and available artwork in music "Choose art type" dialog


  [Rechi]
   * [cleanup] remove ifdef conditions already handled by buildsystem

  [Rechi]
   * [cleanup] remove ifdef include guards


  [Arne Morten Kvarving]
   * fixed: obtaining movie name for stacks


  [Olaf Hering]
   * [tests] use correct storage type for results from XFILE::CFile

  [Olaf Hering]
   * [tests] use correct storage type for results from StringUtils

  [Olaf Hering]
   * [peripherals] remove inclusion of android specific header


  [jjd-uk]
   * Estuary Track Info Fix


  [ronie]
   * [Estouchy] add missing 15th addon shortcut on homescreen

  [ronie]
   * addon settings - inherit settings level





  [James Hutchinson]
   * [AMLCodec] dont poll decoder rate when seeking


  [kszaq]
   * [DVDVideoCodec] Properly reset color_primaries

  [Matthias Reichl]
   * AESinkALSA: fix enumeration of cards without front devices

  [kszaq]
   * [AddonVideoCodec] Initialize color_primaries to AVCOL_PRI_UNSPECIFIED


  [Arne Morten Kvarving]
   * oh noes, i used bad words.

  [Olaf Hering]
   * [cmake] update minimum version of libdrm

  [Olaf Hering]
   * restore compatibility with sqlite3 v3.8


  [DaveTBlake]
   * On refresh of album or artist from info dialog, prompt to ignore NFO file and fetch metadata and art from remote sites

  [kszaq]
   * GL: Don't use SM_TEXTURE_LIM for GLSL < 1.5


  [James Hutchinson]
   * [AMLCodec] use decoder fps rate to accurately calculate video_rate

  [fritsch]
   * CThreads: Reacquire Lock after WaitForThreadExit has finished

  [ronie]
   * [skins] addon settings - add help text

  [DaveTBlake]
   * Export all art types for albums and artists, not just thumb and fanart

  [Philipp Kerling]
   * [curl] Move libcurl symbols out of namespace



  [Alwin Esch]
   * [cmake] partly revert #15642 to have wayland and GBM working


  [Philipp Kerling]
   * [wayland] Fix raw pointer comparison


  [Rechi]
   * [depends] binary-addons: fix libGL.so location

  [Olaf Hering]
   * [wayland] fix compilation with C++17

  [Alwin Esch]
   * [cmake] fix set of APP_RENDER_SYSTEM on KodiConfig.cmake

  [enen92]
   * [pydocs] Add warning to ControlList().reset() regarding ListItem destruction

  [DaveTBlake]
   * Show artist disambiguation text to help user select which artist they are scraping by when no mbid and scraper has found more than one artist with that name. Add disambiguation, gender and type to Python scraper artist processing.

  [Memphiz]
   * GUIWindowManager - wait for the closing animation to finish when closing a window sync only when GUI is rendered


  [Rechi]
   * [fix] installing binary addons from zip (and repo)

  [linknetx]
   * [PVR] Timers context menu 'Find similar' missing

  [Philipp Kerling]
   * [posix] Quit instead of shutdown on signals

  [Craig Andrews]
   * In Repository, don't set content encoding to gzip explicitly

  [Craig Andrews]
   * In ScraperUrl, don't set content encoding to gzip explicitly

  [Craig Andrews]
   * [curl] Accept all supported content encodings by default


  [Rechi]
   * [windows] remove pragma lib

  [Rechi]
   * [cmake] handle D3DX11Effects with PLATFORM_REQUIRED_DEPS

  [Rechi]
   * [cmake] require zlib for all platforms

  [Rechi]
   * [cmake] zip for android is already handled via PLATFORM_REQUIRED_DEPS

  [Philipp Kerling]
   * Reword roadmap item template to make its intent clearer

  [Rechi]
   * use angle-bracket include form for FFmpeg headers

  [peak3d]
   * Decoderfilter implementation

  [enen92]
   * [Docs] Use docs.kodi.tv instead of the codedocs url


  [Maven85]
   * [estuary] fix title for non episodes

  [Philipp Kerling]
   * [posix] Handle signals by setting atomic flag instead of pop-up thread

  [DaveTBlake]
   * Player.GetItem add "mediapath" and "dynpath" properties


  [pkerling]
   * Delete ProBot triage config

  [Memphiz]
   * [ios/cmake] - ensure that CURRENT_ARCH is set by cmake when calling Codesing.command

  [Memphiz]
   * [ios/windowing] - cache internal touch screen resolution because when going from external to internal screen - display settings want to know these before actually switching to internal. As we rely on eaglbounds we can't tell the internal resolution before switching - so we have to give back the cached results. - fixes touch screen issues due to wrong resolution for older ios9 32bit devices like ipad2 - while still maintaining the fix for external screens

  [Memphiz]
   * Revert "[ios/WinSystem] - instead of using the eaglbounds for determining the size of the internal screen - simply use the scerensize from UIScreen and exchange width with height (because the screen is installed 90° rotated). This fixes traversing back from external to internal screen which resulted in getting the eaglbounds from the external screen BUILDDATE CMakeLists.txt LICENSE.md LICENSES README.md VERSION addons appveyor.yml cmake debian docs lib media privacy-policy.txt project system tools userdata version.txt xbmc xbmc-xrandr.c screenscale from the internal (and lead to non-working touch input)"

  [Memphiz]
   * [ios/signing] - added old ldid for 32bit for fixing fake signing for 32 bit builds


  [enen92]
   * [Doxygen] Include github markdown file for code guidelines

  [enen92]
   * [GUIControllerWindow] Correctly subscribe to RepositoryUpdated events

  [ronie]
   * [estuary] fix reversed episode / tvshow title

  [ronie]
   * [pyton] update docs for artwork functions


  [enen92]
   * [PVR] Only trigger CPVRUpdateAddonsJob if the AddonEvent is a PVR client


  [fritsch]
   * GLContextEGL: Fix wraparounds on 32 bit system

  [Kai Sommerfeld]
   * [PVR] Fix PVR inter component dependencies: changes after code review.

  [Kai Sommerfeld]
   * [PVR] Fix PVR inter component dependencies: Rework epg database dependencies.

  [Kai Sommerfeld]
   * [PVR] Fix PVR inter component dependencies: epg,epgcontainer must not depend on epgsearchfilter.

  [Kai Sommerfeld]
   * [PVR] Fix PVR inter component dependencies: epg must not depend on epgcontainer.

  [Kai Sommerfeld]
   * [PVR] Fix PVR inter component dependencies: epgtag must not depend on epg.

  [Kai Sommerfeld]
   * [PVR] Fix PVR inter component dependencies: timer must not depend on timers.

  [Kai Sommerfeld]
   * [PVR] Fix PVR inter component dependencies: remove CFileItem and CFileList from PVR core. Those are GUI classes using global graphics mutex, which easily can lead to deadlocks when used inside PVR core.

  [Kai Sommerfeld]
   * [PVR] Fix PVR inter component dependencies: channelgroup must not depend on channelgroups.

  [Kai Sommerfeld]
   * [PVR] Fix PVR inter component dependencies: channel must not depend on channelgroup.

  [Kai Sommerfeld]
   * [PVR] Fix PVR inter component dependencies: timers must not depend on recordings.

  [Kai Sommerfeld]
   * [PVR] Refactor: Get rid off some CFileItems where CPVRTimerInfoTags are sufficient.

  [Kai Sommerfeld]
   * [PVR] Fix PVR inter component dependencies: channels must not depend on timers.

  [Kai Sommerfeld]
   * [PVR] PVR inter component dependencies: channel can hold epg member; no expensive lookups needed to obtain epg for a channel.

  [Kai Sommerfeld]
   * [PVR] Fix PVR inter component dependencies: epg must not depend on channels.

  [Kai Sommerfeld]
   * [PVR] CEpgInfoTag cosmetics.

  [Kai Sommerfeld]
   * [PVR] Fix PVR inter component dependencies: epg must not depend on timers.

  [Kai Sommerfeld]
   * [PVR] Fix PVR inter component dependencies: epg must not depend on recordings.

  [Kai Sommerfeld]
   * [PVR] Guide window: On first open, trigger immediate fetching of real data, not delayed.

  [JimmyS83]
   * Fixed error "Unexpected [standby_pc_on_tv_standby] setting value message" when using "Ignore" for standby_pc_on_tv_standby. https://github.com/xbmc/xbmc/issues/15698



  [peak3d]
   * [Android] Yet another refreshrate switch enhancement

  [pkerling]
   * Enable ProBot triage bot

  [pkerling]
   * Add ProBot triage bot configuration

  [Craig Andrews]
   * [curl] Use the response header to determine if content is encoded


  [peak3d]
   * [VideoPlayer] Ensure queue is not in intermediate state when flushing

  [peak3d]
   * [Android] Don't signal END_OF_STREAM if dropping packets

  [Kai Sommerfeld]
   * [PVR] Fix 'any channel' timer rules children not displayed.

  [fritsch]
   * FFMPEG: Bump to 4.0.3-Leia-18.2



  [Kai Sommerfeld]
   * [PVR] Speedup first open of Guide window.

  [DaveTBlake]
   * GetArtist - always fetch scraped art URLs from dataset. Ensure discography is imported and exported for artist.

  [ronie]
   * [Estouchy] fix missing weather temps

  [DaveTBlake]
   * Stop excluding artist with name that matches the current localised string for "Various artists".


  [Kai Sommerfeld]
   * [PVR] Fix all datetime gui labels to return empty string if datetime is invalid.

  [Kai Sommerfeld]
   * [PVR] Guide window: Fix wrong information shown for gap tags.


  [Michael Brehm]
   * Use audio stream to determine start time of MPEG-TS programs with no video streams


  [phunkyfish]
   * Don't include timer in active or recording lists if timer state is PVR_TIMER_STATE_ERROR

  [phunkyfish]
   * Don't display enabled toggle in timer settings dialog if timer state is PVR_TIMER_STATE_ERROR

  [phunkyfish]
   * Don't display Activate/Deactivate in timer context menu if timer state is PVR_TIMER_STATE_ERROR

  [Kai Sommerfeld]
   * [PVR] Speedup close of Guide window.


  [peak3d]
   * Minor log changes


  [peak3d]
   * [Android] implement MediaSession::onMediaButtonEvent


  [peak3d]
   * [Android] Prevent HDMI_AUDIO_PLUG intent on TV

  [Rechi]
   * [cmake] microhttpd: only link with libraries

  [Rechi]
   * [depends] microhttpd: remove build & install hacks

  [arnova]
   * fixed: We should always update stream details from player (fixes #15584)

  [DaveTBlake]
   * Fix TCP buffer parsing to find JSON statements to correctly ignore escaped quotes, and brackets when inside quote pairs.


  [peak3d]
   * [Android] generate keypress if mediasession action arrives and kodi has focus

  [ronie]
   * [music] format album rating


  [peak3d]
   * [Android] Fix monoscopic/2D viewrect calcuation

  [Rechi]
   * [cleanup] remove include guards


  [Memphiz]
   * [GraphicsContext] - add a setting to adjust refreshrate/resolution only on playback start

  [peak3d]
   * [Android] Don't flip GLES if window was destroyed

  [Kai Sommerfeld]
   * [PVR] Fix crash on channel switch when no pvr client is enabled.

  [linknetx]
   * [PVR] - Recording edit context menu still visible when not supported by backend

  [Arne Morten Kvarving]
   * fixed: put add-on instance creation/destruction in a critical section

  [Arne Morten Kvarving]
   * fixed: do not try to list empty directory in directory provider

  [Arne Morten Kvarving]
   * various uninited variable usage

  [DaveTBlake]
   * Fix album artist name and Musicbrainz id tag matching fallback processing when ALBUMARTISTS tag not provided

  [Tyler Szabo]
   * [database] Verify date parsing when querying videos by year

  [Ryan Rector]
   * [videodb]fix: Return empty InfoTag when looking up non-existent musicvideo

  [Hugh N. Greenberg]
   * Fixes a crash when a file's embedded art is invalid

  [ronie]
   * [skins] improvement & cosmetics

  [DaVukovic]
   * [docs/README.Fedora] fixes and updates

  [Peter Vicman]
   * wake on access: fix crash on startup When Kodi starts there is no GUI yet. log file: http://ix.io/1Af1


  [peak3d]
   * [Android] send BUFFER_EOF to MediaCdec if EOF was detected

  [peak3d]
   * [Android] SignalEndOfStream / start with I-Frame for h264 / h256

  [fritsch]
   * AESinkAudioTrack: Trace flush on deinitialize

  [DaveTBlake]
   * Stop playing current file when playlist player has stopped. Playlistplayer sends a GUI_MSG_PLAYLISTPLAYER_STOPPED message when aborting playback when next from last item in list, or repeat one and song is invalid. This ensures that the player stops too.

  [kszaq]
   * [GLES] OverlayRendererGL: add support for BGRA extensions for GLES

  [Rainer Hochecker]
   * VideoPlayer: set demuxer speed other than pause and normal


  [Rechi]
   * [fix] guard windows specific include

  [peak3d]
   * [Android] Check if ActiveAE is available if HEAD_PLUGGED intent arrives

  [Ryan Rector]
   * Set NFO thumb without aspect as poster


  [Kai Sommerfeld]
   * [PVR][guiinfo] Fix/add support for ListItem.ParentalRating, VideoPlayer.Premiered, ListItem.Rating, VideoPlayer.Rating for PVR items.

  [peak3d]
   * Fix refclock calculation


  [Attila Jakosa]
   * [lang][skin.estouchy] updated language files from Transifex

  [Attila Jakosa]
   * [lang][skin.estuary] updated language files from Transifex


  [Rechi]
   * [cleanup] remove yajl leftovers after 15017d865b

  [Rechi]
   * silence dangling else warnings


  [Rikard Falkeborn]
   * [audioengine] Const correct Sinks

  [Rikard Falkeborn]
   * [audioengine] Const correct ActiveAE

  [Rikard Falkeborn]
   * [audioengine] Const correct Utils

  [peak3d]
   * Allow speedadjust for half frame situations (e.g. 3:2 pullback)

  [Kai Sommerfeld]
   * [PVR] Fix LISTITEM_DURATION for timers.


  [peak3d]
   * [Android] Post instead SendMessage to stop playing on SCREEN_OFF

  [Memphiz]
   * [JSON]Add Player.SetViewMode and Player.GetViewMode methods


  [DaveTBlake]
   * Fix delay of playback on switching song in party mode regression.

  [Joost van den Broek]
   * TestUtil: Added ValidatePath Test

  [Ryan Rector]
   * [skins] prefer poster over thumb to match design

  [Joost van den Broek]
   * CUtil::ValidatePath fix stripping double (back)slash chars

  [wsnipex]
   * [curl] enable HTTP2 support

  [wsnipex]
   * [depends] add http2 support to curl via nghttp2



  [peak3d]
   * [Android] Implement MediaDRM provisioning

  [peak3d]
   * [Android] change intent management in java::main


  [Philipp Kerling]
   * [docs] Update style guidelines

  [Michael Brehm]
   * GetStreamProperties() is only called when bHandlesDemuxing is true


  [Martijn Kaijser]
   * bump to 18.2rc1

  [peak3d]
   * [Windowing] Prefix output name to all RESOLUTIONS, includeing RES_DESKTOP

  [Michael Brehm]
   * Document implict call to CloseXXXStream() before OpenXXXStream()

  [Kai Sommerfeld]
   * [estuary] Fix visual glitch when PVR info dialog activated from PVR channels OSD.

  [Martijn Kaijser]
   * bump for 18.1 final

  [ronie]
   * [python] fix usage of line-breaks in ok dialog


  [peak3d]
   * [Android] Queue AMEDIACODEC_BUFFER_FLAG_END_OF_STREAM buffer only for API >= 26

  [Philipp Kerling]
   * [wayland] Fix startup crash

  [peak3d]
   * Set m_bRenderGUI in RenderManager::PreInit

  [arnova]
   * fixed: NFO/tag loading for http/https sources was broken (fixes #15481)

  [Martijn Kaijser]
   * bump for 18.1 final


  [peak3d]
   * [Android] Queue AMEDIACODEC_BUFFER_FLAG_END_OF_STREAM buffer only for API >= 26

  [Philipp Kerling]
   * [wayland] Fix startup crash

  [peak3d]
   * Set m_bRenderGUI in RenderManager::PreInit


  [arnova]
   * fixed: NFO/tag loading for http/https sources was broken (fixes #15481)





  [fritsch]
   * UPNPPlayer: Do not use memset on non-trivial type


  [fritsch]
   * UPNPPlayer: Do not use memset on non-trivial type

  [Memphiz]
   * Revert "[DetectDVDType]: fix Crash due to non-checked error state"

  [Alwin Esch]
   * X11: remove not needed CGLContextEGL::IsSuitableVisual

  [Alwin Esch]
   * X11: fix usage of required configuration values

  [Alwin Esch]
   * [addons] not pass nullptr to std::string

  [peak3d]
   * [VideoPlayer] Uninitialize RenderManager early on playback stop

  [JimmyS83]
   * Add date to the log records

  [Anton Fedchin]
   * [videoplayer] WinRenderer: remove `dxvaallowhqscaling` setting

  [Kai Sommerfeld]
   * [pvr] Improve documentation for advanced epg settings.

  [Kai Sommerfeld]
   * [pvr] Define a senseful default value for advanced settings 'updateemptytagsinterval'.

  [Anton Fedchin]
   * [windowing] win32: update handling WM_DPICHANGED event

  [Anton Fedchin]
   * [xbmc] application: handle resize event even in full screen state on windows.

  [peak3d]
   * [Android] Fix MediaCodec freeze when early disposing stream

  [peak3d]
   * [DllLoader] No warning if resolve fals for optional dependencies

  [Kai Sommerfeld]
   * [PVR] Ignore very first 'server not reachable' notification.

  [Kai Sommerfeld]
   * [guiinfo] Fixed ListItemPosition.

  [Kai Sommerfeld]
   * [guiinfo] Fixed ListItemAbsolute(0).

  [Philipp Kerling]
   * [sqlite] Fix DbErrors format strings

  [Philipp Kerling]
   * [sqlite] Use error message returned by sqlite3_exec()

  [Philipp Kerling]
   * [sqlite] Include sqlite3_errmsg() result in error messages

  [Philipp Kerling]
   * [sqlite] Use extended result codes

  [peak3d]
   * [Android] Fix invalid PTS decoder value (fix)

  [peak3d]
   * [Android] Fix invalid PTS decoder value

  [Kai Sommerfeld]
   * [PVR] Fix CPVRTimers::GetRecordingTimerForRecording to respect timer's start and stop padding time + optimize to check epg event uids if present.

  [Alwin Esch]
   * [addons] add for test purpose only script for debian package generation

  [Rechi]
   * update SSL CA trust store

  [DaveTBlake]
   * [JSON]Speed up player and playlist operations using post rather than send for messages that don't need to wait. Fix GUI playist change notification to be done consistently by app rather than partially by JSON.

  [Rechi]
   * [TexturePacker] use std:: instead of using namespace std

  [Rechi]
   * [JsonSchemaBuilder] use std:: instead of using namespace std

  [fritsch]
   * RenderCapture: Fix wrong printout

  [DaveTBlake]
   * Fix how limits applied to artist and album smart playlists or custom nodes

  [Kai Sommerfeld]
   * [PVR][settings] Reintroduce setting "Close channel OSD after switching channels", which got accidentally removed for Leia 18.0

  [peak3d]
   * [Threads] revert #15263, log tid instead posix thread

  [peak3d]
   * [Binary Addon] provide API versions to addon for better downgrade handling

  [linknetx]
   * Update PVRTimers.cpp

  [fritsch]
   * RenderCapture: Switch to non-arb occlusion queries

  [DaVukovic]
   * [skins] Estuary + Estouchy keyboard layout fixes

  [fritsch]
   * VideoSync: Fixup vsync clock

  [Anton Fedchin]
   * [guilib] d3dtexture: fixed wrong render target index.

  [peak3d]
   * [Android] check if intent is valid

  [Rechi]
   * [TexturePacker] update windows dirent implementation

  [peak3d]
   * [Resolution] Check current mode if whitelist doesn't match

  [Anton Fedchin]
   * [win10] filesystem: catch an exception while reading or writing a file.

  [Anton Fedchin]
   * [videoplayer] winrenderer: do scaling in output shader instead of yuv2rgb, this fixes the issue with green border with nv12 texture.

  [Kai Sommerfeld]
   * [PVR][videoplayer] Fix PVR input stream creation for pvr file items only containing a path and no recording/channel tag. Fixes broken recording playback using official Kodi Remote iOS app.

  [Rechi]
   * [depends] remove unused platform lib

  [peak3d]
   * [Demux] VP9 does not provide extradata

  [Rechi]
   * [cmake] fix policy CMP0053

  [DaveTBlake]
   * Fix announcement manager locking to use separate sections for queue and listener list

  [Rechi]
   * [fix] logical or operation

  [Philipp Kerling]
   * [guilib] Handle empty vertex buffers in GUIFontTTFGL

  [DaveTBlake]
   * Avoid trying to load music info for smartplaylists and menu items

  [Martijn Kaijser]
   * bump to v18.1 RC1

  [ronie]
   * [Estouchy] cosmetic fixes

  [ronie]
   * [Estuary] videoinfo - add movieset button

  [ronie]
   * [Estuary] make mediainfo list focusable

  [Michael Brehm]
   * Check the system capabilities to support sleep states S1/S2/S3/S4 before reporing them as available

  [KOPRajs]
   * [games] Fix crash by reverting part of the PR #14146


  [Memphiz]
   * Revert "[DetectDVDType]: fix Crash due to non-checked error state"

  [Alwin Esch]
   * [addons] not pass nullptr to std::string

  [peak3d]
   * [VideoPlayer] Uninitialize RenderManager early on playback stop

  [Anton Fedchin]
   * [videoplayer] WinRenderer: remove `dxvaallowhqscaling` setting

  [Kai Sommerfeld]
   * [pvr] Improve documentation for advanced epg settings.

  [Kai Sommerfeld]
   * [pvr] Define a senseful default value for advanced settings 'updateemptytagsinterval'.

  [peak3d]
   * [DllLoader] No warning if resolve fals for optional dependencies

  [DaveTBlake]
   * [JSON]Speed up player and playlist operations using post rather than send for messages that don't need to wait. Fix GUI playist change notification to be done consistently by app rather than partially by JSON.


  [Alwin Esch]
   * X11: remove not needed CGLContextEGL::IsSuitableVisual

  [Alwin Esch]
   * X11: fix usage of required configuration values

  [JimmyS83]
   * Add date to the log records



  [Anton Fedchin]
   * [windowing] win32: update handling WM_DPICHANGED event

  [Anton Fedchin]
   * [xbmc] application: handle resize event even in full screen state on windows.

  [peak3d]
   * [Android] Fix MediaCodec freeze when early disposing stream

  [Kai Sommerfeld]
   * [PVR] Ignore very first 'server not reachable' notification.

  [Kai Sommerfeld]
   * [guiinfo] Fixed ListItemPosition.

  [Kai Sommerfeld]
   * [guiinfo] Fixed ListItemAbsolute(0).

  [Philipp Kerling]
   * [sqlite] Fix DbErrors format strings

  [Philipp Kerling]
   * [sqlite] Use error message returned by sqlite3_exec()

  [Philipp Kerling]
   * [sqlite] Include sqlite3_errmsg() result in error messages

  [Philipp Kerling]
   * [sqlite] Use extended result codes

  [Alwin Esch]
   * [addons] add for test purpose only script for debian package generation


  [peak3d]
   * [Android] Fix invalid PTS decoder value (fix)

  [peak3d]
   * [Android] Fix invalid PTS decoder value

  [Kai Sommerfeld]
   * [PVR] Fix CPVRTimers::GetRecordingTimerForRecording to respect timer's start and stop padding time + optimize to check epg event uids if present.

  [Rechi]
   * update SSL CA trust store

  [peak3d]
   * [Binary Addon] provide API versions to addon for better downgrade handling

  [DaveTBlake]
   * Fix announcement manager locking to use separate sections for queue and listener list


  [Rechi]
   * [TexturePacker] use std:: instead of using namespace std

  [Rechi]
   * [JsonSchemaBuilder] use std:: instead of using namespace std

  [fritsch]
   * RenderCapture: Fix wrong printout

  [Philipp Kerling]
   * [guilib] Handle empty vertex buffers in GUIFontTTFGL


  [DaveTBlake]
   * Fix how limits applied to artist and album smart playlists or custom nodes

  [Kai Sommerfeld]
   * [PVR][settings] Reintroduce setting "Close channel OSD after switching channels", which got accidentally removed for Leia 18.0

  [peak3d]
   * [Threads] revert #15263, log tid instead posix thread

  [DaveTBlake]
   * Avoid trying to load music info for smartplaylists and menu items


  [linknetx]
   * Update PVRTimers.cpp

  [fritsch]
   * RenderCapture: Switch to non-arb occlusion queries

  [DaVukovic]
   * [skins] Estuary + Estouchy keyboard layout fixes

  [fritsch]
   * VideoSync: Fixup vsync clock


  [Anton Fedchin]
   * [guilib] d3dtexture: fixed wrong render target index.


  [peak3d]
   * [Android] check if intent is valid

  [Rechi]
   * [TexturePacker] update windows dirent implementation

  [peak3d]
   * [Resolution] Check current mode if whitelist doesn't match

  [Kai Sommerfeld]
   * [PVR][videoplayer] Fix PVR input stream creation for pvr file items only containing a path and no recording/channel tag. Fixes broken recording playback using official Kodi Remote iOS app.


  [Anton Fedchin]
   * [win10] filesystem: catch an exception while reading or writing a file.

  [Anton Fedchin]
   * [videoplayer] winrenderer: do scaling in output shader instead of yuv2rgb, this fixes the issue with green border with nv12 texture.

  [Rechi]
   * [depends] remove unused platform lib

  [peak3d]
   * [Demux] VP9 does not provide extradata


  [Rechi]
   * [cmake] fix policy CMP0053


  [Rechi]
   * [fix] logical or operation

  [Martijn Kaijser]
   * bump to v18.1 RC1

  [ronie]
   * [Estouchy] cosmetic fixes

  [ronie]
   * [Estuary] videoinfo - add movieset button

  [ronie]
   * [Estuary] make mediainfo list focusable

  [Michael Brehm]
   * Check the system capabilities to support sleep states S1/S2/S3/S4 before reporing them as available


  [Martijn Kaijser]
   * bump to v18.0 final

  [KOPRajs]
   * [games] Fix crash by reverting part of the PR #14146


  [DaveTBlake]
   * Apply limit and random sort in SQL rather than fetch all artists or albums into fileitem list then pick random few to show.

  [Kai Sommerfeld]
   * [PVR] Fix CPVRClients::GetTimerTypes not to overwrite in multi-client setups.

  [Kai Sommerfeld]
   * [PVR] client priority must be reset on stop of pvr component, because it must be re-read from db after restart.

  [Kai Sommerfeld]
   * [PVR] Fix duplicate channnel numbers. Do not let slip thru numbers from channel groups to main channel instance.

  [linknetx]
   * Active Skin Update - Force Close TextureBundle

  [bb10]
   * Update joystick.xml

  [Rechi]
   * [cleanup] remove repository.pvr-win32.xbmc.org from installdata

  [peak3d]
   * [File] use dynpath for mime-type detection

  [Jonas Karlman]
   * [GLES] fix check for GL_EXT_unpack_subimage

  [peak3d]
   * [Windowing] fix width / screenWidth comparision. More fuzzy when searching whitelist matchse

  [DaveTBlake]
   * [JSON]Fix AudioLibrary.GetGenres return of empty "sourceid" as [] Genres may not have related sources if db migrated from earlier version but rescan of files not completed.

  [Rechi]
   * [cmake] replace patch file with actual commands in add_addon_depends

  [Alwin Esch]
   * [addons] add define ATTRIBUTE_FORCEINLINE on addon header

  [peak3d]
   * [VideoPlayer] Improve forced aspect_ratio

  [peak3d]
   * check for GL_EXT_unpack_subimage

  [peak3d]
   * check runtime gles version

  [peak3d]
   * [GLES] memcpy intead multi glTexSubImage2D for planes with pitch

  [mglae]
   * [CryptThreading] Support CRYPTO_THREADID_set_callback() of OpenSSL 1.0.x

  [fritsch]
   * GLContextEGL: Properly guard members

  [peak3d]
   * [GUI] refresh debug overlay if smartredraw is activated

  [Martijn Kaijser]
   * bump to v18.0 final

  [Arne Morten Kvarving]
   * fixed: do no add cache=no option to zip urls unless zip:// protocol

  [ronie]
   * [skins] define textwidth for sliderex controls

  [wsnipex]
   * [StringUtils] fix crash on addon install when using fmt 5.3

  [fritsch]
   * ProcessInfoAndroid: Register with WinSystemAndroid

  [fritsch]
   * Android: Properly overwrite ProcessInfo and use Deinterlace Half by default

  [Anton Fedchin]
   * [videoplayer] dxva: fixed uhd hevc-main10 playback on xbox

  [enen92]
   * [docs] Add pvr.seek to possible actions of SliderControl

  [enen92]
   * [Estuary] Improve VolumeSlider Dialog

  [enen92]
   * [guilib] GUISliderControl - avoid scalling base textures if dimensions are zero

  [Dimitry Ishenko]
   * Improve audio book bookmark handling

  [Dimitry Ishenko]
   * Fix audio book resume function

  [Dimitry Ishenko]
   * CApplication: remove useless fallback conversion

  [Dimitry Ishenko]
   * CMusicDatabase: use actual file path to identify bookmarks

  [Dimitry Ishenko]
   * CMusicDatabase: take CFileItem as argument in GetResumeBookmarkForAudioBook()

  [Attila Jakosa]
   * [lang][skin.estouchy] updated language files from Transifex

  [Attila Jakosa]
   * [lang][skin.estuary] updated language files from Transifex

  [DaveTBlake]
   * Use artist table in GetArtist rather than artistview to avoid MySQL slowness in party mode startup

  [enen92]
   * [guilib] Ensure ListItems release the layout before it is destroyed

  [DaveTBlake]
   * Fix getting discography for MySQL GetArtist not query discography by default Use artist ID when have it to fetch artist props for fileitem

  [Kai Sommerfeld]
   * [video][filesystem] Fix XFILE::CFileFactory::CreateLoader - unsupported protocol(pvr) logspam.

  [enen92]
   * [MacOS] Fix stack-buffer-underflow

  [Kai Sommerfeld]
   * [Estuary] Tweak PVR guide layout. Fixes #15271.

  [Philipp Kerling]
   * [database] Promote MySQL server version message to LOGNOTICE

  [Philipp Kerling]
   * [database] Log warning for MySQL < 5.6, MariaDB < 5.5

  [bb10]
   * Update joystick.xml

  [ronie]
   * [py-docs] fix version info for getDbId

  [peak3d]
   * [Android] Log kernel ThreadId instead pthread_self

  [Attila Jakosa]
   * [lang][skin.estouchy] updated language files from Transifex

  [Attila Jakosa]
   * [lang][skin.estuary] updated language files from Transifex

  [ronie]
   * [Estuary] fix undefined font references

  [fritsch]
   * FFmpeg: Fix missing include

  [Anton Fedchin]
   * [videopayer] WinRenderer: don't keep past frames for progressive material

  [Garrett Brown]
   * Game add-ons: Skip profile directory if empty

  [Kostas Andrianos]
   * Add missing POP to return to the calling directory after error

  [Memphiz]
   * [osx/WinSystem] - always log all found monitors and resolutions for debug purposes

  [Memphiz]
   * [osx/WinSystem] - ensure that monitor names are unique by appending displayid

  [KOPRajs]
   * [games] Fix crash by reverting part of the PR #14146


  [DaveTBlake]
   * Apply limit and random sort in SQL rather than fetch all artists or albums into fileitem list then pick random few to show.


  [Kai Sommerfeld]
   * [PVR] Fix CPVRClients::GetTimerTypes not to overwrite in multi-client setups.

  [Kai Sommerfeld]
   * [PVR] client priority must be reset on stop of pvr component, because it must be re-read from db after restart.

  [Kai Sommerfeld]
   * [PVR] Fix duplicate channnel numbers. Do not let slip thru numbers from channel groups to main channel instance.

  [linknetx]
   * Active Skin Update - Force Close TextureBundle

  [peak3d]
   * [File] use dynpath for mime-type detection

  [peak3d]
   * [Windowing] fix width / screenWidth comparision. More fuzzy when searching whitelist matchse

  [peak3d]
   * [VideoPlayer] Improve forced aspect_ratio

  [ronie]
   * [skins] define textwidth for sliderex controls

  [enen92]
   * [docs] Add pvr.seek to possible actions of SliderControl


  [bb10]
   * Update joystick.xml

  [Rechi]
   * [cleanup] remove repository.pvr-win32.xbmc.org from installdata

  [Jonas Karlman]
   * [GLES] fix check for GL_EXT_unpack_subimage

  [DaveTBlake]
   * [JSON]Fix AudioLibrary.GetGenres return of empty "sourceid" as [] Genres may not have related sources if db migrated from earlier version but rescan of files not completed.

  [Rechi]
   * [cmake] replace patch file with actual commands in add_addon_depends

  [bb10]
   * Update joystick.xml


  [peak3d]
   * check for GL_EXT_unpack_subimage

  [peak3d]
   * check runtime gles version

  [peak3d]
   * [GLES] memcpy intead multi glTexSubImage2D for planes with pitch


  [Alwin Esch]
   * [addons] add define ATTRIBUTE_FORCEINLINE on addon header

  [mglae]
   * [CryptThreading] Support CRYPTO_THREADID_set_callback() of OpenSSL 1.0.x

  [fritsch]
   * GLContextEGL: Properly guard members

  [Arne Morten Kvarving]
   * fixed: do no add cache=no option to zip urls unless zip:// protocol

  [enen92]
   * [guilib] Ensure ListItems release the layout before it is destroyed


  [peak3d]
   * [GUI] refresh debug overlay if smartredraw is activated

  [enen92]
   * [Estuary] Improve VolumeSlider Dialog

  [enen92]
   * [guilib] GUISliderControl - avoid scalling base textures if dimensions are zero


  [wsnipex]
   * [StringUtils] fix crash on addon install when using fmt 5.3

  [fritsch]
   * ProcessInfoAndroid: Register with WinSystemAndroid

  [fritsch]
   * Android: Properly overwrite ProcessInfo and use Deinterlace Half by default

  [Anton Fedchin]
   * [videoplayer] dxva: fixed uhd hevc-main10 playback on xbox

  [Dimitry Ishenko]
   * Improve audio book bookmark handling

  [Dimitry Ishenko]
   * Fix audio book resume function

  [Dimitry Ishenko]
   * CApplication: remove useless fallback conversion

  [Dimitry Ishenko]
   * CMusicDatabase: use actual file path to identify bookmarks

  [Dimitry Ishenko]
   * CMusicDatabase: take CFileItem as argument in GetResumeBookmarkForAudioBook()

  [enen92]
   * [MacOS] Fix stack-buffer-underflow

  [Philipp Kerling]
   * [database] Promote MySQL server version message to LOGNOTICE

  [Philipp Kerling]
   * [database] Log warning for MySQL < 5.6, MariaDB < 5.5


  [DaveTBlake]
   * Use artist table in GetArtist rather than artistview to avoid MySQL slowness in party mode startup


  [Attila Jakosa]
   * [lang][skin.estouchy] updated language files from Transifex

  [Attila Jakosa]
   * [lang][skin.estuary] updated language files from Transifex


  [DaveTBlake]
   * Fix getting discography for MySQL GetArtist not query discography by default Use artist ID when have it to fetch artist props for fileitem

  [Kai Sommerfeld]
   * [video][filesystem] Fix XFILE::CFileFactory::CreateLoader - unsupported protocol(pvr) logspam.


  [Kai Sommerfeld]
   * [Estuary] Tweak PVR guide layout. Fixes #15271.

  [ronie]
   * [Estuary] fix undefined font references

  [fritsch]
   * FFmpeg: Fix missing include


  [ronie]
   * [py-docs] fix version info for getDbId

  [peak3d]
   * [Android] Log kernel ThreadId instead pthread_self

  [Garrett Brown]
   * Game add-ons: Skip profile directory if empty


  [Attila Jakosa]
   * [lang][skin.estouchy] updated language files from Transifex

  [Attila Jakosa]
   * [lang][skin.estuary] updated language files from Transifex


  [Anton Fedchin]
   * [videopayer] WinRenderer: don't keep past frames for progressive material

  [Kostas Andrianos]
   * Add missing POP to return to the calling directory after error


  [Memphiz]
   * [osx/WinSystem] - always log all found monitors and resolutions for debug purposes

  [Memphiz]
   * [osx/WinSystem] - ensure that monitor names are unique by appending displayid


  [fritsch]
   * GLContextEGL: Remove logging

  [Martijn Kaijser]
   * bump v18.0 RC5 to rev. 2 We need a bump to be able to update Play Store

  [Philipp Kerling]
   * [database] Move join subquery into separate view for ancient MySQL

  [Philipp Kerling]
   * Fix whitespace

  [fritsch]
   * FFmpeg: Bump to 4.0.3-Leia-RC5

  [DaVukovic]
   * Improve detection of audio CDs using an infobool

  [Garrett Brown]
   * Fix typo

  [fritsch]
   * ButtonMapping: Change format identifier

  [fritsch]
   * StringUtils: Change format identifier

  [Philipp Kerling]
   * VideoInfoScanner: Correctly redact URLs

  [fritsch]
   * Set Decor-View: Transparent - ported from MRMC

  [fritsch]
   * Android: Transparency games

  [fritsch]
   * DisplaySettings: Change %.02f to %.2f to workaround a crash in libfmt 5.3

  [Dimitry Ishenko]
   * Misc fixes to prevent crashes when playing audio books

  [wildcat2020]
   * [database] Correct tvshow_view after PR #15185 merge to make sure it only returns one row per tvshow with correct strPath and idParentPath.

  [Attila Jakosa]
   * [lang][skin.estuary] updated language files from Transifex

  [enen92]
   * [docs] Fix layout of xbmcplugin.setContent

  [enen92]
   * [Issue templates] Raspberry PI typo

  [Markus Engel]
   * Correct order of colors in the bottom line

  [Kai Sommerfeld]
   * [PVR] guiinfo times: reset timeshift offset and timeshift play time after channel change.

  [Memphiz]
   * [osx/WinEventsSDL] - don't disable gui rendering when losing focus - fixes regression inroduced in #15105

  [Memphiz]
   * [PluginDirectory] - ensure that Abort of ScriptObserver waits for thread exit to prevent bad access of already destroyed event object

  [wildcat2020]
   * [database] Make season_view and tvshow_view SQL ANSI92-compliant

  [Philipp Kerling]
   * [wayland] Request new frame cb only when previous one was signaled

  [DaveTBlake]
   * Fix artist info dialog so when click on discography item that is not in library nothing happens (there is no album information to display)

  [DaveTBlake]
   * Coverity fix remove implicit fall through from switch

  [Kai Sommerfeld]
   * [guiinfo] Fix Player.Duration / Musicplayer.Duration time format parameter handling. Fixes #15181.

  [Philipp Kerling]
   * Revert "FIX: [droid] translate to ascii for sorting"

  [ronie]
   * [Estuary] display seekbar on showtime action

  [Attila Jakosa]
   * [lang][skin.estuary] updated language files from Transifex

  [fritsch]
   * PVRClient: Do not overwrite arbitrary memory

  [Philipp Kerling]
   * [util] Redact URL in CUtil::ExcludeFileOrFolder

  [fritsch]
   * RendererVDPAU: Do not use memset on non-trivial type

  [DaveTBlake]
   * [JSON]Add OnRefresh announcement to the schema

  [DaveTBlake]
   * Fix *All Albums item removed by Coverity fix

  [Garrett Brown]
   * [keymaps] Specify that gamepad.xml is for EventServer "gamepads"

  [enen92]
   * [cosmetics] Rename movie to episode in CVideoDatabase::GetEpisodesByWhere

  [enen92]
   * [SmartPlaylists] Define DynPath for items retrieved from library (movies and episodes)

  [enen92]
   * [VideoPlayer] Use DynPath in GetExternalStreamDetailsFromFilename calls

  [Philipp Kerling]
   * [player] Update FileItem state on external player closing

  [Martijn Kaijser]
   * bump to v18.0 rc5

  [Memphiz]
   * [depends/shairplay] - added patch for fixing wrong detection condition for dns_sd.h (which is only needed when libdl is not found) - PR for this is upstream

  [Memphiz]
   * [airtunes] - the progress callback is fired before our player is started. Cache the reported start, end and current time and inform the player about those times once he is playing. Fixes missing progress/total time right after starting airplaying music

  [Memphiz]
   * [paplayer] - only set internal time and internal total time when stream is available. If not - keep the requested forced times until the stream is there.

  [Memphiz]
   * [depends/shairplay] - bump to latest master 096b61a - fixes airtunes with latest ios versions on linux

  [Memphiz]
   * [ZeroconfAvahi] - log error code in case creating the avahi client fails

  [Philipp Kerling]
   * [database] Replace CREATE TABLE […] AS SELECT […]

  [XODIDOX]
   * Add force flag to enable update file item in inactive window Update m_strDynpath

  [fritsch]
   * Resolution: Don't use half refreshrates when whitelist is empty

  [Martijn Kaijser]
   * [skin] Bump GUI ABI to 5.14.0


  [fritsch]
   * GLContextEGL: Remove logging

  [Martijn Kaijser]
   * bump v18.0 RC5 to rev. 2 We need a bump to be able to update Play Store

  [Philipp Kerling]
   * [database] Move join subquery into separate view for ancient MySQL

  [Philipp Kerling]
   * Fix whitespace

  [fritsch]
   * FFmpeg: Bump to 4.0.3-Leia-RC5

  [DaVukovic]
   * Improve detection of audio CDs using an infobool

  [Garrett Brown]
   * Fix typo

  [fritsch]
   * ButtonMapping: Change format identifier

  [fritsch]
   * StringUtils: Change format identifier

  [fritsch]
   * DisplaySettings: Change %.02f to %.2f to workaround a crash in libfmt 5.3


  [Philipp Kerling]
   * VideoInfoScanner: Correctly redact URLs

  [wildcat2020]
   * [database] Correct tvshow_view after PR #15185 merge to make sure it only returns one row per tvshow with correct strPath and idParentPath.


  [fritsch]
   * Set Decor-View: Transparent - ported from MRMC

  [fritsch]
   * Android: Transparency games


  [Dimitry Ishenko]
   * Misc fixes to prevent crashes when playing audio books


  [DaveTBlake]
   * Fix artist info dialog so when click on discography item that is not in library nothing happens (there is no album information to display)


  [Memphiz]
   * [PluginDirectory] - ensure that Abort of ScriptObserver waits for thread exit to prevent bad access of already destroyed event object


  [Attila Jakosa]
   * [lang][skin.estuary] updated language files from Transifex

  [enen92]
   * [docs] Fix layout of xbmcplugin.setContent

  [enen92]
   * [Issue templates] Raspberry PI typo

  [Markus Engel]
   * Correct order of colors in the bottom line

  [Kai Sommerfeld]
   * [PVR] guiinfo times: reset timeshift offset and timeshift play time after channel change.


  [Memphiz]
   * [osx/WinEventsSDL] - don't disable gui rendering when losing focus - fixes regression inroduced in #15105


  [wildcat2020]
   * [database] Make season_view and tvshow_view SQL ANSI92-compliant


  [Philipp Kerling]
   * [wayland] Request new frame cb only when previous one was signaled

  [DaveTBlake]
   * Coverity fix remove implicit fall through from switch

  [ronie]
   * [Estuary] display seekbar on showtime action

  [enen92]
   * [cosmetics] Rename movie to episode in CVideoDatabase::GetEpisodesByWhere

  [enen92]
   * [SmartPlaylists] Define DynPath for items retrieved from library (movies and episodes)

  [enen92]
   * [VideoPlayer] Use DynPath in GetExternalStreamDetailsFromFilename calls

  [Memphiz]
   * [depends/shairplay] - added patch for fixing wrong detection condition for dns_sd.h (which is only needed when libdl is not found) - PR for this is upstream

  [Memphiz]
   * [airtunes] - the progress callback is fired before our player is started. Cache the reported start, end and current time and inform the player about those times once he is playing. Fixes missing progress/total time right after starting airplaying music

  [Memphiz]
   * [paplayer] - only set internal time and internal total time when stream is available. If not - keep the requested forced times until the stream is there.

  [Memphiz]
   * [depends/shairplay] - bump to latest master 096b61a - fixes airtunes with latest ios versions on linux

  [Memphiz]
   * [ZeroconfAvahi] - log error code in case creating the avahi client fails

  [Philipp Kerling]
   * [database] Replace CREATE TABLE […] AS SELECT […]

  [XODIDOX]
   * Add force flag to enable update file item in inactive window Update m_strDynpath

  [fritsch]
   * Resolution: Don't use half refreshrates when whitelist is empty


  [Kai Sommerfeld]
   * [guiinfo] Fix Player.Duration / Musicplayer.Duration time format parameter handling. Fixes #15181.

  [DaveTBlake]
   * Fix *All Albums item removed by Coverity fix

  [Philipp Kerling]
   * [player] Update FileItem state on external player closing

  [Martijn Kaijser]
   * [skin] Bump GUI ABI to 5.14.0


  [Philipp Kerling]
   * Revert "FIX: [droid] translate to ascii for sorting"

  [fritsch]
   * PVRClient: Do not overwrite arbitrary memory

  [fritsch]
   * RendererVDPAU: Do not use memset on non-trivial type


  [Attila Jakosa]
   * [lang][skin.estuary] updated language files from Transifex


  [Philipp Kerling]
   * [util] Redact URL in CUtil::ExcludeFileOrFolder

  [DaveTBlake]
   * [JSON]Add OnRefresh announcement to the schema


  [Martijn Kaijser]
   * bump to v18.0 rc5


  [DaveTBlake]
   * Add "contributors" and "contributorandrole" to musicplayer infomap

  [wsnipex]
   * fix CID 1441972

  [Garrett Brown]
   * [keymaps] Specify that gamepad.xml is for EventServer "gamepads"

  [Philipp Kerling]
   * [music] Fix unchecked reinterpret_cast of ID3v2 UFID frame

  [Philipp Kerling]
   * [depends] Add missing zlib dependency to taglib

  [Philipp Kerling]
   * [guilib] Scroll GUIListLabel on focus only when enabled

  [Rainer Hochecker]
   * X11: move oml sync to advanced settings

  [Rainer Hochecker]
   * X11: add some logging for OML sync

  [Rechi]
   * [depends] fix m4 ftbfs with glibc 2.28

  [Martijn Kaijser]
   * bump to v18.0 rc5

  [Philipp Kerling]
   * [depends] bump libcec to 4.0.4

  [Philipp Kerling]
   * [vp] Fix path for looking up external subtitles

  [Anton Fedchin]
   * [settings] handle changes of VIDEOSCREEN_BLANKDISPLAYS setting

  [Anton Fedchin]
   * [win32] fixed blank other displays option

  [Anton Fedchin]
   * [win32] replace vc140 redis with vc141

  [Rosenhauer]
   * Change ReadEditDecisionLists to delay checking if file is coming from a PVR until after the check if it's a reference from a local HD or network share. For example MediaPortal can be configured to use SMB to get to TStreams from network for PVR recordings and the April change (to not looking at the file path but check where the request came from) broke this. In addition this check is already performed in the else statement.

  [Philipp Kerling]
   * [addons] Workaround file copying bug decoding "+" to space in file names

  [Philipp Kerling]
   * [opengl] Do not crash when not getting GL_EXTENSIONS

  [Philipp Kerling]
   * [wayland] Fix unsafe iterator copy

  [Philipp Kerling]
   * [guilib] Fix out-of-bounds vector access when "drawing" empty text

  [Memphiz]
   * [osx/WinEventsSDL] - ensure to enable gui rendering once the app gets focus. SDL doesn't fire the proper SDL_APPACTIVE event once Kodi is unminimized again so we need to use the focus event instead.

  [Anton Fedchin]
   * VideoPlayer: DXVA - fixed color values

  [Attila Jakosa]
   * [lang][skin.estouchy] updated language files from Transifex

  [Attila Jakosa]
   * [lang][skin.estuary] updated language files from Transifex

  [MilhouseVH]
   * python scripts: add missing icons

  [Philipp Kerling]
   * [addons] Do not list non-repo add-ons as "unavailable" in info dialog

  [Philipp Kerling]
   * [uwp] Replace kodi_temp_key.pfx

  [Philipp Kerling]
   * [guilib] Add missing dirty region update in GUIFadeLabelControl

  [Philipp Kerling]
   * Inhibit screensaver in a later initialization stage

  [EmilVogt]
   * [joystick.xml] Add <start> in Fullscreen TV/Radio to open Info

  [Kai Sommerfeld]
   * [json-rpc][pvr] Fix 'PVR.Record'.

  [Philipp Kerling]
   * [wayland] Centralize seat handling

  [AkariDN]
   * Fix watched items in plugins after updating Kodi

  [Philipp Kerling]
   * [depends] Update sqlite to 3.26.0

  [Kai Sommerfeld]
   * [macos] Remove storage device mount/unmount popups as we cannot eoaninguish between Kodi user and System initiated mounts/unmounts and popups for System initiated mounts/unmounts are very confusing and annoying.

  [Kai Sommerfeld]
   * Revert "[storage] MediaManager::Onstorage*: Do not show toasts if fullscreen window is active. User is not interesred in mount notifications while watching videos etc."

  [Philipp Kerling]
   * [addons] Log ID instead of name for insecure repository add-ons

  [peak3d]
   * [Android] pass AV_NOPTS_VALUE for OMX video decoders

  [enen92]
   * [settings] Parser for oldsettings - Fix settings starting with integers

  [Martijn Kaijser]
   * bump to v18.0 rc4

  [M Misch]
   * Update README.FreeBSD.md

  [EmilVogt]
   * [joystick.xml] Add more buttons to bring up OSD and Menu in EPG


  [wsnipex]
   * fix CID 1441972

  [Garrett Brown]
   * [keymaps] Specify that gamepad.xml is for EventServer "gamepads"

  [Philipp Kerling]
   * [music] Fix unchecked reinterpret_cast of ID3v2 UFID frame

  [Philipp Kerling]
   * [guilib] Scroll GUIListLabel on focus only when enabled

  [Philipp Kerling]
   * [addons] Workaround file copying bug decoding "+" to space in file names

  [Philipp Kerling]
   * [addons] Do not list non-repo add-ons as "unavailable" in info dialog

  [EmilVogt]
   * [joystick.xml] Add <start> in Fullscreen TV/Radio to open Info

  [EmilVogt]
   * [joystick.xml] Add more buttons to bring up OSD and Menu in EPG


  [DaveTBlake]
   * Add "contributors" and "contributorandrole" to musicplayer infomap

  [Philipp Kerling]
   * [depends] Add missing zlib dependency to taglib


  [Rainer Hochecker]
   * X11: move oml sync to advanced settings

  [Rainer Hochecker]
   * X11: add some logging for OML sync

  [Memphiz]
   * [osx/WinEventsSDL] - ensure to enable gui rendering once the app gets focus. SDL doesn't fire the proper SDL_APPACTIVE event once Kodi is unminimized again so we need to use the focus event instead.




  [Rechi]
   * [depends] fix m4 ftbfs with glibc 2.28

  [Philipp Kerling]
   * [depends] bump libcec to 4.0.4

  [Philipp Kerling]
   * [opengl] Do not crash when not getting GL_EXTENSIONS

  [Philipp Kerling]
   * [wayland] Centralize seat handling


  [Philipp Kerling]
   * [vp] Fix path for looking up external subtitles

  [Anton Fedchin]
   * [settings] handle changes of VIDEOSCREEN_BLANKDISPLAYS setting

  [Anton Fedchin]
   * [win32] fixed blank other displays option

  [Anton Fedchin]
   * [win32] replace vc140 redis with vc141


  [Rosenhauer]
   * Change ReadEditDecisionLists to delay checking if file is coming from a PVR until after the check if it's a reference from a local HD or network share. For example MediaPortal can be configured to use SMB to get to TStreams from network for PVR recordings and the April change (to not looking at the file path but check where the request came from) broke this. In addition this check is already performed in the else statement.

  [Philipp Kerling]
   * [wayland] Fix unsafe iterator copy

  [Philipp Kerling]
   * [guilib] Fix out-of-bounds vector access when "drawing" empty text

  [Anton Fedchin]
   * VideoPlayer: DXVA - fixed color values


  [Attila Jakosa]
   * [lang][skin.estouchy] updated language files from Transifex

  [Attila Jakosa]
   * [lang][skin.estuary] updated language files from Transifex

  [MilhouseVH]
   * python scripts: add missing icons

  [Philipp Kerling]
   * [uwp] Replace kodi_temp_key.pfx

  [Philipp Kerling]
   * [guilib] Add missing dirty region update in GUIFadeLabelControl

  [Philipp Kerling]
   * Inhibit screensaver in a later initialization stage

  [Kai Sommerfeld]
   * [json-rpc][pvr] Fix 'PVR.Record'.

  [Philipp Kerling]
   * [depends] Update sqlite to 3.26.0

  [M Misch]
   * Update README.FreeBSD.md


  [AkariDN]
   * Fix watched items in plugins after updating Kodi

  [Kai Sommerfeld]
   * [macos] Remove storage device mount/unmount popups as we cannot eoaninguish between Kodi user and System initiated mounts/unmounts and popups for System initiated mounts/unmounts are very confusing and annoying.

  [Kai Sommerfeld]
   * Revert "[storage] MediaManager::Onstorage*: Do not show toasts if fullscreen window is active. User is not interesred in mount notifications while watching videos etc."


  [Philipp Kerling]
   * [addons] Log ID instead of name for insecure repository add-ons


  [peak3d]
   * [Android] pass AV_NOPTS_VALUE for OMX video decoders


  [enen92]
   * [settings] Parser for oldsettings - Fix settings starting with integers

  [Martijn Kaijser]
   * bump to v18.0 rc4

  [DaVukovic]
   * [settings] Fix announcement call

  [Lukas Rusak]
   * Screenshot: simplify logic and bail out if no folder is set

  [Lukas Rusak]
   * VideoPlayer: release reference to m_pInputStream after usage

  [popcornmix]
   * OMXPlayerVideo: Send PLAYER_AVCHANGE message when stereo mode changes

  [popcornmix]
   * OMXPlayerVideo: Fix 3d horizontal/vertical mix up

  [Sam Nazarko]
   * AMLCodec: fix contrast setting

  [Sam Nazarko]
   * RenderAML: support vertical shift

  [Lukas Rusak]
   * libinput: add support for absolute pointer motion


  [enen92]
   * [settings] Parser for oldsettings - Fix settings starting with integers

  [Martijn Kaijser]
   * bump to v18.0 rc4

  [DaVukovic]
   * [settings] Fix announcement call

  [Lukas Rusak]
   * Screenshot: simplify logic and bail out if no folder is set

  [Lukas Rusak]
   * VideoPlayer: release reference to m_pInputStream after usage

  [peak3d]
   * [Android] remove mpeg4 HD restriction / use dts for unknown pts for mpeg4

  [popcornmix]
   * OMXPlayerVideo: Send PLAYER_AVCHANGE message when stereo mode changes

  [popcornmix]
   * OMXPlayerVideo: Fix 3d horizontal/vertical mix up

  [Anton Fedchin]
   * VideoPlayer: WinRenderBuffer - reset m_locked state on release

  [Anton Fedchin]
   * [win10] forcible change resolution (if required) on application starts

  [Anton Fedchin]
   * [win32] forcible change resolution (if required) on application starts

  [Sam Nazarko]
   * AMLCodec: fix contrast setting

  [Sam Nazarko]
   * RenderAML: support vertical shift

  [peak3d]
   * [Android] Reset calibrations if GUI limit changes

  [Anton Fedchin]
   * [win32] notify about resolution change in fullscreen exclusive mode.

  [Anton Fedchin]
   * [d3d11] fixed swap chain flags on resize and re-creation to allow switching display mode.

  [Anton Fedchin]
   * [win32] fix wrong output size in case when system doesn't inform windowing about desktop size change in true fullscreen.

  [popcornmix]
   * MMALRenderer: Destroy pool before component

  [popcornmix]
   * MMALCodec: Keep videBuffer valid until next decode picture

  [Lukas Rusak]
   * libinput: add support for absolute pointer motion

  [peak3d]
   * [Android] evaluate default subtitle position if GUI res != screen res

  [wsnipex]
   * [cmake] make sure APP_BUILD_DATE is always set

  [anxdpanic]
   * [docs] fixes for xbmcvfs.Stat

  [Rikard Falkeborn]
   * [omxplayer] Make functions const correct

  [peak3d]
   * [DemuxClient] Call SetStreamProps only if OpenStream succeeds

  [Unknown]
   * [settings] Hide episode thumb if unseen core wise

  [wsnipex]
   * [ResetRenderSystem] exit early if RenderSystem hasn't been initialized

  [enen92]
   * [docs] cosmetic changes to timeutils header file

  [enen92]
   * [Settings] Fix regression for time oldformat setting

  [wsnipex]
   * [cmake] fix ninja generator when dupbuild=err

  [enen92]
   * [settings] Fix regression (setting reuse)

  [wsnipex]
   * [systeminfo] use timestamp for application build date from BUILDATE file, if it exists

  [peak3d]
   * Default DVDInputStream::OpenStream to true

  [chewitt]
   * cmake: add freetype2 PATH_SUFFIX to FindFreeType.cmake

  [Memphiz]
   * [ios/launchimages] - added launchimages for ipad pro 10.5 and 11 inch - which is not covered by the launchimage editor of xcode

  [peak3d]
   * Fix failing VideoView creation

  [Memphiz]
   * [ios/launchimages] - added all needed launch images for all screen sizes (generated with xcode 10 and using a launchimage imageset xcasset) - fixes #14994

  [Memphiz]
   * [DawrinUtils/ios] - added screen scales for iPhoneXS, iPhoneXSMax, iPhoneXR, iPad 6th Generation, iPad Pro 11", iPad Pro 12.9" 3rd gen - fixes #14994

  [Arne Morten Kvarving]
   * fixed: division by zero in addon installation

  [peak3d]
   * Dispatch runUIThread messages on own HandlerThread

  [Martijn Kaijser]
   * bump to v18.0 rc3



  [peak3d]
   * [Android] remove mpeg4 HD restriction / use dts for unknown pts for mpeg4

  [Anton Fedchin]
   * [win10] forcible change resolution (if required) on application starts

  [Anton Fedchin]
   * [win32] forcible change resolution (if required) on application starts


  [Anton Fedchin]
   * VideoPlayer: WinRenderBuffer - reset m_locked state on release

  [peak3d]
   * [Android] Reset calibrations if GUI limit changes

  [Anton Fedchin]
   * [win32] notify about resolution change in fullscreen exclusive mode.

  [Anton Fedchin]
   * [d3d11] fixed swap chain flags on resize and re-creation to allow switching display mode.

  [Anton Fedchin]
   * [win32] fix wrong output size in case when system doesn't inform windowing about desktop size change in true fullscreen.

  [popcornmix]
   * MMALRenderer: Destroy pool before component

  [popcornmix]
   * MMALCodec: Keep videBuffer valid until next decode picture


  [Rikard Falkeborn]
   * [omxplayer] Make functions const correct

  [Unknown]
   * [settings] Hide episode thumb if unseen core wise


  [peak3d]
   * [Android] evaluate default subtitle position if GUI res != screen res

  [wsnipex]
   * [cmake] make sure APP_BUILD_DATE is always set

  [wsnipex]
   * [ResetRenderSystem] exit early if RenderSystem hasn't been initialized

  [wsnipex]
   * [cmake] fix ninja generator when dupbuild=err

  [enen92]
   * [settings] Fix regression (setting reuse)


  [anxdpanic]
   * [docs] fixes for xbmcvfs.Stat

  [wsnipex]
   * [systeminfo] use timestamp for application build date from BUILDATE file, if it exists

  [chewitt]
   * cmake: add freetype2 PATH_SUFFIX to FindFreeType.cmake


  [peak3d]
   * [DemuxClient] Call SetStreamProps only if OpenStream succeeds

  [enen92]
   * [docs] cosmetic changes to timeutils header file

  [enen92]
   * [Settings] Fix regression for time oldformat setting

  [Memphiz]
   * [ios/launchimages] - added launchimages for ipad pro 10.5 and 11 inch - which is not covered by the launchimage editor of xcode

  [Memphiz]
   * [ios/launchimages] - added all needed launch images for all screen sizes (generated with xcode 10 and using a launchimage imageset xcasset) - fixes #14994

  [Memphiz]
   * [DawrinUtils/ios] - added screen scales for iPhoneXS, iPhoneXSMax, iPhoneXR, iPad 6th Generation, iPad Pro 11", iPad Pro 12.9" 3rd gen - fixes #14994


  [peak3d]
   * Default DVDInputStream::OpenStream to true



  [peak3d]
   * Fix failing VideoView creation

  [Arne Morten Kvarving]
   * fixed: division by zero in addon installation

  [peak3d]
   * Dispatch runUIThread messages on own HandlerThread



  [Martijn Kaijser]
   * bump to v18.0 rc3


  [wsnipex]
   * [linux] powermanagement: change logind detection to also use Dbus

  [Martijn Kaijser]
   * bump to v18.0 rc3

  [enen92]
   * Missing docs for ListItem.NextDuration

  [Rechi]
   * [cleanup] remove code for glibc 2.0 and lower

  [Kai Sommerfeld]
   * [pvr] CPVRRecording::GetResumePoint(): Performance: Update resume point from backend at most every 10 secs.

  [da-anda]
   * [Bugfix][Android] fix handling of controller DPAD buttons

  [Rechi]
   * [win10] fix compiling test suite

  [Rechi]
   * [cleanup] remove obsolete AudioTrack code

  [Attila Jakosa]
   * [lang][skin.estouchy] updated language files from Transifex

  [Attila Jakosa]
   * [lang][skin.estuary] updated language files from Transifex

  [peak3d]
   * [Android] prevent passing negative pts values to mediacodec

  [Rechi]
   * [fix] remove network available checks in C(Directory

  [Rechi]
   * [cleanup] remove code for VS lower than 14.0 (2015)

  [Garrett Brown]
   *  Games: Assign joysticks in order of last activation

  [ronie]
   * [skin.estuary] fix visualization visibility

  [Jonas Karlman]
   * VideoLayerBridgeDRMPRIME: unmap previous buffer when current buffer is reused

  [Rechi]
   * [estuary] add default addon image fallback in addon browser

  [Alwin Esch]
   * [addons] show other string during install after download

  [Arne Morten Kvarving]
   * added: play next context menu and action

  [Rechi]
   * [fix] check add-on version for nullptr before constructing a std::string

  [Kai Sommerfeld]
   * [guiinfo] Move PVR.EpgEventIcon to the right mapping table (it is not a label that takes time format as paramter, thus it belongs not in the pvr_times table.

  [Kai Sommerfeld]
   * [guiinfo] Introduce ListItem.NextDuration (in fact implementation was there before but not usable by skinners as the respective entry in gui label mapping table was missing).

  [Kai Sommerfeld]
   * [PVR] Fix CPVRGUITimerInfo::TimerInfoToggle().

  [Alwin Esch]
   * [addons] fix addon install process percent indication

  [Kai Sommerfeld]
   * [Estuary] Adjust eventlog entry height so that it can display two full lines of text.

  [Attila Jakosa]
   * [lang][skin.estouchy] updated language files from Transifex

  [Attila Jakosa]
   * [lang][skin.estuary] updated language files from Transifex

  [Attila Jakosa]
   * [lang][kodi.core] automatic syntax corrections for the en_GB language file

  [Rainer Hochecker]
   * VideoPlayer: fix state of a/v players after switching refresh rate

  [Arthur Liberman]
   * [skin.estuary] Add Hebrew and Armenian typefaces to the fonts

  [Martijn Kaijser]
   * bump to v18.0 RC2


  [enen92]
   * Missing docs for ListItem.NextDuration


  [wsnipex]
   * [linux] powermanagement: change logind detection to also use Dbus




  [Rechi]
   * [cleanup] remove code for glibc 2.0 and lower

  [Kai Sommerfeld]
   * [pvr] CPVRRecording::GetResumePoint(): Performance: Update resume point from backend at most every 10 secs.

  [da-anda]
   * [Bugfix][Android] fix handling of controller DPAD buttons

  [peak3d]
   * [Android] prevent passing negative pts values to mediacodec

  [Garrett Brown]
   *  Games: Assign joysticks in order of last activation

  [Alwin Esch]
   * [addons] show other string during install after download

  [Alwin Esch]
   * [addons] fix addon install process percent indication


  [Rechi]
   * [win10] fix compiling test suite

  [Rechi]
   * [cleanup] remove obsolete AudioTrack code


  [Attila Jakosa]
   * [lang][skin.estouchy] updated language files from Transifex

  [Attila Jakosa]
   * [lang][skin.estuary] updated language files from Transifex

  [Rechi]
   * [fix] remove network available checks in C(Directory

  [Rechi]
   * [cleanup] remove code for VS lower than 14.0 (2015)

  [ronie]
   * [skin.estuary] fix visualization visibility

  [Jonas Karlman]
   * VideoLayerBridgeDRMPRIME: unmap previous buffer when current buffer is reused

  [Rechi]
   * [estuary] add default addon image fallback in addon browser


  [Arne Morten Kvarving]
   * added: play next context menu and action

  [Kai Sommerfeld]
   * [guiinfo] Move PVR.EpgEventIcon to the right mapping table (it is not a label that takes time format as paramter, thus it belongs not in the pvr_times table.

  [Kai Sommerfeld]
   * [guiinfo] Introduce ListItem.NextDuration (in fact implementation was there before but not usable by skinners as the respective entry in gui label mapping table was missing).


  [Rechi]
   * [fix] check add-on version for nullptr before constructing a std::string

  [Kai Sommerfeld]
   * [PVR] Fix CPVRGUITimerInfo::TimerInfoToggle().

  [Arthur Liberman]
   * [skin.estuary] Add Hebrew and Armenian typefaces to the fonts


  [Kai Sommerfeld]
   * [Estuary] Adjust eventlog entry height so that it can display two full lines of text.

  [Rainer Hochecker]
   * VideoPlayer: fix state of a/v players after switching refresh rate


  [Attila Jakosa]
   * [lang][skin.estouchy] updated language files from Transifex

  [Attila Jakosa]
   * [lang][skin.estuary] updated language files from Transifex

  [Attila Jakosa]
   * [lang][kodi.core] automatic syntax corrections for the en_GB language file


  [enen92]
   * [Docs] Improve the documentation for boolean conditions and infolabels. Make more use of doxygen special commands. Add revision history back to gotham

  [Martijn Kaijser]
   * bump to v18.0 RC2


  [enen92]
   * [Docs] Improve the documentation for boolean conditions and infolabels. Make more use of doxygen special commands. Add revision history back to gotham

  [DaVukovic]
   * [Estuary] Movie listing and overview fixes for sets

  [DaveTBlake]
   * Delete album sources when updating album so correctly replaced during library update

  [DaVukovic]
   * [Estuary] Rip audio-cd from 'Disc' home menu entry

  [KOPRajs]
   * [games] Show installed game clients first

  [Martijn Kaijser]
   * [addons] Switch from TVDB to TMDB as default TV show scraper - added TMDB scraper - adjusted addon manifest - adjusted default scraper in settings.xml

  [Philipp Kerling]
   * Actually destroy window system on application shutdown

  [xbmc]
   * X11: only use pixel buffers for EGL is env variable set

  [xbmc]
   * X11: fix segfault is GUI fails to create

  [Rechi]
   * [addons] sync with repo

  [Rechi]
   * [fix] remove outdated JsonSchemaBuilder executable after 6945a194de

  [Rechi]
   * [cmake] readd JsonSchemaBuilder into Tools folder after 6945a194de

  [Martijn Kaijser]
   * [addons] Switch from TVDB to TMDB as default TV show scraper - removed TVDBD scraper

  [Martijn Kaijser]
   * [skin] Bump target GUI API to 5.14.0 for Estuary and Estouchy

  [Martijn Kaijser]
   * [skinning] Bump GUI API after many changes since last bump

  [Alwin Esch]
   * [addons] remove never set value on CAddonInfo

  [peak3d]
   * [AddonVideoCodec] retrieve codec name after Open()

  [Philipp Kerling]
   * [addons] Sort logged list of installed add-ons

  [Rechi]
   * [addons] sync with repo

  [Kai Sommerfeld]
   * [storage] MediaManager::Onstorage*: Do not show toasts if fullscreen window is active. User is not interesred in mount notifications while watching videos etc.

  [enen92]
   * [docs] Trivial fixes to xbmc.Monitor docs

  [arnova]
   * fixed: Low fill rate detection logic when VideoPlayer uses filecache

  [peak3d]
   * [Android] check for valid winsystem when dispatching events

  [peak3d]
   * fetch current libandroidjni version

  [Lukas Rusak]
   * EGLUtils: add EglErrorCallback to debug egl problems

  [Lukas Rusak]
   * CRenderSystemGLES: allow using OpenGL debugging callbacks

  [Lukas Rusak]
   * GLUtils: add new GlErrorCallback for debugging OpenGL(ES) calls

  [DaVukovic]
   * [docs] Adding FrameAdvance documentation

  [Wolfgang Haupt]
   * VideoInfoTag: fix missing field overview for sets

  [Lukas Rusak]
   * VAAPI: add error and info callbacks

  [Kai Sommerfeld]
   * [pvr] Fix channel sorting. Fixes #14854.

  [Kai Sommerfeld]
   * [video] CSaveFileState::DoWork: For videodb items, use m_strFileNameAndPath, not GetPath(). Fixes Fixes #14847.

  [taxigps]
   * fix: ass subtitle render wrong when play half-sbs/half-ou 3d movie

  [enen92]
   * Extend IsRemote check to some missing vfs paths (closes #14817)

  [fritsch]
   * LinuxRenderGL: Properly draw black quads on entire GL window

  [Rechi]
   * [fix] redact paths in edl logging

  [Louis Sautier]
   * [settings] fix typo in UPNP setting description

  [Jonas Karlman]
   * windowing/gbm: rename planes

  [Elie ROUDNINSKI]
   * [cmake] Rework FindJsonSchemaBuilder on the model of FindTextureBuilder

  [Kai Sommerfeld]
   * [PVR] Remove 'Use simple Timeshift OSD' setting from settings.xml.

  [Philipp Kerling]
   * Do not inhibit OS screensaver when DPMS is active

  [Philipp Kerling]
   * Simplify screensaver deactivation conditions

  [Philipp Kerling]
   * Do not needlessly recreate screensaver inhibitor

  [Unknown]
   * [Kodi] Separate shown plots for unwatched items

  [Kai Sommerfeld]
   * [PVR] Make 'Simple Timeshift OSD' an advanced setting; remove corresponding standard setting.

  [Kai Sommerfeld]
   * [filemanager] Fix crash due to multiple busy dialog request.

  [Kai Sommerfeld]
   * [PVR] New PVR playback setting: 'Delay mark last watched'.

  [Lukas Rusak]
   * AdvancedSettings: add new opengldebugging setting

  [Lukas Rusak]
   * CShader: add shader source to log if it failed to compile

  [Lukas Rusak]
   * GLUtils: modernize VerifyGLState()

  [Memphiz]
   * [DetectDVDType]: in case DRIVER_OP_UNSUPPORTED is returned when checking traystate - ensure to treat it as NO_DVD_DRIVE. This fixes a crash where some raw disk on osx is wrongly detected as DVD Driver due to m_dwTrayState is initialised as TRAY_CLOSED_MEDIA_PRESENT and status is not checked for errors.

  [robertxgray]
   * [skin.estouchy] Fix order in Recent Movies

  [Kai Sommerfeld]
   * [PVR] CPVRChannel code cleanup.

  [Lukas Rusak]
   * [GLES] cleanup vsync implementation

  [Rechi]
   * [cmake] fix building with internal fmt

  [Kai Sommerfeld]
   * [macos] DAOperationContext: improve naming of members and fuctions.

  [Wolfgang Haupt]
   * Platform: linux - add missing include to fd event monitor

  [Kai Sommerfeld]
   * [macos] CDarwinStorageProvider::Eject: Fix crash due to double release of DADiskRef instance.

  [Lukas Rusak]
   * windowing/gbm: set default plane formats and use the getter methods to retrieve them

  [Kai Sommerfeld]
   * [macos] Implement eject/unmount functionality for removable drives.

  [peak3d]
   * [Settings] Implement FindIntInList in CSettingList

  [Lukas Rusak]
   * windowing/gbm: use the drm fd for the vaapi proxy

  [Lukas Rusak]
   * windowing/gbm: open the render node for the given module

  [Lukas Rusak]
   * windowing/gbm: use drmOpenWithType

  [Memphiz]
   * [osx/windowing] - fix "blank other displays" by using the actual screen idx instead of always using screen 0

  [Kai Sommerfeld]
   * Fix filemenager context menu regression: Re-Introduce 'Remove safely' and 'Eject / Load' for removable drives.

  [Jonas Karlman]
   * windowing/gbm: fallback to non-alpha visual id

  [Jonas Karlman]
   * windowing/gbm: use visual id to create gbm surface

  [Jonas Karlman]
   * windowing/gbm: move CreateNewWindow to WinSystemGbmEGLContext

  [peak3d]
   * [GUI] reinitialize addon path after returning with .. directory item

  [peak3d]
   * [GUI] re-evaluate playcount (watched state) when reading from filecache

  [Arne Morten Kvarving]
   * fixed: do not derefence nullptrs, log using id string

  [Kai Sommerfeld]
   * [PVR] Performance: Try to fetch missing EPG tag from backend at most every 30 secs.

  [Kevin Goffe]
   * [skin.estuary] Fix visibilty of overlay icons for wall views

  [Kai Sommerfeld]
   * [Estuary] Change videofullscreen wait indicator not to display if progress is less 1% and add a show/hide animation.

  [peak3d]
   * Trigger updateresolution on stream start to set fps in RM properly

  [Kai Sommerfeld]
   * [Estuary] Fix OSD sublabel var: Only display playlist info when a track from the current playlist is playing.

  [Rechi]
   * [cmake] fix building with internal libs

  [peak3d]
   * Fix coverty warnings

  [jjd-uk]
   * [Estuary]Show additional metadata in Song views

  [Kai Sommerfeld]
   * [Estuary] If avail, display RDS info line in PVR channel OSD.

  [Kai Sommerfeld]
   * [PVR] Refactor CGUIDialogPVRRadioRDSInfo.

  [DaveTBlake]
   * [JSON] Bump version to 10.0.0

  [Attila Jakosa]
   * [lang][skin.estouchy] updated language files from Transifex

  [Attila Jakosa]
   * [lang][skin.estuary] updated language files from Transifex

  [Attila Jakosa]
   * [lang][screensaver.xbmc.builtin.dim] automatic syntax corrections for the en_GB language file

  [Kai Sommerfeld]
   * [PVR] Refactor CPVRRadioRDSInfoTag and make it thread-safe. It is called from multiple threads.

  [Kai Sommerfeld]
   * [PVR] Cleanup: Remove CPVRRadioRDSInfoTag member from CFileItem and make it a CPVRChannel property.

  [Martijn Kaijser]
   * bump to v18.0 RC2

  [Martijn Kaijser]
   * bump to v18.0 RC1

  [VelocityRa]
   * RetroPlayer/rendering: Remove Deinitialize() from RPBaseRenderer

  [angelblue05]
   * Allow StartPercent property to be 0

  [Lukas Rusak]
   * RetroPlayer/renderer/GBM: Don't generate VBOs every frame

  [Nick Renieris]
   * RetroPlayer/renderer/GL: Use VAOs

  [Nick Renieris]
   * RetroPlayer/renderer/GL: Don't generate VBOs every frame

  [Nick Renieris]
   * RetroPlayer/renderer/GLES: Don't generate VBOs every frame


  [Lukas Rusak]
   * EGLUtils: add EglErrorCallback to debug egl problems

  [Lukas Rusak]
   * CRenderSystemGLES: allow using OpenGL debugging callbacks

  [Lukas Rusak]
   * GLUtils: add new GlErrorCallback for debugging OpenGL(ES) calls

  [Lukas Rusak]
   * AdvancedSettings: add new opengldebugging setting

  [Lukas Rusak]
   * CShader: add shader source to log if it failed to compile

  [Lukas Rusak]
   * GLUtils: modernize VerifyGLState()


  [DaVukovic]
   * [Estuary] Movie listing and overview fixes for sets

  [DaveTBlake]
   * Delete album sources when updating album so correctly replaced during library update

  [KOPRajs]
   * [games] Show installed game clients first

  [xbmc]
   * X11: only use pixel buffers for EGL is env variable set

  [xbmc]
   * X11: fix segfault is GUI fails to create

  [Alwin Esch]
   * [addons] remove never set value on CAddonInfo

  [Lukas Rusak]
   * VAAPI: add error and info callbacks


  [DaVukovic]
   * [Estuary] Rip audio-cd from 'Disc' home menu entry

  [Martijn Kaijser]
   * [addons] Switch from TVDB to TMDB as default TV show scraper - added TMDB scraper - adjusted addon manifest - adjusted default scraper in settings.xml

  [Philipp Kerling]
   * Actually destroy window system on application shutdown

  [Rechi]
   * [addons] sync with repo

  [Martijn Kaijser]
   * [addons] Switch from TVDB to TMDB as default TV show scraper - removed TVDBD scraper

  [Martijn Kaijser]
   * [skin] Bump target GUI API to 5.14.0 for Estuary and Estouchy

  [Martijn Kaijser]
   * [skinning] Bump GUI API after many changes since last bump


  [Rechi]
   * [fix] remove outdated JsonSchemaBuilder executable after 6945a194de

  [Rechi]
   * [cmake] readd JsonSchemaBuilder into Tools folder after 6945a194de

  [Philipp Kerling]
   * [addons] Sort logged list of installed add-ons

  [Kai Sommerfeld]
   * [storage] MediaManager::Onstorage*: Do not show toasts if fullscreen window is active. User is not interesred in mount notifications while watching videos etc.

  [arnova]
   * fixed: Low fill rate detection logic when VideoPlayer uses filecache

  [Rechi]
   * [fix] redact paths in edl logging

  [DaveTBlake]
   * [JSON] Bump version to 10.0.0


  [peak3d]
   * [AddonVideoCodec] retrieve codec name after Open()

  [Rechi]
   * [addons] sync with repo


  [enen92]
   * [docs] Trivial fixes to xbmc.Monitor docs

  [peak3d]
   * [Android] check for valid winsystem when dispatching events

  [peak3d]
   * fetch current libandroidjni version

  [enen92]
   * Extend IsRemote check to some missing vfs paths (closes #14817)


  [DaVukovic]
   * [docs] Adding FrameAdvance documentation

  [Wolfgang Haupt]
   * VideoInfoTag: fix missing field overview for sets

  [Memphiz]
   * [DetectDVDType]: in case DRIVER_OP_UNSUPPORTED is returned when checking traystate - ensure to treat it as NO_DVD_DRIVE. This fixes a crash where some raw disk on osx is wrongly detected as DVD Driver due to m_dwTrayState is initialised as TRAY_CLOSED_MEDIA_PRESENT and status is not checked for errors.


  [Kai Sommerfeld]
   * [pvr] Fix channel sorting. Fixes #14854.

  [Kai Sommerfeld]
   * [video] CSaveFileState::DoWork: For videodb items, use m_strFileNameAndPath, not GetPath(). Fixes Fixes #14847.

  [taxigps]
   * fix: ass subtitle render wrong when play half-sbs/half-ou 3d movie

  [fritsch]
   * LinuxRenderGL: Properly draw black quads on entire GL window

  [Jonas Karlman]
   * windowing/gbm: rename planes

  [Unknown]
   * [Kodi] Separate shown plots for unwatched items

  [Lukas Rusak]
   * [GLES] cleanup vsync implementation


  [Louis Sautier]
   * [settings] fix typo in UPNP setting description


  [Elie ROUDNINSKI]
   * [cmake] Rework FindJsonSchemaBuilder on the model of FindTextureBuilder

  [Philipp Kerling]
   * Do not inhibit OS screensaver when DPMS is active

  [Philipp Kerling]
   * Simplify screensaver deactivation conditions

  [Philipp Kerling]
   * Do not needlessly recreate screensaver inhibitor

  [robertxgray]
   * [skin.estouchy] Fix order in Recent Movies

  [angelblue05]
   * Allow StartPercent property to be 0


  [Kai Sommerfeld]
   * [PVR] Remove 'Use simple Timeshift OSD' setting from settings.xml.

  [Kai Sommerfeld]
   * [PVR] Make 'Simple Timeshift OSD' an advanced setting; remove corresponding standard setting.

  [Kai Sommerfeld]
   * [filemanager] Fix crash due to multiple busy dialog request.

  [Kai Sommerfeld]
   * [PVR] New PVR playback setting: 'Delay mark last watched'.

  [Kai Sommerfeld]
   * [PVR] CPVRChannel code cleanup.


  [Wolfgang Haupt]
   * Platform: linux - add missing include to fd event monitor


  [Rechi]
   * [cmake] fix building with internal fmt

  [Kai Sommerfeld]
   * [macos] DAOperationContext: improve naming of members and fuctions.

  [Kai Sommerfeld]
   * [macos] CDarwinStorageProvider::Eject: Fix crash due to double release of DADiskRef instance.

  [Lukas Rusak]
   * windowing/gbm: set default plane formats and use the getter methods to retrieve them

  [Kai Sommerfeld]
   * [macos] Implement eject/unmount functionality for removable drives.

  [peak3d]
   * [Settings] Implement FindIntInList in CSettingList

  [Lukas Rusak]
   * windowing/gbm: use the drm fd for the vaapi proxy

  [Lukas Rusak]
   * windowing/gbm: open the render node for the given module

  [Lukas Rusak]
   * windowing/gbm: use drmOpenWithType

  [Memphiz]
   * [osx/windowing] - fix "blank other displays" by using the actual screen idx instead of always using screen 0

  [Kai Sommerfeld]
   * Fix filemenager context menu regression: Re-Introduce 'Remove safely' and 'Eject / Load' for removable drives.

  [Jonas Karlman]
   * windowing/gbm: fallback to non-alpha visual id

  [Jonas Karlman]
   * windowing/gbm: use visual id to create gbm surface

  [Jonas Karlman]
   * windowing/gbm: move CreateNewWindow to WinSystemGbmEGLContext


  [peak3d]
   * [GUI] reinitialize addon path after returning with .. directory item


  [peak3d]
   * [GUI] re-evaluate playcount (watched state) when reading from filecache

  [Arne Morten Kvarving]
   * fixed: do not derefence nullptrs, log using id string

  [Kai Sommerfeld]
   * [PVR] Performance: Try to fetch missing EPG tag from backend at most every 30 secs.


  [Kevin Goffe]
   * [skin.estuary] Fix visibilty of overlay icons for wall views

  [Kai Sommerfeld]
   * [Estuary] Change videofullscreen wait indicator not to display if progress is less 1% and add a show/hide animation.

  [peak3d]
   * Trigger updateresolution on stream start to set fps in RM properly

  [Kai Sommerfeld]
   * [Estuary] Fix OSD sublabel var: Only display playlist info when a track from the current playlist is playing.

  [Rechi]
   * [cmake] fix building with internal libs

  [VelocityRa]
   * RetroPlayer/rendering: Remove Deinitialize() from RPBaseRenderer

  [Lukas Rusak]
   * RetroPlayer/renderer/GBM: Don't generate VBOs every frame

  [Nick Renieris]
   * RetroPlayer/renderer/GL: Use VAOs

  [Nick Renieris]
   * RetroPlayer/renderer/GL: Don't generate VBOs every frame

  [Nick Renieris]
   * RetroPlayer/renderer/GLES: Don't generate VBOs every frame


  [peak3d]
   * Fix coverty warnings

  [jjd-uk]
   * [Estuary]Show additional metadata in Song views

  [Kai Sommerfeld]
   * [Estuary] If avail, display RDS info line in PVR channel OSD.

  [Kai Sommerfeld]
   * [PVR] Refactor CGUIDialogPVRRadioRDSInfo.

  [Attila Jakosa]
   * [lang][skin.estouchy] updated language files from Transifex

  [Attila Jakosa]
   * [lang][skin.estuary] updated language files from Transifex

  [Attila Jakosa]
   * [lang][screensaver.xbmc.builtin.dim] automatic syntax corrections for the en_GB language file

  [Kai Sommerfeld]
   * [PVR] Refactor CPVRRadioRDSInfoTag and make it thread-safe. It is called from multiple threads.

  [Kai Sommerfeld]
   * [PVR] Cleanup: Remove CPVRRadioRDSInfoTag member from CFileItem and make it a CPVRChannel property.


  [Attila Jakosa]
   * [lang][skin.estouchy] updated language files from Transifex

  [Attila Jakosa]
   * [lang][skin.estuary] updated language files from Transifex

  [Attila Jakosa]
   * [lang][screensaver.xbmc.builtin.dim] automatic syntax corrections for the en_GB language file

  [Martijn Kaijser]
   * bump to v18.0 RC1

  [Martijn Kaijser]
   * [droid] bump version_code in version.txt because of Play Store

  [Rechi]
   * FFmpeg: Bump to 4.0.3-Leia-Beta5

  [DaveTBlake]
   * Allow remote access to images embedded in music or video files (on sources that allow share), and to artist art in the nominated Artist Information folder

  [Rechi]
   * [windows] bump OpenSSL to 1.1.1

  [Rechi]
   * [windows] build FFmpeg static

  [Rechi]
   * [cpluff] rename functions to not conflict with mariadb-connector

  [Lukas Rusak]
   * Revert "windowing/gbm: add VT handler"

  [DaveTBlake]
   * Include auto-mounted drives as sources in remote access allowed check

  [peak3d]
   * [Android] Wait 2000 instead 500ms until videoview is created

  [peak3d]
   * [Android] MediaCodec: use input buffers again if queing fails

  [Alwin Esch]
   * [test] Change kodi-test help text to right names

  [Kai Sommerfeld]
   * [macos] Support all display resolutions available on the given screen.

  [Kai Sommerfeld]
   * [PVR] Reduce PVR build dependencies: Get rid of pvr/PVREvent.h (in favour to forward declarations).

  [Kai Sommerfeld]
   * [PVR][settings] Get rid of CSettings' and CSettingConditions' PVR dependencies.

  [Ryan Rector]
   * whitelist movie set artwork from scrapers/NFO files

  [Ryan Rector]
   * [videodb] fix: new query in HasArtForItem

  [Ryan Rector]
   * VideoThumbLoader: "Choose art" don't add duplicate types

  [Rechi]
   * [depends] bump libdvdcss to 1.4.2-Leia-Beta-5

  [Rechi]
   * [windows] correct FFmpeg rebuild detection after 7353860

  [Kevin Goffe]
   * [skin.estuary] Add 8K support

  [peak3d]
   * [VideoPlayer] SetResolution synchronously instead RM::TriggerResolution

  [Lukas Rusak]
   * [GLES] VideoPlayer: more cleanup

  [peak3d]
   * [Android] block ResolutionChange until onDisplayChanged arrives

  [Alwin Esch]
   * [addons] remove CAddonDll::GetSetting() is calling the parent only

  [ronie]
   * [python-scrapers] extended music artwork

  [peak3d]
   * [Aplication] Don't render in Flip() if m_renderGUI is off

  [peak3d]
   * Fix RES_DESKTOP calibration setting assignement

  [Kai Sommerfeld]
   * [Estuary] Add media/flags/audiocodec/mp3float.png texture to support mp3float audio codec.

  [DaveTBlake]
   * Fix to read advanced setting for artist art after Coverity scan fixes

  [Kevin Goffe]
   * Fix empty VideoResolution for certain 4K videos

  [Kai Sommerfeld]
   * [Estuary] Video OSD and Music OSD enhancements/fixes.

  [DaveTBlake]
   * [JSON]Fix logic of addon is broken test

  [fritsch]
   * GLContextEGL: Fall back to GL 2 compatibility version

  [Kai Sommerfeld]
   * [PVR][Estuary] Add GUI for Radio Data System (RDS).

  [Memphiz]
   * [osx/windowing] - removed "true fullscreen" mode as it is not supported on mac os. We only support fake fullscreen.

  [enen92]
   * [Settings] Update videoscreen.screen setting when toggling fullscreen (closes #14705)

  [fritsch]
   * Settings: Make Whitelist Expert level

  [fritsch]
   * Resolution: Use v17 behaviour if whitelist is not present

  [Garrett Brown]
   * GUIInfo: Add doxy for ListItem.Property(Game.*)

  [Garrett Brown]
   * GUIInfo: Add RetroPlayer.VideoFilter and RetroPlayer.VideoRotation

  [VelocityRa]
   * [xbmc][settings][GL][DX]: Remove test patterns

  [VelocityRa]
   * Revert "[xbmc][settings][GL][DX]: Remove test patterns"

  [VelocityRa]
   * [xbmc][settings][GL][DX]: Remove test patterns

  [enen92]
   * [Docs] Cleanup removed methods and style fixes

  [Garrett Brown]
   * Peripherals: Fix compiler warnings on Windows

  [Garrett Brown]
   * VideoPlayer: Fix warning

  [Garrett Brown]
   * CZipFile: Fix warning due to uninitialized members

  [Garrett Brown]
   * CZipFile: Fix compiler warnings on Windows

  [Garrett Brown]
   * CZipFile: Fix compiler warnings on Linux

  [Garrett Brown]
   * CGUIMediaWindow: Fix compiler warning

  [Rechi]
   * [depends] export TOOLCHAIN & HOST for android in binaddons cmake toolchain

  [Garrett Brown]
   * Games: Remove ListItem.Property(duration) savestate property

  [Garrett Brown]
   * Game GUI settings: Replace stretch mode int with string

  [Garrett Brown]
   * [Estuary] Remove unused default icons

  [ronie]
   * [Estuary] bug fixes

  [Memphiz]
   * [settings/osx] - hide the fakefullscreen setting. Non-Fake fullscreen is deprecated since 10.7 and non-working since 10.8. Apple suggests fake fullscreen by using a fullscreen window - and we are doing so.

  [Lukas Rusak]
   * windowing/gbm: authorize drm master if drmSetMaster fails

  [Lukas Rusak]
   * [GLES] cleanup shaders

  [Lukas Rusak]
   * VideoPlayer: remove unused YUVMatrix files

  [Lukas Rusak]
   * [GLES] VideoPlayer: cleanup code

  [Lukas Rusak]
   * [GLES] VideoPlayer: implement tone mapping

  [Garrett Brown]
   * Input: Move action source files to 'input/actions/' subfolder

  [Garrett Brown]
   * Keyboard: Move XBMCKey enum into KEYBOARD namespace

  [DaveTBlake]
   * [JSON] Fix AudioLibrary.GetArtists when only one of "thumbnail" or "fanart" properties requested.

  [Lukas Rusak]
   * LinuxRendererGLES: cleanup confusing log messages

  [Lukas Rusak]
   * [GLES] VideoPlayer: rewrite yuv - rgb conversion

  [Garrett Brown]
   * Addons: Replaced broken test with new derived method

  [Garrett Brown]
   * Addons: Don't consider broken add-ons installable

  [Lukas Rusak]
   * windowing/gbm: fallback to 8bit mode if no matching 10bit EGL config is found

  [Lukas Rusak]
   * CDRMUtils: add 10 bit overlay plane support

  [Lukas Rusak]
   * CDRMUtils: only support NV12 for now (we can add more formats later)

  [Lukas Rusak]
   * CDRMUtils: rename planes so we know they are kodi specific

  [Lukas Rusak]
   * windowing/gbm: use CFileHandle to handle the fd

  [enen92]
   * [Subtitles] Avoid using res and overscan (use rectview instead)

  [Arne Morten Kvarving]
   * remove some duplicates from mime type mapping

  [Arne Morten Kvarving]
   * changed: modernize mime type map initialization

  [Lukas Rusak]
   * EGLUtils: breakup EGL init process

  [Memphiz]
   * [cmake/Xcode] - fix missing text and icon resources when using target Xcode

  [Garrett Brown]
   * FullscreenGame: Remove OSD toggle

  [Kevin Goffe]
   * [Estuary] Update addon browser

  [Chris "Koying" Browet]
   * [android] bump targetsdk to 26 and handle runtime security

  [Arne Morten Kvarving]
   * add mime types for heif/heic

  [Arne Morten Kvarving]
   * fixed: add-on creation is not thread safe

  [Sergey Shramchenko]
   * Fix crash on exit when checking of libgpg-error lock object size.

  [peak3d]
   * [Android] switch renderGUI based on surface existance instead onPause/onSuspend

  [Garrett Brown]
   * Games: Fix crash on game close after controller disconnects

  [Garrett Brown]
   * Game OSD: Always show help if no controllers are connected

  [Garrett Brown]
   * [cosmetic] Controllers: Fix typos in comments

  [Garrett Brown]
   * Controllers: Fix compiler warnings on Windows

  [fritsch]
   * DVDVideoCodecAndroidMediaCodec: Revert c15ff2d9f6e

  [Garrett Brown]
   * Fix incorrect resolution when stopping playback on OSX

  [Garrett Brown]
   * Fix incorrect resolution when aborting fullscreen switch on OSX

  [Garrett Brown]
   * Fix infinite loop when listitem action is "Play"

  [Arne Morten Kvarving]
   * fixed: old rangeofnum settings are converted to number

  [Martijn Kaijser]
   * [addons] Update Chorus2 to v18.x-2.4.6

  [Rainer Hochecker]
   * OSX: fix fullscreen on Mojave

  [Wolfgang Haupt]
   * fixup! Windowing: GBM - make sure connector is connected before doing a modeset

  [Martijn Kaijser]
   * bump to v18.0 beta5

  [Wolfgang Haupt]
   * Windowing: GBM - make sure connector is connected before doing a modeset

  [Unknown]
   * Use one of the original item url to get url options

  [Diogo Santos]
   * Update CPackConfigDEB.cmake

  [Diogo Santos]
   * Update Install.cmake

  [Diogo Santos]
   * Update and rename kodi-eventclients-xbmc-send.txt.in to kodi-eventclients-kodi-send.txt.in


  [Martijn Kaijser]
   * bump to v18.0 RC1

  [Martijn Kaijser]
   * [droid] bump version_code in version.txt because of Play Store

  [Rechi]
   * FFmpeg: Bump to 4.0.3-Leia-Beta5

  [DaveTBlake]
   * Allow remote access to images embedded in music or video files (on sources that allow share), and to artist art in the nominated Artist Information folder

  [Rechi]
   * [windows] bump OpenSSL to 1.1.1

  [Rechi]
   * [windows] build FFmpeg static

  [Rechi]
   * [cpluff] rename functions to not conflict with mariadb-connector

  [Lukas Rusak]
   * Revert "windowing/gbm: add VT handler"

  [Ryan Rector]
   * whitelist movie set artwork from scrapers/NFO files

  [Ryan Rector]
   * [videodb] fix: new query in HasArtForItem

  [Ryan Rector]
   * VideoThumbLoader: "Choose art" don't add duplicate types


  [DaveTBlake]
   * Include auto-mounted drives as sources in remote access allowed check

  [ronie]
   * [python-scrapers] extended music artwork

  [VelocityRa]
   * [xbmc][settings][GL][DX]: Remove test patterns


  [peak3d]
   * [Android] Wait 2000 instead 500ms until videoview is created

  [peak3d]
   * [Android] MediaCodec: use input buffers again if queing fails

  [Alwin Esch]
   * [test] Change kodi-test help text to right names

  [Kai Sommerfeld]
   * [macos] Support all display resolutions available on the given screen.

  [Kai Sommerfeld]
   * [PVR] Reduce PVR build dependencies: Get rid of pvr/PVREvent.h (in favour to forward declarations).

  [Kai Sommerfeld]
   * [PVR][settings] Get rid of CSettings' and CSettingConditions' PVR dependencies.

  [Rechi]
   * [depends] bump libdvdcss to 1.4.2-Leia-Beta-5

  [Rechi]
   * [windows] correct FFmpeg rebuild detection after 7353860

  [Kevin Goffe]
   * [skin.estuary] Add 8K support

  [peak3d]
   * [VideoPlayer] SetResolution synchronously instead RM::TriggerResolution

  [Lukas Rusak]
   * [GLES] VideoPlayer: more cleanup

  [peak3d]
   * [Android] block ResolutionChange until onDisplayChanged arrives

  [Alwin Esch]
   * [addons] remove CAddonDll::GetSetting() is calling the parent only


  [peak3d]
   * [Aplication] Don't render in Flip() if m_renderGUI is off

  [peak3d]
   * Fix RES_DESKTOP calibration setting assignement


  [Kai Sommerfeld]
   * [Estuary] Add media/flags/audiocodec/mp3float.png texture to support mp3float audio codec.

  [DaveTBlake]
   * Fix to read advanced setting for artist art after Coverity scan fixes

  [Kevin Goffe]
   * Fix empty VideoResolution for certain 4K videos

  [Kai Sommerfeld]
   * [Estuary] Video OSD and Music OSD enhancements/fixes.

  [DaveTBlake]
   * [JSON]Fix logic of addon is broken test

  [Garrett Brown]
   * Fix incorrect resolution when stopping playback on OSX

  [Garrett Brown]
   * Fix incorrect resolution when aborting fullscreen switch on OSX


  [fritsch]
   * GLContextEGL: Fall back to GL 2 compatibility version

  [Lukas Rusak]
   * [GLES] cleanup shaders

  [Lukas Rusak]
   * VideoPlayer: remove unused YUVMatrix files

  [Lukas Rusak]
   * [GLES] VideoPlayer: cleanup code

  [Lukas Rusak]
   * [GLES] VideoPlayer: implement tone mapping

  [Lukas Rusak]
   * LinuxRendererGLES: cleanup confusing log messages

  [Lukas Rusak]
   * [GLES] VideoPlayer: rewrite yuv - rgb conversion


  [Kai Sommerfeld]
   * [PVR][Estuary] Add GUI for Radio Data System (RDS).

  [fritsch]
   * Settings: Make Whitelist Expert level

  [fritsch]
   * Resolution: Use v17 behaviour if whitelist is not present

  [enen92]
   * [Docs] Cleanup removed methods and style fixes

  [Garrett Brown]
   * Addons: Replaced broken test with new derived method

  [Garrett Brown]
   * Addons: Don't consider broken add-ons installable


  [Memphiz]
   * [osx/windowing] - removed "true fullscreen" mode as it is not supported on mac os. We only support fake fullscreen.

  [enen92]
   * [Settings] Update videoscreen.screen setting when toggling fullscreen (closes #14705)

  [enen92]
   * [Subtitles] Avoid using res and overscan (use rectview instead)

  [Arne Morten Kvarving]
   * remove some duplicates from mime type mapping

  [Arne Morten Kvarving]
   * changed: modernize mime type map initialization

  [Arne Morten Kvarving]
   * fixed: old rangeofnum settings are converted to number

  [Unknown]
   * Use one of the original item url to get url options

  [Diogo Santos]
   * Update CPackConfigDEB.cmake

  [Diogo Santos]
   * Update Install.cmake

  [Diogo Santos]
   * Update and rename kodi-eventclients-xbmc-send.txt.in to kodi-eventclients-kodi-send.txt.in


  [Garrett Brown]
   * GUIInfo: Add doxy for ListItem.Property(Game.*)

  [Garrett Brown]
   * GUIInfo: Add RetroPlayer.VideoFilter and RetroPlayer.VideoRotation

  [Garrett Brown]
   * Peripherals: Fix compiler warnings on Windows

  [Garrett Brown]
   * VideoPlayer: Fix warning

  [Garrett Brown]
   * CZipFile: Fix warning due to uninitialized members

  [Garrett Brown]
   * CZipFile: Fix compiler warnings on Windows

  [Garrett Brown]
   * CZipFile: Fix compiler warnings on Linux

  [Garrett Brown]
   * CGUIMediaWindow: Fix compiler warning

  [Garrett Brown]
   * Games: Remove ListItem.Property(duration) savestate property

  [Garrett Brown]
   * Game GUI settings: Replace stretch mode int with string

  [Lukas Rusak]
   * windowing/gbm: authorize drm master if drmSetMaster fails

  [Garrett Brown]
   * [cosmetic] Controllers: Fix typos in comments

  [Garrett Brown]
   * Controllers: Fix compiler warnings on Windows


  [VelocityRa]
   * Revert "[xbmc][settings][GL][DX]: Remove test patterns"

  [VelocityRa]
   * [xbmc][settings][GL][DX]: Remove test patterns

  [Rechi]
   * [depends] export TOOLCHAIN & HOST for android in binaddons cmake toolchain

  [Garrett Brown]
   * [Estuary] Remove unused default icons

  [fritsch]
   * DVDVideoCodecAndroidMediaCodec: Revert c15ff2d9f6e


  [ronie]
   * [Estuary] bug fixes

  [Memphiz]
   * [settings/osx] - hide the fakefullscreen setting. Non-Fake fullscreen is deprecated since 10.7 and non-working since 10.8. Apple suggests fake fullscreen by using a fullscreen window - and we are doing so.

  [Garrett Brown]
   * Input: Move action source files to 'input/actions/' subfolder

  [Garrett Brown]
   * Keyboard: Move XBMCKey enum into KEYBOARD namespace

  [DaveTBlake]
   * [JSON] Fix AudioLibrary.GetArtists when only one of "thumbnail" or "fanart" properties requested.

  [Garrett Brown]
   * Game OSD: Always show help if no controllers are connected

  [Martijn Kaijser]
   * [addons] Update Chorus2 to v18.x-2.4.6


  [Lukas Rusak]
   * windowing/gbm: fallback to 8bit mode if no matching 10bit EGL config is found

  [Lukas Rusak]
   * CDRMUtils: add 10 bit overlay plane support

  [Lukas Rusak]
   * CDRMUtils: only support NV12 for now (we can add more formats later)

  [Lukas Rusak]
   * CDRMUtils: rename planes so we know they are kodi specific

  [Lukas Rusak]
   * windowing/gbm: use CFileHandle to handle the fd

  [Lukas Rusak]
   * EGLUtils: breakup EGL init process

  [Memphiz]
   * [cmake/Xcode] - fix missing text and icon resources when using target Xcode

  [Garrett Brown]
   * FullscreenGame: Remove OSD toggle

  [Arne Morten Kvarving]
   * add mime types for heif/heic

  [Arne Morten Kvarving]
   * fixed: add-on creation is not thread safe

  [Sergey Shramchenko]
   * Fix crash on exit when checking of libgpg-error lock object size.

  [Garrett Brown]
   * Games: Fix crash on game close after controller disconnects

  [Rainer Hochecker]
   * OSX: fix fullscreen on Mojave

  [Wolfgang Haupt]
   * fixup! Windowing: GBM - make sure connector is connected before doing a modeset

  [Wolfgang Haupt]
   * Windowing: GBM - make sure connector is connected before doing a modeset


  [Kevin Goffe]
   * [Estuary] Update addon browser

  [Chris "Koying" Browet]
   * [android] bump targetsdk to 26 and handle runtime security

  [peak3d]
   * [Android] switch renderGUI based on surface existance instead onPause/onSuspend

  [ace20022]
   * [music] Fix compilation with older taglib versions.

  [Arne Morten Kvarving]
   * fixed: do not add rar to subtitle files without support

  [Tyler Szabo]
   * [playlists] Add support for reading XSPF playlists

  [Garrett Brown]
   * Fix infinite loop when listitem action is "Play"

  [Arne Morten Kvarving]
   * changed: remove hardcoded entries for hostname as parent

  [Arne Morten Kvarving]
   * added: flag for vfs add-ons with encoded hostnames in urls

  [Martijn Kaijser]
   * bump to v18.0 beta5


  [ace20022]
   * [music] Fix compilation with older taglib versions.

  [Arne Morten Kvarving]
   * changed: remove old shoutcast workaround in curl file

  [Arne Morten Kvarving]
   * fixed: do not add rar to subtitle files without support

  [Rechi]
   * [windows] bump nfs to 3.0.0

  [Tyler Szabo]
   * [playlists] Add support for reading XSPF playlists

  [Garrett Brown]
   * Game API v1.1.0: Add feature names to controller layouts

  [Garrett Brown]
   * Game API v1.0.39: Start controller and port addresses with "/"

  [Garrett Brown]
   * Game API: [cosmetic] Fix leading whitespace

  [Rechi]
   * [addons] sync with repo

  [Rechi]
   * [addons] bump repository.xbmc.org to 3.1.4

  [Rechi]
   * [addons] force a repo refresh (ignore checksum) if repo version changed

  [Rainer Hochecker]
   * X11: EGL - create PB if creation of surface for window fails

  [Rainer Hochecker]
   * OpenGL: RenderSystem - re-init shaders on reset

  [Rainer Hochecker]
   * X11: properly handle XRROutputChangeNotifyEvent - handles change of EDID

  [Rainer Hochecker]
   * ALSA: remove control monitor on X11

  [Garrett Brown]
   * Fix broken controller input in games

  [Rechi]
   * [fix][win10] relocate InitOSKeymap after 723aeaa

  [Lukas Rusak]
   * windowing/gbm: add VT handler

  [Rechi]
   * [cmake][addons] package CUSTOM_DATA & ADDITIONAL_BINARY for posix

  [ace20022]
   * [windows] Cleanup includes.

  [ace20022]
   * [video] Cleanup includes.

  [ace20022]
   * [utils] Cleanup includes.

  [ace20022]
   * [threads] Cleanup includes.

  [Lukas Rusak]
   * [GL] use smart pointers for shaders

  [Lukas Rusak]
   * [GLES] use smart pointers for shaders

  [ace20022]
   * [settings] Cleanup includes.

  [ace20022]
   * [profiles] Cleanup includes.

  [ace20022]
   * [playlist] Cleanup includes.

  [ace20022]
   * [platform] Cleanup includes.

  [ace20022]
   * [pictures] Cleanup includes.

  [ace20022]
   * [peripherals] Cleanup includes.

  [Arne Morten Kvarving]
   * fixed: KODI_BUILD_DIR mirroring of custom data

  [Kolja Lampe]
   * Fix cue sheet iteration ignoring the last line

  [ace20022]
   * [network] Cleanup includes.

  [ace20022]
   * [music] Cleanup includes.

  [ace20022]
   * [listproviders] Cleanup includes.

  [ace20022]
   * [interfaces] Cleanup includes.

  [ace20022]
   * [input] Cleanup includes.

  [ace20022]
   * [guilib] Cleanup includes.

  [ace20022]
   * [games] Cleanup includes.

  [ace20022]
   * [filesystem] Cleanup includes.

  [ace20022]
   * [VideoPlayer] Cleanup includes.

  [Arne Morten Kvarving]
   * added: copyright years to version.txt

  [Rechi]
   * [addons] bump repository.xbmc.org to 3.1.3

  [MilhouseVH]
   * Avoid hard-coding the repo for binary addons

  [Rainer Hochecker]
   * X11: fixes a lot of misses in VideoReferenceClock OML

  [Kai Sommerfeld]
   * [PVR] Fix CID 188792: Memory - illegal accesses (WRAPPER_ESCAPE).

  [Arne Morten Kvarving]
   * changed: remove hardcoded entries for hostname as parent

  [Arne Morten Kvarving]
   * added: flag for vfs add-ons with encoded hostnames in urls

  [Ryan Rector]
   * Add own set artwork to Choose art dialog

  [Martijn Kaijser]
   * [estuary] Enter add-on browser in Games section should point to repo instead of local local files now we have binary repo.

  [Martijn Kaijser]
   * [estuary] Enter add-on browser in PVR section should point to repo instead of local now we have PVR clients added to repo.

  [Martijn Kaijser]
   * [addons] Remove game addons from addon-manifest as they are no longer shipped with the installer and are now available from Kodi repo

  [Martijn Kaijser]
   * [windows] Add message to installer that add-ons have been removed from the installer and added to Kodi repository.

  [Lukas Rusak]
   * CryptThreading: reset CRYPTO_set_id_callback to nullptr in destructor

  [Lukas Rusak]
   * windowing/gbm: reset libinput early to avoid shutdown races

  [Lukas Rusak]
   * CApplication: add nullptr checks to allow a clean shutdown

  [peak3d]
   * [Android] more frame timing optimizations

  [Nick Renieris]
   * [depends][configure] Fix typo in variable name

  [Rechi]
   * [windows] make-addons: remove surrounding quotation marks

  [Kai Sommerfeld]
   * [PVR] Integrate PVR client menu hooks into context menu system.

  [Kai Sommerfeld]
   * [PVR] Refactor client menu hooks.

  [Alwin Esch]
   * [pvr] fix EPG crash and recording errors produced by not present data on addon call

  [djp952]
   * Fix NDK r18 Android x86 ffmpeg dependency build

  [wsnipex]
   * [cmake] FindMariaDBClient: use pkgconfig if available

  [Rechi]
   * [fix][windows] check FirstUnicastAddress for nullptr

  [Lukas Obermann]
   * CCurlFile::Exists() to fallback to GET if 405 is returned

  [Ryan Rector]
   * separate set artwork from scraper/nfo/import by prefix

  [Anssi Hannula]
   * DVDAudioCodecPassthrough: Fix off-by-one-frame timestamps

  [Anssi Hannula]
   * AEStreamParser: Fix E-AC-3 dependent stream passthrough (trac#17871)

  [Anssi Hannula]
   * AEStreamParser: Fix duplicated frame when syncFunc requests more data

  [Anssi Hannula]
   * AEStreamParser: Split TrySyncAC3() out of SyncAC3()

  [Rechi]
   * [depends] binary-addons: allow setting ADDONS from outside if make is executed in a script

  [Rechi]
   * [depends] binary-addons: fix install directories for android & linux

  [fritsch]
   * AESinkAUDIOTRACK: Only enable multi channel float for Android 7 or later

  [Ryan Rector]
   * Add movie set artwork to movie FileItem

  [Ryan Rector]
   * Use a single art cache

  [fritsch]
   * ActiveAE: Return false when streamtype differs in passthrough case

  [peak3d]
   * Wait for AnnouncementManager thread to exit

  [Rechi]
   * [jenkins] allow depends optimisation for release configuration

  [Rechi]
   * depends] binary-addons: add ADDONS_DEFINITION_DIR & EXTRA_CMAKE_ARGS support

  [Rechi]
   * [depends] binary-addons: add packaging support

  [Rechi]
   * [windows] support ADDON_SRC_PREFIX & ADDONS_DEFINITION_DIR in make-addons

  [Rechi]
   * [windows] pass ADDONS_TO_BUILD only if give as argument

  [Rainer Hochecker]
   * VideoPlayer: create new audiosink if pt stream type changes

  [Tyler Szabo]
   * [tools] windows: prevent env corruption from multiple vswhere.cmd calls

  [peak3d]
   * [Android] Dis- Enable GUI onPause / onContinue

  [ronie]
   * [Estouchy] prevent from getting locked in

  [ronie]
   * [Estuary] fix a few cosmetic issues

  [ace20022]
   * [doxy][addons] Sync doxygen documentation with code changes, like renamed/removed/added parameters. Add return descriptions and remove an obsolete method.

  [enen92]
   * [docs] Document removed python API functions (RenderCapture)

  [Lukas Obermann]
   * CCurlFile::Stat missing easy_release on early return

  [Ryan Rector]
   * [videolibrary] Assign extra artwork from file system

  [Lukas Rusak]
   * EGLUtils: allow selecting a high priority EGL context

  [Lukas Rusak]
   * EGLUtils: add vector version of CEGLAttributes

  [Martijn Kaijser]
   * bump to v18.0 beta5

  [Lukas Rusak]
   * CEGLUtils: log the egl attributes of the chosen config

  [Lukas Rusak]
   * EGLUtils: use a configless context if available

  [fritsch]
   * MusicInfoScanner: Simplify string list appending

  [fritsch]
   * LangInfo: Fix coverity insert const

  [ace20022]
   * [RetroPlayer] Cleanup includes.

  [ace20022]
   * [playercorefactory] Cleanup includes.

  [ace20022]
   * [PAPlayer] Cleanup includes.

  [ace20022]
   * [ExternalPlayer] Cleanup includes.

  [ace20022]
   * [AudioEngine] Cleanup includes.

  [ace20022]
   * [dialogs] Cleanup includes.

  [ace20022]
   * [dbwrappers] Cleanup includes.

  [ace20022]
   * [cdrip] Cleanup includes.

  [Lukas Rusak]
   * fixup! EGLUtils: log the egl version, vendor and extensions

  [Rechi]
   * [cmake] adjust output path of packaged binary addons

  [Rechi]
   * [addons] add architecture dependent platform strings

  [Lukas Rusak]
   * EGLUtils: log the egl version, vendor and extensions

  [Rechi]
   * [cmake][addons] package CUSTOM_(BINARY

  [Rechi]
   * [cmake][addons] add addon headers to library

  [enen92]
   * [docs] Improve Player module python documentation

  [enen92]
   * [docs] Add @python_v18 tags to xbmcdrm class and methods

  [enen92]
   * [docs] Group xbmcdrm with the other python modules

  [Rechi]
   * [settings] store default centermixlevel

  [Martijn Kaijser]
   * [docs] Add a fall back issue template because Github on mobile doesn't recognize the multiple template option

  [enen92]
   * [docs] onAVStarted and onAVChanged were missing from v18 added functions for Python API

  [ace20022]
   * [addons] Cleanup includes.

  [peak3d]
   * [Android] Provide refreshrate always to XBMCApp

  [Wolfgang Haupt]
   * Windowing: GBM - add missing namespace

  [Philipp Kerling]
   * [cmake] Show error when required platform deps are explicitly disabled

  [Tien Do]
   * [configure] Remove redundant -std=c++11 option

  [Tyler Szabo]
   * [tools] windows: check errorlevel after vswhere.bat

  [da-anda]
   * [Feature][skin.estuary] add support for artist-slideshow add-on

  [peak3d]
   * [VideoPlayer] Check for codec-extra-data on open video stream only

  [peak3d]
   * [VideoPlayer] Initialize maxspeedadjust / remove roundings in Updateframerate

  [VelocityRa]
   * [addons] [lang] Link to GitHub issues instead of Trac

  [Martijn Kaijser]
   * [docs] Update readme to link to Github issues instead of Trac

  [Martijn Kaijser]
   * [docs] Fix roadmap template markup

  [wsnipex]
   * fix CVE-2017-5982

  [ace20022]
   * Cleanup some includes.

  [Lukas Rusak]
   * libinput: check CSettingsComponent for nullptr

  [Kib]
   * [docs] typo

  [Kai Sommerfeld]
   * Rename ProfilesManager -> ProfileManager (source files, class name, variable names)

  [fritsch]
   * GUIControlsGUIInfo: Add missing break

  [fritsch]
   * ActiveAESink: Remove useless call

  [Martijn Kaijser]
   * [docs] Reverse order of revisions for Python and Skinning to have pages with latest changes first

  [Martijn Kaijser]
   * [docs] Create issue templates for the Kodi repo to be used by github

  [Kai Sommerfeld]
   * Eliminate CServiceBroker::GetProfileManager(); use CServiceBroker::GetSettingsComponent()->GetProfilesManager() instead.

  [Kai Sommerfeld]
   * Cleanup and document CSettingsComponent.

  [Kai Sommerfeld]
   * New settings component subcomponent: profiles manager.

  [Kai Sommerfeld]
   * Fix Linux build after #14511.

  [Kai Sommerfeld]
   * [pvr] Fix focus handling for channels OSD and guide guide dialogs.

  [fritsch]
   * LibInputHandler: Don't block shutdown forever

  [E.Smith]
   * [PVR] Ensure PVR_MENUHOOK dialog is always opened, even for one item.

  [fritsch]
   * ApplicationPlayer: Fixup mixed playlists, really reopen new player

  [Kai Sommerfeld]
   * Move init/uninit of Settings to CSettingsComponent::Init/Deinit.

  [Kai Sommerfeld]
   * Eliminate CServiceBroker::GetSettings(); use CServiceBroker::GetSettingsComponent()->GetSettings() instead.

  [Kai Sommerfeld]
   * New settings component subcomponent: settings.

  [Kai Sommerfeld]
   * Eliminate g_advancedSettings macro.

  [Kai Sommerfeld]
   * Introduce ServiceBroker::SettingsComponent and make advanced settings a subcomponent of it.

  [Garrett Brown]
   * Binary add-ons: Fix CORE_PLATFORM_NAME not set for new platforms

  [enen92]
   * [docs] Game_Control should be a subpage of the skin_controls doxygen page

  [fritsch]
   * ApplicationPlayer: Fix playlists by correctly switching players

  [djp952]
   * Verify that a parent timer rule is deletable before prompting to delete it

  [Lukas Rusak]
   * EGLUtils: rework the way we choose the egl config

  [Lukas Rusak]
   * CDRMUtils: add static helper functions to convert to and from alpha formats

  [Nick Renieris]
   * [cmake/README] Move generic CMake build instructions

  [Unknown]
   * [Docs] Add documentation for Window IDs

  [djp952]
   * Adjust PVR context menus for timer and timer rule objects

  [Ryan Rector]
   * [jsonrpc] get/set season title

  [Martijn Kaijser]
   * [docs] add skinning changelog tags

  [Kai Sommerfeld]
   * [settings] Fix CSettings::UninitializeISettingsHandlers

  [Rechi]
   * [addons] correct directory name for audioencoder.kodi.builtin.(aac

  [Anton Fedchin]
   * VideoPlayer: WinRenderer - fix rendering YUYV422 videos

  [Peter Teeson]
   * Clarify choices in Step 5 Build binary add-ons

  [Nick Renieris]
   * [cmake/README] Delete duplicated vars

  [Ryan Rector]
   * [jsonrpc] set movie set plot

  [Kai Sommerfeld]
   * [guilib] GUIBaseContainer: Add support for ACTION_PLAYER_PLAY

  [djp952]
   * Add PVR_TIMER_TYPE_SUPPORTS_READONLY_DELETE flag to allow an otherwise read-only timer to be deleted via Kodi

  [Garrett Brown]
   * Controller dialog: Hide features not supported by game add-on

  [Garrett Brown]
   * Game add-ons: Encapsulate controller tree in topology class

  [Garrett Brown]
   * Game add-ons: Encapsulate DLL access in input class

  [Garrett Brown]
   * Game add-ons: Factor out controller selection

  [Lukas Rusak]
   * input: libinput: add setting to allow changing keymap layout

  [Garrett Brown]
   * Fix stuck progress dialog opening "My Movies" without network

  [Garrett Brown]
   * Fix stuck progress dialog opening "My add-ons" without network

  [peak3d]
   * Add fourcc, colorspace and colorrange to inputstream API

  [Jeroen]
   * [Estuary] Change default button text & icon for tvshows in videoinfo dialog

  [Lukas Rusak]
   * CDRMPRIMETexture: add methods to convert colorspace and colorrange to egl formats

  [Martijn Kaijser]
   * bump to v18.0 beta 4


  [Arne Morten Kvarving]
   * changed: remove old shoutcast workaround in curl file

  [Rechi]
   * [windows] bump nfs to 3.0.0

  [Garrett Brown]
   * Game API v1.1.0: Add feature names to controller layouts

  [Garrett Brown]
   * Game API v1.0.39: Start controller and port addresses with "/"

  [Garrett Brown]
   * Game API: [cosmetic] Fix leading whitespace

  [Rechi]
   * [addons] sync with repo

  [ace20022]
   * [windows] Cleanup includes.

  [ace20022]
   * [video] Cleanup includes.

  [ace20022]
   * [utils] Cleanup includes.

  [ace20022]
   * [threads] Cleanup includes.

  [ace20022]
   * [settings] Cleanup includes.

  [ace20022]
   * [profiles] Cleanup includes.

  [ace20022]
   * [playlist] Cleanup includes.

  [ace20022]
   * [platform] Cleanup includes.

  [ace20022]
   * [pictures] Cleanup includes.

  [ace20022]
   * [peripherals] Cleanup includes.

  [Kolja Lampe]
   * Fix cue sheet iteration ignoring the last line

  [ace20022]
   * [network] Cleanup includes.

  [ace20022]
   * [music] Cleanup includes.

  [ace20022]
   * [listproviders] Cleanup includes.

  [ace20022]
   * [interfaces] Cleanup includes.

  [ace20022]
   * [input] Cleanup includes.

  [ace20022]
   * [guilib] Cleanup includes.

  [ace20022]
   * [games] Cleanup includes.

  [ace20022]
   * [filesystem] Cleanup includes.

  [ace20022]
   * [VideoPlayer] Cleanup includes.

  [djp952]
   * Fix NDK r18 Android x86 ffmpeg dependency build


  [Rechi]
   * [addons] bump repository.xbmc.org to 3.1.4

  [Rechi]
   * [addons] force a repo refresh (ignore checksum) if repo version changed

  [Rainer Hochecker]
   * X11: EGL - create PB if creation of surface for window fails

  [Rainer Hochecker]
   * OpenGL: RenderSystem - re-init shaders on reset

  [Rainer Hochecker]
   * X11: properly handle XRROutputChangeNotifyEvent - handles change of EDID

  [Rainer Hochecker]
   * ALSA: remove control monitor on X11

  [Garrett Brown]
   * Fix broken controller input in games

  [Ryan Rector]
   * Add own set artwork to Choose art dialog

  [Lukas Obermann]
   * CCurlFile::Exists() to fallback to GET if 405 is returned

  [Ryan Rector]
   * separate set artwork from scraper/nfo/import by prefix

  [Ryan Rector]
   * Add movie set artwork to movie FileItem

  [Ryan Rector]
   * Use a single art cache

  [Lukas Obermann]
   * CCurlFile::Stat missing easy_release on early return

  [Ryan Rector]
   * [videolibrary] Assign extra artwork from file system


  [Rechi]
   * [fix][win10] relocate InitOSKeymap after 723aeaa

  [Ryan Rector]
   * [jsonrpc] get/set season title

  [Ryan Rector]
   * [jsonrpc] set movie set plot


  [Lukas Rusak]
   * [GL] use smart pointers for shaders

  [Lukas Rusak]
   * [GLES] use smart pointers for shaders

  [Rainer Hochecker]
   * X11: fixes a lot of misses in VideoReferenceClock OML

  [Lukas Rusak]
   * windowing/gbm: reset libinput early to avoid shutdown races

  [Lukas Rusak]
   * CApplication: add nullptr checks to allow a clean shutdown

  [da-anda]
   * [Feature][skin.estuary] add support for artist-slideshow add-on


  [Lukas Rusak]
   * windowing/gbm: add VT handler

  [Rechi]
   * [cmake][addons] package CUSTOM_DATA & ADDITIONAL_BINARY for posix

  [Arne Morten Kvarving]
   * fixed: KODI_BUILD_DIR mirroring of custom data

  [Arne Morten Kvarving]
   * added: copyright years to version.txt


  [Rechi]
   * [addons] bump repository.xbmc.org to 3.1.3

  [MilhouseVH]
   * Avoid hard-coding the repo for binary addons

  [Kai Sommerfeld]
   * [PVR] Fix CID 188792: Memory - illegal accesses (WRAPPER_ESCAPE).

  [peak3d]
   * [Android] more frame timing optimizations


  [Martijn Kaijser]
   * [estuary] Enter add-on browser in Games section should point to repo instead of local local files now we have binary repo.

  [Martijn Kaijser]
   * [estuary] Enter add-on browser in PVR section should point to repo instead of local now we have PVR clients added to repo.

  [Martijn Kaijser]
   * [addons] Remove game addons from addon-manifest as they are no longer shipped with the installer and are now available from Kodi repo

  [Martijn Kaijser]
   * [windows] Add message to installer that add-ons have been removed from the installer and added to Kodi repository.

  [Lukas Rusak]
   * CryptThreading: reset CRYPTO_set_id_callback to nullptr in destructor

  [Nick Renieris]
   * [depends][configure] Fix typo in variable name

  [Rechi]
   * [windows] make-addons: remove surrounding quotation marks

  [Kai Sommerfeld]
   * [PVR] Integrate PVR client menu hooks into context menu system.

  [Kai Sommerfeld]
   * [PVR] Refactor client menu hooks.

  [Alwin Esch]
   * [pvr] fix EPG crash and recording errors produced by not present data on addon call

  [enen92]
   * [docs] Document removed python API functions (RenderCapture)


  [wsnipex]
   * [cmake] FindMariaDBClient: use pkgconfig if available

  [Rechi]
   * [fix][windows] check FirstUnicastAddress for nullptr

  [Anssi Hannula]
   * DVDAudioCodecPassthrough: Fix off-by-one-frame timestamps

  [Anssi Hannula]
   * AEStreamParser: Fix E-AC-3 dependent stream passthrough (trac#17871)

  [Anssi Hannula]
   * AEStreamParser: Fix duplicated frame when syncFunc requests more data

  [Anssi Hannula]
   * AEStreamParser: Split TrySyncAC3() out of SyncAC3()


  [Rechi]
   * [depends] binary-addons: allow setting ADDONS from outside if make is executed in a script

  [Rechi]
   * [depends] binary-addons: fix install directories for android & linux

  [fritsch]
   * AESinkAUDIOTRACK: Only enable multi channel float for Android 7 or later


  [fritsch]
   * ActiveAE: Return false when streamtype differs in passthrough case

  [peak3d]
   * Wait for AnnouncementManager thread to exit

  [Rechi]
   * [jenkins] allow depends optimisation for release configuration

  [Rechi]
   * depends] binary-addons: add ADDONS_DEFINITION_DIR & EXTRA_CMAKE_ARGS support

  [Rechi]
   * [depends] binary-addons: add packaging support

  [Rechi]
   * [windows] support ADDON_SRC_PREFIX & ADDONS_DEFINITION_DIR in make-addons

  [Rechi]
   * [windows] pass ADDONS_TO_BUILD only if give as argument

  [Rainer Hochecker]
   * VideoPlayer: create new audiosink if pt stream type changes

  [Tyler Szabo]
   * [tools] windows: prevent env corruption from multiple vswhere.cmd calls

  [peak3d]
   * [Android] Dis- Enable GUI onPause / onContinue

  [ronie]
   * [Estouchy] prevent from getting locked in

  [ace20022]
   * [doxy][addons] Sync doxygen documentation with code changes, like renamed/removed/added parameters. Add return descriptions and remove an obsolete method.

  [Tyler Szabo]
   * [tools] windows: check errorlevel after vswhere.bat

  [wsnipex]
   * fix CVE-2017-5982


  [ronie]
   * [Estuary] fix a few cosmetic issues

  [Lukas Rusak]
   * EGLUtils: allow selecting a high priority EGL context

  [Lukas Rusak]
   * EGLUtils: add vector version of CEGLAttributes

  [fritsch]
   * MusicInfoScanner: Simplify string list appending

  [fritsch]
   * LangInfo: Fix coverity insert const

  [ace20022]
   * [RetroPlayer] Cleanup includes.

  [ace20022]
   * [playercorefactory] Cleanup includes.

  [ace20022]
   * [PAPlayer] Cleanup includes.

  [ace20022]
   * [ExternalPlayer] Cleanup includes.

  [ace20022]
   * [AudioEngine] Cleanup includes.

  [ace20022]
   * [dialogs] Cleanup includes.

  [ace20022]
   * [dbwrappers] Cleanup includes.

  [ace20022]
   * [cdrip] Cleanup includes.

  [ace20022]
   * [addons] Cleanup includes.

  [Jeroen]
   * [Estuary] Change default button text & icon for tvshows in videoinfo dialog


  [Lukas Rusak]
   * CEGLUtils: log the egl attributes of the chosen config

  [Lukas Rusak]
   * EGLUtils: use a configless context if available

  [Lukas Rusak]
   * fixup! EGLUtils: log the egl version, vendor and extensions

  [Rechi]
   * [cmake] adjust output path of packaged binary addons

  [Rechi]
   * [addons] add architecture dependent platform strings

  [Lukas Rusak]
   * EGLUtils: log the egl version, vendor and extensions

  [Wolfgang Haupt]
   * Windowing: GBM - add missing namespace


  [Rechi]
   * [cmake][addons] package CUSTOM_(BINARY

  [Rechi]
   * [cmake][addons] add addon headers to library

  [enen92]
   * [docs] Improve Player module python documentation

  [enen92]
   * [docs] Add @python_v18 tags to xbmcdrm class and methods

  [enen92]
   * [docs] Group xbmcdrm with the other python modules

  [Rechi]
   * [settings] store default centermixlevel

  [Martijn Kaijser]
   * [docs] Add a fall back issue template because Github on mobile doesn't recognize the multiple template option

  [enen92]
   * [docs] onAVStarted and onAVChanged were missing from v18 added functions for Python API

  [peak3d]
   * [Android] Provide refreshrate always to XBMCApp

  [Philipp Kerling]
   * [cmake] Show error when required platform deps are explicitly disabled

  [Tien Do]
   * [configure] Remove redundant -std=c++11 option

  [peak3d]
   * [VideoPlayer] Check for codec-extra-data on open video stream only

  [peak3d]
   * [VideoPlayer] Initialize maxspeedadjust / remove roundings in Updateframerate

  [Martijn Kaijser]
   * [docs] Update readme to link to Github issues instead of Trac


  [VelocityRa]
   * [addons] [lang] Link to GitHub issues instead of Trac

  [Martijn Kaijser]
   * [docs] Fix roadmap template markup

  [ace20022]
   * Cleanup some includes.

  [Lukas Rusak]
   * libinput: check CSettingsComponent for nullptr

  [Kai Sommerfeld]
   * Rename ProfilesManager -> ProfileManager (source files, class name, variable names)

  [fritsch]
   * GUIControlsGUIInfo: Add missing break

  [fritsch]
   * ActiveAESink: Remove useless call

  [Kai Sommerfeld]
   * Eliminate CServiceBroker::GetProfileManager(); use CServiceBroker::GetSettingsComponent()->GetProfilesManager() instead.

  [Kai Sommerfeld]
   * Cleanup and document CSettingsComponent.

  [Kai Sommerfeld]
   * New settings component subcomponent: profiles manager.

  [peak3d]
   * Add fourcc, colorspace and colorrange to inputstream API


  [Kib]
   * [docs] typo

  [Martijn Kaijser]
   * [docs] Reverse order of revisions for Python and Skinning to have pages with latest changes first

  [Martijn Kaijser]
   * [docs] Create issue templates for the Kodi repo to be used by github

  [Kai Sommerfeld]
   * Fix Linux build after #14511.

  [Kai Sommerfeld]
   * [pvr] Fix focus handling for channels OSD and guide guide dialogs.

  [fritsch]
   * LibInputHandler: Don't block shutdown forever

  [Lukas Rusak]
   * EGLUtils: rework the way we choose the egl config

  [Lukas Rusak]
   * CDRMUtils: add static helper functions to convert to and from alpha formats


  [E.Smith]
   * [PVR] Ensure PVR_MENUHOOK dialog is always opened, even for one item.

  [fritsch]
   * ApplicationPlayer: Fixup mixed playlists, really reopen new player

  [Kai Sommerfeld]
   * Move init/uninit of Settings to CSettingsComponent::Init/Deinit.

  [Kai Sommerfeld]
   * Eliminate CServiceBroker::GetSettings(); use CServiceBroker::GetSettingsComponent()->GetSettings() instead.

  [Kai Sommerfeld]
   * New settings component subcomponent: settings.

  [Kai Sommerfeld]
   * Eliminate g_advancedSettings macro.

  [Kai Sommerfeld]
   * Introduce ServiceBroker::SettingsComponent and make advanced settings a subcomponent of it.

  [Garrett Brown]
   * Binary add-ons: Fix CORE_PLATFORM_NAME not set for new platforms

  [enen92]
   * [docs] Game_Control should be a subpage of the skin_controls doxygen page

  [Nick Renieris]
   * [cmake/README] Move generic CMake build instructions

  [Nick Renieris]
   * [cmake/README] Delete duplicated vars

  [Lukas Rusak]
   * input: libinput: add setting to allow changing keymap layout


  [fritsch]
   * ApplicationPlayer: Fix playlists by correctly switching players

  [djp952]
   * Verify that a parent timer rule is deletable before prompting to delete it

  [Unknown]
   * [Docs] Add documentation for Window IDs


  [djp952]
   * Adjust PVR context menus for timer and timer rule objects

  [Martijn Kaijser]
   * [docs] add skinning changelog tags


  [Kai Sommerfeld]
   * [settings] Fix CSettings::UninitializeISettingsHandlers

  [Rechi]
   * [addons] correct directory name for audioencoder.kodi.builtin.(aac

  [Anton Fedchin]
   * VideoPlayer: WinRenderer - fix rendering YUYV422 videos

  [Peter Teeson]
   * Clarify choices in Step 5 Build binary add-ons

  [Garrett Brown]
   * Fix stuck progress dialog opening "My Movies" without network

  [Garrett Brown]
   * Fix stuck progress dialog opening "My add-ons" without network


  [Kai Sommerfeld]
   * [guilib] GUIBaseContainer: Add support for ACTION_PLAYER_PLAY

  [djp952]
   * Add PVR_TIMER_TYPE_SUPPORTS_READONLY_DELETE flag to allow an otherwise read-only timer to be deleted via Kodi


  [Garrett Brown]
   * Controller dialog: Hide features not supported by game add-on

  [Garrett Brown]
   * Game add-ons: Encapsulate controller tree in topology class

  [Garrett Brown]
   * Game add-ons: Encapsulate DLL access in input class

  [Garrett Brown]
   * Game add-ons: Factor out controller selection

  [Rainer Hochecker]
   * VideoPlayer: fix subtitle on/off setting

  [ace20022]
   * [fix] LangCodeExpander: If there's no iso639-1 code and the iso639-2 code is identical to the language name the stack overflows.

  [Kai Sommerfeld]
   * [guiinfo] Fix Visualisation.Locked.

  [Garrett Brown]
   * Controller dialog: Fix ignoring input in sub-dialogs

  [Garrett Brown]
   * [Cosmetic] Fix whitepace in comment

  [Garrett Brown]
   * Game OSD: Extend help dialog to explain lack of remote support

  [Garrett Brown]
   * Game OSD: Finish renaming "View mode" to "Stretch mode"

  [Garrett Brown]
   * Update default and SNES controller images

  [Garrett Brown]
   * Controller dialog: Fix list not refreshing for new controllers

  [Garrett Brown]
   * Controller dialog: Don't hide controllers with no features

  [Garrett Brown]
   * Controller dialog: Add "Get all" button

  [AreaScout]
   * gbm/windowing: fix compile when using older EGL headers + assert message on size difference

  [Garrett Brown]
   * Controller dialog: Add controller description

  [ronie]
   * [python] bump for leia

  [Nick Renieris]
   * [docs] Add initializer list whitespace convention in Code Guidelines

  [Attila Jakosa]
   * [lang][skin.estuary] updated language files from Transifex

  [Rechi]
   * [cmake] install game.controller.snes

  [ronie]
   * [skins] visualisation control needs an id

  [Kai Sommerfeld]
   * [guiinfo] Fix VideoPlayer.Title and MusicPlayer.Title

  [Garrett Brown]
   * Joysticks: Allow rewind/fast-forward with shoulder buttons

  [Garrett Brown]
   * Joysticks: Send release event when button combo hotkey is released

  [peak3d]
   * [Android] Use VSYNC time from Choreographer

  [Garrett Brown]
   * Import game.controller.snes

  [Garrett Brown]
   * Update game.controller.default to v1.0.7

  [Garrett Brown]
   * Fix playing games with VideoPlayer when emulators are disabled

  [Garrett Brown]
   * Fix getting stuck using VideoPlayer and breaking game launching

  [peak3d]
   * [Android] check profile when selecting h/w decoder

  [Lukas Rusak]
   * CDRMPRIMETexture: add methods to convert colorspace and colorrange to egl formats

  [Kai Sommerfeld]
   * [PVR] EpgInfoTag: Code cleanup.

  [DaVukovic]
   * [docs] Fixed a typo.

  [Kai Sommerfeld]
   * [PVR] Epg: Code cleanup.

  [Kai Sommerfeld]
   * [PVR] EpgContainer: get rid of g_application dependency.

  [Kai Sommerfeld]
   * [PVR] EpgContainer: Code cleanup.

  [Kai Sommerfeld]
   * [PVR] Persist EPG data also on exit, not only every 60 seconds.

  [Roman Miroshnychenko]
   * Fix docs for xbmcgui Python module

  [Nuno Senica]
   * RPI: Be sure to register Alsa and Pulseaudio. This was broken in a previous commit, making them unavailable in kodi.

  [Anton Fedchin]
   * Revert "VideoPlayer: WinRenderer - add smooth motion"

  [Rainer Hochecker]
   * VideoPlayer: ffmpeg demuxer - fix out-of-bounds error related to probe buffer

  [DaveTBlake]
   * [JSON]Fix Player.GetItem to avoid seg fault when request and track change coincide

  [ace20022]
   * [videoplayer] Fix usage of external vob subtitles. While vob subs are added to the selection streams, the id of a temporary demuxer was added. But when the subtitle stream got opened/used, a new demuxer with another id was opened.

  [peak3d]
   * [Android] Fix rounding / type issue when adding VSYNC offset

  [Rechi]
   * [android] use ndk 18

  [Rechi]
   * [depends] libffi: fix arm assembler syntax

  [Rechi]
   * [docs] correct android after 939755a81b & dc8e0a02fe

  [Rechi]
   * [android] defining _GLIBCXX_USE_C99_MATH_TR1 isn't required since d32bd6656f

  [Kai Sommerfeld]
   *  [PVR] Fix CPVRItem::GetNextEpgInfoTag to use the more flexible method, which handles epg gaps correctly.

  [Martijn Kaijser]
   * bump to v18.0 beta 4

  [wsnipex]
   * [guiinfo] redact user/pass in debug logging

  [Martijn Kaijser]
   * [droid] bump the target API to 26 defined in androidmanifest. As of November 2018 every update to playstore must at least target API 26 or you cannot submit updates. We don't know what will break/stop working but we'll just have to deal with the fallout.

  [mglae]
   * kodi.sh: add apport support

  [Rechi]
   * link with libnfs instead of loading it dynamic

  [Rechi]
   * [depends] disable nfs utils

  [Kai Sommerfeld]
   * [PVR] Fix accidentally introduced PVR Addon API incompatibility.

  [ace20022]
   * Revert "[gui] Show a dvd/bluray icon for dvd/bluray folders."

  [Rechi]
   * [fix] iterate over reference and only copy the variable if needed

  [wsnipex]
   * cosmetics: fix formatting logfile location

  [wsnipex]
   * [linux] allow overriding our userdata dir

  [Kai Sommerfeld]
   * [PVR] Fetch EPG tags for timers if timer start not in configured EPG window.

  [ace20022]
   * [bluray] Remove enabling still mode via BD_EVENT_TITLE, it breaks playback of some bds. This partially reverts 0d198d2e08549b5a9406b31b0ad1bcbf9c3dac41.

  [ace20022]
   * [bluray] Don't change in menu bool on title event. This partially reverts e9268e43d37dd44b045afb26208855723e84db7d.

  [Garrett Brown]
   * Game OSD: Show help dialog on first view

  [Garrett Brown]
   * Fix crash when checking if service manager is up

  [Garrett Brown]
   * CStaticListProvider: Remove redundant check

  [Garrett Brown]
   * RetroPlayer: Improve error message when Libretro Support add-on is not found

  [Rechi]
   * [darwin] allow macOS SDK 10.14 & iOS SDK 12

  [Rechi]
   * [depends] bump cmake to 3.13.2

  [Markus Pfau]
   * [Android] call OnResetDisplay() on HDMI_AUDIO_PLUG event (#14431)

  [peak3d]
   * Remove currentClock parameter from CBaseRenderer::AddVideoPicture

  [peak3d]
   * Release Surface Buffers 1.5 VSYNC in future and use CLOCK_MONOTONIC

  [Jonas Karlman]
   * VideoLayerBridgeDRMPRIME: set plane color encoding/range property

  [Jonas Karlman]
   * VideoBufferDRMPRIME: add GetColor methods

  [Jonas Karlman]
   * windowing/gbm: add SupportsProperty method

  [Jonas Karlman]
   * windowing/gbm: retry modeset next flip if getting a frame buffer fails

  [Jonas Karlman]
   * RendererDRMPRIME: commit current buffer when there is nothing to update

  [Jonas Karlman]
   * RendererDRMPRIME: extract VideoLayerBridgeDRMPRIME

  [Michaël Arnauts]
   * KEY_EPG is wrongly mapped to title instead of guide

  [Rechi]
   * [cmake] set correct ARCH for iOS

  [Philipp Kerling]
   * Move error handling out of CEGLContextUtils::SwapBuffers

  [Nicolas Chauvet]
   * Move Matrix4Mul into a separate file to use -fpu=neon on it

  [Philipp Kerling]
   * Fix Wayland signal handling destructor and final marking

  [Philipp Kerling]
   * Add missing m_eglDisplay check

  [Neil Armstrong]
   * utils: CPUInfo: use sysfs-devices-soc to gather more system info

  [Neil Armstrong]
   * utils: SystemInfo: Use sysfs-devices-soc on Linux if available

  [Neil Armstrong]
   * utils: Add CPU SoC information

  [Garrett Brown]
   * RetroPlayer: Don't clear rewind buffer on reset

  [ace20022]
   * [videoplayer] Fix crash if demuxffmpeg's AddStream method returns null.

  [Rainer Hochecker]
   * VideoPlayer: fix edge case where input stream sets chunk size for live stream

  [Rechi]
   * [cleanup] yuv2rgb.neon isn't used since 241250b

  [Kai Sommerfeld]
   * [PVR] CFileItem PVR ctors: No need to set label2; this will be done on demand by GUIMediaWindow which has the view data needed to set the correct values (e.g. long vs. short date format). - fixes trac#18020

  [Kai Sommerfeld]
   * [keymaps] Map key 'numpad period' to action 'channel number separator'.

  [fritsch]
   * AESinkAudioTrack: Support multi channel float

  [peak3d]
   * [CURL] calculate download speed for libCurl version < 7.58.0

  [peak3d]
   * [depends] bump libCURL version to 7.61.1

  [AkariDN]
   * Fix displaying watched items in plugins and restore functionality after #14409

  [Kai Sommerfeld]
   * [guiinfo] Fix Listitem.DBType not working for music videos.

  [Garrett Brown]
   * RetroPlayer: Fix no game input after controller shuts off

  [Garrett Brown]
   * GUIWindowManager: Don't mess with RetroPlayer when activating windows

  [Memphiz]
   * [ios] - enable dvdcss (allows encrypted dvd playback on ios)

  [Memphiz]
   * [depends] - switch to ios compatible dvdcss version

  [ace20022]
   * [bluray] Fix and improve still mode handling. Some disc use it as pause.

  [fritsch]
   * AESinkXAudio: Transition for DTS-HD-MA DTS-HD-HR separation

  [fritsch]
   * AESinkOSS: Transition for DTS-HD-MA DTS-HD-HR separation

  [fritsch]
   * AESinkWASAPI: Transition for DTS-HD-MA DTS-HD-HR separation

  [fritsch]
   * AESinkAUDIOTRACK: Transition for DTSHD_MA DTSHD separation

  [fritsch]
   * AESinkALSA: Implement DTS-HD-HR

  [Graham Horner]
   * ActiveAE: Differentiate DTS-HD-MA and DTS-HD-HR

  [peak3d]
   * Fix log format string in PeripheralJoystick

  [ace20022]
   * [bluray] Improve menu detection.

  [Kai Sommerfeld]
   * [PVR][guiinfo][Estuary] Video OSD: Fix fallback to channel logo not working if recording has no thumbnail.

  [Kai Sommerfeld]
   * [PVR] Fix recording thumbnail not displayed in video OSD.

  [Rechi]
   * [modernize][windowing] range-based loops

  [Rechi]
   * [modernize][weather] range-based loops

  [Rechi]
   * [modernize][video] range-based loops

  [Rechi]
   * [modernize][utils] range-based loops

  [Rechi]
   * [modernize][settings] range-based loops

  [Rechi]
   * [modernize][pvr] range-based loops

  [Rechi]
   * [modernize][playlists] range-based loops

  [Rechi]
   * [modernize][pictures] range-based loops

  [Rechi]
   * [modernize][network] range-based loops

  [Rechi]
   * [modernize][music] range-based loops

  [Rechi]
   * [modernize][interfaces] range-based loops

  [Rechi]
   * [modernize][input] range-based loops

  [Rechi]
   * [modernize][guilib] range-based loops

  [Rechi]
   * [modernize][filesystem] range-based loops

  [Rechi]
   * [modernize][dialogs] range-based loops

  [Rechi]
   * [modernize][dbwrappers] range-based loops

  [Rechi]
   * [modernize][VideoPlayer] range-based loops

  [Rechi]
   * [modernize][DllLoader] range-based loops

  [Rechi]
   * [modernize][AudioEngine] range-based loops

  [Rechi]
   * [modernize][addons] range-based loops

  [Rechi]
   * [modernize][xbmc] range-based loops

  [ace20022]
   * [bluray] Disable mouse selection for BD-J menus, since it's not implemented in libbluray as of version 1.0.2.

  [ace20022]
   * [bluray] Rename the BLURAY_TITLE_INFO member to reflect its type.

  [Kai Sommerfeld]
   * [PVR] PVR addon API documentation updates and fixes.

  [ace20022]
   * [gui] Show a dvd/bluray icon for dvd/bluray folders.

  [ace20022]
   * [gui] Show Blu-ray icon for real or emulated drives.

  [un1versal]
   * add new stricon DefaultBluray

  [ace20022]
   * [estuary] Add an icon for Blu-rays.

  [ace20022]
   * [FileItem] Refine IsBluray() method.

  [taxigps]
   * fix coding issue on show disk usage message.

  [Hedda]
   * Update README.md to list BSD as its own operating systems

  [un1versal]
   * add IsBluray()

  [DaveTBlake]
   * Fix forced expansion of .m3u playlists as if they were folders regardless of playlistasfolders being false

  [Kai Sommerfeld]
   * [PVR] PVRGUITimesInfo: Prevent negative timeshift offsets (which can occure due to player/backend data not in sync).

  [Kai Sommerfeld]
   * [PVR] PVRGUIInfo: decrease update interval from 1000 msecs to 500 msecs to avoid 'jumping' times in OSD (which are in seconds).

  [Lukas Rusak]
   * libinput: use epoll to wait for events on the fd

  [DaveTBlake]
   * Add useartistsortname to settings UI rather than hidden in advancedsettings.xml

  [Kai Sommerfeld]
   * [PVR] Some code cleanup along the way.

  [Kai Sommerfeld]
   * [PVR] Refactor CGUIDialogPVRChannelGuide and CGUIDialogPVRChannelsOSD -> introduce base class CGUIDialogPVRItemsViewBase.

  [Kai Sommerfeld]
   * [PVR] CGUIDialogPVRChannelsOSD: Add context menu support.

  [Kai Sommerfeld]
   * [PVR] CGUIDialogPVRChannelGuide: Add context menu support.

  [Martijn Kaijser]
   * bump to v18.0 beta 3

  [Rainer Hochecker]
   * VideoPlayer: rt streams - flush demux queue if sync error is too big

  [taxigps]
   * [Estuary] show chinese input labels in proper position

  [Garrett Brown]
   * Fix selecting parent path of plugins providing multiple types

  [Garrett Brown]
   * Don't set last used add-on without ID

  [Garrett Brown]
   * Games: Fix error calculating savestate size

  [rim]
   * WebDAV: Fix folder display names for WebDAV sources. "My%20Album" -> "My Album"

  [popcornmix]
   * MMALRender: Protect against divide by zero

  [Garrett Brown]
   * Enable games by default

  [Arne Morten Kvarving]
   * added: hand rtsps (rtsp over ssl) inputs to ffmpeg

  [Ryan Rector]
   * ActivateWindow return restore history only if same path


  [Garrett Brown]
   * Controller dialog: Hide features not supported by game add-on

  [Garrett Brown]
   * Game add-ons: Encapsulate controller tree in topology class

  [Garrett Brown]
   * Game add-ons: Encapsulate DLL access in input class

  [Garrett Brown]
   * Game add-ons: Factor out controller selection

  [ace20022]
   * [fix] LangCodeExpander: If there's no iso639-1 code and the iso639-2 code is identical to the language name the stack overflows.

  [Garrett Brown]
   * Controller dialog: Fix ignoring input in sub-dialogs

  [Garrett Brown]
   * [Cosmetic] Fix whitepace in comment

  [Garrett Brown]
   * Game OSD: Extend help dialog to explain lack of remote support

  [Garrett Brown]
   * Game OSD: Finish renaming "View mode" to "Stretch mode"

  [Garrett Brown]
   * Controller dialog: Fix list not refreshing for new controllers

  [Garrett Brown]
   * Controller dialog: Don't hide controllers with no features

  [Garrett Brown]
   * Controller dialog: Add "Get all" button

  [Garrett Brown]
   * Controller dialog: Add controller description

  [Garrett Brown]
   * Fix getting stuck using VideoPlayer and breaking game launching

  [Lukas Rusak]
   * CDRMPRIMETexture: add methods to convert colorspace and colorrange to egl formats

  [Martijn Kaijser]
   * bump to v18.0 beta 4


  [Rainer Hochecker]
   * VideoPlayer: fix subtitle on/off setting

  [Kai Sommerfeld]
   * [guiinfo] Fix Visualisation.Locked.

  [fritsch]
   * AESinkAudioTrack: Support multi channel float


  [Garrett Brown]
   * Update default and SNES controller images

  [AreaScout]
   * gbm/windowing: fix compile when using older EGL headers + assert message on size difference


  [ronie]
   * [python] bump for leia

  [Nick Renieris]
   * [docs] Add initializer list whitespace convention in Code Guidelines


  [Attila Jakosa]
   * [lang][skin.estuary] updated language files from Transifex

  [Rechi]
   * [cmake] install game.controller.snes

  [ronie]
   * [skins] visualisation control needs an id

  [Kai Sommerfeld]
   * [guiinfo] Fix VideoPlayer.Title and MusicPlayer.Title

  [Garrett Brown]
   * Joysticks: Allow rewind/fast-forward with shoulder buttons

  [Garrett Brown]
   * Joysticks: Send release event when button combo hotkey is released

  [Garrett Brown]
   * Import game.controller.snes


  [peak3d]
   * [Android] Use VSYNC time from Choreographer

  [Garrett Brown]
   * Fix playing games with VideoPlayer when emulators are disabled


  [Garrett Brown]
   * Update game.controller.default to v1.0.7

  [peak3d]
   * [Android] check profile when selecting h/w decoder

  [Kai Sommerfeld]
   * [PVR] EpgInfoTag: Code cleanup.

  [DaVukovic]
   * [docs] Fixed a typo.

  [Kai Sommerfeld]
   * [PVR] Epg: Code cleanup.

  [Kai Sommerfeld]
   * [PVR] EpgContainer: get rid of g_application dependency.

  [Kai Sommerfeld]
   * [PVR] EpgContainer: Code cleanup.

  [Kai Sommerfeld]
   * [PVR] Persist EPG data also on exit, not only every 60 seconds.

  [Roman Miroshnychenko]
   * Fix docs for xbmcgui Python module

  [Nuno Senica]
   * RPI: Be sure to register Alsa and Pulseaudio. This was broken in a previous commit, making them unavailable in kodi.

  [Anton Fedchin]
   * Revert "VideoPlayer: WinRenderer - add smooth motion"

  [Rainer Hochecker]
   * VideoPlayer: ffmpeg demuxer - fix out-of-bounds error related to probe buffer

  [DaveTBlake]
   * [JSON]Fix Player.GetItem to avoid seg fault when request and track change coincide

  [ace20022]
   * [videoplayer] Fix usage of external vob subtitles. While vob subs are added to the selection streams, the id of a temporary demuxer was added. But when the subtitle stream got opened/used, a new demuxer with another id was opened.

  [wsnipex]
   * cosmetics: fix formatting logfile location

  [wsnipex]
   * [linux] allow overriding our userdata dir

  [Nicolas Chauvet]
   * Move Matrix4Mul into a separate file to use -fpu=neon on it


  [peak3d]
   * [Android] Fix rounding / type issue when adding VSYNC offset

  [Rechi]
   * [android] use ndk 18

  [Rechi]
   * [depends] libffi: fix arm assembler syntax

  [Rechi]
   * [docs] correct android after 939755a81b & dc8e0a02fe

  [Rechi]
   * [android] defining _GLIBCXX_USE_C99_MATH_TR1 isn't required since d32bd6656f

  [Kai Sommerfeld]
   *  [PVR] Fix CPVRItem::GetNextEpgInfoTag to use the more flexible method, which handles epg gaps correctly.

  [wsnipex]
   * [guiinfo] redact user/pass in debug logging

  [Martijn Kaijser]
   * [droid] bump the target API to 26 defined in androidmanifest. As of November 2018 every update to playstore must at least target API 26 or you cannot submit updates. We don't know what will break/stop working but we'll just have to deal with the fallout.

  [mglae]
   * kodi.sh: add apport support


  [Jonas Karlman]
   * VideoLayerBridgeDRMPRIME: set plane color encoding/range property

  [Jonas Karlman]
   * VideoBufferDRMPRIME: add GetColor methods

  [Jonas Karlman]
   * windowing/gbm: add SupportsProperty method

  [Jonas Karlman]
   * windowing/gbm: retry modeset next flip if getting a frame buffer fails

  [Jonas Karlman]
   * RendererDRMPRIME: commit current buffer when there is nothing to update

  [Jonas Karlman]
   * RendererDRMPRIME: extract VideoLayerBridgeDRMPRIME


  [Rechi]
   * link with libnfs instead of loading it dynamic

  [Rechi]
   * [depends] disable nfs utils

  [Kai Sommerfeld]
   * [PVR] Fix accidentally introduced PVR Addon API incompatibility.

  [ace20022]
   * Revert "[gui] Show a dvd/bluray icon for dvd/bluray folders."

  [Rechi]
   * [fix] iterate over reference and only copy the variable if needed

  [Garrett Brown]
   * Game OSD: Show help dialog on first view

  [Garrett Brown]
   * Fix crash when checking if service manager is up

  [Garrett Brown]
   * CStaticListProvider: Remove redundant check

  [Garrett Brown]
   * RetroPlayer: Improve error message when Libretro Support add-on is not found

  [Neil Armstrong]
   * utils: CPUInfo: use sysfs-devices-soc to gather more system info

  [Neil Armstrong]
   * utils: SystemInfo: Use sysfs-devices-soc on Linux if available

  [Neil Armstrong]
   * utils: Add CPU SoC information

  [Garrett Brown]
   * RetroPlayer: Fix no game input after controller shuts off


  [Kai Sommerfeld]
   * [PVR] Fetch EPG tags for timers if timer start not in configured EPG window.

  [ace20022]
   * [bluray] Remove enabling still mode via BD_EVENT_TITLE, it breaks playback of some bds. This partially reverts 0d198d2e08549b5a9406b31b0ad1bcbf9c3dac41.

  [ace20022]
   * [bluray] Don't change in menu bool on title event. This partially reverts e9268e43d37dd44b045afb26208855723e84db7d.

  [Rechi]
   * [darwin] allow macOS SDK 10.14 & iOS SDK 12

  [Rechi]
   * [depends] bump cmake to 3.13.2


  [Michaël Arnauts]
   * KEY_EPG is wrongly mapped to title instead of guide

  [Garrett Brown]
   * RetroPlayer: Don't clear rewind buffer on reset

  [AkariDN]
   * Fix displaying watched items in plugins and restore functionality after #14409


  [Markus Pfau]
   * [Android] call OnResetDisplay() on HDMI_AUDIO_PLUG event (#14431)

  [peak3d]
   * Remove currentClock parameter from CBaseRenderer::AddVideoPicture

  [peak3d]
   * Release Surface Buffers 1.5 VSYNC in future and use CLOCK_MONOTONIC

  [Rechi]
   * [cmake] set correct ARCH for iOS


  [Philipp Kerling]
   * Move error handling out of CEGLContextUtils::SwapBuffers

  [Philipp Kerling]
   * Fix Wayland signal handling destructor and final marking

  [Philipp Kerling]
   * Add missing m_eglDisplay check


  [ace20022]
   * [videoplayer] Fix crash if demuxffmpeg's AddStream method returns null.

  [Rainer Hochecker]
   * VideoPlayer: fix edge case where input stream sets chunk size for live stream

  [Kai Sommerfeld]
   * [PVR] CFileItem PVR ctors: No need to set label2; this will be done on demand by GUIMediaWindow which has the view data needed to set the correct values (e.g. long vs. short date format). - fixes trac#18020

  [Garrett Brown]
   * GUIWindowManager: Don't mess with RetroPlayer when activating windows

  [rim]
   * WebDAV: Fix folder display names for WebDAV sources. "My%20Album" -> "My Album"

  [Ryan Rector]
   * ActivateWindow return restore history only if same path


  [Rechi]
   * [cleanup] yuv2rgb.neon isn't used since 241250b

  [Kai Sommerfeld]
   * [keymaps] Map key 'numpad period' to action 'channel number separator'.

  [Kai Sommerfeld]
   * [guiinfo] Fix Listitem.DBType not working for music videos.


  [peak3d]
   * [CURL] calculate download speed for libCurl version < 7.58.0

  [peak3d]
   * [depends] bump libCURL version to 7.61.1

  [Memphiz]
   * [ios] - enable dvdcss (allows encrypted dvd playback on ios)

  [Memphiz]
   * [depends] - switch to ios compatible dvdcss version


  [ace20022]
   * [bluray] Fix and improve still mode handling. Some disc use it as pause.

  [fritsch]
   * AESinkXAudio: Transition for DTS-HD-MA DTS-HD-HR separation

  [fritsch]
   * AESinkOSS: Transition for DTS-HD-MA DTS-HD-HR separation

  [fritsch]
   * AESinkWASAPI: Transition for DTS-HD-MA DTS-HD-HR separation

  [fritsch]
   * AESinkAUDIOTRACK: Transition for DTSHD_MA DTSHD separation

  [fritsch]
   * AESinkALSA: Implement DTS-HD-HR

  [Graham Horner]
   * ActiveAE: Differentiate DTS-HD-MA and DTS-HD-HR

  [ace20022]
   * [bluray] Improve menu detection.

  [ace20022]
   * [bluray] Disable mouse selection for BD-J menus, since it's not implemented in libbluray as of version 1.0.2.

  [ace20022]
   * [bluray] Rename the BLURAY_TITLE_INFO member to reflect its type.


  [peak3d]
   * Fix log format string in PeripheralJoystick

  [Kai Sommerfeld]
   * [PVR][guiinfo][Estuary] Video OSD: Fix fallback to channel logo not working if recording has no thumbnail.

  [Kai Sommerfeld]
   * [PVR] Fix recording thumbnail not displayed in video OSD.

  [DaveTBlake]
   * Add useartistsortname to settings UI rather than hidden in advancedsettings.xml


  [Rechi]
   * [modernize][windowing] range-based loops

  [Rechi]
   * [modernize][weather] range-based loops

  [Rechi]
   * [modernize][video] range-based loops

  [Rechi]
   * [modernize][utils] range-based loops

  [Rechi]
   * [modernize][settings] range-based loops

  [Rechi]
   * [modernize][pvr] range-based loops

  [Rechi]
   * [modernize][playlists] range-based loops

  [Rechi]
   * [modernize][pictures] range-based loops

  [Rechi]
   * [modernize][network] range-based loops

  [Rechi]
   * [modernize][music] range-based loops

  [Rechi]
   * [modernize][interfaces] range-based loops

  [Rechi]
   * [modernize][input] range-based loops

  [Rechi]
   * [modernize][guilib] range-based loops

  [Rechi]
   * [modernize][filesystem] range-based loops

  [Rechi]
   * [modernize][dialogs] range-based loops

  [Rechi]
   * [modernize][dbwrappers] range-based loops

  [Rechi]
   * [modernize][VideoPlayer] range-based loops

  [Rechi]
   * [modernize][DllLoader] range-based loops

  [Rechi]
   * [modernize][AudioEngine] range-based loops

  [Rechi]
   * [modernize][addons] range-based loops

  [Rechi]
   * [modernize][xbmc] range-based loops

  [Kai Sommerfeld]
   * [PVR] PVR addon API documentation updates and fixes.

  [ace20022]
   * [gui] Show a dvd/bluray icon for dvd/bluray folders.

  [ace20022]
   * [gui] Show Blu-ray icon for real or emulated drives.

  [un1versal]
   * add new stricon DefaultBluray

  [ace20022]
   * [estuary] Add an icon for Blu-rays.

  [ace20022]
   * [FileItem] Refine IsBluray() method.

  [un1versal]
   * add IsBluray()

  [Rainer Hochecker]
   * VideoPlayer: rt streams - flush demux queue if sync error is too big

  [Garrett Brown]
   * Fix selecting parent path of plugins providing multiple types

  [Garrett Brown]
   * Don't set last used add-on without ID


  [taxigps]
   * fix coding issue on show disk usage message.

  [Hedda]
   * Update README.md to list BSD as its own operating systems

  [DaveTBlake]
   * Fix forced expansion of .m3u playlists as if they were folders regardless of playlistasfolders being false

  [taxigps]
   * [Estuary] show chinese input labels in proper position


  [Kai Sommerfeld]
   * [PVR] PVRGUITimesInfo: Prevent negative timeshift offsets (which can occure due to player/backend data not in sync).

  [Kai Sommerfeld]
   * [PVR] PVRGUIInfo: decrease update interval from 1000 msecs to 500 msecs to avoid 'jumping' times in OSD (which are in seconds).

  [Lukas Rusak]
   * libinput: use epoll to wait for events on the fd

  [popcornmix]
   * MMALRender: Protect against divide by zero

  [Garrett Brown]
   * Enable games by default

  [Arne Morten Kvarving]
   * added: hand rtsps (rtsp over ssl) inputs to ffmpeg


  [Kai Sommerfeld]
   * [PVR] Some code cleanup along the way.

  [Kai Sommerfeld]
   * [PVR] Refactor CGUIDialogPVRChannelGuide and CGUIDialogPVRChannelsOSD -> introduce base class CGUIDialogPVRItemsViewBase.

  [Kai Sommerfeld]
   * [PVR] CGUIDialogPVRChannelsOSD: Add context menu support.

  [Kai Sommerfeld]
   * [PVR] CGUIDialogPVRChannelGuide: Add context menu support.

  [Martijn Kaijser]
   * bump to v18.0 beta 3

  [Rechi]
   * [addons] sync with repo

  [Lukas Rusak]
   * CServiceBroker: return a pointer for CSettings

  [Rainer Hochecker]
   * VideoPlayer: demuxClient, wait until video has extradata

  [xbmc]
   * VideoPlayer: handle dying streams during sync

  [Kai Sommerfeld]
   * [PVR] Guide window: Fix deadlock.

  [Rainer Hochecker]
   * VideoPlayer: fix timeshift on demand, allow pause if no buffer exists

  [Garrett Brown]
   * Games: Fix error calculating savestate size

  [Kai Sommerfeld]
   * [messaging] CID 1439117: Uninitialized members (UNINIT_CTOR) : Non-static class member param3 is not initialized in this constructor nor in any functions that it calls.

  [Neil Armstrong]
   * linux: input: LibInputTouch: Switch to get_seat_slot() to fix single touch device input

  [anxdpanic]
   * Use GetDynPath for ExternalPlayer, and playercorefactory

  [Lukas Rusak]
   * gbm: fix surface creation when no modifiers are present

  [Arne Morten Kvarving]
   * added: hand rtsps (rtsp over ssl) inputs to ffmpeg

  [Kai Sommerfeld]
   * [PVR] trac#18022: Add support for ACTION_SHOW_INFO to CGUIDialogPVRChannelGuide.

  [Memphiz]
   * EventServer/client: - added debug logging for pressed keys and translated actions

  [Memphiz]
   * [EventClient] - when updating the item of the buttonqueue - ensure to also set m_bActive to false if key was released. (this fixes an issue were very quick release/press events are eaten because of the related logic not kicking in)

  [Memphiz]
   * [XBMCHelper/osx] - bumped HIDRemote to V1.7 - fixes uncommanded short press of up/down buttons since macos 10.13.6

  [Kai Sommerfeld]
   * [pvr] Some CPVRChannelGroup cleanup: remove unused method.

  [Kai Sommerfeld]
   * [PVR][Estuary] Add support for ACTION_(PREV

  [Memphiz]
   * [windowing/osx] - fix double release of nsstring when no displayname can be queried (initwithformat is a convenience ctor which already is autoreleasing the sting - use alloc/init instead so the return autorelease does its job) - fixes #17942

  [Kai Sommerfeld]
   * [application] Get rid of magic number to control ACTION_PREV_ITEM behavior.

  [Kai Sommerfeld]
   * [messaging][playlistplayer] Add TMSG_MEDIA_SEEK_TIME, add support to CPlayListPlayer.

  [Kai Sommerfeld]
   * [messaging] Add int64_t param3 to ThreadMessage, extend ApplicationMessenger.

  [Rechi]
   * [cleanup] silence class memaccess warning

  [Rechi]
   * [modernize] use default member initializers for SZipEntry

  [Lukas Rusak]
   * LinuxRendererGLES: cleanup logging

  [Lukas Rusak]
   * guilib: do not log empty compile info of pixel shaders

  [Kai Sommerfeld]
   * [PVR] Simple timeshift OSD (optional).

  [Lukas Rusak]
   * RenderSystemGLES: remove logging of extension test

  [Lukas Rusak]
   * RenderSystemGLES: remove unused extension test

  [ace20022]
   * [videoplayer] DVDDemuxFFmpeg: Don't try to add streams that are flagged AVDISCARD_ALL.

  [ace20022]
   * [bluray] Fix playback of disc with truehd tracks in nav mode.

  [Kai Sommerfeld]
   * [Estuary] Music OSD: Remove 'Previous' button for non-seekable streams and if player has no previous item.

  [ronie]
   * [Estuary] studio icon fixes

  [Mario Franco]
   * Show EPG image on the Dialog Seek Bar during video playback and MyPVRChannels screen

  [Kai Sommerfeld]
   * [PVR] Channel groups: simplify channel number setting logic.

  [Kai Sommerfeld]
   * [PVR] PVRChannelGroup::ResetChannelnumberCache - numbers must be reset for all groups, not only for the currently selected.

  [Mario Franco]
   * Add scroll to plot on PVR Channel Guide Dialog

  [ace20022]
   * [bluray] modernize casts in DVDInputStreamBluray.cpp.

  [ace20022]
   * [bluray] Simple menu: Don't show unplayable item dialog if the simple menu gets closed/aborted.

  [ace20022]
   * [bluray] Simple menu: Don't show menu entry if menu isn't supported.

  [ace20022]
   * [bluray] Introduce FreeTitleInfo function.

  [ace20022]
   * [bluray] Refactor GetStreamInfo(...).

  [ace20022]
   * [bluray] Directly store the current BLURAY_CLIP_INFO pointer instead of it's id.

  [Mário Franco]
   * Updated estuary skin to show epg image on Dialog Channel Guide

  [Kai Sommerfeld]
   * [guiinfo] Fix String.IsEqual if second parameter is a listitem in a given container.

  [ace20022]
   * [bluray] Make log message more informative if selection of a playlist fails.

  [DaveTBlake]
   * Fix display of video info dialog for music videos on music current playlist window

  [mglae]
   * [cmake] libdvd wrapper: make sure the correct nm binary is used

  [Mario Franco]
   * Added PVR.EpgEventIcon guiinfo label

  [DaveTBlake]
   * Several item type related fixes. Fix "information" context menu visibility on Years node, hang after <i> shortcut key press on some items, and avoid art lookup for wrong item type.

  [Mário Franco]
   * Added new api EpgEventIcon for ListItem (#14361)

  [Rechi]
   * [network][windows] implement IPv6 GetHostMacAddress

  [Rechi]
   * [network][windows] implement IPv6 PingHost

  [Rechi]
   * [network][windows] switch to different function for retrieving adapter information

  [Rechi]
   * [cleanup][network] remove XP compatibility in GetAccessPoints

  [Rechi]
   * [network][windows] replace virtual with override

  [Rechi]
   * [network][windows] remove unused empty function

  [Rechi]
   * [network] move GetMaskByPrefixLength to CNetworkBase

  [Rechi]
   * [network] move GetIpStr to CNetworkBase

  [Rechi]
   * [network] make functions const correct

  [Anton Fedchin]
   * VideoPlayer: WinRenderBuffer - fix buffer state after releasing video picture.

  [Nenad Stojanovikj]
   * [docs/code_guideline] Fix interface file naming convention

  [Kai Sommerfeld]
   * [PVR] trac18007: PVRDialogChannelsOSD: Fix crash after accessing m_vecItems after closing the dialog.

  [ace20022]
   * [videoplayer] Reduce the number of GetSubtitle() calls a bit.

  [Kai Sommerfeld]
   * [PVR] OSD: Make seek using mouse working.

  [ace20022]
   * Update avchange comments.

  [ace20022]
   * [videoplayer]GUIInfoProvider: Add subtitle info to the cache.

  [ace20022]
   * [videoplayer] Fix subtitle info in UpdateFileItemStreamDetails(...)

  [Rechi]
   * [depends] bump pcre to 8.42

  [Rechi]
   * [depends][pcre] uniformize patches

  [Martijn Kaijser]
   * v18.0 beta2 correct tag

  [mglae]
   * PythonInvoker: fix thread termination check

  [Garrett Brown]
   * [Android] Move string constant to #define

  [Garrett Brown]
   * [Android] Fix race condition causing dropped joystick buttons

  [Garrett Brown]
   * [Android] Fix missing joystick buttons and axes

  [Garrett Brown]
   * [Android] Fix off-by-1 converting controller number to port index

  [Garrett Brown]
   * [Android] Improve logging on button press

  [Garrett Brown]
   * [Android] Improve logging when device connects

  [Garrett Brown]
   * [Android] Silence log for "Try again" errors

  [Garrett Brown]
   * [Android] Remove button ID overloading

  [Garrett Brown]
   * [Android] Remove hat handling code

  [Wolfgang Haupt]
   * Settings: GBM - hide display as clock

  [popcornmix]
   * RBP: Use default resampling setting on Pi2

  [popcornmix]
   * RPB: Request GPU allocation are pre-pinned

  [popcornmix]
   * PiSink: Treat default as HDMI

  [popcornmix]
   * MMALCodec: Fail to open when width is invalid. Can happen with mpegts files

  [popcornmix]
   * MMALCodec: Clear eos flag when drain is no longer true

  [Garrett Brown]
   * [Android] Remove check for analog buttons

  [Garrett Brown]
   * [depends] Update libandroidjni for input source additions

  [Garrett Brown]
   * Update .gitignore for aarch64 depends

  [Garrett Brown]
   * Peripherals: Encapsulate joystick check into joystick class

  [djp952]
   * [pvr] Persist series link EPG tag attributes to database


  [Kai Sommerfeld]
   * [PVR] Some code cleanup along the way.

  [Kai Sommerfeld]
   * [PVR] Refactor CGUIDialogPVRChannelGuide and CGUIDialogPVRChannelsOSD -> introduce base class CGUIDialogPVRItemsViewBase.

  [Kai Sommerfeld]
   * [PVR] CGUIDialogPVRChannelsOSD: Add context menu support.

  [Kai Sommerfeld]
   * [PVR] CGUIDialogPVRChannelGuide: Add context menu support.

  [Martijn Kaijser]
   * bump to v18.0 beta 3

  [Lukas Rusak]
   * CServiceBroker: return a pointer for CSettings

  [Rainer Hochecker]
   * VideoPlayer: demuxClient, wait until video has extradata

  [xbmc]
   * VideoPlayer: handle dying streams during sync

  [Garrett Brown]
   * Games: Fix error calculating savestate size


  [Rechi]
   * [addons] sync with repo

  [Kai Sommerfeld]
   * [PVR] Guide window: Fix deadlock.

  [Rainer Hochecker]
   * VideoPlayer: fix timeshift on demand, allow pause if no buffer exists

  [Kai Sommerfeld]
   * [messaging] CID 1439117: Uninitialized members (UNINIT_CTOR) : Non-static class member param3 is not initialized in this constructor nor in any functions that it calls.

  [Neil Armstrong]
   * linux: input: LibInputTouch: Switch to get_seat_slot() to fix single touch device input

  [anxdpanic]
   * Use GetDynPath for ExternalPlayer, and playercorefactory

  [Lukas Rusak]
   * gbm: fix surface creation when no modifiers are present

  [DaveTBlake]
   * Fix display of video info dialog for music videos on music current playlist window


  [Memphiz]
   * EventServer/client: - added debug logging for pressed keys and translated actions

  [Memphiz]
   * [EventClient] - when updating the item of the buttonqueue - ensure to also set m_bActive to false if key was released. (this fixes an issue were very quick release/press events are eaten because of the related logic not kicking in)

  [Memphiz]
   * [XBMCHelper/osx] - bumped HIDRemote to V1.7 - fixes uncommanded short press of up/down buttons since macos 10.13.6

  [ace20022]
   * [videoplayer] DVDDemuxFFmpeg: Don't try to add streams that are flagged AVDISCARD_ALL.

  [ace20022]
   * [bluray] Fix playback of disc with truehd tracks in nav mode.


  [Kai Sommerfeld]
   * [PVR] trac#18022: Add support for ACTION_SHOW_INFO to CGUIDialogPVRChannelGuide.


  [Kai Sommerfeld]
   * [pvr] Some CPVRChannelGroup cleanup: remove unused method.

  [Kai Sommerfeld]
   * [PVR][Estuary] Add support for ACTION_(PREV

  [Memphiz]
   * [windowing/osx] - fix double release of nsstring when no displayname can be queried (initwithformat is a convenience ctor which already is autoreleasing the sting - use alloc/init instead so the return autorelease does its job) - fixes #17942

  [Kai Sommerfeld]
   * [application] Get rid of magic number to control ACTION_PREV_ITEM behavior.

  [Kai Sommerfeld]
   * [messaging][playlistplayer] Add TMSG_MEDIA_SEEK_TIME, add support to CPlayListPlayer.

  [Kai Sommerfeld]
   * [messaging] Add int64_t param3 to ThreadMessage, extend ApplicationMessenger.

  [ronie]
   * [Estuary] studio icon fixes



  [Rechi]
   * [cleanup] silence class memaccess warning

  [Rechi]
   * [modernize] use default member initializers for SZipEntry

  [Lukas Rusak]
   * LinuxRendererGLES: cleanup logging

  [Lukas Rusak]
   * guilib: do not log empty compile info of pixel shaders

  [Kai Sommerfeld]
   * [PVR] Simple timeshift OSD (optional).

  [Lukas Rusak]
   * RenderSystemGLES: remove logging of extension test

  [Lukas Rusak]
   * RenderSystemGLES: remove unused extension test

  [Kai Sommerfeld]
   * [Estuary] Music OSD: Remove 'Previous' button for non-seekable streams and if player has no previous item.

  [Kai Sommerfeld]
   * [PVR] Channel groups: simplify channel number setting logic.

  [Kai Sommerfeld]
   * [PVR] PVRChannelGroup::ResetChannelnumberCache - numbers must be reset for all groups, not only for the currently selected.




  [Mario Franco]
   * Show EPG image on the Dialog Seek Bar during video playback and MyPVRChannels screen

  [Mario Franco]
   * Add scroll to plot on PVR Channel Guide Dialog


  [ace20022]
   * [bluray] modernize casts in DVDInputStreamBluray.cpp.

  [ace20022]
   * [bluray] Simple menu: Don't show unplayable item dialog if the simple menu gets closed/aborted.

  [ace20022]
   * [bluray] Simple menu: Don't show menu entry if menu isn't supported.

  [ace20022]
   * [bluray] Introduce FreeTitleInfo function.

  [ace20022]
   * [bluray] Refactor GetStreamInfo(...).

  [ace20022]
   * [bluray] Directly store the current BLURAY_CLIP_INFO pointer instead of it's id.

  [Kai Sommerfeld]
   * [guiinfo] Fix String.IsEqual if second parameter is a listitem in a given container.

  [ace20022]
   * [bluray] Make log message more informative if selection of a playlist fails.

  [mglae]
   * [cmake] libdvd wrapper: make sure the correct nm binary is used


  [Mário Franco]
   * Updated estuary skin to show epg image on Dialog Channel Guide

  [Mario Franco]
   * Added PVR.EpgEventIcon guiinfo label

  [DaveTBlake]
   * Several item type related fixes. Fix "information" context menu visibility on Years node, hang after <i> shortcut key press on some items, and avoid art lookup for wrong item type.

  [ace20022]
   * [videoplayer] Reduce the number of GetSubtitle() calls a bit.

  [mglae]
   * PythonInvoker: fix thread termination check

  [popcornmix]
   * RBP: Use default resampling setting on Pi2

  [popcornmix]
   * RPB: Request GPU allocation are pre-pinned

  [popcornmix]
   * PiSink: Treat default as HDMI

  [popcornmix]
   * MMALCodec: Fail to open when width is invalid. Can happen with mpegts files

  [popcornmix]
   * MMALCodec: Clear eos flag when drain is no longer true


  [Mário Franco]
   * Added new api EpgEventIcon for ListItem (#14361)

  [Rechi]
   * [network][windows] implement IPv6 GetHostMacAddress

  [Rechi]
   * [network][windows] implement IPv6 PingHost

  [Rechi]
   * [network][windows] switch to different function for retrieving adapter information

  [Rechi]
   * [cleanup][network] remove XP compatibility in GetAccessPoints

  [Rechi]
   * [network][windows] replace virtual with override

  [Rechi]
   * [network][windows] remove unused empty function

  [Rechi]
   * [network] move GetMaskByPrefixLength to CNetworkBase

  [Rechi]
   * [network] move GetIpStr to CNetworkBase

  [Rechi]
   * [network] make functions const correct

  [Anton Fedchin]
   * VideoPlayer: WinRenderBuffer - fix buffer state after releasing video picture.

  [Nenad Stojanovikj]
   * [docs/code_guideline] Fix interface file naming convention

  [Kai Sommerfeld]
   * [PVR] trac18007: PVRDialogChannelsOSD: Fix crash after accessing m_vecItems after closing the dialog.

  [ace20022]
   * Update avchange comments.

  [ace20022]
   * [videoplayer]GUIInfoProvider: Add subtitle info to the cache.


  [Kai Sommerfeld]
   * [PVR] OSD: Make seek using mouse working.

  [ace20022]
   * Update avchange comments.

  [ace20022]
   * [videoplayer]GUIInfoProvider: Add subtitle info to the cache.

  [ace20022]
   * [videoplayer] Fix subtitle info in UpdateFileItemStreamDetails(...)

  [Rechi]
   * [depends] bump pcre to 8.42

  [Rechi]
   * [depends][pcre] uniformize patches

  [Martijn Kaijser]
   * v18.0 beta2 correct tag

  [Garrett Brown]
   * [Android] Move string constant to #define

  [Garrett Brown]
   * [Android] Fix race condition causing dropped joystick buttons

  [Garrett Brown]
   * [Android] Fix missing joystick buttons and axes

  [Garrett Brown]
   * [Android] Fix off-by-1 converting controller number to port index

  [Garrett Brown]
   * [Android] Improve logging on button press

  [Garrett Brown]
   * [Android] Improve logging when device connects

  [Garrett Brown]
   * [Android] Silence log for "Try again" errors

  [Garrett Brown]
   * [Android] Remove button ID overloading

  [Garrett Brown]
   * [Android] Remove hat handling code

  [Wolfgang Haupt]
   * Settings: GBM - hide display as clock

  [Garrett Brown]
   * [Android] Remove check for analog buttons

  [Garrett Brown]
   * [depends] Update libandroidjni for input source additions

  [Garrett Brown]
   * Update .gitignore for aarch64 depends

  [Garrett Brown]
   * Peripherals: Encapsulate joystick check into joystick class

  [djp952]
   * [pvr] Persist series link EPG tag attributes to database


 [wsnipex]
 * dummy

 -- wsnipex <wsnipex@a1.net>  Sun, 04 Nov 2012 09:41:54 +0100
