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

What’s new?

In this release we’re mostly addressing bugs that were reported in the previous releases and also making minor small improvements.

Reminder: Since Matomo 4.0 the JS tracker is now using « navigator.sendBeacon » by default. If you are using a Content Security Policy header, please adjust your header to also allow « connect-src » see the example in our FAQ. Alternatively, you can disable « sendBeacon » using the JS tracker method _paq.push(["disableAlwaysUseSendBeacon"]);.

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.

61 tickets have been closed by more than 10 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.1.0 release there are no change to APIs. 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 3 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 and updated guides and FAQs


Need help upgrading Matomo?

Read the Updating Matomo user guide or for more help contact the Matomo experts.

List of 61 tickets closed in Matomo 4.1.0

  • #16973 core:archive Detection of archive process already in progress does not check for instance ID
  • #16983 « Create and Schedule a report » page missing radio buttons [by @tsteur]
  • #16910 Adds possibility to configure protocols for allowed outgoing connections [by @sgiehl, @diosmosis]
  • #13818 Support date format last week, last month, last year [by @sgiehl]
  • #16233 Campaign URL Builder: Campaign ID field is missing in the app [by @sgiehl]
  • #16924 Tons of « General error: 1205 » in php error log while importing via the python log importer
  • #16946 core:archive Fix intersecting period logic so proper archives will archive in parallel. [by @diosmosis]
  • #16947 Apparently the segment needs to be double encoded when sent in the climulti:request command. [by @diosmosis]
  • #16427 Replace confusing GeoIP warnings [by @sgiehl]
  • #16685 Fix overflow handling of datatables [by @sgiehl]
  • #14968 Screen to smoothly scroll back up to initial position after closing a popover [by @sgiehl]
  • #16797 use composer/ca-bundle for default CA bundle [by @Findus23, @diosmosis]
  • #15850 WARNING: /var/www/matomo/core/Http.php(538): Notice – Trying to access array offset on value of type null – Matomo 3.13.4 [by @sgiehl]
  • #16879 Hide Comparison feature on All Websites dashboard [by @sgiehl]
  • #16919 Call to a member function setColumn() on boolean in plugins/Referrers/API.php [by @sgiehl]
  • #16953 Privacy manager JS tracker writable check uses wrong file [by @sgiehl]
  • #16978 MySQLi syntax error « AND idarchive < ?’ at line 3 »
  • #16984 core:archive reports « 0 out of 4 archivers running currently » when –matomo-domain parameter is at the start of the command
  • #16923 Improvements on prepending a plus sign to evolutions [by @sgiehl, @diosmosis]
  • #16979 [automatic translation update] Updated 32 strings in 4 languages (el pt tr sq) [by @github-actions[bot], @sgiehl]
  • #16704 Append a suffix to temporary downloaded geoip files [by @sgiehl]
  • #16760 multi_server_environment setting now disallows config edits from Web UI [by @nina-py, @sgiehl]
  • #16765 core:archive add note message when continuing an existing queue [by @diosmosis]
  • #16769 core:archive Better detection for end of sharedSiteId queue [by @tsteur, @diosmosis]
  • #16785 Add GTM install guide to « no data tracked yet » page [by @tsteur, @diosmosis]
  • #16808 Avoid warning while loading seo metrics [by @sgiehl, @diosmosis]
  • #16813 Use wikimedia/less.php instead of leafo/lessphp [by @sgiehl, @diosmosis]
  • #16840 Show an error notification in UI when given date/period combination is invalid [by @sgiehl, @diosmosis]
  • #16841 Fix unknown keyword is not shown in transitions report in seach engines section [by @tsteur, @diosmosis]
  • #16901 better Windows detection [by @Findus23, @diosmosis]
  • #16908 Harden check for numeric array indices [by @sgiehl, @diosmosis]
  • #16917 Correct archived metric query for days to conversion [by @diosmosis]
  • #16934 Ensure removed dimensions are not used even if they still exist [by @sgiehl, @tsteur]
  • #16937 Uncaught exception: Date.php: The date ‘1970-01-01’ is a date before first website was online. [by @diosmosis]
  • #16941 Improve handling of current user information for Filechecks [by @aragon999, @diosmosis]
  • #16943 Prevent memory error when using PHP8 and a session error happens [by @tsteur]
  • #16950 core:archive Remember if process ever started [by @tsteur, @diosmosis]
  • #16951 core:archive If one process’ output is « abnormal », don’t declare all other concurrently running processes as finished [by @tsteur, @diosmosis]
  • #16952 core:archive Only mark process as finished after fully sending the output [by @tsteur, @diosmosis]
  • #16954 core:archive Avoid filesystem checks when process was set as finished [by @tsteur, @diosmosis]
  • #16964 GeoIP location not working correctly since Matomo 4.0.0
  • #16967 Invalidate archives after deleting a visit to prevent race conditions [by @tsteur, @diosmosis]
  • #16981 Update wikimedia/less.php dependency to v3.1.0 or above [by @sgiehl]
  • #16992 core:archive when looking for other climulti processes, also make sure idSite is same [by @diosmosis]
  • matomo-org/referrer-spam-list
  • #1250 Add niuting.org [by @ericguirbal, @spmedia]
  • #1251 Add jyrxd.com [by @ericguirbal, @spmedia]
  • matomo-org/device-detector
  • #6487 Adds detection for Freebox operating system [by @liviuconcioiu, @sgiehl]
  • #6498 Adds detection for bots [by @liviuconcioiu, @sgiehl]
  • #6509 Detect new brands: Silelis, Wizz and Detect devices for existing brands: X-View, Rombica, Huawei, Sencor, Hyundai, Sugar, TCL, Condor, Lenovo, Sharp, PocketBook, Xiaomi, Fujitsu, Panasonic, Kyocera, Samsung, Sony, Ainol, OnePlus, Chuwi, ZTE, NEC, Alcatel, Polaroid, Mediacom [by @sanchezzzhak]
  • #6514 Adds detect platform ARM for aarch64 [by @sanchezzzhak]
  • #6515 Improves detection for Google devices [by @liviuconcioiu, @sanchezzzhak]
  • #6518 Detect new brands: Leff, Tanix and Detect devices for existing brands: Lenovo, Huawei, Meizu, Chuwi, Vivax [by @sanchezzzhak, @sgiehl]
  • #6519 Detect new brands: Bluedot, Planet Computers, Reach, ELARI, MobiWire, Inco, Starmobile and Detect devices for existing brands: Echo Mobiles, ZTE, Highscreen, Irbis, Leagoo, Chuwi, Oukitel, Planet Computers, Sharp, Nvidia, Allwinner, Lenovo, NEC, Huawei, UMIDIGI, TechPad [by @sanchezzzhak, @sgiehl]
  • #6521 Improves detection for Samsung TVs [by @liviuconcioiu, @sanchezzzhak]
  • #6525 Detect new brands: 4ife, Hurricane, Hezire, iSWAG, Reeder and Detect devices for existing brands: ZTE, LG, Huawei, ONN, Sony, RCA Tablets, Vulcan, Hometech, Hoozo, Lanix, IMO Mobile, iBall, Inoi, Karbonn, Lava [by @sanchezzzhak]
  • #6527 Update README.md [by @github-actions[bot], @sgiehl]
  • #6530 Detect new brands: Epik One, Altice, Kult, BioRugged and Detect devices for existing brands: QMobile, Kalley, MyPhone, Jinga, Explay, Inco, TWM, Asus, ComTrade Tesla, Blu, ZTE, Ace, Digiland, Cherry Mobile [by @sanchezzzhak, @sgiehl]
  • #6537 Improves webOS version detection [by @liviuconcioiu, @sanchezzzhak]
  • #6538 Improves Seraphic Sraf browser detection [by @liviuconcioiu, @sanchezzzhak]
  • #6540 Improves detection for Panasonic Smart TVs [by @liviuconcioiu, @sanchezzzhak]
  • #6541 Improves detection for Sharp Smart TVs [by @liviuconcioiu, @sanchezzzhak]

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!