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

Note: We have released 4.6.1 a few hours after 4.6.0 to address a small issue in our release process (we didn’t use the latest build script). In 4.6.1 there is no code change compared to 4.6.0 but a change to the “Manifest File integrity list” to prevent a warning in the System check for some users.

What’s new?

This is another maintenance release improving the reliability and stability of Matomo, while also including a number of significant features and improvements. One new feature we think you’ll love is graphs now showing a difference for data of “unfinished” and “complete” periods, with unfinished periods now indicated by a dashed line.

There are several UI and accessibility enhancements, performance improvements, and features. The row evolution will now show the goal metrics when a row evolution is opened from

  • a report on a goals report page (specific or overview)
  • the ecommerce sales page
  • or any other report that has been switched to the goals visualization

Transitions reports can be exported in XML or JSON format with the export button (bottom right).

We have removed the “refer us” feature and review popup and replaced them with a simpler, unobtrusive banner that will allow you to provide us with valuable feedback about Matomo without annoying you in the process.

Matomo Tag Manager has received several useful updates. Previously when you used Tag Manager Debugger you had to append parameters to a URL, now you can simply enter the URL in a form and click Debug.

We are dropping support for IE11 in Matomo (note: the tracking code still supports IE11, this only affects the Matomo UI). With the AngularJS end-of-life scheduled for the end of this year, we have added support for Vue.JS in this release in preparation for transitioning away from AngularJS in future. With a new version of PHP recently released, support for PHP8.1 has also been improved.

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 more than 16 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.

Security release

This is a major security release.

We fixed an issue where it was possible to gain access to any Matomo user account on a server running Nginx, where the Matomo user login is known and two-factor authentication is disabled and if the Matomo user could be tricked into doing some specific action. It is strongly recommended to use two-factor authentication for the safety of your account.

This issue was responsibly disclosed to our Security team. Our security bug bounty program welcomes & rewards researchers who discover and responsibly report to us any security issues found in Matomo or any of the plugins created by Matomo/InnoCraft.

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.6.0 release there is a new javascript framework, New APIs, breaking API changes, New commmands, New config settings and support for IE11 has been dropped. 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

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.6.0

    matomo-org/matomo
  • #6784 Dashboard shows proportional evolution comparison for incomplete periods (rather than absolute values) [by @peterhashair, @bx80]
  • #3883 Row Evolution, Support Per-Goals and Ecommerce metrics: conversions, conversion rate, revenue and total revenue [by @sgiehl]
  • #6032 Transitions reports: export full data as XML/JSON [by @bx80]
  • #10291 Show difference in graphs for data of “unfinished periods” and “complete periods” [by @bx80]
  • #14370 Remember “Rows to display” user preference for Evolution graphs [by @sgiehl]
  • #17976 Scheduled tasks should not launch archiving [by @peterhashair]
  • #8444 Ensure that the archive algorithm cannot be triggered multiple times for a same site/period/segment
  • #11627 JavaScript Tracker: Add possibility to set URL parameters to ignore [by @bx80]
  • #18186 Improve in-app feedback mechanism to gain insight from users about pain points [by @bx80]
  • #18036 Optimise ecommerce life time metric query [by @samjf]
  • #18079 Make error messages not leak potentially sensitive information when tracker db connection fails [by @peterhashair]
  • #18244 Ensure DNS records are only requested for IP allowlist when needed [by @sgiehl]
  • #18232 Remove “refer us” feature [by @peterhashair]
  • #18250 Remove review popup [by @peterhashair]
  • #18251 Collect feedback about what features people are using? [by @peterhashair]
  • #3513 Column names could stick to the top of screen when scrolling down report tables [by @peterhashair]
  • #16607 More verbose error message when login nonce check fails [by @peterhashair]
  • #18164 Install routine: Fix text contrast for accessibility [by @donovanglover, @sgiehl]
  • #17589 Add config option to disable http requests in System Checks to prevent server crashes with mod_security [by @geekdenz, @justinvelluppillai]
  • #17856 [database_tests] section no longer generated when executing php tests [by @peterhashair]
  • #18133 JSONp API request (with callback) strips first and last character from result [by @justinvelluppillai]
  • #18178 Fix segment creation fails when enable_create_realtime_segments = 0 [by @sgiehl]
  • #18313 Newsletter Signup in personal settings, mention Matomo privacy policy applies [by @bx80]
  • #17815 Improve UI of report info icon to show report generation time and help message [by @peterhashair]
  • #18058 Add system check for 32 bit PHP / OS [by @peterhashair]
  • #18070 New console command “marketplace:add-license-key” which adds a marketplace license key [by @ziegenberg]
  • #18107 Add more granular access control for segment creation [by @peterhashair]
  • #18162 Close Tooltip when redirecting to another page [by @jonathannoel]
  • #18152 Improve performance of Process::isSupported by caching it [by @tsteur, @sgiehl]
  • #18157 Make cli archiving faster if only one concurrent request per website is configured [by @tsteur]
  • #18172 Fix initial export option values so checkbox shows correct value [by @sgiehl]
  • #18211 Updates davaxi/sparkline to 2.0 to PHP8.1 compatible version [by @sgiehl, @tsteur]
  • #18215 Fix CSP issue when viewing marketplace plugin details [by @sgiehl, @tsteur]
  • #15429 Mention guides for Wix, WordPress, SquareSpace, Sharepoint in the “No data” email and in the “Tracking code” page [by @bx80]
  • #17602 Fix 2-lines label overflows the input [by @peterhashair]
  • #17786 Install routine: language changer line height improvements
  • #11175 Improve help text on ‘Users’ report when no data [by @peterhashair]
  • #17010 When “average generation time” is zero, hide the sparkline and “Avg generation time” graphs metric from picker [by @peterhashair]
  • #17890 Remove “add new segment” selector in segment editor [by @peterhashair]
  • #17996 Manage Users: When user is admin, mention other users might exist [by @peterhashair]
  • #17973 Remove Provider and CustomVariables plugin from our core release [by @peterhashair]
  • #18011 Update list of no longer supported browsers (IE11) [by @tsteur]
  • #17923 Make SecurityPolicy methods a public API and fully enable the CSP [by @justinvelluppillai]
  • #16153 Tracking request may trigger a warning when providing an invalid regex [by @diosmosis, @peterhashair]
  • #14695 Special character apostrophe is not getting printed properly in visits log (campaign url) [by @diosmosis, @bx80]
  • #16067 Fix dashboard showing incorrect percentage on increases bigger than 1000%
  • #17939 Include lox/xhprof in the Matomo build release so Profiling works [by @tsteur]
  • #18019 Make the opt out work when a PHP 32 bit is used [by @peterhashair]
  • #18130 Fixed in place sorting order bug for PHP8+
  • #18231 Fix annotations for “Behaviour > Performance” StackedBarEvolution charts [by @sgiehl]
  • #18267 Decode goal top dimension values [by @sgiehl]
  • #10550 Add field lastSeen in the API for the UsersManager [by @peterhashair]
  • #17916 Introduce new config setting to set a contact email address [by @sgiehl]
  • #17940 [Vue] Introduce Vue + Workflow commands [by @diosmosis, @sgiehl]
  • #18071 Provide console command for adding a marketplace license key (#18070) [by @ziegenberg, @tsteur]
  • #18074 Update container factory to allow for sorting plugins [by @JasonMortonNZ, @tsteur]
  • #18110 Use detachEvent when removeEventListener isn’t available [by @peterhashair, @justinvelluppillai]
  • #18123 Don’t browser archive when segment is set to be pre-processed [by @tsteur]
  • #18137 Make the Twig cache template path more configurable with a DI entry [by @samjf, @tsteur]
  • #18149 Fix error cannot read property “replace” of undefined in quick search [by @tsteur, @justinvelluppillai]
  • #18156 Small optimisations to Archiving performance [by @samjf, @tsteur]
  • #18166 [Vue] Migrate content-block, enriched-headline, rate-feature + related [by @diosmosis, @sgiehl]
  • #18187 Fix possible problem with CSP in overlay feature [by @sgiehl]
  • #18193 [Vue] migrate comparisons service + component [by @diosmosis]
  • #18204 Always remove hash part from URL when detecting the script name [by @sgiehl]
  • #18213 [Vue] migrate date-picker and other period-selector related components [by @diosmosis]
  • #18214 [Vue] migrate dropdown and related directives [by @diosmosis, @sgiehl]
  • #18225 [Vue] migrate notifications directive & service + UI.Notifications [by @diosmosis, @sgiehl]
  • #18235 Changes to keep sorting order consistent across all PHP versions for Live.getLastVisitsDetails API [by @AltamashShaikh, @justinvelluppillai]
  • #18241 Take archive TTL time into consideration for today when browser archiving is enabled [by @tsteur, @sgiehl]
  • #18255 Fix archiving too many segments that aren’t needed and showing 0 conversions for new visits/returning visitors [by @tsteur]
  • #18263 Support downloading system tests from plugins [by @tsteur]
  • #18278 Remove cache clearing from forget invalidations loop. [by @samjf, @tsteur]
  • #18300 Corrected paths mentioning “piwik/” to “/path/to/matomo/”. [by @cherouvim, @sgiehl]
  • #18309 Couple of fixes in QuickForm2 for PHP8.1 compatibility [by @sgiehl, @tsteur]
  • matomo-org/tag-manager
  • #217 Enable Debugging mode without URL parameter [by @AltamashShaikh]
  • #375 Right clicks trigger twice for “All Links Click” and “All Elements Click” in Firefox
  • #378 Fix deprecation warning on PHP 8.1 [by @sgiehl, @tsteur]
  • matomo-org/device-detector
  • #5773 Add detection for Google Podcasts
  • #6793 Improvements for the OS parser a second level of regular expressions has been added [by @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]
  • #6877 Detect new brand: Rakuten and Detect devices for existing brands: Beelink, Sony, Blackview, Samsung, NUU Mobile, Oukitel, Coolpad, LG, DEXP, Acer, ZTE, TCL, Mobicel, Contixo, BQ, ONYX BOOX, Mecer, Digma, Lenovo, RCA Tablets, Intex, Huawei, Santin, Vivo, NOA, iTel, Sharp, Prestigio, HTC, OnePlus, Wiko, Fly, Meizu, Lava, Gionee [by @sanchezzzhak, @sgiehl]
  • #6878 detect the device type for other browsers (Huawei, Quark, MQQBrowser)
  • #6879 Detect devices for existing brands: Vivo, Huawei, ZTE, Smartisan, Samsung, OPPO, HTC, Xiaolajiao, POCO, Xiaomi, Blu [by @sanchezzzhak, @sgiehl]
  • #6880 Adds detection for Apple iPhone 13 models [by @liviuconcioiu, @sanchezzzhak]
  • #6881 Detect device type for chrome forks [by @sanchezzzhak, @sgiehl]
  • #6883 Detect devices for existing brands: Vivo, HTC, Hisense, Gionee, Huawei, Samsung, Realme, Blu, NOA [by @sanchezzzhak, @sgiehl]
  • #6885 Detect oss: Java ME, REX [by @sanchezzzhak, @sgiehl]
  • #6886 Detect new brand: DING DING and Detect devices for existing brands: Zopo, F2 Mobile, iBall, Krüger&Matz, Hotwav, Orange, Tecno Mobile, Runbo, Vonino, M4tel, Kempler & Strauss, Rokit, Stylo, DEXP, Prestigio, Mobicel, Santin [by @sanchezzzhak, @sgiehl]
  • #6888 Detect devices for existing brands: X-TIGI, Prestigio, Micromax, LG, DEXP, Oukitel, Hurricane, Alcatel, M4tel, Blackview, S-TELL, Coolpad, HTC, Teclast, Mecer, Huawei, Reeder, Orange, Mobicel, Realme, NUU Mobile, Xiaomi, Huawei, Hisense, Zuum, Krüger&Matz, Motorola [by @sanchezzzhak, @sgiehl]
  • #6889 Adds detection for GitHub Desktop and Logi Options+ apps [by @liviuconcioiu, @sanchezzzhak]
  • #6890 Adds detection for Bonsai, Peeps dBrowser, Flash, Harman, Lagatos, LT, PSI, Spectre and Sushi Browsers [by @liviuconcioiu, @sanchezzzhak]
  • #6891 Adds detection for Roku OS [by @liviuconcioiu, @sgiehl]
  • #6892 Adds detection for OpenWrt OS and uclient-fetch library [by @liviuconcioiu, @sgiehl]
  • #6894 Adds detection for multiples apps and improves iOS, Windows, iPhone, iPod detection [by @liviuconcioiu, @sanchezzzhak]
  • #6895 Detect devices for existing brands: Nubia, F150, Vivo, Huawei, Realme, Google, Oukitel, TCL, Packard Bell, Xiaomi, Cube, Lenovo, OnePlus, iHunt, Proline, Reeder, Stylo, Hurricane, OPPO, Mobicel, Ugoos, Beeline, 4Good, Teclast, K-Touch, Prestigio, Tecno Mobile, AllDocube, Ravoz, T-Mobile, DIXON, Motorola, Asus [by @sanchezzzhak, @sgiehl]
  • #6897 Detect new brands: Trident, SUNWIND, OKSI, Taiga System and Detect devices for existing brands: TechPad, Santin, Realme, Meizu, Alcatel, Xiaomi, ONN, UMIDIGI, DEXP, Premio, Oukitel, Coolpad, Sky, Huawei, Stylo, Mobicel, Casper, Infinix, TCL, Qumo [by @sanchezzzhak, @sgiehl]
  • #6899 Adds detection for Apple Watch Series 7 [by @liviuconcioiu, @sgiehl]
  • #6900 Improves detection for Apple devices [by @liviuconcioiu, @sanchezzzhak]
  • #6901 Improves detection for Hisense, Samsung and TCL devices [by @liviuconcioiu, @sanchezzzhak]
  • #6902 Improves Android, iPadOS, iOS, macOS version detection [by @liviuconcioiu, @sanchezzzhak]
  • #6903 Improves detection for iOS, iPadOS, macOS, Android, Windows, Apple, Motorola, Samsung and Sony brands, and adds detection for Telco brand and various apps [by @liviuconcioiu, @sanchezzzhak]
  • #6904 Adds detection for Cellution, Juniper Systems, Kazuna, Oculus, STRONG, Topelotek brands and improves detection for Alcatel, Amazon, ANS, Kocaso, LG, Motorola, Sony, UMIDIGI brands [by @liviuconcioiu, @sanchezzzhak]
  • #6905 Adds detection for various apps [by @liviuconcioiu, @sanchezzzhak]
  • #6906 Detect new brands: Glofiish, Polar, MyGica and Detect devices for existing brands: Cavion, Stylo, Mobicel, Hurricane, Proline, bq, Hisense, Archos, NOA, GOCLEVER, Blackview, Blu [by @sanchezzzhak, @sgiehl]
  • #6907 Adds detection for KRIP brand, improves detection for Alcatel, Blu, BMobile, Epik One, Gateway, Huawei, Hyundai, IKU Mobile, MobiWire, MicroMax, Positivo, Safaricom, TCL, UMIDIGI, Vivo brands and improves detection for Opera GX, Windows, x86, x64 platforms [by @liviuconcioiu, @sanchezzzhak]
  • matomo-org/matomo-php-tracker
  • #97 Fix for double newline issue when a redirect is used [by @JasonMortonNZ, @tsteur]
  • #98 Couple of fixes for PHP 8.1 [by @sgiehl, @tsteur]

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!