Official Piwik Blog

August '10

28

Posted by

in Changelog

Comments: 24 Comments

Piwik 1.0

We are very excited to announce immediate availability of Piwik 1.0. We hope you enjoy it.

Please spread the word about Piwik 1.0 on your website, blog or twitter!

List of tickets closed in this release

  • #1647     Enable Live! plugin by default, and add Live! widget to default dashboard
  • #1655     Fix locales in translations
  • Updated translations
August '10

26

Posted by

in Changelog

Comments: 11 Comments

Piwik 0.9.9

This is a maintenance release following Piwik 0.9. This release will become Piwik 1.0 if there are no critical bugs found in the next few days!

List of tickets closed in this release

  • #1570 Goals Loading… never stops
  • #1576 VisitsSummary.getSumVisitsLengthPretty – throws notice
  • #1585 SitesManager.updateSite succeeds for unknown idsite
  • #642 Package Piwik for the Windows Web Application Gallery
  • #1627 Typo in string General_AuthenticationMethodSmtp
  • #1630 Common header for .php and .js files
  • #1634 JavaScript errors in internet explorer when clicking on menu
  • #1588 Warning displayed when sending feedback via feedback form
  • #1561 Google Chrome reloads dashboard twice
  • #1589 Submit buttons look ugly in install (and update?)
  • #1616 Mobile Client working fine on iPod
  • #1638 Add test for strtotime() failure … workaround?
  • #1450 Call to a member function on a non-object
  • #1538 PDF: Add a “send now” test button to test the report
  • #1574 PiwikTracker: curl support
  • #1582 Trademark policy
  • #1624 Login referer feature is incompatible with Default report to load
August '10

06

Posted by

in Changelog

Comments: 8 Comments

Piwik 0.9

    This is a maintenance release following Piwik 0.8, hopefully the last release before 1.0.
    Please report all bugs you encounter with this release!

    List of tickets closed in this release

    • #1525 PDF: no description entered
    • #1543 Pie chart of continents should always display all continents (and no “others” element)
    • #1545 Adapt styling of chart and map tooltips to the new UI design
    • #1544 Wrong “Report date to load by default” after install
    • #1530 Add Worldmap default widget
    • #1501 Can’t load dashboard or add widgets to empty dashboard
    • #1529 Handle disabled glob()
    • #1546 Widgets with token_auth are broken
    • #1557 Insufficient colors for pie chart slices
    • #1539 Zend Framework 1.10.7 maintenance update
    • #1540 archive.sh memory issue with yearly reports, works when archiving months separately
    • #1541 Implement draft HTTP Origin header
    • #1535 outdated entries in searchengine datafile
    July '10

    29

    Posted by

    in Changelog

    Comments: 7 Comments

    Piwik 0.7

    Piwik 0.7 is a major Piwik release, bringing a few amazing new features.

    New features

    • Create custom PDF Reports and schedule them (daily, weekly, monthly) to your email address
      All logged in users can create custom PDF reports, for each website, by clicking on the PDF link in the top menu.
      Each user can add unlimited number of reports and for each report, schedule daily / weekly / monthly emails.
      To customize the PDF, simply select which reports should be included. You can also download the PDF directly from the list.

    The initial code was contributed by Lyzun Oleksandr and Jeremy Lavaux, and modified to fit Piwik codebase by Matt.

    • Worldmap view!
      Gregor Aisch created a beautiful world map widget. He built the Open Source world map specifically to build the Piwik widget.

      It also features a full screen view, check it out in your dashboard.


      The Open source flash map project is hosted on the Piwik SVN.

    • New Website selector for Piwik instances with hundreds or thousands of Websites
      With its powerful API (Tracking API, Analytics API) Piwik has become a very strong solution to custom and large scale Web Analytics setups. In particular, many users are using Piwik with hundreds or thousands of websites. Until then, the UI was loading very slowly because it was loading the full Website list in the HTML page.
      The Website selector now only loads the top 10 Websites, and you can search and see which websites match your search in real time.
      The website selector search only appears if you have more than 5 Websites configured.

    • New Email settings
      You can configure Piwik to send email using a SMTP server instead of the default mail() function.

    List of tickets closed in this milestone

    • #1493     The merged asset : couldn’t be parsed for getting the hashcode
    • #1495     0.6.4 – HTML_QuickForm2 incompatible with PHP 5.1.6
    • #1503     Regression: URL entered in install not recorded
    • #1499     Link “Dashboard” does not work
    • #1510     Cannot use object of type Piwik_DataTable_Row as array in Actions.php
    • #288     UI: Provide a site selector that would scale to thousands of websites (inline search, auto suggest, ajax)
    • #587     Automatically trigger the archiving script from piwik.php
    • #1448     Windows installation: should suggest cacls instead of chmod
    • #1512     typo in Piwik API Documentation
    • #1500     IE8: Datepicker issue
    • #159     tooltip doesn’t show up on truncated labels with image
    • #1411     Archiving script: Port to Powershell
    • #1497     “undefined $” – jQuery errors
    • #1362     Disable browser archiving and process reports every X (X less than 1 hour) will fail
    • #1506     Regression: Add a goal, Goal revenue is not an INPUT form
    • #1508     when displayed on screen, errors/notice/warning should be truncated
    • #1507     Insufficient permissions on generated CSS and JS files
    • #1509     Add new settings to enable SMTP emails
    • #1515     PHP flag session.save_handler ‘mm’ doesn’t work for Piwik
    • #1458     ArchiveProcessing: Unit test regressions
    • #1514     UserCountryMap: zoomable world map of your visitors location
    • #1520     Exception: Requested website was not loaded. in ../webstat/core/Site.php on line 62
    • #1494     SEO – Alexa rank checker’s use of simplexml requires allow_url_fopen = on
    • #1496     Weird percentage of installations of a browser plugin (>100%)
    • #1184     Plugin API for Scheduled Tasks
    • #1516     Wrong translation for “visits”
    • #1511     order of minified css files
    • #1519     option_name column too short for possible values
    July '10

    20

    Posted by

    in Changelog

    Comments: 12 Comments

    Piwik 0.6.4

    We have just released Piwik 0.6.4, a maintenance release with a new plugin.

    • NEW Design!
      Thanks to the mockups from Marcin Gałęcki and the hard work of Stepan Sukharyna, sponsored by German Agency Vorwärts GmbH, we are now introducing the new UI in Piwik 0.6.4. We hope you enjoy the new professional look. We also tried to make it easier to use, let us know what you think using the Forums or feedback forms.
    • FASTER User Interface
      Julien Moumné, developer from the Piwik team, implemented Javascript and CSS merge and minification. Instead of fetching all JS/CSS files separately, Piwik now builds one single file, ensuring the UI is fast and very responsive.
    • The SEO plugin
      New Dashboard Widget, contributed by Victor Dibia, that displays the website’s PageRank, Yahoo Backlinks, number of indexes pages, Alexa rank and the domain age, for the website URL recorded in Piwik.

    • Simple Image Tracker
      You can track visitors that don’t use JavaScript using a simple embed image (1×1 pixel) code into a website.
    • PHP Piwik Tracking API
      You can now track visitors that don’t have JavaScript enabled using http tracking API. PHP based websites can use the new tracking client to track their users.
      This is useful in environments where JavaScript cannot be used (e.g. mobile platforms, eBay pages).
    • New tests and huge QA effort
      Anthon setup Jenkins for continuous build integration. Matt added full sets of integration tests, ensuring we always know when we break Piwik tracking, API, Archiving logic.
      Integration tests, unit tests, webtests (testing the installation in a fake browser) and Javascript tests (testing piwik.js) are running after each SVN commit and send message to a list and the developer. These are a major improvements in our Quality Assurance effort, to ensure a stable and bugfree Piwik 1.0.
    • WAA Compliance
      We reviewed Web Analytics Association specifications, and ensured Piwik is compliant with the latest WAA specs.
    • Dashboard widgets will now remember the View type you last clicked and will restore the exact same dashboard each visit.
    • Many bug fixes and improvements

    For Piwik users updating to 0.6.4

    • Security fix: Thank you to Enrico Razza who found and reported to the Piwik team security@piwik.org a vulnerability in Piwik also fixed in 0.6.4.

    List of tickets closed in this milestone

    • #100        Plugin for SEO piwik: alexa, google pagerank, incoming links
    • #1452     Regression: Installer doesn’t try and create the DB anymore
    • #1446     Provide ‘Non Javascript Tracking tag’ and document Tracking push API to piwik.php
    • #818     Setup continuous integration server for Piwik builds
    • #396     Make sure Piwik complies with WAA definitions
    • #660     Make Piwik UI faster: merge all Javascript and CSS files together, minify, cache the merged files on disk
    • #1154     Mockups of new design for the Piwik UI (dasboard, tables, graphs)
    • #1443     Remove from language files lines that don’t have the correct number of %s parameters
    • #1481     Activating plugin requires re-login.
    • #1451     Apache+Rails: malformed REQUEST_URI
    • #1444     CSS conflict in feedback form
    • #1456     Sorting in API without order
    • #90     Widgets should be able to persist some parameters (eg. viewDataTable)
    • #1447     Error in core/Tracker/Db/Mysqli.php
    • #1425     Regression: feedback popup content is loaded by default
    • #1438     Smarty template_c files should be purged on plugin install/uninstall
    • #1442     Replace Html Quickform for GPL compatibility
    • #973     Plugins hook to control the order of entries in the menu
    • #1327     Write Tracker, Archiving and API integration tests.
    • #1472     Super user password reset should alert user when config file not writable
    • #1467     Problem with html-entities in translation
    • #1297     Improve the Visitors > Overview report
    • #1479     SEO plugin doesn’t catch errors.
    • #1484     Bug in download tracking when no other page views
    • #1487     Using PHP classes to call API seems broken
    • #1485     Piwik plugins define their API metadata
    • #1449     Zend Framework update to 1.10.6
    • #1440     Make Piwik_Tracker_Visit::handleKnownVisit hookable
    • #1403     Refactoring the menu classes and adding top menu hookable
    • #1457     Notice: undefined constant E_EXCEPTION
    • #1461     tmp/latest/LATEST: Unit test regression
    • #1464     Yearly evolution doesn’t show unique visitos
    • #1357     endless HTTP 302 Moved Temporarily loop instead of login form
    • #1480     getTablesInstalled: underscore in prefix matches any character
    • #1473     Installation – warning if mbstring extension not enabled
    • #1471     Configure PIWIK_URL and PIWIK_HOST in global.ini.php
    • #1469     File integrity check errors when files not uploaded in binary mode
    • #1340     Installer/Updater: check all directories writeable
    June '10

    21

    Posted by

    in Changelog

    Comments: 1 Comment

    Piwik 0.6.3

    We have just released Piwik 0.6.3, a maitenance release with a some exciting new features.

    • NEW! Goal Plugin is now stable and enabled by default
      We have finished the work on the Goal plugin backend and User Interface. You can now create several Goals by website (eg. ‘Read my page About’ matching url ‘/about/’).
      For each Goal, you will get reports of how the Goal conversions are performing over the last few days or months, but also across your segments: countries, server time, keywords, search engine, website, campaign keyword, etc.
      The Goal overview dashboard gives you a quick overview of all your Goals and you can view detailed reports for each goal.
      Advanced users can also specify a value for each Goal (eg. the Goal ‘Newsletter subscribe’ is worth $1). For Ecommerce items or items with a dynamic price, you can also set the exact price by using the Javascript API function trackGoal().
      You can check out the full user documentation about Tracking Goals in Piwik,
    • Piwik Archiving script on Windows, scaling Piwik on Windows just did get a lot easier as Piwik now comes with a PowerShell script that you can use to perform the archiving process.
      Check out the updated How to setup Piwik for larger websites which now includes instructions for Windows users.
    • The Visitor Generator, a new Plugin that replaces the former generateVisits.php has been added to the core (but plugin is disabled by default) and allows the superuser to generate fake visit data. This is useful if you want to see in more details how Piwik works without real data, and very useful for developers working and testing Piwik.

    For Piwik users updating to 0.6.3

    • Known bug: on the Piwik dashboard in 0.6.3, you might see a “Widget not found”.
      Please remove this widget and add the same widget “Visits > Last Visits graph” again after the Piwik update.
    • User affected by “Piwik 1 is available” message: Users affected are running PHP 5.2.0 (and above) with either safe_mode enabled or open_basedir set, and using the curl extension. You can patch your existing Piwik installation manually since the “one-click” update would fail in this case. We recommend that affected 0.6.2 users replace piwik/core/Http.php with the new version.
      Note: You may have to wait up to 8 hrs for the cached version number to update.

    List of tickets closed in this milestone

    • #774       Finish the Goal Tracking plugin
    • #1152     Deprecate redundant use of plugin getName()
    • #1351     Check and translate errors/exceptions displayed on screen or returned in API calls
    • #1371     generateVisits.php – idSite parameter never in request, defaulting to idSite = 1
    • #1372     Failing requests are not handled properly (jsoncallback, Content-Type, HTTP code)
    • #1374     VisitorGenerator plugin
    • #1386     Update to Zend Framework 1.10.5
    • #1389     Sparklines in Visitors>Overview>Bounce rates does not work (regression)
    • #1390     Use UNSIGNED INT for ip
    • #1391     Update script typos
    • #1392     remove seekport search engine
    • #1393     sendHttpRequest() erroneously returning “1″
    • #1394     changes to searchalot.com search engine
    • #1399     Browsers by Family: pie chart too small; bar chart labels overlap
    • #1402     Unnecessary code in Login/Controller logme()
    • #1408     New Search engine: duckduckgo.com
    • #1410     E_STRICT – Declaration of Piwik_Archive_Array::loadMetadata() incompatible
    • #1412     Fatal error: Class ‘Piwik_Common’ not found in … core/Piwik.php on line 0
    • #1413     UserAgentParser: Safari 4.1 and 5 released
    • #1414     Update to jQuery UI 1.8.2
    • #1415     Handle misconfigured config directory and file permissions
    • #1416     IIS: web.config only allows installation in /piwik subdir
    • #1418     UserAgentParser: handling malformed user agents
    • #1420     Actions -> Pages hangs (Loading…)
    • #1421     Handling/Detecting eval() disabled by suhosin
    • #1426     Google Earth 5.2 – embedded webkit browser
    • #1427     User settings configuration report table is not bounded
    • #1428     The Actions > Page URLs and Page titles reports should have pagination
    • #1431     Flock now based on Chromium and Webkit
    • #1433     ArchiveProcessing unit test failing
    • #1437     Fatal Error in archiver with Turkish locale
    • #1439     Handle archive.sh using php-cgi
    • Updated Bulgarian, German, Greek, French, Norwegian, Polish, Portuguese, Russian translations

    Note: you might encounter in some rare cases, the known bug Call to undefined method Piwik::getLoginPluginName()

    May '10

    28

    Posted by

    in Changelog

    Comments: Leave a Reply

    Piwik 0.6.2

    We are excited to announce the immediate availability of Piwik 0.6.2.

    New features in this release

    • New report: Entry pages and Exit pages. You can now see for each page the number of entrances and exits, the bounce rate and exit rate.
    • In the Pages reports (Pages, Entry pages, Exit pages) you can now click on the icon to open the actual URL tracked in another tab.
    • Added CSV exports that import well in Excel: check out the new TSV (Excel) export link.
    • Added the complete set of favicons for search engines.

    Tickets closed in this milestone

    • #306     Add entry / exit / time per page URL in the Actions > Pages report
    • #426     Google CSE should appear as Google CSE in search engines result
    • #541     How to pronounce Piwik?
    • #556     Add a link to the URL in the Actions > Pages report.
    • #950     “Loading data” position change not restored
    • #969     “Search” functionality doesn’t apply to subtables
    • #1062     IE8 (native mode) regression: clicking on the table rows doesn’t show the sub tables
    • #1153     when config file is not writable, display a warning message
    • #1235     Update to jquery 1.4.2 and jquery-ui 1.8.1
    • #1259     sum_time_spent is not always set in API responses for some rows
    • #1283     Bing image Search
    • #1300     (X)HTML elements don’t have unique ids
    • #1322     Add a “CSV for Excel” download link
    • #1343     Fix missing translations in CoreHome
    • #1344     Fix missing translations in Goals plugin
    • #1345     Piwik One Click Update fails with bogus error if curl_exec times out
    • #1346     Re-opening Feedback form may display previous successfully sent or error message
    • #1347     Undefined index: excluded_parameters in Action.php
    • #1348     Google images not detected anymore
    • #1350     Adding missing search engine favicons
    • #1352     Fixing missing translation in MultiSites
    • #1354     Fix missing translations in title tag of several header.tpl
    • #1359     PHP 5.1.6 errors if EXPERIMENTAL_DATE_SUPPORT enabled
    • #1360     File integrity check regression – first error discarded
    • #1364     Exclude by Cookie – configureable cookie name and path
    • #1365     Update Google Icon
    • #1367     ExampleFeedburner broken
    • #1369     Visitor Generator generates Future Visits
    • #1376     “Ignore” cookie works only for current website
    • #1378     PHP 5.1.6 notices and errors
    • #1381     Add missing Google domains / URLs
    • #1383     Search engine update for 3721.com and Yahoo! China
    • #1384     Overrideable Content-Type for Piwik_View
    • #1387     Search engines: remove duplicate and dead links
    #306 Add entry / exit / time per page URL in the Actions > Pages report
    #426 Google CSE should appear as Google CSE in search engines result
    #541 How to pronounce Piwik?
    #556 Add a link to the URL in the Actions > Pages report.
    #950 “Loading data” position change not restored
    #969 “Search” functionality doesn’t apply to subtables
    #1062 IE8 (native mode) regression: clicking on the table rows doesn’t show the sub tables
    #1153 when config file is not writable, display a warning message
    #1235 Update to jquery 1.4.2 and jquery-ui 1.8.1
    #1259 sum_time_spent is not always set in API responses for some rows
    #1283 Bing image Search
    #1300 (X)HTML elements don’t have unique ids
    #1322 Add a “CSV for Excel” download link
    #1343 Fix missing translations in CoreHome
    #1344 Fix missing translations in Goals plugin
    #1345 Piwik One Click Update fails with bogus error if curl_exec times out
    #1346 Re-opening Feedback form may display previous successfully sent or error message
    #1347 Undefined index: excluded_parameters in Action.php
    #1348 Google images not detected anymore
    #1350 Adding missing search engine favicons
    #1352 Fixing missing translation in MultiSites
    #1354 Fix missing translations in title tag of several header.tpl
    #1359 PHP 5.1.6 errors if EXPERIMENTAL_DATE_SUPPORT enabled
    #1360 File integrity check regression – first error discarded
    #1364 Exclude by Cookie – configureable cookie name and path
    #1365 Update Google Icon
    #1367 ExampleFeedburner broken
    #1369 Visitor Generator generates Future Visits
    #1376 “Ignore” cookie works only for current website
    #1378 PHP 5.1.6 notices and errors
    #1381 Add missing Google domains / URLs
    #1383 Search engine update for 3721.com and Yahoo! China
    #1384 Overrideable Content-Type for Piwik_View
    #1387 Search engines: remove duplicate and dead links
    May '10

    07

    Posted by

    in Changelog

    Comments: 7 Comments

    Piwik 0.6.1

    Announcing Piwik 0.6.1 as a follow up release to 0.6, adding a feature very often requested (exclude visits via a cookie) and fixing a couple bugs reported by 0.6 users.

    New features

    • Exclude your visits via a cookie
    • Page URLs and Page titles reports table are now sortable, like other tables in Piwik

    Tickets closed in this milestone

    • #42     Plugin to exclude the webmaster based on a cookie
    • #487     Data tables under Actions menu not sortable
    • #1118     Pie charts should always contain a catch-all “Others” element
    • #1260     Widget VisitsSummary (getEvolutionGraph) doesn’t work with token_auth
    • #1328     PHP 5.1.x Notice: Object of class Piwik_Date to string conversion
    • #1330     Zend Framework 1.10.4 maintenance update
    • #1336     Fatal error: Call to private method Piwik_Common::getFirstIpFromList()
    • #1337     Create .htaccess files at runtime
    • #1338     piwik shows erroneous future visitor(s) in by hour graph
    May '10

    05

    Posted by

    in Changelog

    Comments: 9 Comments

    Piwik 0.6

    Happy Cinco de Mayo! The Piwik team is pleased to announce the immediate availability of Piwik 0.6.  Please update at your earliest convenience to receive the latest features, bug fixes, and support.

    Major Changes in this Release:

    • Exclude webmaster visits by IP
    • Exclude URL parameters
    • Configurable timezone and currency

    In addition to bug fixes, enhancements, maintenance, and refactoring, a low risk XSS vulnerability was fixed in the Login form.

    Thank You:

    A special thanks to Matthieu, who has taken time off from paid employment, to code full-time on Piwik. As a result, Matt was able to tackle some large scope, long outstanding TODO items, and move us that much closer to 1.0.

    Other contributors to this release include Anthon (vipsoft), lmeyer, halfdan, eagle, and pebosi.

    And a big thank you to all the community members who submitted bug reports, feature requests, and feedback on the 0.6-rc1 release candidate.

    Tickets closed in this milestone:

    • #41 - Plugin to exclude / include only some Urls parameter
    • #43 - Plugin to exclude the webmaster based on IP or IP range
    • #56 - Support for editing the site timezone
    • #401 - define website to load by default when loading the UI (on a per user basis)
    • #526 – Each user should access a page to edit their info: alias, email, password.
    • #835 - Provide language param for widgets calls to select the language to show reports
    • #838 - LiveOverView Plugin
    • #861 - Clearspring Piwik widgets export fails with message: “Thanks for trying Launchpad On-Page. Unfortunately, your user ID is invalid. Please check it and try again.”
    • #882 - Piwik_Query() throws exception when used in a Tracker event hook
    • #1001 - currency for each website
    • #1026 - AnonymousVisits – alternate plugin to exclude storing IP addresses
    • #1137 - Empty sparkline with floats
    • #1149 - Move some useful settings from file to DB and editable via UI
    • #1160 - Include Piwik in SimpleScripts Script
    • #1172 - Move Team Profiles to its own page
    • #1206 - CorePluginsAdmin – should load translations for third-party plugins
    • #1212 - Views should not expect translation strings to have trailing whitespace
    • #1214 - Publish a meet the Piwik Team post
    • #1215 - “File size mismatch” warning with a modified robots.txt
    • #1216 - Auto refresh the MultiSites report page only if date range includes Today
    • #1217 - Feedburner arrows are not displaying correctly
    • #1219 - UserAgentParser : Windows Server 2003 vs Windows XP 64-bit
    • #1220 - Last visits graph -SQLSTATE[42000]: Syntax error
    • #1222 - Document plugin getInformation() and the version number policy
    • #1227 - archive.sh script should loop over all websites and trigger archiving in a separate request for each
    • #1229 - New version update message different for non super user
    • #1236 - Can’t login because nonce regenerated by double page load
    • #1238 - improve detection of msn bot
    • #1241 - Refactor http client methods out of Piwik.php
    • #1242 - Call to protected method Zend_Config::_loadFileErrorHandler()
    • #1247 - Can’t login because getLocalReferer() doesn’t handle reverse proxies
    • #1248 - Remove Installation charset warning and related translation strings (deprecated)
    • #1250 - Installation regressions
    • #1251 - Tracker regressions
    • #1256 - Super user login can contain special characters
    • #1257 - Parameter &url redirection behaves different in 0.5.5
    • #1261 - add: SitesManager getIdFromSite()
    • #1264 - Visit generator not recording visits
    • #1267 - New Search engine: sogou.com
    • #1268 - API: exit_bounce_count is the same as entry_bounce_count and should be deprecated
    • #1269 - Piwik XSS
    • #1273 - Piwik 0.6: docs & faq updates
    • #1275 - ZF 1.10.3 update
    • #1276 - Allow websites to have URLs with é è à
    • #1277 - Icon of 123people.de
    • #1280 - Plugins tab loses selected state
    • #1286 - SearchEngine maintenance
    • #1292 - Deprecate/remove Piwik_Quote()
    • #1293 - UserAgentParser: Nintendo DS/DSi: OS not detected; parses wrong Opera version
    • #1298 - Provide Login help text when nonce / local referrer fail verification
    • #1303 - Unit test regressions
    • #1304 - Delete dashboard settings when deleting user
    • #1306 - Add tracker hook to set idSite
    • #1308 - Delete user language settings when deleting user
    • #1309 - Update Smarty
    • #1310 - Security Plugin fails to recognise suhosin patch
    • #1312 - set_include_path cannot override php_admin_value include_path
    • #1313 - Adding missing search engine favicons
    • #1321 - Missing currency (VEF: Venezuelan Bolivar Fuerte) in trunk
    • #1326 - Installation failed on step 7
    March '10

    19

    Posted by

    in Changelog

    Comments: 16 Comments

    Piwik 0.5.5

    Announcing Piwik 0.5.5. As always, please update to the latest version to receive the latest features, bug fixes, and support.

    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)

    Anthon and Matt contributed the bulk of changes for this release.  Thanks also go out to Andrew Sohn, feyp, halfdan, jr-ewing, masterkeedu, pebosi, and yareckon for patches.

    December '09

    17

    Posted by

    in Changelog

    Comments: 4 Comments

    Piwik 0.5.4

    Merry Christmas! Welcome to another update of your favorite open source, real-time web analytics platform! Piwik 0.5.4 is a maintenance release addressing a couple of bugs that some users have experienced.

    Bug fixes

    • #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
    December '09

    15

    Posted by

    in Changelog

    Comments: 2 Comments

    Piwik 0.5.3

    This is a maintenance release only, which will help some users with the Piwik auto update. A bug in a third party library we were using was causing some errors in the auto update.

    Maintenance

    • Update PclZip library from 2.8 to 2.8.2 which will fix a bug for some users with the Piwik auto update
    • #869 – Installation – detect presence of a reverse proxy and warn if mismatch with $_SERVER['HTTPS']; add ‘reverse_proxy’ config setting
    December '09

    14

    Posted by

    in Changelog

    Piwik 0.5.2

    New Features

    • #389 – MultiSites plugin – this plugin provides a multi-site, bird’s eye view of ALL your sites. An “All Websites” link is added to the top navigation bar. Note that it would have performance issues if your Piwik has more than a few hundreds registered websites. See live demo on piwik.org.
    • #1055 – SecurityInfo plugin – based on PhpSecInfo from the PHP Security Consortium, this plugin provides security information about your PHP environment and offers suggestions for improvement. It is not Piwik-specific. However, it is a useful tool in a multilayered security approach. As such, it does not replace secure development practices nor audit the code/application.

    Bug fixes

    • #1060 – JSON parse error for Goal descriptions containing double quotes.
    • #1065 – Internet Explorer: JSON error when reloading page with Flash
    • #1069 – Dashboard loading error when referencing a widget that no longer exists in an enabled plugin
    • #1062 – Internet Explorer 8: subtables don’t expand with jQuery 1.3.2; quick fix using IE7 compatibility mode
    • #1074 – error messages in Live Controller index()
    • Incorrect locale for Albanian translation

    Maintenance

    • #1072 – wrap plugin author name with author_homepage (instead of homepage)

    Thanks to pebosi, python, and SvenL for patches.

    December '09

    10

    Posted by

    in Changelog

    Comments: 3 Comments

    Piwik 0.5.1

    This is a follow-up release to address some portability issues raised in the recent Piwik 0.5 update.

    Translations
    Kristalin Chavdarov and Besnik Bleta contributed new translations, bringing the total to 32. Please contact Noah to assist with new translations and updates (more information on http://piwik.org/translations/).

    • Adding Bulgarian and Albanian
    • Updating Catalan, Finnish, and Dutch

    Bug Fixes

    • Live! plugin – idaction column renamed to idaction_url
    • Dashboard should exclude disabled widgets — fix for pre-PHP 5.2
    • archive.sh exits early if php5 not found (and script invoked with -e)
    • Fixed create a goal was setting goal type to undefined
    • Fixes #1060 JSON Parse Error in the Goals details page

    Maintenance

    • Embed Flash functionality restored to Widgetize
    • Recognize additional search engines

    Thanks to blueyed for patches.

    December '09

    09

    Posted by

    in Changelog

    Piwik 0.5

    The Piwik development team is releasing Piwik 0.5 to address issues with performance, PHP 5.3.1 compatibility, and a potential security vulnerability in earlier versions of Piwik. We strongly encourage all Piwik users to update. In addition, users will also benefit from new features and bug fixes in this release.

    Automated update
    The automated update was inadvertently broken in 0.4.4 and 0.4.5. If you are running either of these versions, please update manually to 0.5 (see How to update Piwik manually?), preferably by installing Piwik in a fresh folder. Our apologies for the inconvenience.

    Security
    In disclosing this security risk, we urge all Piwik users to update to this release as soon as possible. If you are unable to update at this time, you should make the following changes immediately to secure your Piwik installation:

    • In “core/Cookie.php“, apply this patch
    • Remove the third-party file “libs/open-flash-chart/php-ofc-library/ofc_upload_image.php” (if it exists). (Reference: SA37078 advisory)

    A special thanks to security researcher, Stefan Esser of SektionEins, for his assistance.

    New report

    This release adds a new report to “Actions | Pages” which displays the page Title.  There are now two page reports, Page URLs and Page Titles. The page title can be set via setDocumentTitle(). (Refer to Piwik’s JavaScript tracking API for more info.) In addition, this release addresses a significant table index bottleneck experienced by the largest Piwik instances. As a result of this performance enhancement, this release contains a schema update. If you have a large Piwik database, updates might take too long to run in the browser. If this situation applies to you, you can execute the updates from the shell (command line), e.g.,: $ php path/to/piwik/index.php.

    Live! plugin

    The “alpha” version of the “Live!” visitor plugin has also been updated, thanks to jr-ewing. To activate this plugin, go to “Settings | Plugins” and click on the “Activate” link. This will allow you to add a live visitor widget to the dashboard, and access the “Visitor Log” report from the menu. Please test-drive this plugin and provide feedback on the forum for further improvement. This is a beta release only.

    New Features

    • #530 – Report actions by html page title as well as reporting by URL (or custom page name)
    • #708 – Hash the “name” column (using CRC32 algorithm) to speed up the SELECT idaction in piwik.php
    • #997 – widget+data loaded in a single fetch cutting round-trip delays (latency)

    Bug Fixes

    • #693 – Visit Generator should ask for user confirmation before generating data
    • #905 – tag cloud line breaks
    • #947 – truncated translation string in Flash widget when “no data”; this is now styled consistently with “no data” for tables and tag clouds
    • #959 – Show website name in UI when displaying JavaScript tracking code
    • #967 – non-superuser admin could reduce own access to view/no access
    • #981 – add ORDER BY NULL clause where order doesn’t matter (faster)
    • #994 – set content type to application/JSON for OFC data feed
    • #1004 – add/delete user after changing site selection causes FF to prompt re: resending information
    • #1010 – auto-update failing
    • #1012 – “Database usage” (DBStatus menu) not translated
    • #1013 – html entities not decoded in User Country/Continent data tables
    • #1020 – “Save image locally” (right-click pop-up menu) only worked for last chart; also close stream on ‘Export as image’ pop up window
    • #1033 – archive.sh: readlink -f is not a valid option on FreeBSD
    • #1034 – undefined variable after resetting password
    • #1037 – URL match on ampersand fails on sanitized URL
    • #1039 – Class Piwik_Apiable not found when updating from pre-0.2.10
    • #1053 – suppress “add site” link for non-superuser
    • checking for writable session.savepath

    Maintenance

    • #510 – update to jQuery 1.3.2 and jQuery UI 1.7.2
    • #946 – some CSS cleanup
    • #986 – handle Firefox variant user agent strings (eg development, alpha, or nightly builds)
    • #1029 – replace thickbox 3.1 with jquery ui dialog
    • #1049 – peephole optimizations (assignment to temporary variable before returning it)
    • sync up with Zend Framework 1.9.6

    Piwik core developers Anthon, Maciej, and Matt contributed the bulk of updates for this release, with patches from jr-ewing, kurakin, manne, ogs22, and pebosi. And of course, thank you to the Piwik community and sponsors for your continued support and feedback.

    October '09

    22

    Posted by

    in Changelog

    Comments: 5 Comments

    Piwik 0.4.5

    This is a follow-up release to Piwik 0.4.4 to handle some server environment-specific issues.

    Bug fixes

    • #1008 – open_basedir() restrictions would cause is_writable() to fail with a notice; this was used in determining whether the session.save_path was writable when session.save_handler = files
    • #1009 – one-click update might fail with PIWK_USER_PATH not defined
    • Some non-Apache users reporting Piwik displays only a blank page after the update.

    Maintenance

    • sendHttpRequest() by sockets: increase buffer size and fflush() output.

    Translations

    • Updated French translation.

    Our thanks to all the Trac and forum users who diligently submitted bug reports and feedback. You help make Piwik more stable and usable for everyone.

    We are now working on performance enhancements for Piwik 0.5. Stay tuned!

    October '09

    21

    Posted by

    in Changelog

    Comments: 2 Comments

    Piwik 0.4.4

    New Features
    #425, #904, #908 – Provide MYSQLI support
    #642 – package Piwik for Microsoft Web Application Gallery
    Added Norwegian and Korean translations

    Bug Fixes
    #923 – invalid XML response from UsersManager.getSitesAccessFromUser
    #926 – add character encoding for the Export as Image page
    #935 – re-order code to make global vars available to a plugin’s JavaScript
    #942 – calendar should use server date for ‘today’
    #944 – timestamp should appear before message in log files
    #945 – set session name and prefix session namespaces
    #953 – API doesn’t handle default null parameters well
    #954 – escape left & right brackets in URL; fixes Open Flash Chart error in some environments
    #962, #963 – fix “integer” and “float” detection in getRequestVar(); remove “numeric” default
    #964 – fix Opera 10 detection
    #974 – Swedish characters don’t show up properly in UI
    #975 – reload page if user logs out in another tab
    #976 – exception if session.save_path not writeable
    #978 – fix %ss typo in translations
    #996 – fixes message box error when deleting a website open for editing (Settings | Websites)
    #999 – suppress top bar navigation links for disabled plugins
    #1003 – fix problem with empty translation strings
    #1005 – delete obsolete directories for users updating from pre-Piwik 0.2.10
    #1007 – workaround Opera 9.22 EMCAScript engine (parser bug)
    - Add IGNORE keyword to ALTER statement; MySQL in ‘strict’ mode was erroring out ‘Incorrect integer value’.
    - Fix color assignments when more than 8 items loaded in Evolution chart

    Maintenance

    Updated Catalan, Greek, Spanish, French, Italian, Dutch, Russian, Serbian translations
    #497 – Update to Zend Framework 1.9.4
    #540 – adding support for plugins that define their own unit tests
    #632 – move local mods to subclassed ZF classes
    #749 – Login form changes
    #913 – add detection for Iron web browser
    #916 – update search engines list; remove some duplicates
    #918 – filter out newest Googlebot
    #919 – more helpful help text (Installation)
    #921, #922 – Added Piwik_View::factory().
    #925 – add curl & stream fallback methods to sendHttpRequest()
    #929, #941 – minor css changes
    #937 – set_time_limit() refactoring
    #951 – remove download and outlink variable names from global.ini.php
    #956 – json_encode or xml extensions required; add system checks to Installation
    #957 – adding support for Tracker plugin unit testing
    #958 – update the Live/Bing bot filter
    #971 – Update to Open Flash Charts version 2 Lug Wrym Charmer
    #995 – add bz2 and tbz2 to list of recognized download extensions in piwik.js; updated QUnit
    - consistent use of Piwik_TranslateException()
    - changes to isPhpCliMode()
    - phpdoc updates

    Translations
    #759, #924, #937, #939 – We need your help translating the Installation and CoreUpdater plugins! The strings are now fully translatable. We’ve added browser language detection and a language selection drop down.

    Our thanks to anush, bodo, cn_dark, feyp, hansfn, jpfle, pebosi, Glen Solsberry, and Ralf Trattman for patches.

    August '09

    11

    Posted by

    in Changelog

    Comments: 2 Comments

    Piwik 0.4.3

    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.

    Thanks to kolchak, kurakin, pebosi, and Uli for providing patches!

    July '09

    24

    Posted by

    in Changelog

    Comments: 1 Comment

    Piwik 0.4.2

    - ADDED Belarusian (by Fat Cow), Lithuanian language (from Donatas Stonys)
    - UPDATED Danish, Spanish, French, Italian, Slovak, Swedish, Thai languages
    - FIXED #794 Updated swfobject
    - FIXED #839 JSON Parse error passing floats when set_range() expects ints
    - FIXED #843 PHP 5.3 compatibility
    - FIXED #809 Fixed Notice in archiving (guard against empty archive ID list)
    - FIXED #828 Piwik uses Zend_Session / Zend_Session_Namespace
    - FIXED #848 updated PclZip to v2.8
    - FIXED #849 updated and added missing flag images
    - FIXED #803 removed unnecessary require_once from core, plugins now that autoloader is implemented
    - FIXED #865 unix_socket supported
    - FIXED #745 Page names are recorded but if a “/0/” if in the URL it is removed
    - FIXED #768 restore the noscript call in the javascript tracking code
    - FIXED #852 disabled ActiveX plugin detection in IE
    - FIXED #856 updated PEAR HTML_Common from 1.2.4 to 1.2.5, HTML_QuickForm from 3.2.8 to 3.2.10.
    - FIXED #857 Added Silverlight and Google Gears detection
    - FIXED #842 Now computing the real number of unique visitors per month and week
    - FIXED #824 Archiving bug with deeply nested action urls in some rare cases
    - FIXED #816 small inconsistency in javascript tracking API for the setXClasses method (see updated javascript API)
    - FIXED #875 JavaScript error with IE6 and navigator.javaEnabled as rvalue
    - FIXED #831 Patching archive.sh for other names of php-binaries than “php5″
    - ADDED a few search engines

    June '09

    24

    Posted by

    in Changelog

    Comments: 5 Comments

    Piwik 0.4.1

    We release today 0.4.1 mostly for compatibility with the newly released PHP 5.2.10.

    - FIXED #821 Piwik is PHP 5.2.10 Compatible: Incompatible method declaration in Piwik_Log_APICall
    - ADDED #778 javascript API to trigger a goal trackGoal. See documentation for trackGoal Javascript function
    - FIXED #814 sourceElement can become NULL in function clickHandler
    - FIXED #760 Changes to ‘Basic HTML’ format
    - FIXED #742 Open Flash Chart update to Version2 Kvasir
    - FIXED #820 Piwik_ViewDataTable: $this->dataTable->getFirstRow() returns false and attempts to access getColumns()
    - FIXED #815 password reset should be reset only when email was successfully sent
    - FIXED #808 OFC2 export as image broken on IE8
    - FIXED #805 PHP session settings
    - FIXED #620 Piwik should use autoload (lazy load) classes instead of using require_once
    - FIXED #798 IE6 error when clicking on menu: flash object not destroyed properly (patch by Marc Trudel)
    - FIXED #795 Flash Widgets – “loading-blue.gif” never finishes
    - FIXED #697 Campaign parameter ignored when not as first parameter
    - FIXED #786 Installation on IIS fails with http status 405 error
    - FIXED #787 change to support embedded widgets across domains; add sample cross domain policy (install in wwwroot and edit list of permitted hosts)
    - FIXED #785 Bug the new piwik.js from Version 0.4 doesn’t work with perfectlightbox
    - FIXED #736 unset cookie value if set(name, val) is called with val = Null
    - FIXED #810 Class ‘Piwik_URL’ not found
    - FIXED #784 Error when deleting a goal
    - FIXED #783 Piwik includes wrong Zend library

    Most patches for 0.4.1 were submitted by Anthon Pang.