Piwik 2.12.0 is a new major release of Piwik! In this release we have focused on security, performance, and data quality improvements.

What’s new?

Loading reports in the UI will be faster overall, as well as custom date range reports and archiving. There were improvements made in both memory and CPU usage.

When you create a new website in Piwik, it will now show instructions and display the Javascript Tracking code instead of the dashboard, as long as no data has been tracked.

There is a new data quality tool: a console command to geo-locate any past visits which don’t have geo-location data.

There are also important security improvements such as the one-click update which will now be done over secure connection HTTPS, or the fact that the token_auth will be removed from all of the log outputs.

If you use the “Make it flat” feature, you may have noticed it was slow on large datasets: from Piwik 2.12.0 the Flattened reports will now render quickly even on the largest datasets (“Make it flat” is available via the bottom right icon in most reports).

There are also several other bug fixes and improvements: 49 tickets have been closed by 7 contributors! (see the list of issues below)

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.12.0 release there are breaking API changes (important read if you are developing a Plugin), API deprecations, new features, new APIs, new console commands.

Learn the details in Platform Changelog for Developers which lists all changes to the platform and APIs (you can also find it in the CHANGELOG.md in the root of your Piwik).

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 49 tickets closed in Piwik 2.12.0

  • #7327 Update Piwik over HTTPS [by @mnapoli]
  • #6763 How to make hierarchical tables scale? (flatten, search, sub tables)
  • #6846 Investigate if there are any memory leak in the Archiving process (yearly archives run out of memory)
  • #4768 Custom date range reports are slow: how to make them archive faster?
  • #6544 Keeping CI builds green at all times for all our repositories
  • #7437 % of user with Cookie can be more than 100% [by @mnapoli]
  • #7368 When UserID is set to empty string, actions maybe added to the same UserID visit [by @mattab]
  • #6359 Make UsersManager.getSitesAccessFromUser work for SuperUsers [by @sgiehl]
  • #5277 Remove token_auth from archive.log [by @mnapoli]
  • #7087 Show Tracking Code Generator / Notification as long as no visit for a website is tracked [by @mnapoli]
  • #7381 Geolocating existing log entries attribution task [by @diosmosis]
  • #7209 Duplicate actions are logged for lower/upper case encoded URL
  • #6821 Truncation of labels on datatables leads to labels changed to ‘…’ [by @tsteur]
  • #7402 Do not set user id when it’s set to empty string [by @mattab]
  • #6638 Computation load after adding new segments on long existing Piwik instance
  • #7223 New INI setting to define how far back to pre-process segments reports [by @diosmosis, @mattab]
  • #4757 Date range longer than 1 year, should use the yearly reports instead of 12 months reports
  • #7452 Fix Sort filters are sometimes applied multiple times [by @tsteur, @mattab]
  • #7120 Flattening Referrers.getWebsites is very slow and needs lot of memory
  • #6758 Live.getCounters times out on very large instance [by @tsteur]
  • #5098 “Make it flat” actions/pages report eats server resources when there’s a large amount of data [by @tsteur]
  • #7468 Faster archiving by calculating the recursive count only if needed [by @tsteur, @mattab]
  • #7465 Various performance improvements and bugfixes. [by @tsteur, @mattab]
  • #7435 Do not rename columns twice when aggregating dataTable records [by @tsteur, @mattab]
  • #7409 Made reports faster when flat=1 is used. [by @tsteur, @mattab]
  • #7387 Run queued filters after generic filters making visualizations much faster [by @tsteur, @mattab]
  • #7336 Faster flatten for some reports [by @tsteur, @mattab]
  • #7432 Make direct links work even if login is required [by @sgiehl]
  • #7408 Dependency injection in widgets, menus, settings and tasks [by @mnapoli, @mattab]
  • #7407 Dependency injection in API classes [by @mnapoli]
  • #6676 Discontinue git.piwik.org service
  • #7276 during core:update display SQL queries as they are executed [by @diosmosis]
  • #7393 extend command ‘development:sync-ui-test-screenshots’ to sync UI screenshots of Plugins [by @mattab]
  • #7391 Remove coveralls test coverage from plugin travis CI configs [by @mattab, @mnapoli]
  • #7377 refactor archive purging for clarity and resilience. [by @diosmosis, @mattab]
  • #7163 Move Log Analytics import_logs.py in its own repository [by @mattab, @diosmosis]
  • #6932 New FAQ How do I configure Piwik to use Redis for better scalability?
  • #7486 core:archive outputs message ‘sh: /bin/uname: Permission denied’ [by @mattab]
  • #7431 Popovers should not open on login page [by @sgiehl]
  • #7395 curl_exec: Resolving timed out after 3153 milliseconds. Hostname requested was: plugins.matomo.org [by @mattab]
  • #7356 Cron: [InvalidArgumentException] There are no commands defined in the “core” namespace. [by @mnapoli]
  • #7230 The arrows are displayed incorrectly on Chrome [by @mnapoli]
  • #7475 Extend login nav with custom templates [by @czolnowski, @mattab]
  • #7462 OPTIMIZE TABLES should be run against mariadb instances that support it [by @diosmosis]
  • #7461 Removing misc/log-analytics directory and replace w/ submodule. [by @diosmosis]
  • #7425 [automatic translation update] Updated 40 strings in 5 languages (sv, ca, es, de, da) [by @sgiehl]
  • #7412 Typo in error message: functionality [by @mattab, @claytondaley]
  • #7403 Load translations in core\Console.php so translations are accessible to console commands. [by @diosmosis]
  • #7353 Composer install fails for Piwik 2.10.0

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