We are proud to announce Piwik 2.13.0: a new major release of Piwik!

What’s new?

In this release we have focused on improving performance and making Piwik much faster at loading and archiving reports. The dashboard and All websites dashboard will load faster than ever before! This is especially visible if you measure many websites (hundreds of thousands) within your Piwik, the improved Websites Manager will now let you search for websites and page through the list, and the ‘All Websites’ dashboard will now load correctly.

Performance was not our only focus and we also improved the usability and design of some parts of Piwik (such as the Updater and maintenance mode, with more design updates coming in the next releases). Log Analytics, a very popular tool within the Piwik community, has received several improvements. Many other small bugs were closed, and a XSS security bug was reported and fixed in this release.

97 tickets have been closed by 8 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,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,

Security release

This release is rated critical. We warmly thank Security Researcher Dmitriy Shcherbatov who reported to Piwik Security team a XSS vulnerability which has been fixed in Piwik 2.13.0.

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.13.0 release there are breaking API changes, API deprecations, APIs improvements, New commmands, internal changes.

Read more in Platform Changelog for Developers to see 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 45 plugins extending Piwik but we think this is just the beginning!

New and updated guides and FAQs

List of 97 tickets closed in Piwik 2.13.0

    User Interface and Usability

  • #7620 New design for Maintenance mode [by @mnapoli]
  • #7450 New design for Updater screen [by @mnapoli, @mattab]
  • #7642 Add Help link to top menu [by @mnapoli, @mattab]
  • #7637 Refreshed the copy of « Help » page [by @mattab]
  • #7345 Make it easier to see how to edit a Goal [by @mnapoli]
  • #7704 « Manage goals » page in the reporting menu [by @mnapoli, @mattab]
  • #7609 very tiny: visitor profile: not enough room for « g » [by @sgiehl]
  • #7504 Responsive reports: 2 columns layouts now use Bootstrap CSS classes [by @mnapoli, @mattab]
  • #6933 Improve device model & brand reports [by @mnapoli]
  • #6176 Visitor Log: hide the plugin icons, and show instead the geo located city and region
  • #7089 Visitor Log – view profile link and number of views overlaps [by @sgiehl, @mattab]
  • #5878 UI/UX issue in narrow screens
  • #7728 UI: improve Calendar interactions [by @diosmosis, @mattab]
  • #7721 Marketplace UI tweaks: « Search 47 plugins… » in search input [by @mattab, @diosmosis]
  • Performance

  • #3838 Show paging in the screen ‘Manage websites’ to easily manage thousands of websites [by @mattab, @tsteur]
  • #3611 Performance: Monthly archiving should use the smaller amount of weeks and days inside the month [ by @tsteur]
  • #7641 Performance: Faster access, Make dashboard etc faster when having thousands of sites [by @tsteur, @diosmosis]
  • #7373 Performance: Store blob archives more efficient [ by @tsteur]
  • #7611 Do not pre-process custom segments when pre-processing date ranges to load by default [ by @mattab]
  • #7577 Performance: Faster archiving of aggregated reports [by @tsteur, @mattab]
  • #7502 DataTable performance improvements [by @tsteur]
  • #7388 Performance: Sort filters are sometimes applied multiple times [ by @tsteur]
  • #7681 Run archiving through CLI sub-processes on OS X [by @mnapoli, @diosmosis]
  • #6809 Performance: All websites dashboard – improve speed when thousands of websites [by @tsteur]
  • #7458 Performance: Memory error in API Live.getLastVisitsDetails when filter_offset is large [by @tsteur]
  • #7614 –force-all-websites share the list of websites across multiple threads of `core:archive` [by @mnapoli]
  • #7640 Performance: Do not log SQL statements by default [by @diosmosis]
  • #7757 Performance: Cache result of « isIpInRanges » for faster tracking in Bulk / Queue [by @tsteur, @mattab]
  • #7688 Improve performance of BulkTracking and QueuedTracking [by @tsteur, @mattab]
  • #7643 In API requests if the current user is already authenticated, do not authenticate the user again [by @tsteur, @mattab]
  • Improvements

  • #3135 Make Piwik opt-out feature work on safari and internet explorer [by @diosmosis]
  • #7227 Reorganize reports in Devices and Softwares [by @sgiehl]
  • #7410 Improve the « Device model » report by prefixing the model with the brand name [by @mnapoli, @mattab]
  • #4476 Add a Search field to the ‘Manage websites’ tables (use case thousands of websites) [by @tsteur]
  • #7663 JavaScript tracking: automatically consider HTML5 download attributes as file downloads [by @sgiehl, @mattab]
  • #6800 Ability to use Redis to store sessions
  • #6764 Provide extended core:archive logger output messages for easier monitoring
  • #7536 Log which segments are currently being archived [by @mnapoli]
  • #7602 Better logging in archiver and Task scheduler [by @diosmosis, @mnapoli]
  • #7444 Piwik.js Exclude extensions as downloads via new function: `removeDownloadExtensions` [by @sgiehl, @mattab]
  • #7580 Include certificates for update over HTTPS [by @mnapoli]
  • #7627 Update to device detector 3.1.1 [by @sgiehl, @diosmosis]
  • Open Platform

  • #7154 Developer.piwik.org – New blog post to announce it to the community
  • #5099 Extend list of known Referrer Spammers
  • #7540 Agree on naming for data access objects Dao Vs Models in core platform and plugins
  • #7567 Improve translator experience/efficiency [by @sgiehl]
  • #6539 Check if plugin uses Piwik methods that are Deprecated or not API [by @diosmosis]
  • #6430 Short term backlog is too full -> how to keep number of issues lower eg. 100 issues [by @mattab]
  • #7481 Inclusion of Bootstrap’s base and grid system [by @mnapoli, @mattab]
  • #7646 Refactored the system check to allow plugins to add new diagnostics [by @mnapoli, @diosmosis]
  • Log Analytics

  • #68 –replay-tracking should ignore HTTP status errors/redirects (in case Piwik server was unreachable) [by @diosmosis]
  • #65 Handle tracking request timeouts and specify reasonable default (w/ CLI parameter to override) [by @diosmosis]
  • #63 In W3C logs, client IP can be – in some logs, but log importer fails to parse – for IP [by @diosmosis]
  • #62 All fields in W3C log format can be quoted strings, but importer assumes all unknown fields cannot be quoted [by @diosmosis]
  • #60 Add retry mechanism to import_logs.py [by @diosmosis, @mattab]
  • #59 Cloudfront log values need to be urldecoded [by @diosmosis]
  • #58 Handle extra whitespace in W3C extended logs, including in between comment lines and in Fields: line. [by @diosmosis]
  • #57 Log importer should check success from tracking api http status code [by @tsteur, @diosmosis]
  • #56 At end of ‘Log Import summary’, display the command to force archive all data [by @diosmosis]
  • #55 Problem parsing W3C log files where cs(Cookie) field has spaces [by @diosmosis]
  • Bug fixes, Tasks

  • #7552 Special characters in website name not shown correctly, Fix double escaping [by @mnapoli, @diosmosis]
  • #6986 Archiving of aggregated ecommerce metrics [by @tsteur]
  • #6325 Bad encoding title in the list
  • #7780 piwik.js: If cookies are disabled, no visitorId should be created / set [by @tsteur]
  • #7668 Return a HTTP 400 response code if no tracking parameter is set [by @tsteur, @diosmosis]
  • #7594 add –include-year-archives and –force-optimize-tables options to purge-old-archive-data command. [by @diosmosis]
  • #7235 [RFC] allow plugins to create diagnostic tools that are available via CLI and the web [by @mnapoli]
  • #6205 clicking on site selector below the currently selected site’s text does not show the popup [by @mnapoli]
  • #7735 Clicking on ‘All Websites’ top menu link should keep the same date/period [by @mnapoli]
  • #7647 PHP Notice when running CronArchive in `loadCustomDateRangeToPreProcess` [by @mnapoli, @diosmosis]
  • #7632 Default GeoLocation via language is not working. [by @diosmosis]
  • #7626 No ‘Access-Control-Allow-Origin’ [by @mattab]
  • #7615 Unable to log into Piwik after disabling ranges as period in UI [by @mnapoli]
  • #7612 missing tmp folder in ZIP [by @mnapoli]
  • #7581 Warning message output in some cases in core:archive [by @mnapoli]
  • #7560 ArchivesToPurgeDistributedList.php(40): Notice – Array to string conversion [by @diosmosis, @mattab]
  • #7495 Goal widget reloads Visits widget on dashboard [by @sgiehl, @tsteur]
  • #7404 After preview of Widget live visitor profile, but not adding it to the dashboard, the calls keep on getting requested [by @sgiehl, @mnapoli]
  • #3929 Plugin Overlay does not support squared brackets [] [by @mattab]
  • #3146 Goals conversion : url encoding problem [by @mattab]
  • #7675 Added possibility to profile any command by setting the option –xhprof [by @tsteur]
  • #7485 Adding logging statements to SegmentArchivingRequestUrlProvider. [by @diosmosis]
  • #7466 The menu shouldn’t intercept middle mouse clicks [by @mnapoli]
  • #7312 Extract INI file merging logic in Config class and move to new IniFileChain class. [by @diosmosis]
  • #7744 Piwik.js added ibooks as download [by @RMastop, @mattab]
  • #7639 Config::getFromLocalConfig + tests [by @ThaDafinser, @diosmosis]
  • #7638 Do not allow to widgetize any API call [by @mattab]
  • #7593 Visible subtableId in system tests [by @tsteur, @mattab]
  • #7576 Auto update over HTTPS can fail [by @mnapoli]
  • #7479 Inconsistent use of Taiwan country name [by @sgiehl]
  • #7451 Skip to Content overlaps with top menu [by @mnapoli]
  • #7449 Make titles black instead of brown [by @mnapoli]
  • #7421 Explain that `misc/` folder must be writable for GeoIP geo location to update geoip dbs
  • #7343 Typo: settings should be uppercase [by @sgiehl]
  • #7231 Use the native JSON when available [by @shesek, @mattab]
  • Translations

  • #7628 [automatic translation update] Updated 71 strings in 22 languages (bg, nb, nl, fi, cs, da, de, el, es, et, fa, fr, it, ja, pl, ro, ru, sl, sr, sv, tl, tr) [by @sgiehl]
  • #7734 [automatic translation update] Updated 2312 strings in 50 languages (sq, ta, pt, vi, ar, be, hr, hu, is, ka, lt, lv, nn, sl, tr, uk, bn, bs, cy, hi, am, bg, ca, cs, da, de, el, es, et, eu, fa, fi, fr, gl, he, id, it, ja, ko, nb, nl, pl, ro, sk, sr, sv, te, th, tl, ru) [by @sgiehl]

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