We are proud to announce Matomo 4.5.0: a new release of Matomo Analytics.

What’s new?

This is a maintenance release focussing on the stability and reliability of Matomo. In particular there have been improvements to System Checks and Reports UI, and some changes in preparation for PHP 8.1. We’ve made several security improvements including adding Content Security Policy to prevent some XSS attacks within Matomo.

Matomo Tag Manager has received several useful updates. Tag Manager now detects elements coming into view on a webpage even when the visitor is not scrolling.

This is the last release in which Matomo is fully compatible with Internet Explorer 11 (see blog post).

We are grateful for all community members who reported feedback and suggestions, our awesome team of translators for their work, and our Premium features customers and Matomo Cloud hosting customers for their amazing support.

111 tickets have been closed by 19 contributors!

After You Update

  • Please help us spread the word! Maybe you can write about the project on your blog, website, twitter, talk at conferences or let your friends and colleagues know what is Matomo. Already 1,000,000+ websites are keeping full control of their web analytics with Matomo!
  • Use the forums if you have any question or feedback (free support),
    or purchase a Support Plan to get professional support and guidance.
  • To improve Matomo in your language consider contributing to translations.
  • You can also support our efforts by purchasing valuable Premium Features for Matomo or try our Matomo Cloud solution.

Database upgrade

This release does not contain any major database upgrade.

Platform Changes

Matomo is an open analytics platform. In an effort to help Matomo developers learn about improvements and changes in the core APIs, we document the changes since the last release.

In this 4.5.0 release there are no major platform changes. Read more in Platform Changelog for Developers to see all changes to the platform and APIs.

Note: the Marketplace showcases more than 90 plugins already compatible with Matomo and this is just the beginning. Matomo is your universal data analytics platform!

New and updated SDKs (Tracking API Clients)

The Matomo team offers official SDKs (Tracking API Clients) for measuring your mobile apps and any other kind of apps.

New guides and FAQs

New plugins

By the Matomo team and InnoCraft:

Need help upgrading Matomo?

Read the Updating Matomo user guide or for more help we offer paid support plans.

List of 111 tickets closed in Matomo 4.5.0


    • #17870 Improve I/O performance by not writing placeholder files when they already exist [by @justinvelluppillai]
    • #17732 Users can get logged out when many notifications are pending [by @diosmosis]
    • #17853 Clicking through the following pages in the transition overlay for page titles does not work
    • #17872 If the period is not enabled in config « The period is not supported » message is shown in cron archiving [by @diosmosis]
    • #17926 Console error « There was an error setting cookie `mtm_cookie_consent`. Please check domain and path. » when calling ‘rememberCookieConsentGiven’ [by @justinvelluppillai]
    • #17965 In Acquisition > Overview report, the Row selector is missing [by @geekdenz]
    • #17966 Warning DataCollection.php(381): Notice – Undefined index: 2021-04-26,2021-05-02
    • #17091 Failing SMTP connection might result in information disclosure in password recovery [by @geekdenz]
    • #17773 Matomo should be setting content security policy to prevent some XSS [by @justinvelluppillai]
    • #18030 Remove fallback to mt_rand and always use random_int for secure randomness [by @Findus23, @tsteur]
    • #2672 New INI config setting for Custom image to replace default 1×1 GIF image [by @bx80, @sgiehl]
    • #16576 New console command config:delete to delete a key
    • #16859 Add JS tracker methods setPagePerformanceTiming and getCustomPagePerformanceTiming to set specific values for performance metrics [by @geekdenz]
    • #17738 Don’t log an error when not supported browser is used
    • #14719 Run OPTIMIZE TABLE on each table in a separate SQL query to work better with replication [by @bx80]
    • #15322 Removed misleading help text from segment dimensions tooltip [by @geekdenz]
    • #15892 ‘Acquistion/Overview/Evolution over the period’ graph fails when adding more channels [by @geekdenz]
    • #16529 Old data in log tables without idvisit column are not purged (affects plugins) [by @geekdenz]
    • #15036 Hide « AND segmented reports are pre-processed (faster, requires cron) » from the UI when enable_create_realtime_segments = 0 [by @geekdenz]
    • #15135 Link to a helpful FAQ in the error message « Oops, there was a problem during the request. » [by @geekdenz]
    • #15335 When configuring an e-mail report, the selected segment is not saved [by @sgiehl]
    • #16604 Update RegEx extractions help text to show slashes don’t need escaping [by @peterhashair]
    • #17577 Split private directories system check into « Required » and « Recommended » [by @geekdenz]
    • #16834 Use row_format=dynamic by default when creating a table [by @peterhashair]
    • #18012 Add warning about dropping support for IE11 in Matomo user interface [by @diosmosis]
    • #18039 Remove not used DB adapters [by @peterhashair]
    • #16459 Heartbeat timer ping request is not always sent (focusing away from the tab should trigger the ping request) [by @peterhashair]
    • #17640 Page Overlay ignores token_auth in URL when opened from a Widget [by @flamisz, @justinvelluppillai, @geekdenz]
    • #17752 Automatically delete plugin specific/report specific invalidations that do not need to run [by @justinvelluppillai]
    • #17787 Javascript console error when clicking Install routine: Download System Check button [by @geekdenz]
    • #17816 Limiting ecommerce product reports to 10,000 to avoid memory issues with new INI config setting to customise
    • #17871 Added info message that INI setting archiving_query_max_execution_time may not work for MySQLI [by @bx80]
    • #17883 Possible warning notices during log archive
    • #17925 The selected [Allow multiple conversions per visit] option is not displayed when editing a goal [by @sgiehl]
    • #18046 For login allow list add support for IPv6 [by @tsteur]
    • #17817 When aggregating reports, inflate one expanded datatable at a time [by @diosmosis]
    • #17818 get rid of stashed datatables before going into safe mode to free up memory [by @diosmosis]
    • #17846 Remove checking for /proc existence [by @avkarenow, @diosmosis]
    • #17849 Scheduled tasks: Always read timetable from the database and not from memory [by @tsteur]
    • #17855 Use Monolog:SyslogHandler syslog default facility [by @mwithheld, @diosmosis]
    • #17867 Do not log a failed login if a valid app token_auth is sent [by @sgiehl]
    • #17869 Fix a couple a possible warnings in PHP 8.1 [by @sgiehl, @diosmosis]
    • #17877 Only set requests in tracking request set when correct value is given [by @tsteur]
    • #17891 Ignore overwrite subtable warning for summary rows for old data to avoid re-archiving for a single row [by @diosmosis]
    • #17905 Update cache component [by @tsteur, @sgiehl]
    • #17910 Expose methods to disable content security policy or loosen it for embedded iframes [by @justinvelluppillai, @tsteur]
    • #17937 Load sparkline images only once they are near view port [by @tsteur, @justinvelluppillai]
    • #17943 When processing a dependent archive for a range, then only process the requested plugin, not all plugins [by @tsteur]
    • #17949 try and reconnect database after running each scheduled task (at most once per two hours) during core:archive [by @diosmosis, @tsteur]
    • #17992 Update doctrine cache to the right version [by @tsteur, @sgiehl]
    • #18023 Allow social & search definitions to be sourced locally [by @samjf, @tsteur]
    • #18024 Check config file was written correctly [by @JasonMortonNZ, @tsteur]
    • #18033 Allow scheduled report emails to be differentiated from other emails [by @JasonMortonNZ, @tsteur]
    • #18042 removed files related to unsupported databases [by @peterhashair, @tsteur]
    • #18074 Update container factory to allow for sorting plugins [by @JasonMortonNZ, @tsteur]


    • #208 Added option to configure cookie domain in configuration [by @AltamashShaikh]
    • #328 Observe DOM element changes even when a user doesn’t scroll on the page [by @AltamashShaikh]
    • #339 Visibility trigger add feature to observe DOM changes etc. [by @AltamashShaikh]
    • #49 Make Matomo tag parameters descriptions translatable [by @AltamashShaikh]
    • #225 Explain what the Tag Manager « Enable DNT » setting in the Matomo Configuration variable does [by @AltamashShaikh]
    • #268 New « Click Button » variable and « All Elements Click » and « All Links Click » will trigger on middle and right click also [by @AltamashShaikh]
    • #349 The `WindowUnload` event should be triggered only once for Microsoft Internet Explorer in Edge mode [by @tsteur]
    • #362 Element visibility trigger may trigger too often [by @AltamashShaikh]
    • #344 Visibility trigger add feature to observe DOM changes [by @AltamashShaikh]


    • #6477 Adds detection for Secure Browser [by @liviuconcioiu, @sanchezzzhak]
    • #6546 Adds detection for tvOS and removes Apple TV [by @liviuconcioiu, @sanchezzzhak]
    • #6812 Added detection for existing brands: AT&T, Tecno Mobile, Vivo, Blu, Philips, Phonemax, Motorola, Ulefone, ZTE, DEXP, JVC, UMIDIGI, F150, Neffos, Nomi, Nomu, NOA, Inoi, Doogee, Senseit, Pixus, Mintt, Mobicel [by @sanchezzzhak, @sgiehl]
    • #6813 Added detection for existing brands: ZTE, HTC, Lenovo, Doogee, Prestigio, GOCLEVER, iLife, Explay, Blu, Vivo, Overmax, Vertex, Blackview [by @sanchezzzhak, @sgiehl]
    • #6815 Added detection for bots: LinkPreview, JungleKeyThumbnail [by @sanchezzzhak, @sgiehl]
    • #6817 Adds detection for various bots [by @liviuconcioiu, @sanchezzzhak]
    • #6818 Added detection for mobile app: NTV Mobil [by @sanchezzzhak]
    • #6819 Detect devices for existing brands: Infinix, Oukitel, Inoi, Wileyfox, Teclast, Iris, Umax, Sencor, Meizu, Huawei, Blu, MyPhone, Hisense, ZTE, Vivo [by @sanchezzzhak, @sgiehl]
    • #6822 Detect devices for existing brands: Doro, Xiaomi, Turbo-X, Majestic, Energizer, Ulefone, Prestigio, Nomi, NGM, Lenovo, Blu, HTC, ZTE, Motorola, Digma [by @sanchezzzhak]
    • #6824 Detect devices for existing brands: Santin, Ulefone, DEXP, TrekStor, Teclast, Asus, Neffos, Nobby, Xiaomi, ZTE, OPPO, Wiko, Lenovo, LT Mobile, MLS, Vertex, MyPhone, Lava, HTC, Palm, Jinga, Archos, Bravis, Nomi, Elephone [by @sanchezzzhak, @sgiehl]
    • #6825 Detect bot Turnitin [by @sanchezzzhak]
    • #6827 Detect devices for existing brands: A1, Huawei, Crosscall, Samsung, Tecno Mobile, Teclast, Realme, Reeder, Leagoo, OPPO, Sony, Asus, Sharp, Fujitsu, Xiaomi, Motorola [by @sanchezzzhak, @sgiehl]
    • #6828 Detect app TikTok for Android [by @sanchezzzhak]
    • #6829 Adds bot detection Google StoreBot [by @sanchezzzhak, @sgiehl]
    • #6830 Detect new brands Adronix, ProVision and Detect devices for existing brands: AllDocube, Asus, Fujitsu, Huawei, Xiaomi, Lenovo, Motorola, Openbox, Karbonn, Lava, Vivo, Meizu, Hoozo, Realme, Krüger&Matz [by @sanchezzzhak, @sgiehl]
    • #6834 Adds bot detection Dotcom Monitor [by @sanchezzzhak]
    • #6835 Detect apps: AliExpress, QuickCast, Blue Proxy, COAF SMART Citizen [by @sanchezzzhak]
    • #6837 Detect devices for existing brands: Alcatel, MTC, HTC, Nokia, Vivo, Samsung, OnePlus, Nomi, ONN, Tecno Mobile, Realme, Blackview, LG, Lenovo, Motorola, Digma, Fairphone, Homtom [by @sanchezzzhak]
    • #6839 Detect new brand Sirin labs and Detect devices for existing brands: Google, Vivo, POCO, OPPO, Sony, Sharp, Oukitel, Lenco, iVA, Doogee, MyPhone, M-Horse, Dialog, Digma, Energizer, Santin, MDC Store, 4Good, Matrix, Allwinner, Prestigio [by @sanchezzzhak]
    • #6840 Detect new brands: Anker, Perfeo, CGV and Detect devices for existing brands: Hoffmann, Huawei, Lenovo, Prestigio, Coolpad, Digiland, Reeder, Xiaomi, Realme, Oukitel, Oale, Tecno Mobile, Medion, Teclast, Kyocera, Gionee, MTC, Alcatel, DEXP, Irbis [by @sanchezzzhak]
    • #6842 Adds browser detection for Stampy Browser [by @sanchezzzhak]
    • #6843 Add Amazonbot and simplify some bot regexes [by @MichaIng, @sanchezzzhak]
    • #6845 Detect bots: ThinkChaos, DataForSeoBot [by @sanchezzzhak, @sgiehl]
    • #6846 Detect new brands: Telia, Canal Digital and Detect device OPPO A16 [by @sanchezzzhak]
    • #6847 Detect new brand ZIFRO and Detect devices for existing brands: Blu, Prestigio, Bluboo, Leagoo, Motorola, Sigma, Google, Tecno Mobile, Archos, Xiaomi, Ginzzu, Qumo, UMIDIGI, DEXP, EE, CUBOT, Amoi, Xgody, Sony, IconBIT, MegaFon, OPPO [by @sanchezzzhak]
    • #6850 OS family added to operating system parse result [by @Khutorny, @sanchezzzhak]
    • #6851 Detect brand Google model: Chromecast (2020) [by @sanchezzzhak, @sgiehl]
    • #6852 Detect new brands: SmartBook, Covia, Qubo, Bundy, Sprint, Kiowa and Detect devices for existing brands: F2 Mobile, QMobile, KINGZONE, Mobicel, Vodafone, HTC, Bmobile, Gome, Cherry Mobile, Oukitel, Alcatel, Sunny, Primux, Sky, Vestel, iView, Realme, Ainol, IconBIT [by @sanchezzzhak]
    • #6854 Detect brand Huawei model: Nexus 6P [by @sanchezzzhak]
    • #6856 Detect new brands: Smart, Stylo, Galaxy Innovations, Benzo, Exmart and Detect devices for existing brands: GOCLEVER, Hurricane, Gresso, Mobicel, Riviera, Haier, Alcatel, Kanji, Karbonn, NextBook, Leader Phone, Leotec, TrekStor, Highscreen, Starmobile, Blu, Lava, Gome, Hyundai, Carrefour, F2 Mobile, Xiaomi, Sony, Sico, Amazon, Asus [by @sanchezzzhak, @sgiehl]
    • #6857 Rename brand 2F Mobile to F2 Mobile [by @sanchezzzhak]
    • #6859 Detect app TikTok for iOS [by @sanchezzzhak, @sgiehl]
    • #6861 Detect OS HarmonyOS [by @sanchezzzhak, @sgiehl]
    • #6863 Detect browser GoBrowser for Symbian [by @sanchezzzhak]
    • #6865 Improved browser engine detection for Tenta browser [by @sanchezzzhak, @sgiehl]
    • #6866 Detect new brands: Vexia, AIRON, Mymaga, HiMax, Packard Bell, Qnet Mobile and Detect devices for existing brands: Hyundai, Odys, Inco, Amazon, NEC, Sony, iMars, Qubo, Mito, DNS, Lark, Timovi, Masstel, Telefunken, Luna, MyPhone, Leader Phone, Elephone [by @sanchezzzhak, @sgiehl]
    • #6868 Detect New Model: Mi Mix 4 [by @dongdongGit, @sanchezzzhak]
    • #6870 Detect devices for existing brands: Xiaomi, Samsung, Realme, Tecno Mobile, Mobicel, Vivo, Lenovo, ZTE, OPPO, Oukitel, CUBOT, UMIDIGI, OnePlus, Ulefone, Doogee, TCL, Vivo, Vertex, Infinix, Krüger&Matz, Wiko, DEXP, BQ [by @sanchezzzhak, @sgiehl]
    • #6872 Detect new brand Nubia [by @sanchezzzhak, @sgiehl]
    • #6873 Detect new brands: Bluebird, Mara and Detect devices for existing brands: Krüger&Matz, iHunt, Sony, Teclast, Tanix, Logicom, Nubia, Xiaomi, QMobile, DIXON, Zuum, Vodacom, Mobicel, Oukitel, Motorola, Stylo, Tecno Mobile, Chuwi, OnePlus, Vivo, iTel, Doogee, Cat, Homtom, CUBOT, MLS, Blu, Casper, Unonu [by @sanchezzzhak, @sgiehl]
    • #6874 Detect new brands: BMAX, Geotex and Detect devices for existing brands: Telefunken, Asus, Huawei, Lenovo, Tecno Mobile, Nomi, Coolpad, Blu, Navitel, Winnovo, Digiland, DEXP, Sony, Inoi, OPPO, Samsung, Xiaomi, LG, Vivo, UMIDIGI, Mobicel, Teclast, Zuum [by @sanchezzzhak, @sgiehl]




We are together creating the best open analytics platform in the world. You can help make Matomo even more awesome by getting involved in Matomo!