Piwik 2.8.0 is a new major release of Piwik. In this release we have focused on reliability, usability and security. 57 tickets have been closed by 12 contributors!

This release is rated critical.

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,
  • Contact Piwik Professional Consultants 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.

Security fixes

We would like to thank security researcher Adel KHALDI for responsibly disclosing a XSS issue via our Security Bug Bounty program.

Platform Changes

Piwik is the leading 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.8.0 release there are breaking API changes (`Auth` interface has been modified), API deprecations, New API features (Pivot table in the API via `pivotBy`, `pivotByColumn`, `pivotByColumnLimit`), Library updates (AngularJS updated), New commmand (`generate:angular-directive`), Internal changes (Piwik now requires PHP 5.3.3).

-> Check out the Developer CHANGELOG to see all changes to the platform and APIs. (you can also find it in the root of your Piwik: CHANGELOG.md)

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

New and updated guides and FAQs

List of 57 tickets closed in Piwik 2.8.0

  • #5062 Piwik support for PHP 5.6
  • #5209 Display + and – icons in Campaign report
  • #5300 Email Reports being sent out twice [by @mnapoli, @mattab]
  • Piwik users do not need cookie consent in France: make Piwik privacy enabled.
  • #4528 Error in Archivejob: Adding a subtable to the row, but it already has a subtable associated [by @mattab]
  • #4616 Admin UI: mitigate the display of token_auth on screen [by @mnapoli, @mattab]
  • #6138 All links in admin pages should be underlined [by @mnapoli]
  • #4224 Generate Code Coverage of Piwik test suite [by @sgiehl]
  • #6195 Code Coverage for Piwik Plugins using coveralls.io
  • #5940 Rename our test suites so the names make sense [by @tsteur, @mnapoli]
  • #335 Docs should not state Piwik requires GRANT OPTION
  • #4994 Improvements to Tracking API for easier Mobile Apps Tracking
  • #6085 Make it clear how to force sending scheduled tasks for debugging [by @mnapoli, @mattab]
  • #6101 IP in Providers widget is linking to FAQ page. [by @mattab]
  • #6110 Tracker API: cdt parameter should not require token_auth when setting a recent datetime [by @mattab]
  • #6191 Goal matching should match the raw URL including all query parameters [by @mattab]
  • #6204 Remove dependency from Actions plugin to Contents (and maybe Events) [by @tsteur]
  • #6215 ‘Others’ row in reports: explain to user how to see it less often [by @mnapoli, @mattab]
  • #6224 archive.php compatibility with hhvm, next round [by @mattab]
  • #6257 Make visitorId be equal by default for all Piwik.Trackers [by @a4tunado, @mattab]
  • #6264 Fixed .gitignore [by @mnapoli, @halfdan]
  • #6400 Unknown providers are now shown as « Unknown » instead of « IP » [by @mnapoli, @mattab]
  • #6401 Added a « learn more » link on « Others » row in reports [by @mnapoli, @mattab]
  • #5983 Update some AngularJS modules to match a new style guide [by @tsteur]
  • #6284 AngularJS: Use controllerAs syntax [by @tsteur]
  • #6399 New AngularJS directive for AJAX forms [by @diosmosis]
  • #6366 AngularJS notifications: new directive [by @diosmosis]
  • #6285 Provide a command to generate AngularJS components [by @tsteur]
  • #6367 New component/decompress: extracted Piwik\Unzip into a separate package
  • #6296 Visitors having empty visits when using content tracking [by @tsteur, @mattab]
  • #6298 Fix detection of a known visitor when there are multiple requests at same second for same visitor [by @tsteur]
  • #6300 Proxy piwik.php script does not send http headers [by @KoffeinKaio, @mattab]
  • #6303 Ignore any opcache_invalidate errors [by @stackcoder, @mattab]
  • #6309 Remove « Website » word from scheduled email reports [by @mattab]
  • #6311 aclocal and autoconf calls are necessary to build the xhprof php extension [by @sabl0r, @mattab]
  • #6313 When a User Id is set, try to attach User ID to existing visit before user logged in [by @mattab]
  • #6314 Warning: shell_exec() [function.shell-exec]: Unable to execute ‘stat -f -c « %T » /proc 2>/dev/null’ [by @mattab]
  • #6315 Remove CacheFile cache from APC on write [by @brownoxford, @mattab]
  • #6318 Refactor Auth logic to login’s Auth class and new PasswordResetter class from login controller
  • #6322 Move some menu logic from Twig to plugin’s Menu [by @mgazdzik, @mattab]
  • #6323 Mysql return rows count found in an UPDATE rather than rows modified [by @mattab]
  • #6331 Optimize DatabaseTestCase so travis build will be faster [by @diosmosis]
  • #6337 When pulling Piwik sourcode via Git we get: git fatal failed to stat File name too long
  • #6342 Deprecate Piwik::setUserHasSuperUserAccess() and switch to using Access::doAsSuperUser() [by @diosmosis, @mattab]
  • #6343 Improve readability of code [by @tsteur]
  • #6373 When real time segments are disabled, still allow ‘view’ users to create pre-processed [by @mattab]
  • #6374 The parameter ‘period’ isn’t set in the Request, and a default value wasn’t provided. [by @mattab]
  • #6375 Only set error 500 headers when there is an internal server error (Database failure) [by @mattab]
  • #6380 Let plugins further extend tracking code via Event ‘Piwik.getJavascriptCode’ [by @czolnowski, @mattab]
  • #6383 Update does not detect the newly available DB schema upgrades [by @mattab]
  • #6390 Increase Piwik PHP requirement to PHP 5.3.3 [by @mattab]
  • #6394 Show only the first characters of tokens in the admin [by @mnapoli, @mattab]
  • #6396 Refactoring in ScheduledReports to remove useless indentation [by @mnapoli, @mattab]
  • #6407 Tracker API: when ‘cdt’ tracker parameter is set in the recent past (last 4 hours) then do not require token_auth [by @mattab]
  • #6411 Rename our test suites so the names make sense #5940 [by @tsteur]
  • #6431 Moved test files into a subfolder framework [by @tsteur]
  • #6391 [automatic translation update] Updated 278 strings in 10 languages (pt, cs, da, de, el, es, et, it, pl, ja) [by @sgiehl]

Did you know you can get involved in Piwik community? To create the best open analytics platform, we need your help!