Piwik 2.5.0 is a new major release of Piwik! In this release we have focused on improvements to the analytics platform APIs, overall stability, we’ve made usability improvements. 87 tickets have been closed by more than 15 contributors!

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,150,000 websites have liberated their web analytics but we need your help to grow the community!
  • To improve Piwik in your language consider contributing to translations,
  • Contact Piwik PRO for any enquiry, custom development or to learn more about making the most of Piwik

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.5.0 release there are breaking API changes, API deprecations, and also new features: Translation search, Reporting API improvement, @since annotation, loads of New APIs, and New commmands for plugin developers.

-> 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 20 plugins extending Piwik but we think this is just the beginning!

New and updated guides and FAQs

List of 87 tickets closed in Piwik 2.5.0

  • #5299 [New open source project] Github issues mirror for Data ownership and better searchability, on issues.piwik.org
  • #5953 Create a CHANGELOG.md file that lists all changes and improvements to the core platform
  • #5381 Create a CONTRIBUTING.md file to let users know how to contribute to Piwik [by @tsteur]
  • #5820 Refactor reports and dimensions [by @tsteur]
  • #5958 When there is an error in Piwik throw a http error code 500 [by @mattab]
  • #5415 Don’t store custom variables in cookies (better privacy) [by @mattab]
  • #5806 When upgrading Piwik, –dry-run should show all SQL queries including Plugins install queries
  • #5912 Cross-origin resource sharing [by @czolnowski, @halfdan, @mattab]
  • #5816 Issues with changing segment name. [by @tsteur]
  • #5817 “report to load by default” does not change to “All Websites” [by @tsteur]
  • #5818 Fix HHVM support for CLI [by @Diftraku, @tsteur]
  • #5819 New Search engines [by @sgiehl]
  • #5957 In piwik.js when ‘disableCookies’ is pushed to the _paq array, apply it first [by @mattab]
  • #5385 Show footer icons in the Ecommerce reports [by @tsteur]
  • #5168 Notice: Undefined index: 2011-08-18 in plugins/API/API.php on line 493 [by @mattab]
  • #5807 Refactor core:archive command to use symfony console $input rather than getParameterFromCli() method [by @diosmosis]
  • #5895 In processed report a segment parameter is not added to ImageGraph URL [by @tsteur, @mattab]
  • #5896 filter, showColumns, hideColumns should work if API returns arrays [by @tsteur]
  • #5962 Created unified system for running tests in travis for Piwik Core and any Piwik plugin. [by @diosmosis, @mattab]
  • #5964 Movers and Shakers not compairing correctly when using Segmentation [by @tsteur]
  • #5849 make the opt-out form work even if JavaScript is disabled [by @craue, @tsteur]
  • #5981 refs #5950 add possibility to sort Live.getLastVisitsDetails [by @tsteur]
  • #5984 refs #5936 remove gone files during update [by @tsteur]
  • #5987 MultiSites.getAll returns wrong format under circumstances [by @tsteur]
  • #5994 Add ‘Marketplace’ link to the top menu [by @tsteur]
  • #5406 When Ajax request ends with error (5xx or 4xx), Piwik should display a friendly message notification [by @tsteur]
  • #5404 Create FAQ to help troubleshoot the error “Failed to load HTML file”
  • #4392 Widget error message “The report ‘nb_pageviews’ was requested but it is not available at this stage…” [by @diosmosis]
  • #4629 Encountered unsupported archive type ‘dat.gz.’. [by @mattab]
  • #5151 Add icon for browser “Mobile Safari” [by @sgiehl]
  • #5180 PHP Warning: parse_url(http://): Unable to parse URL in core/UrlHelper.php on line 494 [by @tsteur]
  • #5190 show visit time in visitor profile [by @mattab]
  • #5191 huge whitespace in visitor profile [by @tsteur]
  • #5242 Visitor engagement: too wide [by @tsteur]
  • #5313 Change Visitor Profile log tooltip [by @tsteur]
  • #5399 Piwik auf IIS im shared hosting erzeugt fehlerhafte CSS-Datei [by @tsteur]
  • #5407 “zlib i missing” on 64bit Ubuntu systems [by @mattab]
  • #5416 Real Time Visitor Count – wrong actions counter [by @tsteur]
  • #5813 code cleanup [by @craue, @mattab]
  • #5825 Fix parameter in deprecation message in /misc/cron/archive.php [by @fhemberger, @mattab]
  • #5833 Adding the new variables to “UsersManager.addUser.end” and “UsersManager.updateUser.end” triggers [by @burakcakirel, @mattab]
  • #5841 Uninitialized string offset: 1 in /srv/piwik/core/Piwik.php on line 158 [by @tsteur]
  • #5842 Piwik’s asynchronous command line execution module does not properly detect currently running processes on some systems [by @diosmosis]
  • #5847 code cleanup [by @craue, @tsteur]
  • #5851 Search engine “Yandex” is defined as a website [by @sgiehl]
  • #5854 [2.4.1] VisitorMap wrong visit summary? [by @tsteur]
  • #5858 Add name parameter to MenuTop. [by @czolnowski, @tsteur]
  • #5859 Treat response with any 2xx status code as successful POST track request [by @sslavic, @mattab]
  • #5861 Show the image description also as title [by @ThaDafinser, @tsteur]
  • #5864 PHP Documentation shows 404 Error [by @tsteur]
  • #5866 added missing variable to postEvent [by @mgazdzik, @tsteur]
  • #5867 Unable to use new domain extensions as an email address [by @tsteur]
  • #5871 remove dead code [by @craue, @tsteur]
  • #5872 code cleanup [by @craue, @tsteur]
  • #5936 On update, automatically delete from filesystem all Piwik files that are not in the latest release [by @tsteur]
  • #5883 In the Visitor Profile, show also the time of the visit [by @ThaDafinser, @mattab]
  • #5884 Integration Tests refactor (move API testing logic to separate classes) [by @diosmosis, @mattab]
  • #5887 Calling MultiSites.getAll results in “Invalid parameter number” (in Piwik 2.5.0-b1) [by @tsteur]
  • #5821 refs #5820 Report and dimension refactoring [by @tsteur]
  • #5890 Plugin: Howto skip/adjust config filter? [by @tsteur]
  • #5891 Visitors in real-time widget “Page views” metric should not counts other action types [by @mattab, @piwik-auto-commit-bot]
  • #5893 fixed broken EventDispatcher mechanism for sorting callbacks order [by @mgazdzik, @halfdan]
  • #5899 Missing word in FAQ
  • #5910 r.search.yahoo.com tracked as external referrer [by @sgiehl]
  • #5925 Display more useful message when error `Abort pclzip.lib.php : Missing zlib extensions` [by @mattab]
  • #5926 Add example Dimensions and example Reports to the `ExamplePlugin` [by @tsteur]
  • #5927 Delete unused column `log_conversion.referer_visit_server_date` [by @mattab]
  • #5929 CORS refactoring [by @czolnowski, @mattab]
  • #5931 Visitor profile image width to max-width [by @ThaDafinser, @mattab]
  • #5934 Unit test fixes [by @mnapoli, @mattab]
  • #5937 Run marketplace plugin tests with the defined PHP version in plugin.json [by @tsteur]
  • #5939 Fixed a test to use the configured root URL [by @mnapoli, @mattab]
  • #5943 When an admin removes a user’s access to a website, sending scheduled reports may fail [by @tsteur]
  • #5944 5896 add showColumns/hideColumns filters to arrays [by @tsteur]
  • #5945 Run tests on older version PHP 5.3.3 [by @mattab]
  • #5949 Searching in datatable for `?param` results in error message [by @tsteur]
  • #5950 Sorting Live.getLastVisitsDetails visits by a custom column [by @tsteur]
  • #5969 Add search engine sputnik.ru [by @sgiehl]
  • #5951 Notice: Undefined index: dimension in plugins/API/RowEvolution.php on line 334 [by @tsteur]
  • #5961 When editing an existing goal, radio buttons are not checked [by @tsteur]
  • #5988 shell_exec(): Cannot execute using backquotes in Safe Mode [by @mattab]
  • #6003 Prevent ArchiveWeb test from failing [by @tsteur]
  • #5909 [automatic translation update] Updated 90 strings in 8 languages (da, de, el, fr, it, ru, sv, tr) [by @sgiehl]
  • #5857 [automatic translation update] Updated 65 strings in 2 languages (de, pl) [by @sgiehl]
  • #6004 [automatic translation update] Updated 68 strings in 5 languages (da, de, el, sl, tr) [by @sgiehl]
  • #5824 [automatic translation update] Updated 84 strings in 7 languages (el, it, ja, nb, nl, sv, tr) [by @sgiehl]
  • #5967 [automatic translation update] Updated 131 strings in 8 languages (ru, fr, sv, cs, da, de, el, it) [by @sgiehl]