Piwik 1.8 is a major release, bringing many new features (click to see screenshots!), resolving many bugs, including security issues.

This release is rated critical. Please update now.

What’s new in Piwik 1.8?

In short: many amazing new features, performance improvements, many bugs fixes including security fixes.

A summary is below, followed by the list of all tickets closed in this release. Screenshots – Piwik 1.8 blog post

  • NEW! Import your Server logs in Piwik… many web hosts are already doing it
    • You most likely know (and probably use!) Log analyzers / Log parsing softwares such as AWStats, Webalizer, Urchin… ? You can now use Piwik to do the same, and do it better too.
    • We have worked with dozens of beta testers, and already several web hosting companies are offering Piwik as a replacement of AWStats
    • Click for more info: how to import your server logs using Free Software, and benefiting from the Piwik user interface, widgets, APIs, email reports,
    • … at Piwik we call it simply Log Analytics 2012-style because parsing logs with Piwik is so 2012!
  • Major New User Interface Feature: Row Evolution
    • Row Evolution allows to visualize a detailed report for a given row in any report table in Piwik.

    • You can now hover over the row and see the graph icon. Click on it to open what we call the Row Evolution report.
    • This report contains a graph of the last 30 days (or weeks or months etc.), below the graph you will find the main metrics: visits, page views, conversions, etc. along with a sparkline and a % change over the period.
    • It is easy to change the metric being plotted so you can easily visualize the number of visits over the last 30 weeks of a particular search engine keyword. Still you are only one click away from plotting on the graph the number of conversions for this keyword.
    • You can even compare multiple rows together and see a graph!

    • Note: This feature is released as BETA state – we know a few non critical bugs and we have many ideas to make the feature even easier to use and more powerful.
      Please submit your suggestions or bug reports in the forum.
  • Dashboard Mega Improvements & Custom Dashboards
    • You can now create Custom Dashboards! They will be added as a submenu, you can create unlimited dashboards…
    • It is also possible to set the default Widgets layout used for all newly created dashboard, the rename a dashboard, remove it (delete), or reset to the default widget selection & default layout.
    • Dashboard now automatically records & restore the full state of the widgets, including for example the columns you chose to plot on the graph.
      Along with the ability to customize the columns layout (change to 4 columns, or one wide and 2 small for example), it makes it easy to create exactly the dashboard you need and reuse it over and over again, customizing it along the way.
    • Dashboard can now be embed via Iframe and token_auth and it works like a charm. We also added widgets for the Visitor Log and for the All Websites dashboard. Really quite a lot of users were eagerly waiting for these improvements making it trivial to export ANY Piwik report anywhere… as an Iframe or direct link!
  • New Advanced Analytics Data Features in New Icon
    This new UI element in the footer will contain data tools to help answer analytical questions:

    • Ability to Flatten a report, very useful for example to see all Campaigns – Keywords combination.
      The Flatten feature is also very useful to obtain a Flat Page URLs report, or to compare & visualize (with Row Evolution!) Custom Variables names and values. The feature is also available via the API &flat=1 parameter.
    • Ability to Exclude rows with low visits has been moved to this new icon.
  • New & Improved Reports!
    • New Browser Marketshare report now reports without version names.
      You can access the Browser by version report by clicking on the “Related report: Browser version” link below the report.
    • New report Desktop VS Mobile which replaces the previous “Dive type” report, now available with a click on the link “Related report: Type of screen”
    • The reports Entry Page Titles and Exit Page Titles are finally available! You can access them from the “Related reports” link below “Exit Pages” report or below “Page Titles” report. The reports will contain data in the past as well, since the data was always processed but not displayed until now!
    • All reports now display the how long ago they were generated, eg 24min 10s ago.
      Click on the Help icon next to the report Title to know how fresh the data is.
  • New Admin Settings
    • Now possible to delete old reports! Ideal for Piwik users with a limited Mysql space, or simply to keep things under control.
      You can select to delete daily, weekly, yearly data, and there is a cool database estimator size that refreshes in real time to tell you how much data will Piwik use after the changes.
    • New advanced piwik database usage report, which helps understand how the database space is used, especially useful for large Piwik servers.
      Check it out by enabling the DBStats plugin and clicking on the DB Usage tab.
  • Privacy features
    • DoNotTrack support enabled by default. When users click “Tell websites I do not want to be tracked” in their web browser, Piwik will listen and not track the user.
      We are proud to support this privacy initiative.
      It is of course possible to disable the DoNotTrack support, in Settings > Privacy.
      • Note: DoNotTrack will not solve the (lack of) privacy online, it is however a small step towards a better world…
    • New Javascript function to disable all first party cookies from being read/set, existing cookies will be deleted. New function is: disableCookies()
      This is particularly useful since the UK started requesting website owners to disclose the use of cookies, and make it easy to opt-out of all first party analytics cookies.
  • Performance improvements & bug fixes
    • The database purge will be more efficient as it now also deletes unused rows from log_action table which can be huge for some users.
    • A particular SQL query was causing increased server load on servers with thousands of websites and more than 1M row in the piwik archive tables.
    • A critical bug causing “0 visit days” was reported by many users, was very hard to reproduce, and has finally been fixed thanks to the help of Piwik power user Lorieri. Please report if you still experience random 0 visit days when using Piwik 1.8 and the archive.php script.
    • Many bug fixes and improvements, see the ticket list below for more details
  • Security Fixes
    All security bugs have been found and responsibly diclosed to the team, thanks to our security bug bounty program.

This new version does not contain major database schema changes, so the update should be quite easy even if your Piwik DB is enormous.

After You Update

  • Note that the SQL User used by Piwik to connect to the Mysql database must now require LOCK privilege.
    Please ensure your user has all privileges to the database including SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, LOCK.
  • Please use the forums for support, suggestions, feedback or user stories.
  • If you use Piwik in another language than English, how good is the translation? You can help improve the text in Piwik software.
  • We really appreciate if you can spread the word about Piwik on your twitter, blog, website, to your friends, at conferences, etc.
    Thank you!

New & Updated documentation and FAQs

List of 83 tickets closed in Piwik 1.8

  • #53 Lightweight Piwik mode: Setting to purge aggregated reports older than N days from the database
  • #2895 New reports: Browser and Operating system market shares
  • #3133 New report: Mobile visits VS Desktop visits
  • #534 Row Evolution: historical view of one or many specific rows in all Piwik reports!
  • #2772 New Privacy feature: “Disable all tracking cookies” (EU Privacy regulation update)
  • #703 Piwik an alternative to AWStats and Urchin, build server log import script
  • #2805 Delete old logs should also delete unused urls from piwik_log_action
  • #3004 Improve the “Database usage” plugin, more statistics
  • #1353 Dashboard & Sparklines should work when embedded with token_auth
  • #3098 New doc page: REST Tracking API documentation
  • #2979 Dashboard: save & restore plotted metrics in graphs
  • #3073 Flattening Tables via API and UI
  • #2048 Enable DoNotTrack support by default – ignore visits with DNT or X-Do-Not-Track header
  • #2172 Java Tracking Client V1 – PiwikTracker.java
  • #3083 Widgetize the “All websites” dashboard
  • #1713 Config class refactoring
  • #3137 Add ability to link to related reports to ViewDataTable
  • #3033 New Widget: Visitor Log in an iframe
  • #1052 Display the time that last Archive ran “Reports were generated X seconds|minutes|hours ago”
  • #1996 Display Page Titles entry/exit reports
  • #3011 Multiple Dashboards / Dashboard Improvements
  • #3021 Refactor Upgrader to ensure the new code is reloaded after overwriting old files
  • #3017 PDF via cronjob creates summary reports for all websites
  • #3060 &segment= parameter should be forwarded to the hashtag when clicking on menus
  • #3070 Scheduled reports: allow to disable all graphs (some users experience memory errors because of graphs)
  • #3112 IE ‘s XDomainRequest is not compatible with XHR
  • #3090 Bug in parsing of Custom Variables
  • #2963 If mysql user does not have sufficient privileges, Piwik install fails “website time zone is not valid”
  • #3019 Add script to uninstall Piwik (delete directory) when the web user owns the directory
  • #2813 Search engine duckduckgo.com should be tracked as “Keyword not provided”
  • #2144 How to Mobile App Analytics using Piwik, new FAQ
  • #3103 SecurityInfo Problems
  • #3108 core/Url.php: getCurrentHost() should fallback to SERVER_ADDR
  • #3102 Allow to customize the maximum URL split which defaults to 10 URL directories max
  • #3122 Allow to disable unique visitor count query for days weeks and months
  • #2991 CoreUpdater: clear APC opcode cache after overwriting files
  • #2584 Allow visits, pages and conversions (orders, cart updates) to be recorded for days in the past
  • #3101 Lower mininum value to 1 for “delete logs older than” in Privacy tab
  • #3125 Request timeout should be configurable in PiwikTracker.php
  • #3136 API to return server side settings
  • #3139 Allow tracking request to record googlebot/bing bot requests
  • #3164 Add hooks for plugin Enabled and plugin Disabled
  • #2988 Notice: Undefined variable: errno in piwik/libs/Zend/Http/Client/Adapter/Socket.php on line 236
  • #2994 German Localization: Fix standart -> standard
  • #3012 Scheduled report by email with custom date range triggers error
  • #3009 display_errors is always set to On. It should honor the php.ini setting instead
  • #3010 All websites: JS syntax error: setRowData missing parameter
  • #3007 archive.php, error when –url domain name includes “-h”
  • #3015 Document the new webcron archive.php feature for users who can’t run a standard cron
  • #3016 Discourage the use of the config setting tracking_requests_require_authentication=0
  • #3043 PHP Notice: archive.php – Object of class Piwik_Timer to string conversion Log.php on line 105
  • #3045 VisitsSummary plugin not propagating segmentation
  • #2985 disabling Referers plugin causes errors in Visitor Log and Goals reports
  • #2989 Live Visitors Widget crashes if one visitor has hundreds of page views
  • #3022 In some rare cases, page views have a different idvisitor but belong to the same visit
  • #3044 Widgets: H2 titles are missing some CSS style when embedded
  • #3061 In Scheduled Reports, “All Websites” should not be truncated after 23 rows like other reports and should display All websites
  • #3062 Handle new Google search SSL format, changing April 1st
  • #3063 Google Images sometimes does not send keyword and is not recognized as Website instead of Search Engine
  • #3064 Live! widget does not persist the segment parameter on reload (works fine on first load)
  • #3077 Chome Frame detection
  • #3026 UI bug: date selector loads forever when clicking on Date Range then Day
  • #3128 Update: PclZip should overwrite newer (timestamped) file
  • #3129 generated .htaccess files should be wrapped by ifmodule
  • #3038 website search iframe buster not working on FF
  • #3142 SSL: Mix of insecure resources on login page
  • #2962 Weird percentage of installations of a browser plugin (>100%)
  • #2946 click on the “Vertical Bar Graph” Icon in the “Last Visits graph” widget does not work
  • #3055 mixed columns in API.get resultset
  • #3086 Calendar: 2012-03 should read “2012, March”
  • #3150 UI: small code improvements to selector to choose number of rows
  • #3034 Default widgets cleanup
  • #3087 Add faq “How do I invalidate old reports after inserted new ones”
  • #3140 API Performance improvements on very large setup: SQL query tweak
  • #3071 When using a beta or RC release, auto update should work to next RC or Beta or stable
  • #3096 Improve message “The requested table (id = %d) couldn’t be found in the DataTable Manager”
  • #2984 archive.php does not archive weeks/month/year in some cases on low traffic websites
  • #3145 force_ssl option should not force https for optOut-iframe
  • #3132 ImageGraph: The column ‘revenue_discount’ was not found in this report
  • #3049 Investigation: Fatal error: Class ‘Piwik_Db_Schema_Myisam’ not found in core/Db/Schema.php on line 139
  • #2995 Windows 8 (CYGWIN) detection error
  • #2999 All Websites dashboard fails in php strict mode with error output “Array to string conversion”
  • #3143 Currency Symbol position for Krona

… and thank you to all translators for their ongoing work, the core Team and Partners for the bulk of the work, with some features developed by Piwik Professional Services who are doing a fantastic jobs helping customers worldwide use Piwik effectively!

Thank you for sharing the word about Piwik,

Peace & Happy Analytics