Piwik Changelog

What's new in Piwik 3.0.3

Apr 10, 2017
  • Piwik reporting dashboards will now uses less browser memory: several leaks were identified and fixed by a researcher. We’re using completely new Flag icons for all countries + cities + regions reports, and visible in the Visitor Log and Visitor Profile: the new flags are less glossy, flatter and easier to scan! Our email reports report graphs library has been changed for bringing better speed, and compatibility with the latest PHP 7.1. And we’ve created a new project for gathering all our icons in one place and make it easier for anyone to contribute: github.com/piwik/piwik-icons.
  • Overall, we’ve fixed many small issues reported by our awesome community to make things a bit better everywhere, including more secure. And we’ve added new detections for brands, new device models, new referrer spammers and social networks. And Piwik has never been so fast!

New in Piwik 3.0.2 (Mar 5, 2017)

  • This release brings a few major improvements and many small fixes to your Piwik 3. Firstly there are several visual changes: your HTML email reports and your custom alerts emails will now look much more beautiful! Perfect to WOW your customers or simply enjoy your daily or weekly email reports. We’ve also improved the design of other elements such as the Tag Cloud visualization. And you can now better print your Piwik reports from your browser.
  • One of the most important new feature is our new Cross Domain linking functionality which lets you track visitors across multiple domain names accurately. For your Ecommerce websites, the Visitor profile will now display Life Time Revenue, purchased items, and number of life time ecommerce orders. A new SMS provider for receiving your mobile sms reports has been added: ASPSMS.com We also added new keyboard shortcuts: “s” for selector, “d” for calendar, “w” for site selector. And your Piwik will detect many more new mobile devices, tablets, robots, and referrer spammers!

New in Piwik 3.0.1 (Jan 27, 2017)

  • A few improvements as well as solving a few issues reported by users after the Piwik 3 upgrade. The most visible change is that most icons for browsers, operating systems, search engines and website icons have been updated in high resolution.

New in Piwik 2.17.0 (Nov 1, 2016)

  • This release brings a big new improvement to Piwik: now you can easily purchase premium paid plugins from the Marketplace directly within your Piwik. Simply purchase one or more plugins, enter your license key, and you’re done! All your Premium plugins can now be downloaded and installed in just one click just like any other free plugins.

New in Piwik 2.16.5 (Oct 5, 2016)

  • Fixes a regression introduced yesterday in Piwik 2.16.3 and not fully fixed in Piwik 2.16.4.

New in Piwik 2.16.4 (Oct 4, 2016)

  • Fixes a regression introduced yesterday in Piwik 2.16.3. The Scheduled reports were not working for websites where the website’s timezone was UTC+N or UTC-N. This is now fixed.

New in Piwik 2.16.3 (Oct 3, 2016)

  • Fixed issues:
  • #10631 Mark 2.16.3 DB upgrade as Major as it updates a field on the log_visit table: visit_entry_idaction_url [by @mattab]
  • #10414 Create index.htm files in all tmp/ sub-folder as an additional safety net [by @mattab, @tsteur]
  • #4570 Add support for “issues” link to plugin.json and display in Marketplace / Core
  • #8392 Moved UI screenshots inside the repository using git-lfs [by @mnapoli, @sgiehl]
  • #10423 When updating the config file failed (or when any other file is not writable…), the Updater (for core or plugins) will now automatically throw an error and cancel the update [by @mattab]
  • #10527 Automatically update all marketplace plugins when updating Piwik [by @tsteur, @mattab]
  • #10633 Warn users (in all admin pages) when the PHP version is not recent enough to upgrade Piwik to latest major version [by @mattab]
  • #10406 PHP 7: when there is a fatal error in API request processing, display the original error in the api response [by @mattab, @tsteur]
  • #10424 When the core:update command is executed with a user:group different from the user:group that owns the Piwik files, display a message to indicate how to fix file permissions [by @mattab, @tsteur]
  • #10598 Show a better selection of data, in the default dashboard layout [by @mattab]
  • #10630 Display warning in console command when the DB upgrade is major [by @mattab]
  • #10425 issue tracker: remove the LTS milestone on Github
  • #5395 As a Piwik plugin user, I want to leave a feedback to the plugin developer
  • #6386 Remove tests from plugin when packaging on the Marketplace
  • #7726 Move UI screenshots to git-lfs [by @mnapoli, @sgiehl]
  • #10441 Split piwik.js into multiple files and provide a merged one [by @tsteur, @mattab]
  • #7658 Daily Scheduled Reports sent one hour late, if daylight saving time is active [by @sgiehl] – Sponsored by Piwik PRO]
  • #9893 When opening the visitor profile, the Segment is applied, which can cause the Visitor Profile to be incomplete [by @tsteur] – Sponsored by Piwik PRO]
  • #10143 .htaccess file ownership in 2.16.1 [by @mattab, @tsteur]
  • #10357 Correct wording: Donation widget only displayed to superusers [by @johnrackles, @mattab, @tsteur]
  • #10374 Plugins: Generating a new visualisation via ‘generate:visualizationplugin’ fails with InvalidArgumentException [by @tsteur]
  • #10399 Fatal error when requesting RSS format: Call to a member function getTimezone() on boolean [by @mattab, @tsteur]
  • #10427 DoNotTrack: Tk response header value wrong
  • #10463 Deprecated – Non-static method PiwikDbAdapter::isRecommendedAdapter() should not be called statically, [by @tsteur]
  • #10501 Fix possible twig error in updater if support is defined but no email [by @tsteur]
  • #10368 Cannot Generate Tests using Piwik Console [by @tsteur]
  • #10370 Update documentation how to install Piwik from git on Windows for developers
  • #10389 Update Docs: Tracking Events with Custom Dimension
  • #9105 Implement ordering by “last updated”, “new” at http://plugins.piwik.org/
  • #10362 Update to Device detector 3.7.1 [by @mattab, @tsteur]
  • #10366 Added new event Archiving.makeNewArchiverObject to allow customising plugin archiving [by @mgazdzik, @mattab]
  • #10440 Add tests for piwik/searchengine-and-social-list#14 for Japanese search engines and keywords [by @piwikjapan, @sgiehl]
  • #10481 Define changelog, faq and documentation in separate files in plugins [by @tsteur]
  • #10522 Exposing some DOM methods for Piwik.js [by @tsteur, @mattab]
  • #10564 Additional information passed in the hook “isExcludedVisit” (issue #10415) [by @Thomas–F, @mattab]
  • #10634 If Piwik is not installed yet, it’s possible the tmp/ folder is not writable, display a useful error message [by @mattab]
  • #10384 [automatic translation update] Updated 103 strings in 36 languages (fa, fr, sv, tr, ar, cs, da, de, el, es, fi, it, ja, ko, nb, nl, pl, pt-br, ro, ru, sk, sr, tl, uk, zh-cn, be, bg, ca, id, lt, lv, pt, sl, sq, vi, zh-tw) [by @sgiehl]
  • #10442 [automatic translation update] Updated 118 strings in 4 languages (cs, it, nb, de) [by @sgiehl]
  • #10585 [automatic translation update] Updated 201 strings in 8 languages (cs, de, el, es, fr, nb, tr, it) [by @sgiehl]
  • #10058 Release 2.16.2 [by @mattab, @sgiehl, @tsteur]

New in Piwik 2.16.2 (Aug 3, 2016)

  • Fixed issues:
  • #9883 New report listing all User ID, in Visitors > Users [by @alexkuk, @tsteur]
  • #8689 Full PHP 7 compatibility [by @tsteur, @mattab]
  • #7257 Piwik.js: Support for sending data to multiple idSites
  • #4410 The string to escape is not a valid UTF-8 string in “@CoreHome/getDefaultIndexView.twig”. [by @mattab, @tsteur]
  • #9525 Piwik JS Tracker: Easier way for using multiple trackers [by @mattab]
  • #10066 Manage websites: Links to website [by @Peteys93, @tsteur]
  • #10214 Add a web app manifest so you can add Piwik icon to the launcher in Mobile devices [by @tsteur]
  • #10105 piwik.js: Access is denied in Internet Explorer 8 within IFrame [by @Kijewski, @mattab]
  • #9411 Let users exclude IPv6 address ranges using * wildcard exclusion rules for IPv6 such as 2001:DB8:*:*:*:*:*:* [by @mattab]
  • #10174 Document new way to easily send tracking requests to multiple Piwik servers and/or multiple websites ID [by @mattab]
  • #9995 Manage goals: Help text is misplaced [by @sgiehl]
  • #10044 Unlimited paging in lists when selecting all [by @sgiehl]
  • #10130 7 days in Evolution over the period when Period is Day [by @tsteur]
  • #10163 Improve detection for empty keywords for referring search engines [by @sgiehl]
  • #10172 Piwik.js: add callback ability to trackPageView [by @er314, @tsteur]
  • #10305 New Goals.getGoal(idSite, idGoal) API method to get a single goal [by @tsteur]
  • #9838 Embed Piwik Report – columnDescription-bubbles are out of view [by @sgiehl – Sponsored by Piwik PRO]
  • #10242 Update country flags for Tokelau, Myanmar, Lesotho, Libya and French Guiana to their modern versions. [by @polyfloyd, @sgiehl]
  • #9984 When changing segment definition, inform the user that past data will be cleared [by @sgiehl – Sponsored by Piwik PRO]
  • #10045 on Mobile Device, let users drag and drop items such as segments, using touchpunch library [by @wronan, @mattab]
  • #10189 Tweak core:archive output logging to better explain where to find error log depending on server configuration [by @mattab, @sgiehl]
  • #10302 piwik.js: Prepend a slash to all paths such as when users don’t specify leading slash for URL path [by @mattab]
  • #10160 Accessibility: set a title attribute on Main menu item for better experience on screen readers [by @tyrylu, @sgiehl]
  • #9966 Don’t try to display a custom logo or favicon if they don’t exist [by @ksubileau, @tsteur]
  • #10204 Updates device detector to latest version [by @sgiehl]
  • #10339 Professional Services for Piwik, neutral branding within Piwik app [by @mattab]
  • #9196 Creating visitor segment in mobile phone fails [by @tsteur, @mattab]
  • #9438 Bing, Yahoo, etc. may be shown as “Websites” instead of “Search engines”
  • #9468 Some periods may not be archived at all [by @tsteur]
  • #9872 Outlinks and downloads may not be tracked if users don’t specify a leading slash in paths (eg. setDomains)
  • #9923 Goal conversion sometimes not tracked when a Goal matches event names/categories/actions [by @mattab]
  • #10000 Don’t try to display a custom logo or favicon if they don’t exist [by @ksubileau, @tsteur]
  • #10115 PHP 7, API: actual error messages not shown when a PHP Error occurs [by @mattab]
  • #10117 Error: Invalid dimension ‘null’. [by @mattab]
  • #10121 When a custom search engine is added and it has the same domain as the website tracked, referrer is not detected as expected [by @sgiehl – Sponsored by Piwik PRO]
  • #10153 trackLink does not invoke callback if request is done via GET ? [by @er314]
  • #10169 Overlay bubbles are not displayed if custom port in http://hostname:port/ [by @tsteur]
  • #10175 JavaScript SDK: Calling an undefined JS API method should trigger a useful error message to help users locate the issue quickly [by @mattab]
  • #10206 Error in visit details when UserCountry plugin is disabled
  • #10252 addEcommerceItem not added to subsequent order [by @mattab]
  • #10273 API: CSV exports compatibility with &date=previousX, &date=lastX and more [by @tsteur, @mattab]
  • #10276 Archiving output showing always “0” visits for period = day summary [by @mattab]
  • #10283 New install of Piwik 2.16.1 incorrectly reports Tracker Status 500 “GET request to piwik.php failed.” [by @mattab]
  • #10289 Tracked resolution of Mac Retina displays is wrong
  • #10303 Searching recursively in sub-tables should work as expected [by @mattab]
  • #10310 Piwik.js: setting custom dimensions fails on IE8 with customDimensionIdsAlreadyHandled is a array,has no indexOf() in line 3932 [by @sgiehl, @mattab]
  • #10092 [automatic translation update] Updated 42 strings in 5 languages (ru, de, sv, pt-br, fr) [by @sgiehl]
  • #10114 [automatic translation update] Updated 491 strings in 48 languages (am, ar, be, bg, ca, cs, da, de, el, es, et, eu, fa, fi, fr, gl, he, hi, hr, hu, id, it, ja, ko, lt, lv, nb, nl, nn, pl, pt-br, pt, ro, ru, sk, sl, sq, sr, sv, ta, te, th, tl, tr, uk, vi, zh-cn, zh-tw) [by @sgiehl]
  • #10155 [automatic translation update] Updated 251 strings in 4 languages (de, nl, sq, vi) [by @sgiehl]
  • #10180 [automatic translation update] Updated 1490 strings in 3 languages (uk, ar, fa) [by @sgiehl]
  • #10191 [automatic translation update] Updated 315 strings in 1 languages (uk) [by @sgiehl]
  • #10265 [automatic translation update] Updated 418 strings in 11 languages (ar, da, de, es, et, fa, sl, fr, it, sq, el) [by @sgiehl]
  • #10328 [automatic translation update] Updated 54 strings in 7 languages (nl, es, he, pt-br, cs, el, uk) [by @sgiehl]
  • #10344 [automatic translation update] Updated 253 strings in 44 languages (tr, bg, cs, da, de, el, es, fr, id, it, ja, nb, nl, pt-br, ro, ru, sk, sl, sq, sr, sv, uk, zh-cn, zh-tw, fi, ko, am, ar, be, ca, et, eu, fa, gl, hi, hu, ka, lt, nn, pl, pt, th, tl, vi) [by @sgiehl]
  • #10018 When an event is tracked without a URL, Goal conversions (“Event matching goals”) should be tracked as expected [by @mattab, @tsteur]
  • #10046 Add link to Product changelog in the Developer changelog [by @mattab, @tsteur]
  • #10051 Piwik.js: Add current domain to list of domains automatically only if no path is set [by @tsteur, @mattab]
  • #10082 Piwik.js: Explain a user should call setSessionCookieTimeout when changing visit length [by @tsteur, @sgiehl]
  • #10085 JavaScript SDK: add support to send tracking requests to multiple Piwik servers and/or store in one or multiple websites ID [by @mattab]
  • #10091 allow + in database names during setup [by @nbezzala, @tsteur]
  • #10148 Source code: fix some typos [by @stweil, @sgiehl]
  • #10170 Piwik.js: fix to double-execution of trackLink callback [by @er314, @tsteur]
  • #10171 Overlay while using custom http port: fix to urlnormalizer [by @er314, @tsteur]
  • #10192 CI builds: Splits AllTests build in two separate builds [by @sgiehl, @mattab]
  • #10205 Update README.md file to link to our QA and Security pages [by @mattab]
  • #10247 Put idSite into single quote for support custom string id [by @joubertredrat, @tsteur]
  • #10260 Update JQuery to the latest 1.12.4 version [by @mattab]
  • #10270 Let plugins provide custom piwik.js tracker tests [by @tsteur]
  • #10274 deprecate ci-status project and ci-status.com website
  • #10279 Piwik.js: Reset the list of items in the cart, after tracking an ecommerce conversion [by @mattab]
  • #10331 When Piwik config file becomes un-readable, make it clear that the file still exists but is not readable [by @mattab]
  • #10334 Update composer libraries, while enforcing the minimum php in composer.json [by @mattab]
  • #10058 Release 2.16.2 [by @mattab]

New in Piwik 2.16.1 (Apr 11, 2016)

  • Several bugs are fixed including some security issues. Overall, performance has been slightly improved. We’ve also made several small improvements to usability such as new useful inline help messages. This release also includes small new features for better measuring your domains and/or sub-domains and/or groups of pages in one or several websites. Dozens of new Devices and Brands are now detected by our Device Detector library. Our community has also submitted several new referrer spammers to help keep your Piwik analytics data accurate.

New in Piwik 2.16.0 (Feb 1, 2016)

  • piwik/piwik:
  • #7411 Let me view all visitors who reached a specific goal via a link in all Goal reports
  • #9521 Allow any plugin system setting to be overwritten in the config file [by @tsteur]
  • #4314 Don’t let “admin” users see all other users in Piwik [by @tsteur, @mattab]
  • #9299 Multiple visits with each pageview when “/?pk_campaign” is used [by @tsteur]
  • #9192 No data in segmented visitor log for urls with ampersand [by @tsteur]
  • #8834 Publicise the LogViewer plugin [by @mattab]
  • #9526 Administration > Diagnostics > Config file lets Super User view all config values in the UI [by @tsteur, @mattab]
  • #9501 New segment DeviceBrand [by @sgiehl]
  • #9314 New segment: ActionType [by @tsteur, @mattab]
  • #9224 Add new segment ActionUrl [by @tsteur]
  • #9129 Custom Dimensions: making Custom Variables more powerful and easier to use [by @tsteur, @danmichaelo]
  • #9124 Adding new command config:set command to set INI config [by @diosmosis, @mattab]
  • #9068 Add Ability to Export ALL Records (new ‘all’ option in the Row limit selector)
  • #8076 New segment operators: “Starts with” and “Ends with” [by @tsteur]
  • #7213 Display the “Segmented Visitor Log” icon in sub-tables reports [by @diosmosis, @sgiehl]
  • #6766 Let Super User view and edit segments created by other users [by @mattab]
  • #9088 Piwik compatible with old Mysql 4.1 (cannot connect to DB since 2.15.0) [by @Joey3000]
  • #9082 Allow switching to 24h format for languages with AM/PM formatted timestamps as default [by @mattab]
  • #9428 when “Only track visits and actions when the action URL starts with one of the above URLs” is enabled for a website, action URLs on an Alias URL subdomain will not be tracked anymore
  • #9316 Running core:delete-logs-data with option –no-interaction doesn’t do anything
  • #9174 Improvements to search engine and social network detection [by @sgiehl, @mattab]
  • #8469 ./console customvariables:set-max-custom-variables should run in no interaction mode [by @sgiehl]
  • #6761 Events reports: option to view all columns: min, max and avg values [by @tsteur]
  • #4114 Number format thousands, decimal, abbreviate large numbers l10n
  • #9358 Exclude unknown urls: Check whether known URL starts with path if one is defined, do no longer match subdomains [by @tsteur, @mattab]
  • #9357 API response may include more unique visitors than actions [by @tsteur]
  • #9194 segment counts more conversion than All visits segment [by @tsteur]
  • #8813 VisitorMap sometimes does not show data when segment parameter is used and URL encoded [by @tsteur]
  • #6642 MySQL 5.7+ support [by @mattab]
  • #9341 JavaScript tracker code should be added immediately before the closing section [by @mattab]
  • #9573 Themes: make currently selected menu item colors themable [by @tsteur]
  • #8128 Custom variables report bug – missing visits sum [by @mattab]
  • #6741 Add a command to generate a UI test for plugins
  • #9258 Allow to profile all archiving subrequests: forward PHP CLI parameters to CLI subrequests [by @tsteur]
  • #8546 Introducing Long Term Support for Piwik 2.X
  • #9379 Admin users don’t see all users but can now “Give an existing user view access” by entering the username [by @tsteur, @mattab]
  • #9320 When a path is specified in a website URL, Piwik will consider the path during tracking [by @tsteur, @mattab]
  • #9226 New API to create custom SMS providers in Piwik plugins [by @tsteur, @mattab]
  • #9143 New report ‘Personal settings > Custom Variables’ displays custom variable usage [by @tsteur, @mattab]
  • #6080 New Goal Funnels plugin available from Piwik PRO (Funnel Analytics)
  • #9051 Release AnonymousPiwikUsageMeasurement plugin on the Marketplace [by @mattab]
  • #8393 apostrophe/single quote bug when showing ‘row evolution’ in ‘page titles’ section [by @sgiehl]
  • #7423 Only link to plugin MultiSites, if MultiSites is actually enabled
  • #9570 Show a warning when Piwik is used as a SuperUser via HTTP [by @ashleighpearson, @mattab]
  • #9535 Remove seeding in random number generator [by @Joey3000, @tsteur]
  • #9160 No error message is shown when a plugin fails to be installed
  • #7219 No data message in subtable renders too many columns
  • #9567 Google Publisher Plugin bot crawler isn’t excluded from visits
  • #9478 Adds “Segmented Visitor Log” icon to more reports and subtables [by @sgiehl]
  • #9432 Allow zoom to country in realtime visitor map [by @cyberbeat, @tsteur]
  • #9412 Add a direct link to “Create Goals” when website has had no visitor yet [by @sgiehl]
  • #7264 Warning – imagecopyresampled() expects parameter 2 to be resource
  • #6737 Update(s) available message for Plugins update may display several times [by @tsteur]
  • #9524 Query generated by Live plugin can be slow for large date ranges [by @tsteur]
  • #9329 Check whether string actually contains value to prevent from copying the string to reduce memory usage [by @mattab]
  • #9296 Transition and Overlay does not work when site-url contains &
  • #9112 Made Last Seen more human readable [by @ritvikgautam, @tsteur]
  • #9155 Close button icon in popovers has poor contrast [by @RobotHoboDanceParty, @tsteur, @mattab]
  • #9026 Improve design of Transitions – No data message [by @tsteur]
  • #8869 Favicon is unsharp / blurry on MacBook Retina displays [by @mattab]
  • #9603 Use username consistently instead of login [by @ashleighpearson, @mattab]
  • #9489 Visitor profile summary uses many different styles [by @tsteur]
  • #9436 Automatically reload the “No data has been recorded yet” page as soon as data has been tracked
  • #9398 Do not load a report by dimension as a widget so it remembers last used report settings [by @tsteur, @mattab]
  • #9266 In Popover, show the full title in a tooltip on hover on the title [by @sgiehl]
  • #9178 manage plugins: Link to Plugin Hompage opens in same browser tab [by @tsteur]
  • #9145 When the page is loaded over HTTPS but Piwik thinks it is loaded over HTTP, explain in a notification how to solve issue [by @tsteur]
  • #9025 Include the current site in the web site selector drop-down
  • #8569 in the website selector display tooltip with full website name [by @tsteur]
  • #9593 Make Search bar more accessible [by @RobotHoboDanceParty, @tsteur]
  • #9591 Tooltip on user icon for anonymous user should not say “Personal email report” [by @ashleighpearson]
  • #9577 Make Calendar usable with keyboard
  • #9571 ‘Escape key’ should collapse any expanded menu [by @Gabriel-Bowater, @tsteur]
  • #9562 Make Piwik usable with keyboard: implement proper tabindex order
  • #9560 Added aria-label to menu element. [by @nstallinger, @tsteur]
  • #9556 Page titles should include the date and period [by @RobotHoboDanceParty, @tsteur]
  • #9550 ‘Skip to main content’ should move cursor to the selectors bar
  • #9309 Improving SR readabilty of users’ menuitem in topBar [by @tassoman, @tsteur]
  • #9161 Automate some management of open source repos
  • #9148 Add WAI-ARIA features to main menu for better accessibility
  • #9480 Standardize password hash function usage [by @Joey3000, @tsteur]
  • #9470 Document need to call setApiUrl() in js/README.md [by @Joey3000, @tsteur]
  • #9321 Minor changes to Installation > Create Super User step for German users [by @sgiehl]
  • #7747 Make website manager take 100% of width [by @tsteur]
  • #7284 visitor-map.js calculating wrong height [by @sgiehl]
  • #7181 Report archives have tripled in size since update to 2.10 [by @diosmosis]
  • #5389 Visitor Log: move number of page reloads “3X” next to the action title
  • #3325 Support for POST in Piwik_Http::sendHttpRequest [by @tsteur]
  • #9587 New less variable for widget backgrounds and border. [by @RobotHoboDanceParty, @tsteur]
  • #9364 Make PHP tracking client PiwikTracker available through composer [by @JohnMaguire, @tsteur]
  • #9237 Profiler: allow to use either Xhprof PHP extension or locally built Xhprof from composer [by @mattab, @tsteur]
  • #9163 Remove SQLite dependency in tracker tests [by @tsteur]
  • #9632 Replace some characters in Email subject and Email attachments filename [by @mattab]
  • #9610 total time of visit is not the sum of times of page visits [by @tsteur]
  • #9584 The string CustomDimensions_IncreaseAvailableCustomDimensionsTitle was not loaded in javascript. Make sure it is added in the Translate.getClientSideTranslationKeys hook. [by @tsteur]
  • #9583 average time on page determined by using unique pageviews
  • #9575 Low clickthrough causes overlay to show 0% for links [by @mattab]
  • #9528 Mysql 5.7: The MySQL server is running with the –secure-file-priv option so it cannot execute this statement: LOAD DATA INFILE
  • #9504 Visit times could be more accurate when using the heartbeat timer Ping feature
  • #9493 Diagnostics RecommendedExtensionsCheck on HHVM 3.11 [by @tsteur]
  • #9481 Do not overwrite piwikUrl when host is localhost
  • #9447 Fixes escaping in tag clouds [by @sgiehl, @tsteur]
  • #9422 Giving view access to a user does not work when using another case [by @tsteur]
  • #9419 MySQL 5.7+ SQLSTATE[HY000]: General error: 2006 MySQL server has gone away – caused by plugin Actions [by @tsteur, @mattab]
  • #9418 Minimum event value” metric is not displayed in the Actions>Events report [by @mattab]
  • #9407 Login may fail with un-helpful message “Form security error” when SSL is mis-configured
  • #9393 “greater than” or “less than” symbol are html encoded (“>”,”<”) not url encoded (“>”,”

New in Piwik 2.15.0 (Oct 21, 2015)

  • This release aims to be outstanding from a performance, security, and reliability point of view. It also includes a beautiful new design which lets you focus on your data, and a new search bar to lets you easily navigate to any menu, website or segment in your Piwik dashboards. For administrators and power users, this release includes new diagnostic tools, logging messages, a new Log viewer plugin, and better overall performance and scalability. There are dozens other improvements, see the full list below. Piwik 2.15.0 is built to last.
  • Major changes:
  • #5029 Make theme look great when used in Mobile browser
  • #1542 Implement “Content Security Policy” (CSP)
  • #1254 Format numbers displayed in Piwik reports (eg. 1,000,000 instead of 1000000)
  • #8826 Disable ‘Provider’ plugin by default for new Piwik users (tracker performance) [by @mattab, @diosmosis]
  • #8578 Make Piwik opt-out feature work on internet explorer 11 when third party cookies are disabled
  • #7589 New Piwik design when main menu is on the left [by @mattab]
  • #6497 On databases that have a default charset that is not utf-8, data can get corrupted [by @tsteur]
  • #8946 New Awesome Search bar in Piwik
  • #8893 Major progress in PHP7 Compatibility for Piwik
  • #8825 New Command ‘core:invalidate-report-data’ to invalidate archive data (w/ period cascading) [by @diosmosis, @mattab]
  • #8755 Display the “Segmented Visitor Log” icon in Custom Variables report
  • #8625 New diagnostic command ‘diagnostics:analyze-archive-table’ that analyzes archive tables [by @diosmosis, @tsteur]
  • #7883 Allow plugin developers to get their plugins translated by the piwik community [by @sgiehl]
  • #7239 Improved diagnostics: new LogViewer plugin in Marketplace!
  • #6031 Make it easier to create Segments with Custom Variables [by @diosmosis]
  • #4103 New segments: Download file URL ‘downloadUrl’ and Outlink URL ‘outlinkUrl’ [by @mattab]
  • #588 New website setting: Only track visits and actions when the action URL starts with one of the above URLs [by @diosmosis]
  • #8066 SQL query to find websites with traffic since last successful archiving can take 6+ hours [by @tsteur, @diosmosis]
  • #7913 In SQL queries, print out the name of the plugin in a SQL comment for troubleshooting which plugin triggered query
  • #7169 Use the “Left Menu” as default menu for all Piwik users
  • #2846 Two factor authentication login: new GoogleAuthenticator plugin on Marketplace!
  • #8864 Improve date selector usability [by @tsteur]
  • #8633 New command ‘database:optimize-archive-tables’ to optimize archive tables (even if on InnoDB). [by @diosmosis]
  • #8850 Archiving performance: cache the slow segment subqueries that are using LIKE constraint [by @mattab]
  • #7618 Update some of UI icons with new set of font icons [by @mnapoli, @diosmosis]
  • #6773 a multilingual Glossary using Piwik translations, available from your “Help” page and glossary.piwik.org [by @mattab]
  • #7588 New design for Administration Left menu
  • #8776 Row Evolution can fail when a segment is used
  • #8593 How do I enable debug logging in Piwik Tracker?
  • #7733 Chrome’s “Data Saver” mode prevents tracking of many visitors using Chrome browser
  • #6593 PageURL Segmentation fails on the ecommerce page [by @diosmosis]
  • #5094 When AdBlock Plus is used, suggest user to disable it for Piwik
  • Enhancements:
  • #8529 Do not merge assets when specific URL parameter &disable_merged_assets=1 is set [by @ThaDafinser, @tsteur, @mattab]
  • #8317 Refactor tracker code for clarity, modularity and so plugins can have more granular control over tracking [by @diosmosis, @mattab]
  • #8628 UsersManager add form inputs use placeholders instead of values [by @mnapoli, @diosmosis]
  • #8693 Prevent content spoofing: display error if the URL is not valid
  • #4615 remove extra line break and indentation in Admin UI [by @sgiehl]
  • #8858 invalidateArchivedReports API can invalidate report data for a particular ‘&segment=’
  • #8773 Mobile Messaging: new SMS provider to help developers debug (available in development mode) [by @sgiehl, @mattab]
  • #8752 In each SQL query, when a segment is used, print the segment string in a SQL comment
  • #8650 New method logAllContenBlocksOnPage to piwik.js that lets you debug which content blocks are on your page [by @diosmosis, @tsteur]
  • #8610 Case-insensitive login [by @mnapoli, @diosmosis]
  • #8607 Add option to set “process_new_segments_from” to “segment_last_edit_time” [by @diosmosis]
  • #8561 Make it possible to donate to plugin creators from within piwik [by @sgiehl, @mattab]
  • #8550 Display total number of actions across all websites [by @mnapoli, @mattab]
  • #8549 in Update settings, let user choose “Use the latest release” or “Use the Long Term Support release” [by @tsteur]
  • #8461 Email reports: print the full URL source / origin of report in the email body
  • #8296 During bulk tracking, return indices of invalid requests [by @diosmosis]
  • #7766 Emoji in titles or URLs cause tracking to fail [by @sgiehl]
  • #5960 Do not use eval function in piwik.js (for CSP)
  • #8899 Does Piwik support IPv6 protocol?
  • #8399 Performance regression: All dimensions are created on each request [by @tsteur, @diosmosis]
  • #7767 New FAQs to document how to use Redis for sessions and cache
  • #8545 Use improved tooltips for all tooltips in the visitor log [by @mnapoli, @tsteur]
  • #8488 Update icons [by @mnapoli, @diosmosis]
  • #7847 Piwik dashboard widgets are not aligned [by @tsteur]
  • #8945 Help text for Content tracking metrics and dimensions [by @mattab]
  • #8857 Improve number formats [by @sgiehl, @mattab]
  • #8856 Improve date & time formats [by @sgiehl, @mattab]
  • #8811 When saving plugin settings, disable the “Save” button to prevent double clicks [by @tsteur]
  • #8788 Set HTML values in all user menu and admin menu pages [by @mattab]
  • #8777 Better logging messages in core:archive output [by @mattab]
  • #8765 Replace all utf8 4-byte characters in tracked urls with � [by @sgiehl, @mattab]
  • #8712 Move website selector to a more prominent position
  • #8709 Show warning if tracker debug or debug on demand is enabled [by @tsteur, @diosmosis]
  • Tasks:
  • #8646 Open popup in a new window when setting opt-out cookies [by @diosmosis, @mattab]
  • #8140 visitor log+profile: show campaign details in same depth & format [by @tsteur]
  • #8924 Remove Majestic SEO metrics from SEO widget
  • #8897 Do not fail bulk tracking request if individual request has an incorrect request parameter. [by @diosmosis]
  • #8808 Use current Login auth plugin instead of hard-coded ‘Login’ on the error page [by @Joey3000]
  • #8784 deprecate API method ‘API.getLastDate’ [by @mattab]
  • #8682 Ignore Do Not Track setting for Gnome Epiphany browser.
  • #8662 Always take the minimum number of custom variables from all log tables instead of maximum [by @tsteur, @diosmosis]
  • #8627 Updates Device Detector to 3.4 [by @sgiehl]
  • #8524 New search engines detections [by @sgiehl]
  • #8517 Adds dribble to list of social networks [by @sgiehl, @tsteur]
  • #8202 Visitorlog: show always full url instead of “(url)”
  • #8193 Display permanent notification in admin screen for PHP 5.4 warning about EOL
  • #7903 When the connection to database fails, the API should return a valid response
  • #7902 When Piwik DB needs to be upgraded, the API should return a valid response
  • #8941 Re-add backwards compatibility for URLs using old UserSettings plugin. [by @diosmosis, @mattab]
  • #8738 Additional events in archiving lifecycle [by @andrzejewsky, @tsteur]
  • #8694 Fixing PhpUnit support for windows [by @ThaDafinser, @mattab, @tsteur]
  • #8680 display clear error message in tests if test or fixture has incorrect namespace [by @diosmosis]
  • #8666 Allow plugins to add query parameters to optout form [by @Zeichen32, @tsteur]
  • #8660 In CI plugin tests, print clear error if plugin is not compatible w/ test against Piwik version [by @diosmosis]
  • #8631 New event that allows plugins to archive 3rd party data
  • #8600 When archiving fails with a SQL exception, also output the plugin name in the exception message to help troubleshooting
  • #8598 Use monolog in tracker for logging [by @tsteur, @mnapoli]
  • #7837 Deprecate no longer needed / wanted events [by @tsteur]
  • Bug fixes:
  • #8986 Report metadata API does not sort reports by category correctly
  • #8962 SEO widget: Number of DMOZ entries is zero [by @sgiehl, @mattab]
  • #8919 Do not use less functions in gradient mixins to avoid lessphp failures [by @diosmosis, @mattab]
  • #8871 DB error: 1227 Access denied; you need (at least one of) the PROCESS privilege(s) for this operation [by @mattab]
  • #8866 UserCountryMap: Warning – Invalid argument supplied for foreach [by @sgiehl]
  • #8853 Field ‘location_browser_lang’ doesn’t have a default value In query [by @mattab]
  • #8848 Visitor map: country names with no visits are not translated [by @sgiehl]
  • #8843 Make sure segment value is decoded before sending in HTTP request through angular [by @diosmosis]
  • #8830 Add missing error control operator prefix ‘@’ before ini_set() [by @Joey3000, @tsteur]
  • #8812 Piwik can’t be installed on PHP7 due to the removal of $HTTP_RAW_POST_DATA
  • #8785 Website loading slowly due to Piwik slow reverse DNS query
  • #8740 Title for the widget disappearing after mouse out when Help is open [by @diosmosis]
  • #8735 unclear message when trying to access resource that requires being logged in [by @tsteur, @diosmosis]
  • #8734 Improve filesystem detection for NFS [by @nuxwin, @tsteur]
  • #8730 Web cron should not timeout [by @mattab]
  • #8726 Catch exceptions in ScheduledReports generation so reports will still generate if individual reports fail [by @diosmosis, @mattab]
  • #8722 Tracking outgoing links other than http or https is broken
  • #8707 core:archive infinite loop updating maxmind db [by @sgiehl, @diosmosis]
  • #8630 Campaign tracking via HTTP API does not seem to work [by @diosmosis]
  • #8624 The reporting menu should not use the module= query param in the URL to determine the active menu section [by @diosmosis]
  • #8621 Wrong “Time Elapsed” in core:archive output [by @tsteur]
  • #8597 Ecommerce Tracker may fail with “Integrity constraint violation: 1062 Duplicate entry”
  • #8589 Disable ONLY_FULL_GROUP_BY Mysql mode when creating connection [by @tsteur, @diosmosis]
  • #8580 Notice – Undefined property: Piwik\DataTable\Filter\ExcludeLowPopulation::$columnToFilter [by @mattab]
  • #8572 Custom date ranges are still being archived when –force-periods=day [by @diosmosis]
  • #8559 Improvements and fixes to the archive purging system [by @diosmosis]
  • #8553 curl_exec: Operation timed out after 119908 milliseconds with 4390672 out of 16210130 bytes received. Hostname requested was: builds.piwik.org [by @mattab]
  • #8525 System check diagnostic for “Filesystem” may detect wrong filesystem used [by @mattab]
  • #8509 when using LDAP authentication, tracking api fails to verify token_auth [by @diosmosis]
  • #8484 Segment for page url results in problems with popups with defail-infos
  • #8468 Ajax angular HTTP request are not aborted as expected [by @tsteur]
  • #8413 JS: Uncaught URIError: URI malformed with Chrome/IE11 and ISO 8859-1 Encoding [by @tsteur]
  • #8366 Double escaping in the update error message [by @tsteur]
  • #8323 Custom dashboards and visitor segments: The segment %s is not valid
  • #8216 Single quote/apostrophe in segment value replaced with closing parenthesis on save [by @sgiehl, @diosmosis]
  • #8176 icon missing on expandable rows in report Goals > Goals by Referrers > Campaigns
  • #8099 curl_exec: Operation timed out after 10000 milliseconds [by @mattab]
  • #7983 Row Evolution at Referrer Reports shows 0 visitors on subdatatables [by @tsteur]
  • #7948 Graphs break up in scheduled email reports [by @mattab]
  • #7928 Dashboard fails to load in Firefox with ‘Adblock Plus’ extension
  • #7926 Step “Create tables” of new installation appears untranslated [by @PatchRanger, @tsteur]
  • #7836 Manage Goals shows “Create a new goal” when not having enough permission [by @diosmosis]
  • #7700 SitesManager.getPatternMatchSites returns limited set of sites [by @tsteur, @diosmosis]
  • #7692 Website selector: searching for special strings will show html code [by @tsteur]
  • #7084 Visit Frequency and Visit Overview Widget shows cursor:pointer on hover although nothing happens when clicking [by @sgiehl]
  • #6734 After maximising widget, the widget footer cannot be expanded [by @sgiehl]
  • #8717 Document upgrade/installation procedures for Git checkouts (with composer.phar install –no-dev and git submodule update –init –recursive)
  • Translations and i18n:
  • #8957 [automatic translation update] Updated 100 strings in 47 languages (ar, be, bg, bs, ca, cs, da, de, el, es, et, eu, fa, fi, fr, gl, he, hi, hr, hu, id, it, ja, ko, lt, lv, nb, nl, nn, pl, pt-br, pt, ro, ru, sk, sl, sq, sr, sv, ta, th, tl, tr, uk, vi, zh-cn, zh-tw) [by @sgiehl]
  • #8922 [automatic translation update] Updated 131 strings in 37 languages (be, bg, bs, ca, cs, da, de, el, es, fa, fi, fr, hi, hr, hu, id, it, ja, ko, lv, nb, nl, nn, pl, pt-br, pt, ro, ru, sk, sl, sq, sr, sv, th, tl, vi, zh-cn) [by @sgiehl]
  • #8875 [automatic translation update] Updated 349 strings in 5 languages (gl, vi, sq, de, it) [by @sgiehl]
  • #8840 [automatic translation update] Updated 101 strings in 4 languages (cs, es, nl, it) [by @sgiehl]
  • #8803 [automatic translation update] Updated 175 strings in 39 languages (sv, id, it, be, bg, ca, cs, da, de, el, es, et, fa, fi, fr, he, hi, hr, hu, ja, ko, lt, lv, nb, nl, pl, pt, ro, ru, sk, sl, sq, sr, ta, th, tl, tr, uk, vi) [by @sgiehl]
  • #8739 [automatic translation update] Updated 221 strings in 8 languages (lt, cs, sr, de, fr, hi, nl, pt) [by @sgiehl]
  • #8702 [automatic translation update] Updated 242 strings in 17 languages (hi, it, de, el, cs, da, es, fi, fr, ja, nl, ro, ru, sr, sv, ta, nb) [by @sgiehl]
  • #8668 Remove translators email adresses from translation files [by @sgiehl, @mattab]
  • #8602 [automatic translation update] Updated 96 strings in 5 languages (ta, fa, fr, it, pt) [by @sgiehl]
  • #8516 [automatic translation update] Updated 235 strings in 11 languages (pt, cs, hi, nb, sl, it, ja, de, el, fr, lt) [by @sgiehl]

New in Piwik 2.14.3 (Aug 6, 2015)

  • Fixed issues:
  • #8439 Install of 2.14.2 blocked by permissions check on piwik/config path [by @mnapoli]
  • #8431 Overlay improvements [by @sgiehl, @tsteur]
  • #8352 In Page Overlay sidebar, add icon to let me “Open segmented visitor log” [by @sgiehl]
  • #8403 Improve design of Trusted Piwik Hostname setting [by @barbushin, @tsteur]
  • #7835 Rename “Widgets & Dashboard” selector or change the selector [by @tsteur]
  • #8293 Piwik errors logged in server error log should not have HTML [by @mnapoli]
  • #8252 New config entry to set email name in email FROM field [by @tsteur]
  • #8472 Fix bug in notification angular directive, do not use data-binding for noclear attribute… [by @diosmosis]
  • #8285 UserCountryMap plugin shows wrong options in countries select [by @mnapoli]
  • #8432 [automatic translation update] Updated 195 strings in 32 languages (sk, ar, de, ja, nl, nb, sv, be, bg, ca, cs, da, el, es, fa, fi, fr, hi, hu, id, it, ko, pl, pt, ro, ru, sq, sr, th, tl, uk, vi) [by @sgiehl]
  • #8474 [automatic translation update] Updated 254 strings in 37 languages (gl, nb, cs, it, sk, de, el, fr, lt, ar, bg, ca, da, es, et, fa, fi, he, hi, hr, id, ja, ko, nl, nn, pl, ro, ru, sl, sq, sr, sv, ta, th, tl, tr, vi) [by @sgiehl]

New in Piwik 2.14.1 (Jul 17, 2015)

  • Fixed issues:
  • #8331 Do not perform an inner join when looking for archives to purge, it does not scale. [by @diosmosis, @mattab]
  • #7181 Report archives have tripled in size since update to 2.10 [by @diosmosis]
  • #8321 Embedding widgets with token_auth does not work anymore [by @sgiehl, @diosmosis, @mattab]
  • #8324 API: make parameter filter_excludelowpop_value work in all cases [by @mattab, @diosmosis]
  • #8312 Web cron archive.php is not working in some cases [by @mattab]
  • #8311 misc/others/api_internal_call.php is broken [by @diosmosis, @mattab]
  • #8289 Apache Error 500 in case of Detected browser engine was not found in $availableEngines [by @sgiehl]
  • #8272 Do not use INI [proxy] settings when connecting to localhost or 127.0.0.1 [by @mattab]
  • #8257 Site Search report does not display tooltips with metrics documentation [by @barbushin, @mattab]
  • #8245 Mobile Messaging shows error message when changing setting
  • #8244 Adding/Editing a new goal doesn’t update its “state” and some UI issues
  • #8243 Visitor map NaN error in browser console
  • #7969 Quotes in goal names are over-escaped [by @diosmosis, @mattab]
  • #7768 Browser info tooltip doesnt hide [by @barbushin, @mattab]
  • #7382 Cannot click links in visitor-log-lightbox [by @barbushin, @mattab]
  • #8305 Make Auto update buttons bigger
  • #8350 Update to Kartograph 0.8.2 [by @barbushin, @mattab]
  • #8343 Adding PRIVACY.md file to document various ways to improve Privacy for visitors and Piwik admins [by @mattab, @diosmosis]
  • #8303 missing translation General_Next in javascript of SitesManager [by @parruc, @mattab]
  • #8283 Update to Kartograph 0.8.2 [by @barbushin, @mattab]
  • #8248 Fixes duplication `onchange` event for `radio` elements [by @barbushin, @mattab]
  • #8229 Add OptOutManager [by @Zeichen32, @mattab]
  • #8220 Document the possible issue with data not being tracked and SSL certificates / net::ERR_INSECURE_RESPONSE
  • #8208 Use translated plugin description if available [by @sgiehl, @mattab]
  • #8188 Allow to test all API endpoints using SystemTestCase::runApiTests [by @mattab]
  • #7698 Improve logging for “unexpected website” [by @mattab]
  • #8334 [automatic translation update] Updated 306 strings in 16 languages (sk, de, es, nb, sv, sl, el, fr, it, bg, cs, ko, nl, nn, pt, sq) [by @sgiehl]

New in Piwik 2.14.0 (Jun 24, 2015)

  • Breaking Changes:
  • The UserSettings API has been removed. The API was deprecated in earlier versions. Use DevicesDetection, Resolution and DevicePlugins API instead.
  • Many translations have been moved to the new Intl plugin. Most of them will still work, but please update their usage. See https://github.com/piwik/piwik/pull/8101 for a full list
  • New features:
  • The JavaScript Tracker does now track outlinks and downloads if a user opens the context menu if the enabled parameter of the enableLinkTracking() method is set to true. To use this new feature use tracker.enableLinkTracking(true) or _paq.push(['enableLinkTracking', true]);. This is not industry standard and is vulnerable to false positives since not every user will select "Open in a new tab" when the context menu is shown. Most users will do though and it will lead to more accurate results in most cases.
  • Library updates:
  • Updated pChart library from 2.1.3 to 2.1.4. The files were moved from the directory libs/pChart2.1.3 to libs/pChart
  • Internal change:
  • To execute UI tests "ImageMagick" is now required.

New in Piwik 2.13.1 (May 7, 2015)

  • Addresses a few small bugs that were reported by the community. This release also includes a Tracking API performance improvements as well as other minor improvements listed below.
  • Bug fixes:
  • #7818 Regression: MultiSites.getAll does not handle showColumns correct [by @diosmosis]
  • #7795 Report date to load by default doesn’t work [by @mnapoli]
  • #7839 $userPreferences->getDefaultReport() gives Empty String when not set. [by @tsteur]
  • #7829 Goal url parameter is wrong when generating the image tracking code [by @tsteur]
  • #7806 All websites dashboard lists website names double encoded [by @tsteur, @diosmosis]
  • #7802 Can’t add new site after update to 2.13.0 [by @diosmosis, @tsteur]
  • Improvements:
  • #7779 Tracker performance: Faster visitor recognition [by @tsteur]
  • #7708 When profiling the performance via Xhprof, output whether development mode is enabled [by @diosmosis, @mattab]
  • #7092 Improve look when there is no data for a report [by @saleemkce, @tsteur]
  • #7595 Do not return BulkTracking response in QueuedTracking plugin [by @tsteur]
  • #7474 Wrong tooltip for Live visitors button
  • Log Analytics:
  • #71 Improve ability to debug w/ various added diagnostic & debug messages/improvements. [by @diosmosis]
  • #69 Log Analytics: added ibooks as file downloads [by @RMastop, @mattab]

New in Piwik 2.13.0 (Apr 27, 2015)

  • Deprecations:
  • The method Piwik\Archive::getBlob() has been deprecated and will be removed from June 1st 2015. Use one of the methods getDataTable*() methods instead.
  • The API parameter countVisitorsToFetch of the API method Live.getLastVisitsDetails has been deprecated as filter_offset and filter_limit work correctly now.
  • Breaking Changes:
  • The API method Live.getLastVisitsDetails does no longer support the API parameter filter_sort_column to prevent possible memory issues when filter_offset is large.
  • The Event Site.setSite was removed as it causes performance problems.
  • New commands:
  • There is now a diagnostic:run command to run the system check from the command line.
  • There is now an option --xhprof that can be used with any command to profile that command via XHProf.
  • APIs Improvements:
  • Visitor details now additionally contain: deviceTypeIcon, deviceBrand and deviceModel
  • In 2.6.0 we added the possibility to use filter_limit and filter_offset if an API returns an indexed array. This was not working in all cases and is fixed now.
  • The API parameter filter_pattern and filter_offset[] can now be used if an API returns an indexed array.
  • Internal changes:
  • The referrer spam filter has moved from the referrer_urls_spam INI option (in global.ini.php) to a separate package

New in Piwik 2.12.0 (Mar 23, 2015)

  • Breaking Changes:
  • The deprecated method Period::factory() has been removed. Use Period\Factory instead.
  • The deprecated method Config::getConfigSuperUserForBackwardCompatibility() has been removed.
  • The deprecated methods MenuAdmin::addEntry() and MenuAdmin::removeEntry() have been removed. Use Piwik\Plugin\Menu instead.
  • The deprecated methods MenuTop::addEntry() and MenuTop::removeEntry() have been removed. Use Piwik\Plugin\Menu instead.
  • The deprecated method SettingsPiwik::rewriteTmpPathWithInstanceId() has been removed.
  • The following deprecated methods from the Piwik\IP class have been removed, use Piwik\Network\IP instead
  • Deprecations:
  • API classes should no longer have a protected constructor. Classes with a protected constructor will generate a notice in the logs and should expose a public constructor instead.
  • Update classes should not declare static getSql() and update() methods anymore. It is still supported to use those, but developers should instead override the Updates::getMigrationQueries() and Updates::doUpdate() instance methods.
  • New features:
  • API classes can now use dependency injection in their constructor to inject other instances.
  • New commands:
  • There is now a command core:purge-old-archive-data that can be used to manually purge temporary, error-ed and invalidated archives from one or more archive tables.
  • There is now a command usercountry:attribute that can be used to re-attribute geolocated location data to existing visits and conversions. If you have visits that were tracked before setting up GeoIP, you can use this command to add location data to them.

New in Piwik 2.11.1 (Feb 23, 2015)

  • #7195 Mysql process list is clogged with very inefficient updates on the archive blob tables [by @mattab]
  • #7247 error in statistics graph, avg_time = 2 [by @diosmosis]
  • #7243 Adding segment name in Scheduled email report title [by @ArnY, @mattab]
  • #7104 Make widgets load faster on Piwik dashboard, and sparklines load faster on All Websites [by @ThaDafinser, @tsteur, @mattab]
  • #7226 Move language report to location reports [by @sgiehl]
  • #7216 Adding Toppreise.ch as search engine [by @sgiehl, @tsteur]
  • #7121 Allow usernames with 2 letters [by @mattab]
  • #6635 Move phpunit.xml.dist to phpunit.xml in PHPUnit bootstrap or when executing tests [by @tsteur]
  • #7251 JavaScript Tracking Code: when a checkbox is clicked, make it clear the JS code was updated [by @mattab]
  • #7261 Date Range Selector partially hidden in Dashboard
  • #7258 DevicesDetection: Warning – array_key_exists() [by @sgiehl]
  • #7250 The parameter ‘period’ isn’t set in the Request, and a default value wasn’t provided. when clicking on API link in menu [by @tsteur]
  • #7193 When loading URL and not logged in, this should load the login form [by @tsteur]
  • #7187 Forced French translation even with English setting [by @tsteur]
  • #7185 System check not verifying permissions for LOAD DATA INFILE [by @mattab]
  • #7244 Correctly process unique visitors across websites in MetaSite [by @mattab]

New in Piwik 2.11.0 (Feb 18, 2015)

  • Breaking Changes:
  • The event User.getLanguage has been removed.
  • The following deprecated event has been removed: TaskScheduler.getScheduledTasks
  • Special handling for operating system Windows has been removed. Like other operating systems all versions will now only be reported as Windows with versions like XP, 7, 8, etc.
  • Reporting for operating systems has been adjusted to report information according to browser information. Visitor details now contain: operatingSystemName, operatingSystemIcon, operatingSystemCode and operatingSystemVersion
  • Deprecations:
  • The Piwik\Translate class has been deprecated in favor of Piwik\Translation\Translator.
  • The core:plugin console has been deprecated in favor of the new plugin:list, plugin:activate and plugin:deactivate commands
  • The API method UserSettings.getLanguage is deprecated and will be removed from May 1st 2015. Use UserLanguage.getLanguage instead
  • The API method UserSettings.getLanguageCode is deprecated and will be removed from May 1st 2015. Use UserLanguage.getLanguageCode instead
  • The following methods have been deprecated in favor of the new Piwik\Intl component:
  • Piwik\Common::getContinentsList(): use RegionDataProvider::getContinentList() instead
  • Piwik\Common::getCountriesList(): use RegionDataProvider::getCountryList() instead
  • Piwik\Common::getLanguagesList(): use LanguageDataProvider::getLanguageList() instead
  • Piwik\Common::getLanguageToCountryList(): use LanguageDataProvider::getLanguageToCountryList() instead
  • Piwik\Metrics\Formatter::getCurrencyList(): use CurrencyDataProvider::getCurrencyList() instead
  • The following classes have been deprecated:
  • Piwik\TaskScheduler: use Piwik\Scheduler\Scheduler instead
  • Piwik\ScheduledTask: use Piwik\Scheduler\Task instead
  • The Piwik\Registry class has been deprecated in favor of using the container:
  • Registry::get('auth') should be replaced with StaticContainer::get('Piwik\Auth')
  • Registry::set('auth', $auth) should be replaced with StaticContainer::getContainer()->set('Piwik\Auth', $auth)
  • New features:
  • You can now generate UI / screenshot tests using the command generate:test
  • During UI tests we do now add a CSS class to the HTML element called uiTest. This allows you do hide content when screenshots are captured.
  • New commands:
  • A new command (core:fix-duplicate-log-actions) has been added which can be used to remove duplicate actions and correct references to them in other tables. Duplicates were caused by this bug: https://github.com/piwik/piwik/issues/6436
  • Library updates:
  • Updated AngularJS from 1.2.26 to 1.2.28
  • Updated piwik/device-detector from 2.8 to 3.0
  • Internal change:
  • UI specs were moved from tests/PHPUnit/UI to tests/UI. We also moved the UI specs directly into the Piwik repository meaning the piwik-ui-tests repository contains only the expected screenshots from now on.
  • There is a new command development:sync-system-test-processed for core developers that allows you to copy processed test results from travis to your local dev environment.

New in Piwik 2.11.0 RC (Feb 16, 2015)

  • Closed tickets:
  • #7220 piwik.js double encodes the url and referrer when they are detected automatically [by @tsteur]
  • #7218 Segmentation for url-encoded page urls does not work [by @tsteur]
  • #7206 Add new segment Operating System Version
  • #7197 Browser versions in “Visitors in realtime” | Enhancement [by @sgiehl]
  • #7189 Site Searches metric should include duplicate site searches requests [by @mattab]
  • #7188 Visual: Custom Alert overlap
  • #7184 add a plugin description to all core plugins [by @mattab]
  • #7179 issues updating from 2.8.3 using Composer
  • #7168 include_aggregate_rows export issue [by @mnapoli]
  • #7167 When User ID is used, set the first party cookie UUID to this User ID [by @jantlwoomy, @mattab]
  • #7162 Some performance improvements for the all websites dashboard [by @tsteur, @mattab]
  • #7157 Email reports not working when email SMTP server host contains a space [by @mattab]
  • #7153 The SEO widget should be displayed even if when a http service calls fail [by @mattab, @mnapoli]
  • #7151 Add option to map API tracking parameter to custom variable in log importer script. [by @diosmosis, @mattab]
  • #7148 [automatic translation update] Updated 9314 strings in 50 languages (cs, da, el, am, ar, be, bg, bn, bs, ca, cy, de, es, et, eu, fa, fi, fr, gl, he, hi, hr, hu, id, is, it, ja, ka, ko, lt, lv, nb, nl, nn, pl, pt, ro, ru, sk, sl, sq, sr, sv, ta, te, th, tl, tr, uk, vi) [by @sgiehl]
  • #7146 Allow Plugins to register parameters to exclude from the tracking URL [by @peterbo, @mattab]
  • #7141 added extensions svgz and otf to the STATIC_EXTENSIONS set [by @ledahulevogyre, @mattab]
  • #7129 Date Picker: Year is not fully visible in Chrome [by @tsteur]
  • #7127 Move UI specs into Piwik repository and run UI tests in Piwik repo [by @tsteur]
  • #7124 Removed Piwik\Registry and replaced its usage with the container [by @mnapoli, @mattab]
  • #7123 Add a class uiTest to the html element in all uiTests. [by @tsteur]
  • #7119 Various performance improvements, especially for Range period and installations with many sites [by @tsteur, @mattab]
  • #7118 Monolog plugin [by @mnapoli]
  • #7117 Plugins can provide their own config files [by @mnapoli, @mattab]
  • #7112 Refactor new action insertion code so duplicate actions will not exist + provide means to fix duplicates [by @diosmosis, @mattab]
  • #7111 add Asian search engines [by @sgiehl]
  • #7109 New label for issues: ‘c: New plugin’
  • #7108 Cannot upload BIG Bustom Logo [by @tsteur]
  • #7107 Provide a way to specify an alternate whois provider – SEO plugin [by @mnapoli]
  • #7103 whois.com rate limit [by @tsteur]
  • #7102 Improve Login Screen Layout – input width. [by @patagonic, @mnapoli]
  • #7099 Update FAQ ‘how do I enable logging (and / or SQL profiling) in Piwik?’
  • #7094 When development mode is enabled, add a new language that shows raw translation id [by @mnapoli]
  • #7083 Bad transport method used in certain restricted environments. [by @tsteur]
  • #7079 As a user I want to configure purging of processed custom ranges
  • #7075 Content type application/json breaks JSONP [by @tsteur]
  • #7074 Improve Login Screen Layout [by @patagonic, @tsteur]
  • #7073 Problem with password recovery functionality when Piwik has no sites defined [by @tsteur]
  • #7069 email reports: cannot edit anymore if a address-list contains empty line [by @tsteur]
  • #7068 Changes for usage of DeviceDetector 3.0 [by @sgiehl, @tsteur]
  • #7064 Some Admin/User menu items cannot be clicked when item is active [by @tsteur]
  • #7057 Bug on ranges using “last” and “previous” [by @mnapoli]
  • #7056 E-commerce bug: orders from registered users creates a new visit [by @tsteur]
  • #7045 Add parameter –title-category-delimiter to log importer [by @BeezyT]
  • #7043 Issue with setUserId – setting to null creates error in Url building when tracking [by @tsteur]
  • #7041 added possibibility to add more metrics to actions plugin [by @tsteur]
  • #7040 Refactored Twig templates using a single base layout [by @mnapoli, @tsteur]
  • #7038 Improved accessibility with off-screen text added on the menu [by @munro98, @mattab]
  • #7037 Piwik Installation now fits with the current piwik style [by @TheCrowsJoker, @mattab]
  • #7036 Login broken if accessing through “untrusted host” [by @mnapoli]
  • #7035 See the focus of menu items when tabbing through the page (accessibility) [by @TheCrowsJoker, @mattab]
  • #7034 Referrers Overview, distinct metrics sparklines are always set to one [by @diosmosis]
  • #7031 Slow report website and dashboard in Piwik 2.10.0 [by @tsteur]
  • #7028 broken jquery path in geoipUpdateRows.php [by @sgiehl]
  • #7026 when main Menu is focused, display submenu [by @TheCrowsJoker, @mattab]
  • #7025 Add “Skip to content” feature when user presses tab key (accessibility) [by @flodrwho, @mattab]
  • #7024 Tweaks to improve accessibility (section around graph, better tooltip, set language in html) [by @itscutekk, @mattab]
  • #7022 Improved accessibility by putting offscreen text in the widget title [by @munro98, @mattab]
  • #7021 Moved language reports to their own new plugin UserLanguage [by @sgiehl]
  • #7019 Browser Widget Title not Found [by @sgiehl]
  • #7017 Infinite loop when using the DatabaseHandler logger with DEBUG level [by @mnapoli]
  • #7015 Added h3 tags to widget headers (accessibility) [by @TheCrowsJoker, @mattab]
  • #7012 Improved Email reports to look more consistent with the Piwik UI [by @munro98, @mattab]
  • #7011 Changed colours for better accessibility for people with sight difficulties [by @flodrwho]
  • #7002 Reuse the LESS variable for white color across all stylesheets [by @TheCrowsJoker, @mattab, @sgiehl]
  • #7001 Accessibility: reporting menu titles should read “Visitor menu” instead of “Visitor” [by @mattab]
  • #7000 Accessibility: the reporting menu should open on focus as well as hover
  • #6999 add link to changelog in email notification if update is a stable update [by @tsteur, @mattab]
  • #6997 Accessibility: Focused menu items should be highlighted
  • #6989 New User menu now similar to admin menu [by @tsteur]
  • #6988 Make email reports more beautiful [by @mattab]
  • #6982 When the BulkTracking plugin is disabled, bulk imports succeed, but no data is imported [by @diosmosis]
  • #6981 Moved scheduled tasks classes to Scheduler component [by @mnapoli, @mattab]
  • #6980 Array to string conversion in /var/www/piwik/libs/Zend/Session/Exception.php on line 58 [by @mnapoli, @flodrwho]
  • #6979 Key “plugins” for array with keys does not exist in “@Live/getLastVisitsStart.twig” at line 12 [by @sgiehl]
  • #6978 Empty output for archiving using the web cron [by @mnapoli]
  • #6969 [automatic translation update] Updated 90 strings in 50 languages (nb, de, it, ar, be, bg, bn, bs, ca, cs, cy, da, el, es, et, eu, fa, fi, fr, gl, he, hi, hr, hu, id, is, ja, ka, ko, lt, lv, nl, nn, pl, pt, ro, ru, sk, sl, sq, sr, sv, ta, te, th, tl, tr, uk, vi, am) [by @sgiehl]
  • #6968 import_logs.py and IIS/w3c date format [by @diosmosis, @flodrwho]
  • #6961 Currently selected Segment should be displayed in bold
  • #6960 Date to load by default does not always work (regression) [by @tsteur]
  • #6959 Segmentation by User ID
  • #6958 Segment dropdown enhancements [by @Irrational86, @mattab]
  • #6957 Change the layout of the engagement page [by @tsteur, @mattab]
  • #6955 .git/ files should not be part of integrity check
  • #6950 All Websites Dashboard: Add new website link is broken [by @tsteur]
  • #6949 Clicking on Evolution graph leads to “The parameter ‘idGoal’ isn’t set in the Request,” [by @sgiehl]
  • #6947 Move UI tests into the Piwik repository, the screenshot testing lib into another repository [by @tsteur]
  • #6945 Splitted referrers overview into “Overview” and “All Referrers” [by @tsteur, @mattab]
  • #6944 Better goals management [by @tsteur, @mattab]
  • #6942 Make Travis CI build status render faster by logging less output during builds [by @mattab]
  • #6940 Allow plugins to test against minimum required Piwik version in travis build. [by @diosmosis]
  • #6939 New Piwik Ini component [by @mnapoli, @mattab]
  • #6938 Document .travis.yml system’s available environment variables
  • #6937 Add Administrator link to top menu [by @tsteur]
  • #6935 Move “Anonymous user settings” into a separate page and menu item [by @tsteur]
  • #6928 Visitor log may be displayed with many columns [by @sgiehl]
  • #6927 concurrency problem w/ plugin activation [by @diosmosis, @mnapoli]
  • #6926 Error message: array combine: Both parameters should have at least 1 element [by @mnapoli]
  • #6925 SEO Rankings Widget – Bad display format for Domain age [by @sgiehl]
  • #6924 Warning – array_merge(): Argument #2 is not an array [by @mnapoli]
  • #6923 Visits Over Time Graph – Bounce rate percentage mis-calculated [by @diosmosis]
  • #6919 log-analytics & import_logs.py, hosts parameter failing [by @diosmosis]
  • #6918 Click tracker piwik.php?redirect=[params] was not working [by @mnapoli]
  • #6916 Pre-merge Code Reviews [by @mattab]
  • #6915 Rename plugin management commands [by @mnapoli]
  • #6912 Data files: removed usage of $GLOBALS and manual inclusions [by @mnapoli, @mattab]
  • #6910 Faster bootstrap for PHPUnit tests [by @mnapoli, @mattab]
  • #6909 Refactoring translation handling into a Translation component [by @mnapoli, @mattab]
  • #6852 Return HTTP Status 500 for PHP errors and fatal errors
  • #6814 include server time (as timestamp) in visitor actions (visitor live API) [by @FelixSchwarz, @mattab]
  • #6811 Error in widgets when date range before website added. [by @tsteur, @mattab]
  • #6790 Error: specify a value for ‘reportUniqueId’ when exporting Insights reports [by @tsteur]
  • #6753 Activate all CronArchive system tests [by @tsteur, @mattab]
  • #6705 Scheduled reports: do not show “Users” metric when value is zero [by @tsteur]
  • #6700 Minimization of a ”Visitor log” widget will collapse a display. [by @sgiehl]
  • #6604 Ixquick not listed as search engine [by @sgiehl]
  • #6542 Automatically refresh every week the last CI build for each of our repository
  • #6490 Add a search field in Visitor settings Browsers [by @sgiehl]
  • #6436 duplicate entries in piwik_log_action leading to pages not visible in segments [by @diosmosis]
  • #6217 Force new visit after midnight [by @tsteur]
  • #6194 Wrong dates returned when part of the date parameter is ‘today’ [by @tsteur, @mattab]
  • #6060 Improve performance by caching all translations in a flat array
  • #6022 No options for goal management on the Goal page [by @tsteur]
  • #5904 When editing a SMS report, hide the row “(optional) Display options” [by @mattab, @tsteur]
  • #5248 Log Analytics: Monitor Bandwidth for each page, download, and measure overall traffic in bytes [by @tsteur, @diosmosis]
  • #5233 CustomEvent in Visitor Profil: Prevent linebreak after event symbol [by @tsteur]
  • #5209 Display + and – icons in Campaign report [by @diosmosis]
  • #4917 Introduce Dependency Injection [by @sabl0r]
  • #4733 Release a Android SDK for Piwik – Mobile App Analytics
  • #4633 New icon in all reports: let me segment by visitors matching this row’s criteria [by @tsteur]
  • #4456 Review guides at developer.piwik.org for official launch

New in Piwik 2.10.0 (Dec 23, 2014)

  • BREAKING CHANGES:
  • API responses containing visitor information will now longer contain the fields screenType and screenTypeIcon as those reports have been completely removed
  • os, browser and browser plugin icons are now located in the DevicesDetection and DevicePlugins plugin. If you are not using the Reporting or Metadata API to get the icon locations please update your paths.
  • The deprecated method Piwik\SettingsPiwik::rewriteTmpPathWithHostname() has been removed.
  • The event Log.getAvailableWriters has been removed: to add custom log backends, you now need to configure Monolog handlers
  • The INI options log_only_when_cli and log_only_when_debug_parameter have been removed
  • The following events have been removed:
  • Log.formatFileMessage
  • Log.formatDatabaseMessage
  • Log.formatScreenMessage
  • These events where very specific events for an internal need (logging exceptions) and have been replaced by a more extensible solution.
  • LIBRARY UPDATES:
  • We added the symfony/var-dumper library allowing you to better print any arbitrary PHP variable via dump($var1, $var2, ...).
  • The tracker proxy (previously in miscproxy-hide-piwik-url/) has been moved to a separate repository: https://github.com/piwik/tracker-proxy.
  • DEPRECATIONS:
  • Some duplicate reports from UserSettings plugin have been removed. Widget URLs for those reports will still work till May 1st 2015. Please update those to the new reports of DevicesDetection plugin.
  • The API method UserSettings.getBrowserVersion is deprecated and will be removed from May 1st 2015. Use DevicesDetection.getBrowserVersions instead
  • The API method UserSettings.getBrowser is deprecated and will be removed from May 1st 2015. Use DevicesDetection.getBrowsers instead
  • The API method UserSettings.getOSFamily is deprecated and will be removed from May 1st 2015. Use DevicesDetection.getOsFamilies instead
  • The API method UserSettings.getOS is deprecated and will be removed from May 1st 2015. Use DevicesDetection.getOsVersions instead
  • The API method UserSettings.getMobileVsDesktop is deprecated and will be removed from May 1st 2015. Use DevicesDetection.getType instead
  • The API method UserSettings.getBrowserType is deprecated and will be removed from May 1st 2015. Use DevicesDetection.getBrowserEngines instead
  • The API method UserSettings.getResolution is deprecated and will be removed from May 1st 2015. Use Resolution.getResolution instead
  • The API method UserSettings.getConfiguration is deprecated and will be removed from May 1st 2015. Use Resolution.getConfiguration instead
  • The API method UserSettings.getPlugin is deprecated and will be removed from May 1st 2015. Use DevicePlugins.getPlugin instead
  • The API method UserSettings.getWideScreen has been removed. Use UserSettings.getScreenType instead.
  • Piwik\SettingsPiwik::rewriteTmpPathWithInstanceId() has been deprecated. Instead of hardcoding the tmp/ path everywhere in the codebase and then calling rewriteTmpPathWithInstanceId(), developers should get the path.tmp configuration value from the DI container (e.g. StaticContainer::getContainer()->get('path.tmp')).
  • The method Piwik\Log::setLogLevel() has been deprecated
  • The method Piwik\Log::getLogLevel() has been deprecated

New in Piwik 2.8.3 (Nov 6, 2014)

  • 2 tickets closed:
  • #6068 Ecommerce orders with double quotes in product name or category name are not tracked
  • #6499 ‘superUserWasSet’ as username

New in Piwik 2.8.0 (Oct 14, 2014)

  • #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]

New in Piwik 2.7.0 (Sep 24, 2014)

  • #3490 User ID feature: Accurate User detection across devices [by @mattab, @tsteur]
  • #6162 New metric ‘nb_users’ counting the number of Active Unique Users (the count of distinct User IDs set) [by @mattab]
  • #6082 Cross websites reporting: Let me see the number of users who browsed two websites (new InterSites Piwik plugin!)
  • #5976 Make it easier to discover and access reports footer options and icons [by @diosmosis]
  • #6201 Content Tracking [by @tsteur]
  • #5355 Show [+] icon in the reports rows when the row can be expanded [by @diosmosis]
  • #6078 Event reporting: new report to view the second dimension as columns (Pivot by second dimension) [by @diosmosis, @mattab]
  • #6097 Browser language reporting: Let me see the different language codes [by @vox3r, @mattab]
  • #6132 Allow opt-out to be shown within an iframe on other domains [by @Guite, @mattab]
  • #5923 As a Piwik admin, I want to disable ability for users to create segments for “All Websites” [by @diosmosis]
  • #5932 invalidateArchivedReports should not delete the data but invalidate it until re-processed [by @mattab]
  • #5933 New $period parameter to the API call CoreAdminHome.invalidateArchivedReports [by @mattab]
  • #6231 Log Analytics: new parameter –download-extensions to override list of files tracked as downloads [by @postalservice14, @mattab]
  • #5972 Wrong default date when adding annotations [by @tsteur]
  • #4302 Setup Coveralls for Piwik Code coverage report [by @sgiehl]
  • #6275 Display a warning in admin to super users in case PHP 5.3 is used [by @tsteur, @mattab]
  • #344 Changed JavaScript Tracking Code generation to use “//” [by @Irrational86, @mattab]
  • #6174 Add ‘Disable all cookies’ checkbox in the JavaScript Tracking code generator [by @sgiehl]
  • #6034 Add an icon next to “Segments” box [by @diosmosis]
  • #6056 display permanent notification to Super Users in admin screen for PHP 5.3 warning about EOL [by @tsteur, @mattab]
  • #6243 Adding new PivotByDimension DataTable filter that can pivot a report by (almost) any dimension. [by @diosmosis, @mattab]
  • #6079 Archiver: allow to process unique visitors across multiple websites [by @diosmosis]
  • #6109 Tracker API: cid parameter no longer requires token_auth [by @mattab]
  • #6116 Allow invalidated archive data to be used until they are re-processed [by @mkurzeja, @mattab]
  • #6120 Log analytics : import_logs.py doesn’t work any more
  • #6124 insight select options: all option not working after you switch to another option [by @tsteur]
  • #6128 problem with opt-out-iframe: when calling forwarded to log-in-screen with “idSite= is missing” [by @diosmosis]
  • #6131 Log Analytics Update README add regex example for syslog format [by @ahattouti-canaltp, @halfdan]
  • #6134 Upgrade from 2.5.0 to 2.6.1. breaks [by @diosmosis]
  • #6137 PHP Arrays not Serialized by Default [by @claytondaley, @MichielDeMey, @mattab]
  • #6140 Make it easier to define URLs for Menu and remove an unnessary parameter [by @tsteur]
  • #6141 Menu Plugin API improvements [by @tsteur]
  • #6145 Generate plugin should no longer ask whether it should also create an API and a controller [by @tsteur]
  • #6149 When generating a plugin we should require at least the developer’s Piwik version [by @tsteur]
  • #6153 Menu: If development mode is enabled we should check whether action exists [by @tsteur]
  • #6155 Php serializer was not serializing arrays by default. [by @claytondaley, @mattab]
  • #6169 User ID implementation [by @mattab]
  • #6175 Deprecate new_visit_api_requires_admin config setting [by @mattab]
  • #6178 Bug: on hover of table rows incorrect jquery selector will result in size of value spans being same as largest label [by @diosmosis]
  • #6185 Clean up arobases [by @kylekatarnls]
  • #6190 fixes #6174 – added possibility to add ‘disableCookies’ option in trackinking code generator [by @sgiehl]
  • #6192 Let Segments define a callback to use for suggested values in segment editor [by @czolnowski, @mattab]
  • #6193 Add angularjs code to open and close dialogs. [by @diosmosis]
  • #6199 Implementation of new Browser Reports by Language and Language code [by @vox3r, @mattab]
  • #6211 Replace header() with Common::sendHeader() when possible [by @kylekatarnls, @mattab]
  • #6213 Add option to disable menu title change after click position in top menu. [by @czolnowski, @mattab]
  • #6221 Refs #6078, extract factory logic from Report::factory and move to ComponentFactory utility class. [by @diosmosis]
  • #6233 #6232 getExpiresHeaderForFutureDay should be static [by @kylekatarnls, @mattab]
  • #6235 Fix one unit test in PHP 5.6 allow charset complement in content-type [by @kylekatarnls, @mattab]
  • #6237 use php_uname() instead of shell_exec(‘uname’) [by @hdi-kw, @mattab]
  • #6245 HTML scheduled report does not render in browser [by @mattab]
  • #6246 german i18n mixed up after Update to 2.6(.1)
  • #6249 More tests for content tracking [by @tsteur]
  • #6273 User ID should be defined as dimension [by @tsteur]
  • #6276 The import_logs.py script does not treat “.apk” files as downloads [by @andrejb, @mattab]
  • #6277 Fix import_logs.py apk downloads (#6276). [by @andrejb, @mattab]
  • #4074 Use PSR-4 for autoloader
  • #5373 Argument 1 passed to Piwik\API\DataTableManipulator\ReportTotalsCalculator::hasDataTableMetric() must be an instance of Piwik\DataTable, instance of Piwik\DataTable\Map given [by @tsteur]
  • #6136 Fixed typo in README [by @MichielDeMey, @halfdan]
  • #5965 Improve detection of proc filesystem that works despite potential open_b… [by @snout1979, @mattab]
  • #6143 [automatic translation update] Updated 62 strings in 1 languages (cs) [by @sgiehl]
  • #6208 [automatic translation update] Updated 510 strings in 9 languages (pl, fr, de, it, ja, nb, tr, da, el) [by @sgiehl]
  • #6240 [automatic translation update] Updated 131 strings in 6 languages (cs, da, de, el, pl, sv) [by @sgiehl]

New in Piwik 2.6.1 (Sep 5, 2014)

  • Fixed issues:
  • #6127 xhprof is needed in production after update to 2.6

New in Piwik 2.5.0 (Aug 18, 2014)

  • A new major release of Piwik! In this release we have focused on improvements to the analytics platform APIs, overall stability, made usability improvements.
  • List of tickets closed:
  • #5299 [New open source project] Github issues mirror for Data ownership and better searchability, on issues.piwik.org
  • #5953 Create a CHANGELOG.md file that lists all changes and improvements to the core platform
  • #5381 Create a CONTRIBUTING.md file to let users know how to contribute to Piwik [by @tsteur]
  • #5820 Refactor reports and dimensions [by @tsteur]
  • #5958 When there is an error in Piwik throw a http error code 500 [by @mattab]
  • #5415 Don’t store custom variables in cookies (better privacy) [by @mattab]
  • #5806 When upgrading Piwik, –dry-run should show all SQL queries including Plugins install queries
  • #5912 Cross-origin resource sharing [by @czolnowski, @halfdan, @mattab]
  • #5816 Issues with changing segment name. [by @tsteur]
  • #5817 “report to load by default” does not change to “All Websites” [by @tsteur]
  • #5818 Fix HHVM support for CLI [by @Diftraku, @tsteur]
  • #5819 New Search engines [by @sgiehl]
  • #5957 In piwik.js when ‘disableCookies’ is pushed to the _paq array, apply it first [by @mattab]
  • #5385 Show footer icons in the Ecommerce reports [by @tsteur]
  • #5168 Notice: Undefined index: 2011-08-18 in plugins/API/API.php on line 493 [by @mattab]
  • #5807 Refactor core:archive command to use symfony console $input rather than getParameterFromCli() method [by @diosmosis]
  • #5895 In processed report a segment parameter is not added to ImageGraph URL [by @tsteur, @mattab]
  • #5896 filter, showColumns, hideColumns should work if API returns arrays [by @tsteur]
  • #5962 Created unified system for running tests in travis for Piwik Core and any Piwik plugin. [by @diosmosis, @mattab]
  • #5964 Movers and Shakers not compairing correctly when using Segmentation [by @tsteur]
  • #5849 make the opt-out form work even if JavaScript is disabled [by @craue, @tsteur]
  • #5981 refs #5950 add possibility to sort Live.getLastVisitsDetails [by @tsteur]
  • #5984 refs #5936 remove gone files during update [by @tsteur]
  • #5987 MultiSites.getAll returns wrong format under circumstances [by @tsteur]
  • #5994 Add ‘Marketplace’ link to the top menu [by @tsteur]
  • #5406 When Ajax request ends with error (5xx or 4xx), Piwik should display a friendly message notification [by @tsteur]
  • #5404 Create FAQ to help troubleshoot the error “Failed to load HTML file”
  • #4392 Widget error message “The report ‘nb_pageviews’ was requested but it is not available at this stage…” [by @diosmosis]
  • #4629 Encountered unsupported archive type ‘dat.gz.’. [by @mattab]
  • #5151 Add icon for browser “Mobile Safari” [by @sgiehl]
  • #5180 PHP Warning: parse_url(http://): Unable to parse URL in core/UrlHelper.php on line 494 [by @fhemberger, @tsteur]
  • #5190 show visit time in visitor profile [by @mattab]
  • #5191 huge whitespace in visitor profile [by @fhemberger]
  • #5242 Visitor engagement: too wide [by @fhemberger]
  • #5313 Change Visitor Profile log tooltip [by @tsteur]
  • #5399 Piwik auf IIS im shared hosting erzeugt fehlerhafte CSS-Datei [by @tsteur]
  • #5407 “zlib i missing” on 64bit Ubuntu systems [by @mattab]
  • #5416 Real Time Visitor Count – wrong actions counter [by @tsteur]
  • #5813 code cleanup [by @craue, @mattab]
  • #5825 Fix parameter in deprecation message in /misc/cron/archive.php [by @fhemberger, @mattab]
  • #5833 Adding the new variables to “UsersManager.addUser.end” and “UsersManager.updateUser.end” triggers [by @burakcakirel, @mattab]
  • #5841 Uninitialized string offset: 1 in /srv/piwik/core/Piwik.php on line 158 [by @tsteur]
  • #5842 Piwik’s asynchronous command line execution module does not properly detect currently running processes on some systems [by @diosmosis]
  • #5847 code cleanup [by @craue, @tsteur]
  • #5851 Search engine “Yandex” is defined as a website [by @sgiehl]
  • #5854 [2.4.1] VisitorMap wrong visit summary? [by @tsteur]
  • #5858 Add name parameter to MenuTop. [by @czolnowski, @tsteur]
  • #5859 Treat response with any 2xx status code as successful POST track request [by @sslavic, @mattab]
  • #5861 Show the image description also as title [by @ThaDafinser, @tsteur]
  • #5864 PHP Documentation shows 404 Error [by @tsteur]
  • #5866 added missing variable to postEvent [by @mgazdzik, @tsteur]
  • #5867 Unable to use new domain extensions as an email address [by @tsteur]
  • #5871 remove dead code [by @craue, @tsteur]
  • #5872 code cleanup [by @craue, @tsteur]
  • #5936 On update, automatically delete from filesystem all Piwik files that are not in the latest release [by @tsteur]
  • #5883 In the Visitor Profile, show also the time of the visit [by @ThaDafinser, @mattab]
  • #5884 Integration Tests refactor (move API testing logic to separate classes) [by @diosmosis, @mattab]
  • #5887 Calling MultiSites.getAll results in “Invalid parameter number” (in Piwik 2.5.0-b1) [by @tsteur]
  • #5821 refs #5820 Report and dimension refactoring [by @tsteur]
  • #5890 Plugin: Howto skip/adjust config filter? [by @tsteur]
  • #5891 Visitors in real-time widget “Page views” metric should not counts other action types [by @mattab, @piwik-auto-commit-bot]
  • #5893 fixed broken EventDispatcher mechanism for sorting callbacks order [by @mgazdzik, @halfdan]
  • #5899 Missing word in FAQ
  • #5910 r.search.yahoo.com tracked as external referrer [by @sgiehl]
  • #5925 Display more useful message when error `Abort pclzip.lib.php : Missing zlib extensions` [by @mattab]
  • #5926 Add example Dimensions and example Reports to the `ExamplePlugin` [by @tsteur]
  • #5927 Delete unused column `log_conversion.referer_visit_server_date` [by @mattab]
  • #5929 CORS refactoring [by @czolnowski, @mattab]
  • #5931 Visitor profile image width to max-width [by @ThaDafinser, @mattab]
  • #5934 Unit test fixes [by @mnapoli, @mattab]
  • #5937 Run marketplace plugin tests with the defined PHP version in plugin.json [by @tsteur]
  • #5939 Fixed a test to use the configured root URL [by @mnapoli, @mattab]
  • #5943 When an admin removes a user’s access to a website, sending scheduled reports may fail [by @tsteur]
  • #5944 5896 add showColumns/hideColumns filters to arrays [by @tsteur]
  • #5945 Run tests on older version PHP 5.3.3 [by @mattab]
  • #5949 Searching in datatable for `?param` results in error message [by @tsteur]
  • #5950 Sorting Live.getLastVisitsDetails visits by a custom column [by @tsteur]
  • #5969 Add search engine sputnik.ru [by @sgiehl]
  • #5951 Notice: Undefined index: dimension in plugins/API/RowEvolution.php on line 334 [by @tsteur]
  • #5961 When editing an existing goal, radio buttons are not checked [by @tsteur]
  • #5988 shell_exec(): Cannot execute using backquotes in Safe Mode [by @mattab]
  • #6003 Prevent ArchiveWeb test from failing [by @tsteur]
  • #5909 [automatic translation update] Updated 90 strings in 8 languages (da, de, el, fr, it, ru, sv, tr) [by @sgiehl]
  • #5857 [automatic translation update] Updated 65 strings in 2 languages (de, pl) [by @sgiehl]
  • #6004 [automatic translation update] Updated 68 strings in 5 languages (da, de, el, sl, tr) [by @sgiehl]
  • #5824 [automatic translation update] Updated 84 strings in 7 languages (el, it, ja, nb, nl, sv, tr) [by @sgiehl]
  • #5967 [automatic translation update] Updated 131 strings in 8 languages (ru, fr, sv, cs, da, de, el, it) [by @sgiehl]

New in Piwik 2.4.1 (Jul 11, 2014)

  • #324 SitesManager fully migrated to AngularJS [by @JulienMoumne, @mattab]
  • #5397 Row evolution data export fails when filter_limit is supplied [by @diosmosis]
  • #340 [automatic translation update] Updated 1133 strings in 9 languages (cs, da, el, fr, it, nb, nl, ro, tr) [by @sgiehl]
  • #341 Update from 2.3 to 2.4 breaks db password [by @tsteur]
  • #345 provide a more useful error message on exception [by @craue, @mattab]
  • #347 included default value for concurent threads number [by @mgazdzik, @mattab]
  • #348 remove defaults from PHPUnit configuration [by @craue]
  • #4363 Row Evolution shows wrong data when directory and file with identical names exist at same level [by @diosmosis]
  • #4455 Change piwik URL to builds.piwik.org/piwik.zip [by @mattab]
  • #5273 Migrate Piwik issues from Trac to Github issues! [by @mattab]
  • #5349 Warning: syntax error, unexpected $end, expecting ‘}’ in config.ini.php in libs/upgradephp/upgrade.php [by @tsteur]
  • #5400 When database connection fails, display a useful page to user [by @diosmosis]
  • #5403 When file uploads is disabled, display a meaningful error message [by @mattab]
  • #5405 Bar graph loses correct yaxis in when report state is persisted
  • #5411 Transitions on Page Titles regressed in 2.4.0 [by @diosmosis]
  • #5809 SQL queries in upgrade files should always work when upgrade is executed several times [by @diosmosis]
  • #346 add XSD to PHPUnit configuration [by @craue, @mattab]
  • #349 Decouple UI tests from fixtures by using SQL dump of OmniFixture [by @diosmosis]

New in Piwik 2.4.0 (Jul 9, 2014)

  • Security fixes:
  • We would like to warmly thank Security researchers Aron Molnar (XSEC infosec GmbH) for reporting a XSS vulnerability which we have fixed in 2.4.0. We also thank Andrea Palazzo and Jose Luis Zayas for their security recommendations which are now implemented in 2.4.0.
  • List of 60 tickets closed in Piwik 2.4.0:
  • #57 Better Data Insights. Show me what’s increased and decreased, movers and shakers (beta)
  • #5222 Remove Zeitgeist theme from Piwik and support only Morpheus
  • #5275 Tracking API: major performance improvements with Transactions, when using Bulk Tracking
  • #5394 Referrers overview: report labels should show more characters before truncation
  • #5314 Log Analytics: several performance improvements
  • #5212 New setting: enable Left Menu mode
  • #3770 LibreJS compatibility for piwik.js: free/libre license notice
  • #5192 Simplify / improve top menu
  • #5329 Enable DevicesDetection plugin by default
  • #5301 Developers: provide a simpler ScheduledTasks API
  • #5331 Developers: new hooks in Login: ‘Login.authenticate’, ‘Login.authenticate.successful’
  • #5360 Developers: new hook Live.makeNewVisitorObject for plugins to customise Visitor object
  • #5303 Switching metrics in row evolution view doesn’t work after changing report timespan
  • #5396 New parameters for the core:archive console command for power users
  • #4455 Change piwik URL to builds.piwik.org/piwik-latest.zip
  • #4363 Row Evolution shows wrong data when directory and file with identical names exist at same level
  • #5291 PiwikTracker PHP client: when bulk tracking, Custom variables are now reset after each request
  • #5306 php console core:update -> issue using Piwik 2.3.0
  • #5320 Calculation All Websites dashboard wrong
  • #5332 DataTable footer drawer does not expand when clicked
  • #5356 When a custom date range is requested, the timezone of the requested website may be ignored
  • #2900 When running piwik proxy php to hide footprint, IP address is not set correctly when the website being tracked is behind proxy
  • #4918 When 10 widgets request the same site + date + segment at once, check it is archived only once
  • #5263 make core:archive command compatibile with HHVM
  • #5266 htaccess should help apache serve HTML files properly with: AddHandler text/html .html
  • #5282 Include Meta tag IE=edge for best security practises
  • #5311 Ensure all directories in plugins/
  • are chmod 755, to serve html/scripts/images
  • #5344 New system check to alert user when session.auto_start = 1
  • #5366 Limits ability of different Piwik instances to cross-match users (privacy)
  • #4017 Detect requests from iTunes
  • #5025 Support for user-agent string from AFNetworking library (iOS)
  • #5343 Cron core:archive: make sure the PHP cli binary is at least 5.3.2
  • #5371 Piwik should work as expected when PHP setting session.hash_function has non default value
  • #5382 Make “Site Search” on “All Websites Dashboard” case-insensitive
  • #5384 piwik.js: new function setCustomRequestProcessing() to let you edit the tracking request before it is sent
  • #5393 Piwik.js: ability to register plugins to execute logic when a request is sent
  • #5387 New config setting: set the Scheduled report emails Reply-to field to Email and Alias name of report creator
  • #4870 Nightingale Media Player not detected correctly
  • #4872 API: get PageUrl returns same results for several day
  • #5007 Error when running cron:archive: Response was ‘Console ToolUsage: [options] command….
  • #5213 Website dropdown no longer appears
  • #5240 German translation incomplete in version 2.3.0
  • #5243 Visitor/locations: Map region selector to narrow
  • #5247 Long Segment names break segment listing layout
  • #5253 Error in “Database Usage” usage …
  • #5254 import_logs give a IOError: [Errno 29] Illegal seek when receiving log from pipe
  • #5255 IIS: web.config should allow to server HTM, HTML and SVG files.
  • #5256 Visitor Generator not working from console
  • #5262 Not well testable php class method URL::redirectToUrl($url)
  • #5268 2.3.0: Visitors in Real-time widget, incorrect page title display
  • #5281 invalidateArchivedReports $dates issue
  • #5297 Remove plugins/Zeitgeist/
  • plugin from filesystem on upgrade
  • #5322 Incorrect domain age reported
  • #5349 Warning: syntax error, unexpected $end, expecting ‘}’ in config.ini.php in libs/upgradephp/upgrade.php
  • #5354 Dropping outdated archives can timeout on huge Piwik instances
  • #5358 Auto archiving: all websites should be archived at least once per day
  • #5370 DBStats: Call to a member function getColumn() on a non-object in core/DataTable/Filter/ColumnCallbackAddColumnQuotient
  • #5383 getVisitorProfilePopup: error on empty data
  • #5388 FatalError – subDay() in API.php
  • #3651 Support user agents of PIM clients (calendar, email) and feed readers (RSS, Atom)
  • #5339 hardcoded user in permission error

New in Piwik 2.3.0 (May 26, 2014)

  • Closed tickets:
  • #4987 Introducing Zen Mode: Simplifying the Piwik user interface to let you focus
  • #472 Custom Events analytics, event tracking
  • #1486 New plugin in Marketplace: Define Custom Alerts, and receive an email or SMS when they are triggered
  • #5019 Tracking servers CPU saturation after upgrade from 2.1.0 to 2.2.0
  • #5167 Let Piwik user upload custom Favicon
  • #4706 Error ‘Trying to add two strings values’ in DataTable\Row::sumRowArray
  • #5113 ‘Page Name not defined’ in page title reports – Outlinks being tracked as pages
  • #5221 New search field to find a Custom Segment
  • #5051 branding: Logo breaks layout (size handling generally inconsistent)
  • #4594 Pie chart should not be cropped on retina display
  • #5175 Cleanup Morpheus + Zeitgeist stylesheets, generalize the use of “theme” variables
  • #5122 Let Themes overwrite templates to allow customisation within Themes
  • #5111 Improve error logging of core:archive cron script
  • #5153 Let plugin developers customise the list of “Report date to load by default”
  • #5181 Developers: SettingsPiwik::rewriteTmpPathWithHostname() is deprecated, use SettingsPiwik::rewriteTmpPathWithInstanceId() instead
  • #5204 Add new system check whether the Piwik server supports managing processes in CLI
  • #5097 Website List now populated early after loading
  • #5118 Piwik.js: new getRequest() method returns the query string of Tracking API HTTP request
  • #5217 Segment selector: display longer segment names
  • #5172 As a user I want to allow only “admin” users or “superuser” to create new segment (default “view”)
  • #5121 New config setting to disable segment auto complete
  • #4253 Segment Editor: request should timeout when it takes too long to generate auto suggested values
  • #5053 “Custom segment” is displayed instead of real name
  • #5123 PHP Tracker: new method setForceNewVisit() to force creation of a new visit
  • #5162 Remember detailed visitor log ‘Rows to display’
  • #5188 Configurable “Rows to display” limit.
  • #4457 Use consistent fonts and colors in new Morpheus theme CSS/less
  • #5227 Widget selector sometimes not displayed in dashboard (firefox)
  • #5189 Improvements for custom events in tables like visitor log
  • #5207 Custom logo: transparency channel replaced with black color
  • #4377 sum_daily_nb_uniq_visitors calculations incorrect for some ranges in many API methods
  • #4499 Generated .htaccess in plugins folder breaks all plugins
  • #4510 When adding new annotation calendar not visible
  • #4613 Real time map: west coast visitors are not clickable
  • #4749 Apostrophes (and maybe other special characters) are shown encoded in page tooltip
  • #4806 Changes to Sessions to improve compatibility, Browser Session was lost on PHP 5.5
  • #5000 Tooltip is unreadable
  • #5006 MultiSites: On first login,the currencies of the websites aren’t recognized correctly
  • #5026 showing ' HTML code of single quote character instead of ‘ symbol in page titles
  • #5041 procfs needed by process component
  • #5047 datatable footer of the map widget is displayed only when the widget is maximized
  • #5049 Make tracking several site IDs easier to users implementing Piwik using Asynchronous javascript
  • #5054 in Visitors – Overview, Action metrics not displayed when report purge is enabled
  • #5100 Logo appears stretched and pixelated on IE10+
  • #5102 All Websites is a blank page
  • #5115 Plugins may not be installed correctly in some cases
  • #5116 Dashboard “Length of Visits” widget, Pie Chart incorrect % calculation
  • #5127 Set Base URL used in the AJAX request to ? instead of index.php?
  • #5131 Image tracker displays wrong code: idSite= instead but idsite= should be used
  • #5144 Calling API with serialize=0, get: Array to string conversion in core/dispatch.php on line 37
  • #5152 Width of VisitorLog gets truncated once moving the cursor over any entry in IE10+
  • #5170 Websites drop-down list and All Websites Dashboard view not working
  • #5191 huge whitespace in visitor profile
  • #5128 Page snapshot in Bing Windows 8 app counted as visitor, not as bot
  • #4907 Document how to log errors from archive.php cron, into a file
  • #5114 Japanese Search Engine

New in Piwik 2.2.2 (May 8, 2014)

  • List of 12 tickets closed in Piwik 2.2.2:
  • #5111 Improve error logging of core:archive cron script
  • #4510 When adding new annotation calendar not visible ….
  • #5054 in Visitors – Overview, Action metrics not displayed when report purge is enabled
  • #4377 sum_daily_nb_uniq_visitors calculations incorrect for some ranges in many API methods
  • #5034 Piwik will chmod files created in tmp/* 750 instead of 755
  • #5104 Notify Microsoft App Gallery team when there is a new Piwik version
  • #4613 Real time map: west coast visitors are not clickable
  • #5097 Website List – Please Populate FIRST on Load
  • #5000 Tooltip is unreadable
  • #5006 MultiSites: On first login,the currencies of the websites aren’t recognized correctly
  • #5053 “Custom segment” instead of real name
  • #5100 Logo appears stretched and pixelated on IE10+

New in Piwik 2.2.1 (May 6, 2014)

  • Changed:
  • All your settings will be saved and restored the next time you visit any report in Piwik. Until now, Piwik was saving and restoring your settings for dashboard widgets (for example: which column was sorted, table or graph, whether the report is flattened or not, etc.). From Piwik 2.2.1 onwards, this feature will work across all reports. This was a top requested feature for many power users, it will save you time and effort.
  • Several bugs were fixed in the Installation process which affected a subset of users. More bugs were fixed in the platform, resulting in more stable and reliable Piwik.
  • a Referrer spam blacklist feature was implemented, as several users reported issues with referrer spam. The referrer spam list can be edited in the configuration file.
  • Developers: Period::factory() is deprecated, please use Period\Factory::build() instead
  • (released in 2.2.0) Event Tracking: track your custom events with Piwik. An event is defined by a Category, an Action, an optional Name and an optional Value. Event Tracking is a powerful feature which can be used for many purposes!
  • List of 31 tickets closed in Piwik 2.2.1:
  • #1915 Persist & Restore all settings from reports, like it is done for Dashboard widgets
  • #4691 Bundle AngularJS with Piwik
  • #5030 Tracking API: allow bulk tracking without token_auth
  • #5037 Customise periods enabled in the API and in calendar, new config setting
  • #5035 Archiving should trigger limited number of concurrent requests
  • #3763 Adding widgets to the dashboard not possible on mobile devices
  • #4946 import_logs.py fail to populate actions/page tables
  • #4989 Database is sometimes not initialised correctly after a fresh install
  • #4990 Error: it seems you tried to skip a step of the Installation process
  • #5005 Install with errors, not tracking
  • #5080 Installation: when there is already a Super User, skip the installation step
  • #5043 core:archive doesn’t produce hourly archives
  • #2268 Implement a default Referrer spam blacklist
  • #4599 Use autoloader in piwik.php requests
  • #5031 Use Composer to require PHPUnit
  • #5039 Deprecate archive.sh script -> use `./console core:archive` instead
  • #5065 Deprecate Period::factory() -> use Period\Factory::build() instead
  • #2838 API: Column sort does not always work for processed metrics
  • #4992 support for filter_sort_order in Live.getLastVisitsDetails API
  • #4972 IE10/11: calendar date range shows days in white on white
  • #4555 In UI “Metrics to plot” minor formatting errors
  • #4741 Bug: Annotations API, “date=today” is not resolved to actual date
  • #4884 Disable Insights plug-in on Database Usage Graph
  • #4888 When new annotation created in PIWIK, it proposes wrong date
  • #4982 All Websites dashboard page title
  • #4992 API getLastVisitsDetails – sorting a range of data
  • #5010 VisitorGenerator plugin: Token auth is required for bulk tracking
  • #5038 All Websites Dashboard doesn’t list websites if one has the group field filled (Piwik 2.2.0)
  • #5041 procfs needed by process component as of Piwik 2.2
  • #5060 Incompatibility with PHP 5.5.11 due to bug in this php version
  • #5064 Invalid FastCGI Check in ProxyHttp.php

New in Piwik 2.2.0 (Apr 18, 2014)

  • Security fixes: we would like to warmly thank Security researchers Mateusz Goik and Vivek S. Jadhav for responsibly reporting two XSS security issues in Piwik which are now fixed in 2.2.0.
  • Piwik 2.2 helps you focus on your data:
  • All reports: display as much text as possible before the label becomes truncated (useful when you want to see more data at a glance without having to hover to view the full label)
  • Make Datatables more readable and flatter – we have removed some borders.
  • On the dashboard, the Data Tables and graph icons are now hidden by default and are now available by clicking on the widget footer.
  • New features:
  • Event Tracking: track your custom events with Piwik. An event is defined by a Category, an Action, an optional Name and an optional Value. Event Tracking is a powerful feature which can be used for many purposes!
  • Site Search reports are now available in Scheduled email reports and on Piwik Mobile
  • New Websites Groups (available on request) functionality now allows you to group a cluster of websites in the All Websites Dashboard.
  • API breaking change for Plugins developers:
  • Deprecated the function Schema::dropTables() and DbHelper::dropTables, for the new Db::dropTables()
  • Removed the code that was deprecated in 2.1.0.

New in Piwik 2.1.0 (Mar 6, 2014)

  • Fixes:
  • #4604 Archive.php memory improvements (up to 10 times less memory required!)
  • #4611 Make Innodb the new default type for all new Piwik installations (VS Myisam)
  • #514 New Plugin: Provide HTTP_AUTH Authentication for Piwik – Release in Marketplace
  • #2589 Add Support for Multiple Superusers
  • #4564 Introduce new User permission: Super User Access
  • #4610 Make Archive.php use PHP CLI instead of Web, more reliable and faster
  • #4617 Various improvements to Devices Detection algorithm
  • #3433 Implement a Smart App Banner to promote iPhone / iPad App
  • #4502 Add Segment Editor to the Iframed embed dashboard
  • #4520 Implement Smart App banner for Android devices
  • #4582 Allow Super Users to change their alias
  • #4796 Piwik will now use Semantic Versioning for Piwik core releases and all plugins
  • #4675 New config setting to disable Creation of real time segments by non Super Users
  • #4701 CSV format for Scheduled Email Reports
  • #4683 Tracking API speed improvement: cache parsed yaml in tracker cache (DevicesDetection)
  • #4001 Remove force_ssl_login setting -> only support force_ssl for security
  • #4529 Automatically activate/deactivate the ‘Login’ plugin when activating another Login plugin (eg. LdapLogin)
  • #4532 Custom date range not working if archiving triggered by report view from browser is disabled
  • #4562 no option to “Reuse the tables” when reinstalling Piwik
  • #4580 Users should not be able to delete custom segments created by Super User
  • #4598 Different visitors with the same configuration visiting the site at same second, could be recorded as one visitor
  • #4612 Regressed: Scheduled reports should be sent automatically by webcron, when cron is not setup
  • #4653 If server is not using at least PHP 5.3, make sure Piwik displays a useful error message
  • #4563 PrivacyManager settings + Custom logo should be stored using Option:: rather than in config file
  • #4565 Overriding location, city, region, latitude, longitude should be work for all actions
  • #4607 Kindly Ask plugins developers of plugins for Piwik 1.x to convert to Piwik 2 platform
  • #4609 Remove comments still referencing old Piwik_ (before using PHP 5.3 namespaces)
  • #1877 Search Engine Detection: plugin hook
  • #3343 Live: Returning visitor to open last visits for this visitor, in Visitor Log & Last visits widget
  • #3865 Detect Firefox OS
  • #4084 Show “Help us translate Piwik” after Installation
  • #4503 New segment: support for ‘visitConvertedGoalId’ in all reports (visitors who converted a particular Goal)
  • #4517 Create plugin to list all scheduled tasks
  • #4539 Taks Timetable Plugin: Show actual Piwik ServerTime
  • #4569 Add feedback message when a segment is used, and browser_archiving_disabled_enforce = 1
  • #4711 New console command to update core and/or plugins
  • #3789 Misplaced icons when report spans on multiple pages
  • #3964 Piwik detects Opera 15 as Chrome 28
  • #3990 Samsung Tab should be qualified as tablet
  • #4260 Make campaign name and campaign keyword lowercase when tracking
  • #4375 Metrics picker on Referrers: add “Total” record
  • #4432 Notice:Array to string conversion in tmp/templates_c/42/f7/
  • #4436 Clockwork API returned the following error message : Error 7: ‘Content’ Parameter Not Specified’
  • #4439 invalid shutdown callback when eAccelerator is enabled
  • #4443 Theming: some images not overridden by theme images
  • #4451 “Load more visits” with “Visitor Profile” loads the same visits
  • #4496 Annotations, unserialize() [function.unserialize]: Error at offset
  • #4525 Incorrect url redirection from transitions modal window
  • #4533 Auto Geoip Db update may fail, Tar library not loading in some server configs
  • #4540 tasks timetable plugin: take year into account
  • #4541 Visits per server time wrong sort key…
  • #4557 Piwik detects Midori 0.5 as Chrome 18
  • #4559 GeoIPCity.dat error in UIAssetCacheBuster.php
  • #4560 Fix Piwik API to be used with AngularJS JSONP callback
  • #4561 typo in plugins/Login/templates/login.twig
  • #4568 Invalidating reports may fail because of log delete settings
  • #4578 Show author of plugin
  • #4600 Untranslated text in referrers template
  • #4603 Ensure Database is set in Tracker
  • #4618 DisplayTopKeywords only shows a single character
  • #4628 Log Analytics –enable-bots does not enable bots tracking
  • #4631 Installation: when upgrading from 2.0.3 and reusing existing tables during install, sql error
  • #4654 Update currencies
  • #4669 Call to undefined method Twig_TokenStream::nextIf in core/View/RenderTokenParser.php line 43
  • #4678 Fatal error in VisitsSummary\Controller::getEvolutionGraph()
  • #4679 SegmentEditor API throws NoAccessException
  • #4681 The Tracker.getDatabaseConfig event is fired before the loading of the plugins
  • #4682 Morpheus theme makes tables in security settings partly unreadable
  • #4516 do not track pingdom bot
  • #4614 Remove visualphpunit
  • #4538 German Translation for Scheduled Task/ Task Timetable Plugin attached
  • #3800 Styling: Missing indentions for level5 and deeper
  • #3971 Wrong device detection
  • #3972 UserSettings.getMobileVsDesktop error with period=month, date=previous1, idSite=all
  • #4263 geoip DB automatic update doesn’t respect update period
  • #4536 UI bugs connected to subdatatables
  • #4545 Social Network icon for Youtu.be is missing
  • #4556 Small UI error in “Real time visitor count”…
  • #4567 CacheBuster is suboptimal
  • #4572 Useless code spotted.
  • #4626 Warning: preg_match(): Unknown modifier ‘/’ in Url.php
  • #4655 Invalidate merged Noncore JS / CSS in case of any plugin update/downgrade/uninstall

New in Piwik 2.0.3 (Jan 13, 2014)

  • Fixes:
  • #4183 Plugins: support “require” particular Piwik version and/or a minimum PHP version
  • #4491 Prevent Random error “This report has been reprocessed since your last click. “
  • #4180 Tracking API reference missing parameters for Ecommerce analytics
  • #4484 Add geolocation check to system check report
  • #4471 Users report for All websites in scheduled report
  • #4493 Remove DoNotTrack and Anonymize plugins and move them to PrivacyManager
  • #4431 Can’t open Plugins/Themes because my server and client are off the internet
  • #4504 Exclude from traffic Baidu bot and Yandex bot
  • #3695 Allow to define the time to look back to define a returning visitor
  • #4319 Visitor Log: returning visitors: show number of visits
  • #4358 Add setting to disable LOAD DATA INFILE, for easy Mysql replication in AWS
  • #4490 Can’t get goals by custom variable values
  • #3874 Replace jsmin
  • #3944 Broken sorting in Goals.getItems
  • #4263 geoip DB automatic update doesn’t respect update period
  • #4402 Error in visitor Map for region Vaud, Switzerland
  • #4407 Brazil SVG Map region fix
  • #4408 Morpheus theme shouldn’t force aspect ratio on custom branding logo
  • #4414 Browser Detection Internet Explorer 11.0 (IE11)
  • #4423 setting sites are very wide
  • #4425 file .git/HEAD doesn’t exist
  • #4427 Log.php: Assigning the return value of new by reference is deprecated
  • #4429 Bounce rate column sorts is not working
  • #4435 Real time visitor count does not refresh automatically
  • #4438 In Theme.php, file_exists() triggers open_basedir restrictions in Windows PHP if contaning querystring
  • #3330 ”Ranking Query” for better archiving memory consumption
  • #4441 visits from Google adwords bot should be excluded
  • #4442 LOAD DATA INFILE in chroot environment
  • #4443 Theming: some images not overriden by theme images
  • #4448 Repeated visits reported in Visitor profile
  • #4450 String data, right truncated: 1406 Data too long for column ‘location_browser_lang’ at row 1
  • #4453 PHP Fatal error: Call to a member function rewriteAssetsPathToTheme()
  • #4479 Wrong label for returning visitor in Visitors in Real-time.
  • #4482 Ignore Do Not Track setting for IE 11 browsers
  • #4483 Presence of “http://” in the parameters of the archive cron script may cause incompatibility with cPanel
  • #4505 Goals> Ecommerce log listing, not listing all ecommerce orders and abandoned carts
  • #4404 Error when downloading pdf-report
  • #4420 Module ImageGraph.get API ‘graphType=3dPie’ error.
  • #4417 Weird spacing in “Visits in Real-time” plugin
  • #4419 Big extra spacing in annotations

New in Piwik 2.0.2 (Dec 20, 2013)

  • Fixed:
  • Timezone bug: Report data missing in some hours of the day based on timezone setting
  • purgeOutdatedArchives may purge too frequently
  • revert: do not call libxml_disable_entity_loader() as it breaks other softwares on same server (not thread safe)

New in Piwik 2.0.1 (Dec 19, 2013)

  • Make Activate/Deactivate plugins and themes super fast!
  • Class ‘Piwik\Log’ not found in …. [php 5.3.2]
  • IE8 clicking on sub tables results in JS error
  • Retina Support on jqPlot
  • trusted_hosts error message not displayed
  • Date picker hidden behind box
  • Editing a Scheduled report in Morpheus
  • Let plugins developers run their plugins tests continuously in Travis CI
  • Enable new Morpheus theme by default for new users… feel the love
  • jsmin – preserve licence and copyright

New in Piwik 2.0 (Dec 18, 2013)

  • Our vision is to liberate web analytics by building an open platform which will create innovation in the analytics world.
  • New beautiful theme for Piwik: Morpheus is a flat design theme designed to let you focus on your analytics.
  • Launch of the Piwik Marketplace for Plugins and Themes!
  • Browse and install plugins and themes from within your Piwik, in one click. Maybe you would like to try the new TreemapVisualization plugin?
  • We hope there will be many ‘third party plugins’ available on the Marketplace in 2014 – let us know your ideas or feedback about this.
  • New: Visitor Profile helps you to understand your visitors’ individual behavior by summarizing and listing your visitors’ visits.

New in Piwik 2.0 RC 2 (Dec 16, 2013)

  • HIGHLIGHTS:
  • Our vision is to liberate web analytics by building an open platform which will create innovation in the analytics world.
  • New beautiful theme for Piwik: Morpheus is a flat design theme designed to let you focus on your analytics.
  • Launch of the Piwik Marketplace for Plugins and Themes!
  • Browse and install plugins and themes from within your Piwik, in one click. Maybe you would like to try the new TreemapVisualization plugin?
  • We hope there will be many ‘third party plugins’ available on the Marketplace in 2014 – let us know your ideas or feedback about this.

New in Piwik 1.12 (May 30, 2013)

  • Beta Release Channel – use beta release channel to live on the edge
  • Segment Editor – create, save, edit, apply custom segment of visitors. A very powerful feature indeed!
  • Page Speed Reports – learn how fast your website loads (and each individual page)
  • Device Detection Reports – detect brand, model, device type, using this new beta plugin for advanced Devices Detection
  • New SEO Metrics by MajesticSEO.com: external backlinks, referrer domains
  • Various API Changes and Improvements (click to view)
  • Various improvements to Segmentation:
  • New segment ‘siteSearchKeyword’ (to match visitors who made a particular Site Search request)
  • “Is Null” and “Is Not Null” type queries are now supported, by leaving value empty. Click here for documentation.
  • The operators Not Equal != and Does Not Contain !@ now also match the rows with NULL values, to ensure more accurate datasets
  • many small improvements and features, see the full list of 80+ tickets below

New in Piwik 1.11 (Mar 8, 2013)

  • Visitors World Map. View the visitors statistics by Country, Region, City on this new beautiful world map which zooms into continents and countries!
  • Real time World Map. Check out the new widget “Real time map” or go to Visitors>Real Time Map to see your latest visitors on the map, and hover on them to see a tooltip with all visitor info.
  • Flash-free software – no browser plugin required. With the new SVG VIsitor Maps, we have removed the last SWF file from Piwik. Piwik now is entirely built on open technologies and standards!
  • New Tracking Code Generator. In Settings> Tracking Code, check out the new screen which hopefully is easier to use. Also we now advertise the Asynchronous code only. Of course the old Synchronous JS code will still work the same, but we now recommend in docs to use the async code.
  • New reports: the “All Referrers” shows a global view of your referrers. The new “User Language” reports on the user language as set in their browser, and complements the “User county” report.
  • Receive SMS report at a particular hour. We’ve set our daily SMS report in Piwik, to send at 7AM, which works great as an alarm clock for a “Stats Start of the day”!
  • New website setting: whether to track URL Fragment or not (everything after # in the URL)
  • Added call to Donations! Let’s be honest: Piwik is not backed by a rich company, we are a true open source project, and we really need the support of our community to keep up this pace of new releases and quality. Thank you for your donations.
  • More features and bug fixes! see the release blog post for more screenshots
  • We also fixed some bugs that many of you have been waiting for
  • Custom Dashboards will now correctly restore their preferences on further reload of the dashboards
  • Users using OVH web host (very popular in Europe) will be happy to know we have fixed bug #2997- Piwik will now just work on OVH without manual configuration!
  • Security: We would like to thank the Security Researcher Leone Pontorieri who responsibly disclosed a XSS vulnerability (which we’ve fixed) as part of our Security Bug Bounty Program.

New in Piwik 1.10.1 (Jan 16, 2013)

  • New Page Overlay Report: (this is still in beta… but already awesome!)
  • Create text annotations! Annotate a particular date on the graph and add a text note. Visualize all notes for the current date range. Star notes. ENJOY!
  • New Social Networks reports! Check out the new Social Websites report in Referers> Websites.
  • New System Check page in the Settings, available to the Super User, useful to check your server configuration is compatible with Piwik
  • Added call to Donations! Let’s be honest: Piwik is not backed by a rich company, we are a true open source project, and we badly need your support to keep up this pace of new releases and quality. We hope you will like the new widget call to donation and that you will use it!
  • Exclude visitors based on User Agent (it was already possible to exclude by IP address)
  • More! see the release blog post for more screenshots
  • Security: We would like to thank the Security Researchers Mateusz Goik, Paweł Hałdrzyński and Artur Czyż, for their responsible disclosure. They have all reported XSS vulnerabilities (which we’ve fixed) as part of our Security Bug Bounty Program. Thank you to them for making Piwik more secure! Please update now.
  • We also fixed some bugs that many of you have been waiting for:
  • Custom Dashboards will now correctly restore their preferences on further reload of the dashboards
  • Users using OVH web host (very popular in Europe) will be happy to know we have fixed bug #2997- Piwik will now just work on OVH without manual configuration!
  • Piwik 1.10.1 fixes a few non critical bugs that were reported in the hours following 1.10 release:
  • #2997: OVH Web Host compatibility: detect when file sessions are too slow and use db sessions instead
  • #2465: Page Overlay – Analytics Overlay on your site!
  • #134: Bulk load Piwik logs with documented API: improved tracking performance, allow performance testing
  • #3456: Create auto-updater & auto-downloader for GeoIP databases
  • #3481: Set lat/long via Tracking API
  • #1470: Continuous Integration server improvements
  • #1253: Create annotations in the Graphs and list all Text notes for a given date range
  • #1465: Integration testing: list of ideas of improvement
  • #2375: Exclude Visitors matching User Agent across all websites
  • #2448: Ecommerce analytics improvements
  • #2791: Social networks tab and widget
  • #3227: Replace SimpleTests with PHPUnit
  • #3520: Tracking API support new Parameters for User Agent and Browser Language
  • #3525: SEO Widget improvements: Display Google indexed pages, number of entries in DMOZ, and more accurate Domain age
  • #3534: Get city, region, country name, lat/long, using via the API UserCountry.getLocationFromIP
  • #3565: Tracking API: new function setPageCharset to set the character set used on the tracked page
  • #3567: Visitor Log: Display Web Visitor GPS coordinates: latitude longitude
  • #3624: Add call to Donation in Piwik – Piwik is Free, but we need your support
  • #3636: Need MultiSite API enhancement
  • #1554: Installation/CoreUpdater: language selector is gone
  • #3175: Auto update link not accessible with ipads also bind click/touch event
  • #3349: getUsersAccessFromSite has a different behaviour if only one member
  • #3450: umlauts in sitesearch keywords
  • #3511: Some cities appear multiple times in a same period report
  • #3515: Fails to Geo lookup IPv4-mapped IPv6 addresses
  • #3539: Site Search keywords and categories should be recorded in lower case
  • #3543: Piwik 1.9.2 dashboard and widgets don’t stick
  • #3550: GoalManager: misspelled variable leads to incorrect attribution
  • #3582: hideColumns/showColumns not working in Metadata API
  • #3458: Improve GeoIP diagnostics
  • #3491: Use mt_rand instead of rand
  • #3542: Cleanup social network icons
  • #3643: French Translation for CoreAdminHome_PiwikIsInstalledAt, CoreAdminHome_TrustedHostSettings
  • #2057: Checking the In- and Outbounds of a page
  • #2122: System Check page in Admin menu + usability improvements
  • #3213: Add Google ChromeOS as operating system
  • #3316: Option to disable seriesPicker for jqPlot
  • #3559: allow geoipUpdateRows.php to run in browser w/o timing out
  • #3585: API: getProcessedReport metadata API new parameter showRawMetrics to return all raw metrics
  • #3616: Developers: prepare useful Log file for Piwik devs to have data to play with
  • #3657: Allow disable OPTIMIZE TABLE queries in config file
  • #766: Archiving Memory exhausted error – Archiving memory leaks
  • #3259: Warning: htmlspecialchars() Invalid multibyte sequence in argument in core/DataTable/Renderer.php on line 223
  • #3384: in maintenance mode, links don’t work since Proxy disabled
  • #3432: Flattening lists and filtering throws error when used together
  • #3440: widget error message “The report ‘nb_uniq_pageviews’ was requested but it is not available”
  • #3454: Detecting site search via URL parameter with square brackets does not work
  • #3527: PHP Notice: geoip_record_by_name() in Pecl.php with IPV6
  • #3529: Piwik 1.9.1 Visitor Location (City) widget: Minor problem
  • #3532: API output: when &flat=1 is used, data set is not sorted by the expected column
  • #3535: Typo in /lang/en.php file
  • #3547: API to invalidateArchivedReports should force cron to reprocess old reports even if there are no new visits today
  • #3548: Log Analytics: Classify user agents containing “spider” as bots
  • #3566: Live API getVisitorDetails should return city, region, latitude, longitude
  • #3572: Piwik SSL detection should also read proxy ssl header: HTTP_X_FORWARDED_PROTO
  • #3575: ResponseBuilder should not modify DataTable_Simple instances at all when format=original
  • #3576: ajaxHelper class breaks dashboard when range period is used
  • #3579: Reprocessing logs doesn’t regenerati weekly values
  • #3583: blank page in piwik because of file core/lic.log
  • #3590: Custom Variables in the Visitor Log – Scope “Page” not shown when no value set
  • #3608: Division by zero in Privacy Manager Controller
  • #3614: UI: Small display bug in Piwik top menu
  • #3615: Tracker: when “visitor_days_since_last” is greater than 0, assume visitor_returning = 1
  • #3621: Full screen widgets Mode when clicking”Maximise”
  • #3628: Clicking on sparkline to reload graph should use the Limit selector
  • #3641: Bug fix for preventing the error messages when import data from IIS log
  • #3426: 1.8.4: The parameter ‘idSite’ doesn’t have a correct type, and a default value wasn’t provided.
  • #3472: Changing the dashboard doesnt work

New in Piwik 1.10 (Jan 15, 2013)

  • New features:
  • The ability to see web analytics data overlaid on the website you’re tracking and not just in the Piwik dashboard (via the new Overlay plugin).
  • The ability to take and save notes for different days, so you will better understand why your data looks the way it does (via the new Annotations plugin).
  • The ability to automatically update your GeoIP databases with the new GeoIP Auto-Updater.

New in Piwik 1.9.2 (Nov 9, 2012)

  • Changes:
  • starting from Piwik 1.9.2, Do Not Track browser setting will be ignored for IE 10 browsers. Because all IE10 browsers have DNT enabled, we cannot afford not to record in Piwik all IE10. So we decided to ignore the DNT setting for all IE10 users.
  • The Super User can now copy a customized dashboard to another user. Useful to reuse interesting dashboard layouts!
  • Fixes:
  • #3486: Ignore Do Not Track setting for IE 10 browsers
  • #3487: Dashboard: related report Visitor Browser Version not loading, subtables showing "no data"
  • #3379: Allow the Super User to copy a customized dashboard to another user
  • #3065: Improve dashboard performance: streamline 2 http requests
  • #3488: Widgetized dashboard widgets empty if more than one segment is used
  • #3492: Conversions not showing up in Goals metrics
  • #3516: SEO widget: domain name creation working for more date formats
  • #3323: Include scheduled reports in integration tests
  • #239: Configure anonymous dashboard
  • #2977: Change "Continent" (log_visit.location_continent) to a computed value
  • #3265: Hide link to visitor log in embed widget (piwikMenu is not defined)
  • #3416: Detect Mobile scaled Resolution via window.devicePixelRatio
  • #3438: Stats randomly revert to zero
  • #3476: tracking fails when plugin fails to load (because its files cannot be found)
  • #3478: Notice: Indirect modification of overloaded property Piwik_Config::$General has no effect
  • #3483: Sparklines dont work in dashboard
  • #3485: modification of overloaded property Piwik_View::$locationProviders has no effect
  • #3497: Domain age reported wrong
  • #3502: Site Search priority input should be Tracking API params, then parse the URL query
  • #3503: Goals Names containing html entities are displayed double encoded in column names
  • #3509: Notice: Undefined index: idSite in visitorLog.tpl.php
  • #3523: import_logs.py triggering "Warning: urldecode() expects parameter 1 to be string, array given in core/Tracker/Action.php on line 974"
  • #3524: Avoid provider plugin's reverse lookup if GeoIP Org/ISP database is used
  • #3521: Add search engine 360search

New in Piwik 1.9.1 (Oct 25, 2012)

  • List of 18 tickets fixed in this release:
  • #3404: Feedburner API deprecated by Google -> we removed the feedburner widget in Piwik.
  • #3450: Support umlauts and non unicode charsets in sitesearch keywords
  • #3452: Error: Class 'Piwik_UserCountry_LocationProvider' not found, preventing tracking
  • #3466: Email reports contain translation key instead of the translations
  • #3474: Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in /libs/pChart2.1.3/class/pImage.class.php on line 93
  • #3023: When anonymize IP is enabled, consider doing Provider / GeoIP lookup faking the last IP byte to 1 ?
  • #3080: Record known "Hostnames" for improved security + Warn when hostname has changed after migration
  • #3403: Incorrect visitor log links on 5.1.6
  • #3453: archive.php – ANSI_SQL compatbility SQLSTATE[42S22]: Column not found: 1054 Unknown column '-1' in 'field list'
  • #3449: admin users edit website Javascript error
  • #3463: GeoIP ServerBased not working when ip masquerading is enabled
  • #3471: Clientside javascript for the Dashboard can get caught in infinite redirect loop
  • #3473: GeoIP fails silently when mbstring extension not available
  • #3314: Add support for Composer, Vagrant and Puppet
  • #3027: UI: Sort event is bound several times on hierarchical tables (bubbled)
  • #3296: Fatal Error in VisitSummary Widget
  • #3331: Can not choose in the field Web site in IE 7
  • #3446: Provide better error reporting for geoipUpdateRows.php

New in Piwik 1.9 (Oct 17, 2012)

  • Security: thanks to Security Researcher Maxim Rupp who responsibly disclosed a XSS via our security bounty program.
  • #1823: Include GeoIP in core after improvements
  • #2159: Add a Select list in the graph footer, to select periods to plot: 30, 100, 365
  • #2992: Advanced Internal Site Search tracking & analytics, for internal search engines and keywords
  • #3332: Transitions: reports about previous and following actions for each page URL
  • #3408: Showing http://http://example.org for outlinks when using MYSQLI
  • #3386: SQL queries to update Piwik to version 1.8.4 are shown with comments therefore breaking them
  • #3402: Piwik 1.8.4 : Page Name with multiple levels is incorrect on mysqli
  • #3289: Do not run OPTIMIZE queries on innodb tables
  • #3311: Piwik_Archive_Single::preFetchBlob can select extra unnecessary blobs
  • #3378: All Websites data shows data for correct day, but calendar shows a day off
  • #3381: Row Evolution regression, broken for reports other than actions
  • #3387: Error: The date … is not a correct date range
  • #3405: when archive.php is run multiple times, each concurrent run should archive different websites
  • #3415: Search engine keyword link to Yandex.ru instead of .com
  • #3383: archive.php curl requests do not set user agent

New in Piwik 1.5.1 (Aug 2, 2011)

  • Fatal error: Exception thrown without a stack frame in Unknown on line 0 – Session SaveHandler DbTable
  • #2499 ErrorHandler – Nesting level too deep – recursive dependency
  • #2504 Charts – charts cropped at bottom (PHP 5.1.x)
  • #2507 Charts – no Graph is shown for bounce rate or all values are 0
  • #2534 Charts – Top of chart cut off if data contains floats
  • #1841 Proxy: deprecate exportImage and outputImage
  • #2495 Update Internet Explorer icon
  • #2497 Automatically include logos from new Piwik URL after server migration
  • #2500 Charts – Visits Evolution tooltip "NaN" for latest entry (PHP 5.1.x)
  • #2501 Use relative path to custom logo
  • #2505 Changes to BlackBerry smartphone and Playbook User Agent detection
  • #2512 ArchiveProcessing – "Base table or view already exists" for archive_numeric_ table
  • #2518 Charts – Length of Visits – pie chart overfill
  • #2520 Live: Undefined index – $currencies[$site->getCurrency()]
  • #2522 Piwik_Session::start() – don't call it on API calls
  • #2523 Google Custom Search – referrer changes

New in Piwik 1.0 (Aug 31, 2010)

  • Enable Live! plugin by default, and add Live! widget to default dashboard
  • Fix locales in translations
  • Updated translations

New in Piwik 0.5.5 (Mar 25, 2010)

  • New Features:
  • #692 – AnonymizeIP plugin to mask the IP address of your visitors.
  • #908 – add a hook to allow plugins to define the website ID to load by default when going to stats
  • #1097 – Installation/Update: file integrity check to report missing or corrupt files
  • #1129 – Tracker: table index enhancements
  • Bug Fixes:
  • #59 – Feedburner plugin update
  • #987 – ArchiveProcessing: duplicate idArchive
  • #1011 – Provider plugin now limits row count to 500
  • #1027 – IE7/IE8 Add a widget (Widgetize) bugs
  • #1041 – Keyworks that don't link to search engine page results are now not linked, as expected
  • #1061 – non-processable GET-parameter throws error message
  • #1071 – get/save language preference
  • #1082 – Actions plugin: cannot use object of type Piwik_DataTable_Row as array
  • #1087 – Multisites: date range selection in the calendar is be the largest available across websites
  • #1089 – sync up DDL with schema update script
  • #1090 – "Display JavaScript Tag" always showed name of first website
  • #1100 – handle malformed dashboard layout
  • #1109 – undefined function error in Goals manager
  • #1114 – all actions incorrectly labeled as Page Views?
  • #1115 – MultiSites: handle single quote(s) in site name
  • #1120 – refinements to the Live! plugin
  • #1132 – Epiphany misdetected as Safari
  • #1127 – evolution always shows 0% when current visits is 0
  • #1136 – handle byte count and other shorthand notation for memory limit
  • #1137 – libs/sparkline: rendering bugs with small values or ranges
  • #1151 – update to the Update welcome page: displaying full list of SQL queries to execute
  • #1193 – non-javascript tracking now disabled by default, possibility to record non-JS visits by appending &rec=1 to the beacon
  • #1196 – typos / refactoring of css
  • #1147 – plugin enable, disable, dashboard layout save and visit generator operations protected by the token_auth
  • - refactoring of the Login controller and views, and fixing the redirect logic
  • Maintenance:
  • #445 - added a few .htaccess files to override overly permissive Apache configuration (e.g., directory listing, direct access to .php files)
  • #991 – redirect to Installation plugin's welcome screen if database connection credentials fails (instead of an exception and a backtrace)
  • #1067 – page titles and for page URLs can now use a different delimiter
  • #1068 – internationalize the Goals plugin
  • #1091 – Feedback UI improvements
  • #1092 – provide workaround if parse_ini_file() is disabled; replacement function by Andrew Sohn
  • #1096 – plugin descriptions should be translateable
  • #1098 – auto-refresh the Multisites report
  • #1099 – added MySQL client/server version compatibility check
  • #1101 – numbered args in translations should be %1$s, %2$s, etc.
  • #1110 – handle IPv4-mapped addresses; detect IPv6 addresses at Installation
  • #1119 – remove out-of-date translations of password recovery email body
  • #1122 – E_STRICT clean-up in plugin API files
  • #1123 – reogranize browser families; convert WebKit versions to corresponding Safari product versions
  • #1133 – add 'charset = utf8' to configuration file on new installs (or reinstalls where tables are deleted) when client/serve charset mismatch detected
  • #1135, #1174 - more search engines
  • #1150 – outdated reports should be displayed rather than no data at all
  • #1155 – cookie path can now be defined in config.ini.php or in global.ini.php
  • #1156 – document SPL and Reflection requirements
  • #1163 – Palm Pre/Pixi detection
  • #1165 - UserSettings unit tests coverage expanded
  • #1167 – UserAgentParser issued
  • #1175 – update to Zend Framework 1.10.2
  • #1176 – update to Smarty 2.6.26
  • #1178 – remove unused/obsoltete json.js
  • #1179 – JavaScript API should have trackPageView(title)
  • #1181 – first day of stats, select today by default instead of yesterday
  • #1182 – coding style changes to Live plugin
  • #1191 – PHP 5.2.0 syntax issue
  • #1195 – comment typo in _pk_translate function
  • #1200 – on successful login, Piwik should redirect to the referer URL only if it is a Piwik URL
  • #1202 – utility nonce functions for the plugin framework
  • - piwik.js has been YUI-compressed since Piwik 0.4; with 0.5.5, you can now use js/index.php to serve up a deflate/gzip compressed piwik.js if your web server doesn't have mod_deflate or mod_gzip (8.3K vs 3.5K)

New in Piwik 0.5.4 (Dec 28, 2009)

  • 1086 Ability to save URLs longer than 255 characters
  • 1082 Addressing the Cannot use object of type Piwik_DataTable_Row as array error
  • 1081 Fixing NOTICE error written out to the error log

New in Piwik 0.4 (Aug 24, 2009)

  • New Features:
  • #890, #907- updates to Search Engines
  • #888 - Filtering out Bing spambot
  • #886 - Piwik will load bootstrap.php (if it exists) allowing for site-specific tweaks (e.g., define PIWIK_DOCUMENT_ROOT)
  • #870 - Add/Edit Goal UI - can now specify goal as triggered "manually"
  • #826 - new Tracker.knownVisitorInformation hook
  • #793 - rewrote sendHttpRequest enabling update notifications when allow_url_fopen is Off
  • Fixes:
  • #894 - inconsistencies between database upgrade and fresh install
  • #892, 893 - Length of Visits cosmetic fixes
  • #877 - Always start session; define PIWIK_ENABLE_SESSION_START=0 in bootstrap.php to get previous behaviour (may require increasing max number of MySQL connections)
  • #877 - Sites management, error in the template
  • #865 - unix_socket support reworked; now accepts "host", "host:port", "host:/socket/path", or "/socket/path"
  • #828 - session handling fix for PHP 5.2.0 (ZF1743)
  • #700 - Installation checks for zlib and SPL
  • #666 - database upgrades may take too long to run in browser
  • JSON-stringified layout was in some cases not completely decoded
  • Maintenance:
  • #911 - simplifying regular expressions
  • #896, #897 - all_tests.php (unit tests) broken
  • #876 - Piwik_Tracker_Visit should not validate $this->request in constructor
  • Translations:
  • Minor changes across all translations.

New in Piwik 0.4 (Jun 16, 2009)

  • ADDED new piwik.js Javascript Tracking API; More information in the blog post and the Javscript Tracking documentation #355 (by Anthon)
  • ADDED search engine links now link to the search engine page for this keyword. Added definition for the main search engines; you can contribute more! if a definition, (eg. “search?q={k}” for Google) is not found, we simply link to the search engine homepage. More information how to add the link to the search result page on the Search engine FAQ #747 (by matt)
  • UPDATED languages: Catalan, French, Danish, Hungarian, Ukrainian, Spanish, German, Taiwanese
  • ADDED new languages: Czech, Thai, Finnish; Piwik is now translated in 27 languages
  • ADDED 20 search engines (including the new Bing.com)
  • FIXED #690 mysql password html encoded causing problems with special chars like & (by matt)
  • FIXED #159 tooltip doesn’t show up on truncated labels with image (by black silence & Anthon)
  • FIXED #691 Converted absolute URLs to relative URLs (by Anthon)
  • FIXED #712 Updating to a new Piwik version should automatically force the browser to update the cache for JS/CSS files (by Anthon)
  • FIXED #743 Optimized include path (by Anthon)
  • FIXED #744 Killed Java detection it wasn’t working properly in all browsers (by Anthon)
  • FIXED #632 ZF classes declared twice when calling piwik api from a ZF project (by Anthon)
  • FIXED #741 Updated to smarty 2.6.25 (by Anthon)
  • FIXED #668 piwik_log_visit.location_ip is negative on 32 bit systems (by Anthon)
  • FIXED #551 “Logout” / “Sign out” action linked to the active authentication plugin. (by Anthon)

New in Piwik 0.2.28 (Jan 19, 2009)

  • For some PHP configurations, there was the warning “Warning: Call-time pass-by-reference has been deprecated;”. Fixed.