Matomo 3.4.0 released 🎉

We are proud to announce Matomo 3.4.0: a new release of Matomo Analytics bringing more than 130 changes including new features, many small improvements and a few bug fixes.

What’s new?

As part of the upcoming GDPR compliance project (most of the GDPR features will be available in our next releases due in April and May), we have improved the Opt-out iframe feature and you can now customise the Opt-out text color, font family, font size, and background color.

In this release, we’ve also improved how you can export your data from Matomo. When you click the export icon, you will now see a window where you can select between the different data formats, how many rows to export, and other options to help you get the data you need in seconds (all data exports use the Reporting APIs).

Continuing on making Matomo more usable and simple, we made improvements such as: a better print version of Matomo reports, re-designed the annotations in graphs, new keyboard shortcuts (press ? to see the whole list), and the ability to switch to the Zen Mode (where the left menu and the top bar collapse) to enter the engaging full screen view. Also, all users can now log in with either their username or their email address.

The core platform was also improved in several ways. In the JS tracker you can now record when your users logout by using the new resetUserId method (especially useful for Single page applications). When segmenting your reports and users via the API, or when building custom reports, you will benefit from new date segments. And to let you fully automate how Matomo is set up for your new customers, you can now leverage our new Dashboards API. And as usual, we’ve added lots of new bots, brands, devices and a few more spammers.

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

  • iOS SDK: new major release 5.0.0 with new Matomo name
  • Android SDK is in version 3.0.0 since December

Congratulations to the SDK maintainers and contributors for these great releases!

132 tickets have been closed by more than 26 contributors!


  • #12141 JS Tracker, New method resetUserId to de-assign a user id after a logout [by @znerol, @mattab]
  • #12560 Email reports sent via the cron core:archive task do not contain reports that depend on idsite
  • #12443 Small performance improvement in custom tracker [by @tsteur, @mattab]
  • #12469 Fix a possible issue when there are more than 2 billion visits tracked and system is 32 bits [by @mattab]
  • #8314 Let user select how many records / rows to export when clicking for example CSV export
  • #9263 Add possibility to toggle (show/hide) left menu [by @tsteur]
  • #12495 Give developers the possibility to compare translation keys in different languages [by @tsteur]
  • #12521 Add more date segments: visitEndServerDate visitEndServerDayOfMonth visitEndServerDayOfWeek visitEndServerDayOfYear, etc. [by @tsteur]
  • #12587 New Dashboard API methods: copyDashboardToUser, createNewDashboardForUser, removeDashboard and resetDashboardLayout [by @sgiehl, @mattab]
  • #12489 Renames piwik font to matomo [by @sgiehl, @mattab]
  • #12645 updates piwik/* and matomo/* composer packages [by @sgiehl]
  • #7556 UserID “Signing out use-case” - actions still attributed to the same Visitor
  • #11825 E-Mail Report: Page URL Links shifted after “Others” [by @sgiehl]
  • #12168 Page Overlay Information boxes are displayed under menus and divs [by @sgiehl]
  • #12280 Twig Filesystem: Warning - realpath(): open_basedir restriction in effect [by @sgiehl]
  • #12369 Browser widget bug with pagination [by @sgiehl]
  • #12373 Visitor Profile “First visit” does not always show the very first visit [by @sgiehl]
  • #12374 Do not use segment to fetch additional visits for visitor profile [by @sgiehl, @mattab]
  • #12394 Move public static functions out of Live controller [by @sgiehl]
  • #12396 Show error message if visitor in visitor profile could not be found instead of fatal error [by @tsteur, @mattab]
  • #12478 GeoIP re-attribution: debug output now shows changes to visits geo-location [by @lwille, @mattab]
  • #12500 When generating URLs, only strip PATH_INFO when it is not empty [by @mattab]
  • #12545 JS Tracker: expected no warning in the console when addTracker multiple times [by @mattab, @tsteur]
  • #12578 Cloud visualisation may display error “Key 1 for array with keys 0 does not exist” [by @sgiehl]
  • #12619 Ensure to also install plugins when there is a POST request [by @tsteur, @sgiehl]
  • #12621 Trigger DB failed exception also for POST API requests [by @tsteur]
  • #12625 scrollTo feature not working anymore, notifications not visible etc
  • #12637 Chrome: Selecting the tracking code with one click does not work anymore
  • #9063 Remove word “website” from website selector [by @tsteur]
  • #11660 Better adblock detection during setup
  • #11958 Export overlay for Datatables [by @sgiehl, @mattab]
  • #11959 Allow to login by Email as well as Username
  • #12103 Fix Tibetan cities display on China’s city map [by @fengkaijia, @sgiehl]
  • #12279 Hide widgets not working without internet connection if disabled in config [by @sgiehl, @mattab]
  • #12344 Integrity check in Piwik-3.2.1 shows essential core directories/files as ‘deletable’… [by @sgiehl]
  • #12356 Adding some more did you know sections [by @tsteur, @mattab]
  • #12359 Rename metrics that start with “Total” and remove the word Total
  • #12362 Files integrity system check messages
  • #12429 use SPDX license specifier for plugins
  • #12434 Show the ‘Piwik is Matomo’ banner after the successful upgade [by @mattab]
  • #12447 Improved Print Versions [by @danikachhour, @mattab]
  • #12448 Login and Reset password: improved fields [by @Jouveer, @mattab]
  • #12449 Changed Feeds URL to HTTPS [by @Jouveer, @mattab]
  • #12450 Websites manager, exclude IP addresses, explain that CIDR notation is supported [by @Jouveer, @mattab]
  • #12451 Format sparklines better
  • #12455 Let me customise the opt-out iframe: fonts, color, sizes
  • #12456 Add new keyboard shortcuts for Top/Bottom of page
  • #12458 Popover: position the minimise and reload icons correctly [by @Jouveer, @mattab]
  • #12459 Shows icon to disable/enable Zen Mode [by @ryyee99, @mattab]
  • #12462 Modals popover can now be closed with keyboard [by @Jouveer, @mattab]
  • #12463 Aligned all icons to left of menus [by @Jouveer, @mattab]
  • #12464 Align icon in Row Evolution popover [by @danikachhour, @mattab]
  • #12465 Page Overlay: Replace images with font icons [by @sgiehl]
  • #12472 Added custom URL parameters to style the optOut iframe [by @Jouveer, @mattab]
  • #12475 Embed Widgets page: added link to the Embed reports user guide [by @ryyee99, @mattab]
  • #12476 Improvements to Annotations listing design [by @carmenliao, @mattab]
  • #12479 Improvement maintenance mode message to show a message based on record_statistics value [by @ryyee99, @mattab]
  • #12485 Move site selector loading indicator to the left [by @Findus23, @sgiehl]
  • #12486 improve styling of shortcut help [by @Findus23, @sgiehl]
  • #12487 update checker display issues [by @sgiehl]
  • #12490 Adds new icons to UI demo page [by @sgiehl, @mattab]
  • #12491 improve integration in Firefox Quantum and Chrome Android [by @Findus23, @mattab]
  • #12493 During installer, better detect adblockers that may block Matomo css/js files [by @Findus23, @mattab]
  • #12496 Assorted events and changes [by @diosmosis, @tsteur]
  • #12501 Ignore shared hoster files in integrity check [by @Findus23, @sgiehl]
  • #12502 During installation, trim inputs in the database setup page to avoid whitespaces issues [by @fdellwing, @mattab]
  • #12514 [automatic translation update] Updated 2074 strings in 49 languages (hr, de, bn, bs, cy, ta, am, be, bg, ca, eu, gl, he, hu, is, ka, ar, cs, da, el, es, et, fa, fi, fr, hi, id, it, ja, lt, nl, pl, pt-br, ru, sq, sr, sv, tr, uk, zh-cn, zh-tw, ko, nb, nn, pt, ro, th, vi, lv) [by @sgiehl]
  • #12518 Use renamed composer packages [by @sgiehl]
  • #12520 Adds audio icon to matomo font [by @sgiehl, @mattab]
  • #12530 Fixes position of activity indicator [by @sgiehl]
  • #12532 Use more font icons instead of images [by @sgiehl]
  • #12538 Better handling of POST tracking requests when page is unloaded (using sendBeacon) [by @tsteur, @mattab]
  • #12541 Fix others row might not be replaced in subtables of others row [by @tsteur]
  • #12542 Update reports cache at least once every hour [by @tsteur, @mattab]
  • #12556 Allow plugins to define custom action types [by @sgiehl]
  • #12561 Update error message in API/UI if date is before 1992 (#12559) [by @simivar, @sgiehl]
  • #12568 Add new Filesystem.allCachesCleared event after all caches cleared. [by @diosmosis, @tsteur]
  • #12570 DeviceDetection, display themed “refresh” button [by @alcalyn, @sgiehl]
  • #12579 Key visitsAggregated does not exist as the array is empty in _profileSummaryVisits.twig
  • #12590 Developer documentation: the list of all segments is missing the “Metrics” segments [by @diosmosis]
  • #12591 Update component-cache version to 1.0.2. [by @diosmosis, @tsteur]
  • #12602 JS Tracker, cross domain tracking: new method to get the URL parameters to forward the Visitor id value (&pk_vid=xyz) [by @diosmosis]
  • #12603 Add getCrossDomainLinkingUrlParameter() to allow users to add pk_vid to dynamic links. [by @diosmosis, @mattab]
  • #12607 Allow deleting first dashboard for automation purposes. [by @diosmosis, @mattab]
  • #12608 Better handling of situation when there are no dashboards for a user [by @sgiehl]
  • #12614 Define root path for twig file loader [by @sgiehl, @mattab]
  • #12618 Make dimensions cache site aware since CustomDimensions adds different dimensions based on the current site. [by @diosmosis, @mattab]
  • #12626 Makes report generation site aware [by @sgiehl, @mattab]
  • #12629 [automatic translation update] Updated 1628 strings in 49 languages (bs, ca, el, et, eu, fi, fr, ja, ka, ko, nb, nl, pl, pt-br, sk, sl, sq, sv, tl, tr, vi, zh-cn, zh-tw, it, ar, be, bg, cs, da, de, es, fa, he, hi, hu, id, is, nn, pt, ro, ru, sr, th, uk, lt, lv, ta, gl, bn) [by @sgiehl]
  • #12632 Add third party cookie domain setting [by @diosmosis, @mattab]
  • #12652 Show a special offer if one is defined for a plugin [by @tsteur]
  • #12661 Matomo 3.4.0 [by @mattab]



  • #9 Improve brand icons









  • #27 PHP Warning: curl_setopt(): You must pass either an object or an array with the CURLOPT_HTTPHEADER argument ?
1 Like