Piwik 1.3 is a significant update that fixes bugs and adds new features, including: Custom Date Ranges, Performance improvements, improved Live! real time widget & Visitor Log, much improved Tracking API, and a lot more.

It contains many database schema changes so please be careful when running the Update script. On large Piwik setups, make sure to run the Update Script from the Shell!

After You Update

Documentation pages, new & updated


  1. I’m a developer, how do I enable logging (and / or SQL profiling) in Piwik?
  2. What are Outlinks, Clicks or Unique clicks?
  3. Is Piwik compatible with Nginx?
  4. How do I automatically login my users in Piwik when they go from my CMS to Piwik?
  5. How do I get reports for a custom date range?
  6. How do I track my RSS/Atom feed subscribers?
  7. How do I momentarily disable Piwik User Interface and/or Piwik visitor Tracking?
  8. How do I enable « Unique Visitors » metric for Yearly reports and for Custom Date Ranges?
  9. I would like to import an existing Users database (login, password, emails) in Piwik, but the usernames and passwords are more permissive than what Piwik allows. How do I disable the checks on the Logins & Passwords?

List of 91 tickets closed in this release

  • #572 Core: Provide custom date range feature
  • #2258 Add a setting to allow a Goal to trigger multiple times per visit
  • #2293 Allow Goal to trigger based on Page Title (Event like Goal trigger)
  • #2220 Visitor tracking becomes really slow on large installation (v1.2)
  • #2145 Live does not always show recent visitors based on timezone
  • #1966 Live! plugin performance issues
  • #2168 Campaigns referers are not attributed to Goal Conversions
  • #2096 All websites dashboard: display totals of all websites
  • #2191 Allow API to modify « website creation date »
  • #2280 Live! API should be advertised as « stable » and can now be reused
  • #2287 Display ranking on search result page in the Visitor log and Live! plugin
  • #855 Campaign name and keyword variable names should be defined in a list, and should include utm_* by default.
  • #2275 New hook needed for UsersManager
  • #2307 Live! API to support the ‘segment’ parameter to allow querying any visit level information
  • #2180 Regression in menu code: double click show orange warning message
  • #2189 Delete PDF reports when user is deleted
  • #2242 VisitorGenerator: Warning: uasort() The argument should be an array in coreMenuAbstract.php on line 151
  • #373 Period reports must always or never include today’s statistics
  • #2288 Notice: Uninitialized string offset in Common.php on line 1308
  • #2209 jQuery-UI 1.8.11 update
  • #2230 refactoring: isIIS() and isApache()
  • #2231 DataFiles – add get()-like accessors
  • #2225 Controller: setBasicVariablesView vs setGeneralVariablesView; public vs protected
  • #2170 Documentation: unique visitors for period=year
  • #2175 Update screen: advise to disable apache while upgrading
  • #2229 LanguagesManager.test.php, TranslationsAdmin, and tidy script: refactor saveTranslation
  • #2243 Bulk insert reports when archiving
  • #2248 jQuery 1.5.2 update
  • #2249 UserSettings: test UserAgent changes in Chrome/Chromium 11 (same UA)
  • #2252 Output buffering inconsistencies
  • #2253 Unit tests – setup/teardown
  • #2279 On-demand session file cleanup
  • #2282 Update to ZendFramework 1.11.5
  • #2298 Update CSS3PIE to 1.0beta4
  • #2310 UserAgentParser: Firefox Aurora
  • #2312 Refactor framekiller and admin controllers
  • #2164 URLs for websites, why not just hostnames?
  • #2136 Add response time in the Metadata XML response
  • #2251 « Add a new website » button should display at top of table as well to avoid scrolling
  • #2286 Allow ‘logme’ automatic login mechanism to specify the idSite to load after logging in
  • #2291 Order Metadata reports the same way Piwik orders reports in the menu
  • #2281 Improve Visitor Log UI, display Page Titles, Goals conversions
  • #2299 Tracker API setForceVisitDateTime should accept UNIX Timestamp as well as date time
  • #2301 PHP Tracker getVisitorId() should discover first party ID cookie (and add getAttributionInfo())
  • #2302 Tracking API: Allow setTokenAuth() to be an admin token, not only the Super User
  • #2303 Allow Goals.getGoals() to accept a comma separated list of sites IDs
  • #2309 Add the segment ‘visitorId’ to allow querying reports for a given visitor
  • #1478 Add a table of contents & quick description of each API in the API page
  • #2317 UserAgentParser: add detection for Samsung’s « bada » OS
  • #2316 Allow to hide hours in the future in output of API function getVisitInformationPerServerTime()
  • #2322 UserAgentParser: detect Windows Phone 7 in desktop browsing mode
  • #2203 Snort: false positive on piwik.js
  • #2205 _readfile() not defined when using piwik.js proxy
  • #2198 setCustomUrl() support for relative URLs
  • #2147 Visitor countries widget displays UserCountry_country_Others
  • #2202 Encoding errors in language files
  • #2213 Keyword per page widget: invalid argument supplied for foreach ….. eval()’d code
  • #2215 Handle case where php missing both json and xml extensions
  • #2232 DB migration to 1.2.1 fails on log_link_visit_action with STRICT mysql & NO_ZERO* options
  • #2208 Actions Downloads widget
  • #1578 Case-insensitive domain name matching
  • #1656 PDFReports: TCPDF temporary subject to open_basedir restriction
  • #2093 « Download » PDF click returns PDF Reports in default language, not user language
  • #2239 cron/archive.sh writes error messages to stdout, but stdout is discarded with the default crontab entry
  • #2163 SitesManager: IE8: « Save » button text is difficult to see
  • #2246 Installer to check for pack() function available
  • #2247 VisitorGenerator: location_provider is null
  • #2218 Fatal error in API response « Maximum function nesting level of ‘100’ reached, aborting! »
  • #2260 « piwik_option » table name should be quoted in SQL « version_core » update statement
  • #2263 iframe template in Widgetize plugin without DOCTYPE definition rendered incorrectly in IE
  • #2259 Live Widget – unneeded ajax requests
  • #2269 Delete tracker cache files on update
  • #2264 Fatal error thrown on World Map when logged out
  • #2267 Piwik_Exec doesn’t seem to log the query in the profiler
  • #2283 Google advanced search not detected
  • #2284 add bing subdomains to search engines
  • #2274 Retrieving keywords for the last 7 days with a segment doesn’t work
  • #2297 provider with .co.uk is not used detected as british
  • #2300 PDF reports show the Unique Visitors column but it’s empty when period is not day
  • #2292 undefined function safe_unserialize() in piwikcoreCookie.php
  • #2009 Regression: Outlinks is not filtering out alias URLs anymore
  • #2314 PDFReports: should hook on SitesManager.deleteSite
  • #2155 Automatic PDF email report not working when PDF report is linked to deleted site
  • #2315 calling piwikTracker.getVisitorId() early causes random ID to return, not persisted
  • #2319 search engines shown among external web sites
  • #2323 « All websites dashboard » comparison sometimes shows « 0% » when monthly report selected
  • #2236 Add a config file option to disable the length checks on Login & password
  • #2324 Add setting to customize Live! timeout refresh in seconds
  • #2223 Bing Images Search URL is wrong
  • #2250 period selector doesn’t close on click outside
  • #2262 ‘optOut’ form doesn’t pass through the ‘language’ parameter
  • #2179 Installation: file_get_contents() has been disabled for security reasons