Piwik 2.11.0 is a new major release of Piwik!

In this release we have focused on overall reliability, improved Performance, improved Accessibility for visually impaired users, and also we have re-organised the User and Admin Menus for hopefully a better experience. There are even some very interesting new features such as a new icon available in most reports (check it out and let us know what you think!).

128 tickets have been closed by more than 17 contributors, our record number of contributors in one release. Thank you to everyone who participated in this release by reporting or fixing a bug or a new feature.

After You Update

  • Use the forums if you have any question or feedback (free support),
  • Please help us spread the word about Piwik! Maybe you can write about the project on your blog, website, twitter, talk about Piwik Analytics at conferences, or let your friends and colleagues know what is Piwik. Already 1,000,000+ websites have liberated their web analytics, and with your help we can grow the community!
  • To improve Piwik in your language consider contributing to translations,

Database upgrade

This release does not contain any major database upgrade.

Platform Changes

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

In this 2.11.0 release there are breaking API changes, New features, New commmands, Library updates.

-> Check out this CHANGELOG.md file (in the root of Piwik) to see all changes to the platform and APIs.

Note: the Marketplace showcases more than 40 plugins extending Piwik but we think this is just the beginning!

New and updated guides and FAQs

List of 128 tickets closed in Piwik 2.11.0

  • #5248 Log Analytics: Monitor Bandwidth for each page, download, and measure overall traffic in bytes [by @tsteur, @diosmosis]
  • #4733 Release a Android SDK for Piwik – Mobile App Analytics
  • #4633 New icon in all reports: let me segment by visitors matching this row’s criteria [by @tsteur]
  • #4456 Review guides at developer.piwik.org for official launch
  • #6928 Visitor log may be displayed with many columns [by @sgiehl]
  • #6436 duplicate entries in piwik_log_action leading to pages not visible in segments + provide means to fix duplicates [by @diosmosis]
  • #6989 New User menu now similar to admin menu [by @tsteur]
  • #7206 Add new segment Operating System Version
  • #6945 Splitted referrers overview into “Overview” and “All Referrers” [by @tsteur, @mattab]
  • #6944 Split goals and ecommerce in two menus, and Manage Goals via User menu [by @tsteur, @mattab]
  • #7167 When User ID is used, set the first party cookie UUID to this User ID [by @jantlwoomy, @mattab]
  • #7151 Add option to map API tracking parameter to custom variable in log importer script. [by @diosmosis, @mattab]
  • #7107 Provide a way to specify an alternate whois provider – SEO plugin [by @mnapoli]
  • #7229 For new installs, do not use the Anonymized IP addresses when enriching visits [by @mattab]
  • #7026 when main Menu is focused, display submenu [by @TheCrowsJoker, @mattab]
  • #6988 Make email reports more beautiful [by @mattab, @munro98]
  • #7024 Tweaks to improve accessibility (section around graph, better tooltip, set language in html) [by @itscutekk, @mattab]
  • #7022 Improved accessibility by putting offscreen text in the widget title [by @munro98, @mattab]
  • #7015 Added h3 tags to widget headers (accessibility) [by @TheCrowsJoker, @mattab]
  • #7011 Changed colours for better accessibility for people with sight difficulties [by @flodrwho]
  • #7038 Improved accessibility with off-screen text added on the menu [by @munro98, @mattab]
  • #7037 Piwik Installation now fits with the current piwik style [by @TheCrowsJoker, @mattab]
  • #7035 See the focus of menu items when tabbing through the page (accessibility) [by @TheCrowsJoker, @mattab]
  • #7025 Add “Skip to content” feature when user presses tab key (accessibility) [by @flodrwho, @mattab]
  • #7102 Improve Login Screen Layout – input width. [by @patagonic, @mnapoli]
  • #7094 When development mode is enabled, add a new language that shows raw translation id [by @mnapoli]
  • #7079 As a user I want to configure purging of processed custom ranges [by @mgazdzik]
  • #7074 Improve Login Screen Layout [by @patagonic, @tsteur]
  • #7068 Changes for usage of DeviceDetector 3.0 [by @sgiehl, @tsteur]
  • #7040 Refactored Twig templates using a single base layout [by @mnapoli, @tsteur]
  • #6958 Segment dropdown enhancements [by @Irrational86, @mattab]
  • #6939 New Piwik Ini component [by @mnapoli, @mattab]
  • #6937 Add Administrator link to top menu [by @tsteur]
  • #6935 Move “Anonymous user settings” into a separate page and menu item [by @tsteur]
  • #6915 Rename plugin management commands [by @mnapoli]
  • #6814 include server time (as timestamp) in visitor actions (visitor live API) [by @FelixSchwarz, @mattab]
  • #6490 Add a search field in Visitor settings Browsers [by @sgiehl]
  • #6217 Force new visit after midnight [by @tsteur]
  • #6060 Improve performance by caching all translations in a flat array
  • #4917 Introduce Dependency Injection [by @sabl0r]
  • #7184 add a plugin description to all core plugins [by @mattab]
  • #7153 The SEO widget should be displayed even when a http service calls fail [by @mattab, @mnapoli]
  • #7146 Allow Plugins to register parameters to exclude from the tracking URL [by @peterbo, @mattab]
  • #7111 add Asian search engines [by @sgiehl]
  • #7109 New label for issues: ‘c: New plugin’
  • #7099 Update FAQ ‘how do I enable logging (and / or SQL profiling) in Piwik?’
  • #7041 added possibibility to add more metrics to actions plugin [by @tsteur]
  • #7021 Moved language reports to their own new plugin UserLanguage [by @sgiehl]
  • #6968 import_logs.py and IIS/w3c date format [by @diosmosis, @flodrwho]
  • #6947 Move UI tests into the Piwik repository, the screenshot testing lib into another repository [by @tsteur]
  • #6942 Make Travis CI build status render faster by logging less output during builds [by @mattab]
  • #6940 Allow plugins to test against minimum required Piwik version in travis build. [by @diosmosis]
  • #6938 Document .travis.yml system’s available environment variables
  • #6753 Activate all CronArchive system tests [by @tsteur, @mattab]
  • #6705 Scheduled reports: do not show “Users” metric when value is zero [by @tsteur]
  • #6604 Ixquick not listed as search engine [by @sgiehl]
  • #6542 Automatically refresh every week the last CI build for each of our repository
  • #6022 No options for goal management on the Goal page [by @tsteur]
  • #3962 Deprecate UserSettings plugin -> use DeviceDetection instead! [by @fhemberger, @sabl0r, @sgiehl, @mattab]
  • #7220 piwik.js double encodes the url and referrer when they are detected automatically [by @tsteur]
  • #7218 Segmentation for url-encoded page urls does not work [by @tsteur]
  • #7189 Site Searches metric should include duplicate site searches requests [by @mattab]
  • #7168 include_aggregate_rows export issue [by @mnapoli]
  • #7157 Email reports not working when email SMTP server host contains a space [by @mattab]
  • #7129 Date Picker: Year is not fully visible in Chrome [by @tsteur]
  • #7108 Cannot upload BIG Bustom Logo [by @tsteur]
  • #7103 whois.com rate limit [by @tsteur]
  • #7083 Bad transport method used in certain restricted environments. [by @tsteur]
  • #7075 Content type application/json breaks JSONP [by @tsteur]
  • #7073 Problem with password recovery functionality when Piwik has no sites defined [by @tsteur]
  • #7069 email reports: cannot edit anymore if a address-list contains empty line [by @tsteur]
  • #7064 Some Admin/User menu items cannot be clicked when item is active [by @tsteur]
  • #7057 Bug on ranges using “last” and “previous” [by @mnapoli]
  • #7056 E-commerce bug: orders from registered users creates a new visit [by @tsteur]
  • #7043 Issue with setUserId – setting to null creates error in Url building when tracking [by @tsteur]
  • #7036 Login broken if accessing through “untrusted host” [by @mnapoli]
  • #7034 Referrers Overview, distinct metrics sparklines are always set to one [by @diosmosis]
  • #7031 Slow report website and dashboard in Piwik 2.10.0 [by @tsteur]
  • #7019 Browser Widget Title not Found [by @sgiehl]
  • #7017 Infinite loop when using the DatabaseHandler logger with DEBUG level [by @mnapoli]
  • #6982 When the BulkTracking plugin is disabled, bulk imports succeed, but no data is imported [by @diosmosis]
  • #6980 Array to string conversion in /var/www/piwik/libs/Zend/Session/Exception.php on line 58 [by @mnapoli, @flodrwho]
  • #6979 Key “plugins” for array with keys does not exist in “@Live/getLastVisitsStart.twig” at line 12 [by @sgiehl]
  • #6978 Empty output for archiving using the web cron [by @mnapoli]
  • #6960 Date to load by default does not always work (regression) [by @tsteur]
  • #6959 Segmentation by User ID
  • #6950 All Websites Dashboard: Add new website link is broken [by @tsteur]
  • #6949 Clicking on Evolution graph leads to “The parameter ‘idGoal’ isn’t set in the Request,” [by @sgiehl]
  • #6927 concurrency problem w/ plugin activation [by @diosmosis, @mnapoli]
  • #6926 Error message: array combine: Both parameters should have at least 1 element [by @mnapoli]
  • #6925 SEO Rankings Widget – Bad display format for Domain age [by @sgiehl]
  • #6924 Warning – array_merge(): Argument #2 is not an array [by @mnapoli]
  • #6923 Visits Over Time Graph – Bounce rate percentage mis-calculated [by @diosmosis]
  • #6919 log-analytics & import_logs.py, hosts parameter failing [by @diosmosis]
  • #6918 Click tracker piwik.php?redirect=[params] was not working [by @mnapoli]
  • #6852 Return HTTP Status 500 for PHP errors and fatal errors
  • #6811 Error in widgets when date range before website added. [by @tsteur, @mattab]
  • #6790 Error: specify a value for ‘reportUniqueId’ when exporting Insights reports [by @tsteur]
  • #6700 Minimization of a ”Visitor log” widget will collapse a display. [by @sgiehl]
  • #6194 Wrong dates returned when part of the date parameter is ‘today’ [by @tsteur, @mattab]
  • #5904 When editing a SMS report, hide the row “(optional) Display options” [by @mattab, @tsteur]
  • #5233 CustomEvent in Visitor Profil: Prevent linebreak after event symbol [by @tsteur]
  • #5209 Display + and – icons in Campaign report [by @diosmosis]
  • #7197 Browser versions in “Visitors in realtime” | Enhancement [by @sgiehl]
  • #7188 Visual: Custom Alert overlap
  • #7179 issues updating from 2.8.3 using Composer
  • #7162 Some performance improvements for the all websites dashboard [by @tsteur, @mattab]
  • #7141 added extensions svgz and otf to the STATIC_EXTENSIONS set [by @ledahulevogyre, @mattab]
  • #7127 Move UI specs into Piwik repository and run UI tests in Piwik repo [by @tsteur]
  • #7124 Removed Piwik\Registry and replaced its usage with the container [by @mnapoli, @mattab]
  • #7119 Various performance improvements, especially for Range period and installations with many sites [by @tsteur, @mattab]
  • #7045 Add parameter –title-category-delimiter to log importer [by @BeezyT]
  • #7028 broken jquery path in geoipUpdateRows.php [by @sgiehl]
  • #7002 Reuse the LESS variable for white color across all stylesheets [by @TheCrowsJoker, @mattab, @sgiehl]
  • #6999 add link to changelog in email notification if update is a stable update [by @tsteur, @mattab]
  • #6981 Moved scheduled tasks classes to Scheduler component [by @mnapoli, @mattab]
  • #6961 Currently selected Segment should be displayed in bold
  • #6957 Change the layout of the engagement page [by @tsteur, @mattab]
  • #6955 .git/ files should not be part of integrity check
  • #6916 Pre-merge Code Reviews [by @mattab]
  • #6912 Data files: removed usage of $GLOBALS and manual inclusions [by @mnapoli, @mattab]
  • #6910 Faster bootstrap for PHPUnit tests [by @mnapoli, @mattab]
  • #6909 Refactoring translation handling into a Translation component [by @mnapoli, @mattab]
  • #7123 Add a class uiTest to the html element in all uiTests. [by @tsteur]
  • #7118 Monolog plugin [by @mnapoli]
  • #7117 Plugins can provide their own config files [by @mnapoli, @mattab]
  • #7148 [automatic translation update] Updated 9314 strings in 50 languages (cs, da, el, am, ar, be, bg, bn, bs, ca, cy, de, es, et, eu, fa, fi, fr, gl, he, hi, hr, hu, id, is, it, ja, ka, ko, lt, lv, nb, nl, nn, pl, pt, ro, ru, sk, sl, sq, sr, sv, ta, te, th, tl, tr, uk, vi) [by @sgiehl]
  • #6969 [automatic translation update] Updated 90 strings in 50 languages (nb, de, it, ar, be, bg, bn, bs, ca, cs, cy, da, el, es, et, eu, fa, fi, fr, gl, he, hi, hr, hu, id, is, ja, ka, ko, lt, lv, nl, nn, pl, pt, ro, ru, sk, sl, sq, sr, sv, ta, te, th, tl, tr, uk, vi, am) [by @sgiehl]

Did you know you can get involved in the project? Piwik needs you to create the best open analytics platform!

Any questions?

Many answers and more information about Piwik You can find here:

We are social

Follow us: