Matomo平台更新日志

Matomo平台更新日志

这是Matomo平台开发人员的开发人员更新日志。在我们的HTTP API的所有变化,插件,主题,sdk等都列在下面。

产品变更日志m.hju8.com/changelog让您看到关于任何Matomo发行版的更多详细信息,例如新指南和常见问题,安全修复,以及所有已关闭问题的链接。

Matomo 5.0.0

突发的变化

  • AngularJS已经完全从代码库中移除,现有的AngularJS代码将不再工作。建议将该代码转换为Vue。
  • 常见的::fixLbrace ()功能已被删除。它只在AngularJS中是必需的,不再需要使用。
  • 弃用的JSON2API格式现在已被删除。我们建议切换到JSONRenderer,它的行为是一样的。
  • javascript事件piwikPageChange,在加载报表页面时触发,已重命名为matomoPageChange.如果依赖于实现,请确保更新它。
  • 插件名称现在限制在60个字符。如果你曾经有一个较长的插件名,你可能需要重命名它。
  • 即instance_id配置不再支持除无所不包的0 - 9还有特殊的字符_。.如果配置的值包含其他字符,它们将被简单地删除。

新的api

  • Piwik \请求已经介绍过。它将允许从请求中获取参数,可选地验证/转换为特定类型。使用这个类来支持常见的::getRequestVar
  • 所有API现在都能够覆盖该属性autoSanitizeInputParams美元.将此变量设置为会不会防止自动应用常见的::sanitizeInputValues传递给API方法的所有参数。到目前为止,此属性默认为真正的,但这可能会在即将发布的主要版本中改变。
  • 所有API方法现在都可以使用类型提示参数。这允许强制以已定义的类型提供某些参数。如果使用不匹配的类型调用API,则将触发一个错误,而根本不调用方法。只支持基本类型:string, int, float, bool, array

的用法

  • 该方法常见的::getRequestVar现在已弃用,但将保留API直到Matomo 6。您可能已经开始使用这个新类Piwik \请求相反,但要确保自己处理必要的消毒/逃避。

其他突破性变化

  • 对ASPSMS和Clockwork API的请求不再接受无效的SSL证书。如果您遇到移动消息问题,请检查您的SSL设置。

存档

  • 当发布事件时Archiving.getIdSitesToMarkArchivesAsInvalidated开始传递日期,期间,段和名称参数连同idSites参数。

更新命令

  • 同时运行的归档程序进程的默认最大数量已从无限制更改为3个。的——concurrent-archivers参数可用于增加此限制。值-1将使用无限数量的并发归档器

Matomo 4.13.1

新的config.ini.php设置

  • 三个新的配置设置ssl_disallow_self_signedssl_verify_peerssl_verify_peer_name在[mail]下允许修改SMTP请求中的SSL处理。

Matomo 4.13.0

新的config.ini.php设置

  • 一个新的配置设置enable_opcache_reset违约,1.的配置开关opcache_reset当一般缓存被清除。这对于宁愿自己管理opcache重置的多租户安装可能很有用。这也可以被脚本用来临时关闭opcache重置。

Matomo 4.12.0

突发的变化

  • 方法删除用户时UsersManager.deleteUserAPI使用会话认证,一个新参数passwordConfirmation需要与包含发出API请求的用户的当前密码的请求一起发送。
  • 方法添加用户时UsersManager.addUserAPI使用会话认证,一个新参数passwordConfirmation需要与包含发出API请求的用户的当前密码的请求一起发送。
  • 控件邀请用户时UsersManager.inviteUserAPI使用会话认证,一个新参数passwordConfirmation需要与包含发出API请求的用户的当前密码的请求一起发送。

新的PHP事件

  • 添加了新的事件Login.userRequiresPasswordConfirmation,可以在登录插件中使用,以避免在UI和某些API方法中进行密码确认
  • 删除站点时SitesManager.deleteSiteAPI使用会话认证,一个新参数passwordConfirmation需要与包含发出API请求的用户的当前密码的请求一起发送。

新的隐私选择退出选项

  • 隐私管理器iframe选择退出UI已被替换为生成JavaScript选择退出代码(使用Matomo跟踪器)或生成自包含的JavaScript选择退出代码(直接设置同意cookie)。现有的iframe退出选项仍然有效,但是UI将不再生成iframe退出代码,因为大多数主流浏览器都不再支持iframes中的第三方cookie。

JavaScript追踪

新的api

  • 的方法setExcludedReferrers而且getExcludedReferrers已添加到JavaScript跟踪器。它们允许设置和接收JavaScript跟踪器应该忽略的引用。如果一个推荐人与该列表中的条目匹配,它将不会与跟踪请求一起传递,并且属性cookie将保持不变。例如,如果您需要将用户转发到SSO或支付等外部服务,并且不希望将任何访问或转换归因于这些服务,则可以使用这种方法。

Matomo 4.11.0

突发的变化

  • 用户管理UI不再允许直接创建新用户(使用密码)。相反,邀请可以通过电子邮件发送。仍然可以使用API直接创建新用户。

新的config.ini.php设置

  • 通用配置设置force_matomo_http_request默认为0。如果Matomo实例不能通过HTTPS向m.hju8.com发出请求,可以将该值设置为1,以强制Matomo marketplace和Matomo api请求使用HTTP而不是HTTPS。

新的PHP事件

  • 添加了新的事件UsersManager.inviteUser.end,该命令会在新用户被邀请后触发
  • 添加了新的事件UsersManager.inviteUser.resendInvite,该命令会在用户重新发出邀请后触发
  • 添加了新的事件UsersManager.inviteUser.accepted,在邀请被接受后触发
  • 添加了新的事件UsersManager.inviteUser.declined,在邀请被拒绝后触发

  • 现有事件UsersManager.addUser.end只有在使用API添加用户时才会触发。

Matomo 4.10.0

突发的变化

  • 就像访问文件一样plugin.json可能会透露版本细节,json文件现在将不再被视为可以安全提供的静态文件。因此json将不再包括在生成的静态文件扩展名列表中. htaccess文件。

Matomo 4.8.0

新的config.ini.php设置

  • 配置设置enable_default_location_provider跟踪器已添加。通过将此选项设置为0,可以禁用默认位置提供程序。如果配置的提供程序没有提供任何结果,这可以用来防止地理定位器根据用户的语言猜测国家。

新的PHP事件

  • 添加了新的事件Segment.filterSegments.插件可以使用它来过滤段定义。

Matomo 4.7.0

弃用api

  • piwik-field和相关指令已转换为Vue和模板文件属性现在被认为已弃用,并将在Matomo 5中删除。相反,组件属性应该用于添加一个新的表单字段,它应该是一个具有两个引用Vue组件的属性的对象,插件而且的名字,在那里插件Vue组件所在的插件和的名字是组件导出的Vue名称。

新更改通知

  • 插件现在可以提供一个更改列表,该列表将显示为“What's New?”菜单通知的一部分。了解更多关于如何在开发人员指南。

Matomo 4.6.0

新框架

新的api

  • 新的API方法SecurityPolicy.addPolicySecurityPolicy.overridePolicySecurityPolicy.removeDirectiveSecurityPolicy.allowEmbedPageSecurityPolicy.disable允许开发人员修改或禁用默认的内容安全策略。插件\控制器有了新成员securityPolicy所以插件可以使用$ this - > securityPolicy在需要自定义内容安全策略时访问这些新方法。

突发的变化

  • 随着Vue 3的引入,我们也放弃了对IE11的支持。所有新支持的浏览器都由browserslist工具决定。运行npx browserslist将列出当前支持的浏览器。
  • 当一个网站的电子商务功能被禁用时,Live API将不再返回与电子商务相关的访问者属性totalEcommerceRevenuetotalEcommerceConversionstotalEcommerceItemstotalAbandonedCartsRevenuetotalAbandonedCarts而且totalAbandonedCartsItems
  • 内容安全策略(在Matomo 4.4.0中添加)默认情况下不再处于仅报告模式。

新的config.ini.php设置

  • 配置设置contact_email_address一般已添加。它将被用作用户的联系电子邮件地址。如果没有定义(默认),所有超级用户的所有电子邮件地址将被使用,这等于它过去的行为。

Matomo 4.4.0

突发的变化

  • logme方法自动登录现在在默认情况下禁用新安装。对于现有的安装,它将在更新时自动启用。如果您不需要它,请考虑出于安全原因再次禁用它Login_allow_logme = 0一般的部分config.ini.php
  • 重定向使用url参数,用于自动登录操作logme,将不再重定向到不受信任的主机。如果您需要做重定向到其他url,请添加相应的主机作为trusted_hosts进入config.ini.php

新的config.ini.php设置

  • 当从代理报头(如X-Forwarded-For)确定客户端IP地址时,Matomo将默认查看列表中的第一个IP。如果需要读取最后一个IP,则使用新的INI配置选项(一般)proxy_ip_read_last_in_list设置为1.当您将代理标头与负载均衡器结合使用时,使用最后一个IP会更安全。
  • Matomo日志现在可以写入"errorlog"(使用error_log() php函数的日志)和"syslog"(日志到syslog服务)(补充现有的日志写入器:"screen", "file", "database")。学习更多的知识。

新命令

  • 增加了新的命令核心:版本它返回Matomo版本号。

Matomo 4.3.1

新命令

  • 增加了新的命令核心:create-security-files它会创建一些以前不存在的web服务器安全文件(在使用例如Apache或IIS web服务器时很有用)。

安装Matomo 4.3.0

JavaScript追踪

Matomo JS跟踪器的突破性变化

  • 在JS跟踪器方法之前,enableLinkTracking没有跟随DOM的变化,从这个版本开始,当DOM更新时,Matomo自动为页面上的新链接添加事件监听器。它可以更容易地跟踪spa中链接的点击。从这个版本开始,如果我们使用addListener方法在DOM更改后手动添加事件侦听器enableLinkTracking时,我们将跟踪该元素的单击事件两次。

突发的变化

  • 以前每个JS错误都被跟踪,从这个版本开始,相同的JS错误在每个页面视图中只被跟踪一次。如果同样的错误发生了多次,那么在同一个页面视图中只会跟踪它一次。如果跟踪了另一个页面视图,或者当页面重新加载时,将再次跟踪该错误。
  • 不再可以直接在会话对象中存储任何类实例。请使用数组或普通数据代替。

即将到来的突破性变化

  • 在Matomo 4.3.0中,我们在CorePluginsAdmin中添加了一个“passwordConfirmation”参数。setSystemSettings API方法。它目前是可选的,但在4.4.0版本中将成为强制性的。插件开发者和API用户应该确保在此之前更新他们的插件和应用程序。

新的config.ini.php设置

  • password_hash_algorithmpassword_hash_argon2_threadspassword_hash_argon2_memory_cost而且password_hash_argon2_time_costINI配置选项已添加,以允许使用特定的password_hash算法和选项,如果需要。
  • enable_php_profiler新增INI配置选项。在Matomo中允许剖析之前,这个值必须设置为1。

Matomo 4.2.0

新的config.ini.php设置

  • 配置设置geolocation_download_from_trusted_hosts介绍了。下载GeoIP数据库现在将仅限于那些配置的主机。

Matomo以下4.4.1

修改config.ini.php设置

  • 配置设置login_password_recovery_email_address而且login_password_recovery_name已删除,以避免发送恢复邮件时可能的SMTP问题。noreply_email_address而且noreply_email_name将被使用。

Matomo 4.0.0

JavaScript追踪

Matomo JS跟踪器的突破性变化

  • Matomo不再填充JSONJavaScript跟踪器中的对象。这意味着跟踪器将不再支持IE7及以上版本,Firefox 3及以上版本。
  • JavaScript跟踪器现在使用sendBeacon默认为浏览器支持。您可以通过调用跟踪器方法禁用此功能disableAlwaysUseSendBeacon.因此,回调参数将不再工作,跟踪请求可能不会出现在开发人员工具中。这将提高你的网站的加载时间。跟踪请求将作为POST请求而不是GET发送,但参数默认包含在URL中,因此它们不会在重定向中丢失。
  • JS跟踪器事件PiwikInitialized已重命名为MatomoInitialized
  • 对这些浏览器插件的跟踪和报告支持已经停止:Gears, Director
  • 扩展JS跟踪器的插件现在应该将它们的回调添加到matomoPluginAsyncInit而不是piwikPluginAsyncInit
  • 访问者ID cookie现在包含更少的数据(由于_idvc, _idts, _views和_ects跟踪参数不再使用)。如果您使用Matomo PHP跟踪器并将访问者cookie转发给它,那么这将是一个突破性的更改,您将需要升级PHP跟踪器以与Matomo 4一起使用。
  • 跟踪法setVisitStandardLength已经被移除,因为不再需要它了。
  • 跟踪法setGenerationTimeMs (generationTime)已经被删除,因为现在使用的是性能API。对该方法的任何调用都将被忽略。目前还没有可用的替代品。

Matomo JS跟踪器中的弃用

  • JS的Tracker方法getPiwikUrl已弃用和getMatomoUrl应该改为使用。
  • JS Tracker的init方法piwikAsyncInit已弃用和matomoAsyncInit应该改为使用。
  • JS对象窗口。Piwik已弃用和窗口。Matomo应该改为使用。

Matomo JS跟踪器的建议

这些只是建议(因为我们将保持向后兼容性多年),但我们确实建议您更新您的代码以保持一致性,并为未来的跟踪打样:

  • 如果使用piwik_ignoreCSS类忽略外链接,我们建议替换它matomo_ignore
  • 如果使用piwik_downloadCSS类标记的链接,我们建议将其替换为下载matomo_download
  • 如果使用内容跟踪,我们建议替换以下CSS类piwikTrackContentpiwikContentPiecepiwikContentTarget,piwikContentIgnoreInteractionmatomoTrackContentmatomoContentPiecematomoContentTarget,matomoContentIgnoreInteraction
  • 我们也鼓励使用matomo.jsJS跟踪器文件代替piwik.js而且matomo.php跟踪器端点而不是piwik.php端点。

新的api

  • 一个新的JS跟踪器方法getMatomoUrl已添加替换哪个getPiwikUrl

HTTP api

打破HTTP API的更改

格式更改
  • JSON2API格式现在已弃用,现在默认应用。JSON2渲染器将在Matomo 5中被移除,我们建议切换到JSON渲染器。
  • JSON渲染器现在的行为像以前一样JSON2渲染器。这意味着数组像['a' => 0, 'b' => 1]将在JSON中呈现为{“a”:0,“b”:1}而不是[{“a”:0,“b”:1}].这会影响以下API方法:
    • API.getSettings
    • Annotations.get
    • Goals.getGoal
    • UsersManager.getUser
    • UsersManager.getUserByEmail
    • SitesManager.getSiteFromId
  • API响应格式php已被删除。
  • 的批量请求中的单个请求的响应API.getBulkRequest如果API返回一个标量值(例如5).在这种情况下,响应将是no longer5但是举个例子{值:5}
方法改变
  • API方法UsersManager.getTokenAuth已被删除。相反,你需要使用UsersManager.createAppSpecificTokenAuth并将此令牌存储在应用程序中。
  • API方法UsersManager.createTokenAuth已被删除。相反,你需要使用UsersManager.createAppSpecificTokenAuth并将此令牌存储在应用程序中。
  • API方法DevicesDetection.getBrowserFamilies已被删除。相反,你需要使用DevicesDetection.getBrowsers
  • API方法CustomPiwikJs.doesIncludePluginTrackersAutomatically已重命名为CustomJsTracker.doesIncludePluginTrackersAutomatically
  • API方法Live.getLastVisitsForVisitor已被删除。使用Live.getVisitorProfile代替。
  • API方法Live.getLastVisits已被删除。使用Live.getLastVisitsDetails代替。
  • 这些API方法已经被移除:API.getDefaultMetricTranslationsAPI.getLogoUrlAPI.getHeaderLogoUrlAPI.getSVGLogoUrlAPI.hasSVGLogo
  • 这些API方法已经被移除:SitesManager.getSitesIdWithVisitsSitesManager.isSiteSpecificUserAgentExcludeEnabledSitesManager.setSiteSpecificUserAgentExcludeEnabled
  • 这些API方法已经被移除:Referrers.getKeywordsForPageUrl而且Referrers.getKeywordsForPageTitle.使用Referrers.getKeywords而是与a结合entryPageUrlentryPageTitle段。
  • 的参数别名从API方法UsersManager.addUser而且UsersManager.updateUser已被删除。

HTTP跟踪API

  • 一个可选的新跟踪参数ca已添加,可用于跟踪请求,不是页面浏览量看到# 16569

PHP插件API

新的PHP事件

  • 添加了新的事件Db.getTablesInstalled,插件应该用来注册他们创建的表。

破坏PHP事件中的更改

  • 事件CustomPiwikJs.piwikJsChanged已重命名为CustomJsTracker.trackerJsChanged
  • 事件CustomPiwikJs.shouldAddTrackerFile已重命名为CustomJsTracker.shouldAddTrackerFile
  • 事件CustomMatomoJs.shouldAddTrackerFile已重命名为CustomJsTracker.manipulateJsTracker
  • 事件Live.getAllVisitorDetails已被删除。使用一个VisitorDetails类代替(见Live插件)。
  • 事件Live.getExtraVisitorDetails”已被删除。使用VisitorDetails在每个插件中改为。
  • 事件Piwik.getJavascriptCode已重命名为Tracker.getJavascriptCode
  • 事件LanguageManager.getAvailableLanguages已被删除。使用LanguagesManager.getAvailableLanguages代替。
  • 美元完成` CronArchive.archiveSingleSite `的参数。“完成”事件已被删除。对于这个事件和CronArchive.archiveSingleSite.start事件,都为进程的pid添加了一个新参数。多个进程现在可以为相同的站点ID触发此事件。

删除了PHP插件API中的方法和常量

  • 该方法\ Piwik \插件:getListHooksRegistered ()已被删除。使用\ Piwik \插件:registerEvents ()而不是
  • 该方法\ Piwik \ Piwik: doAsSuperUser ()已被删除。使用\ Piwik \访问::doAsSuperUser ()而不是
  • 该方法\ Piwik \ SettingsPiwik: isPiwikInstalled ()已被删除。使用\ Piwik \ SettingsPiwik: isMatomoInstalled ()而不是
  • 该方法\ Piwik \更新::getSql ()已被删除。使用\ Piwik \更新::getMigrations ()而不是
  • 该方法\ Piwik \更新::getMigrationQueries ()已被删除。使用\ Piwik \更新::getMigrations ()而不是
  • 该方法\ Piwik \更新::executeMigrationQueries ()已被删除。使用\ Piwik \更新::executeMigrations ()而不是
  • 该方法\ Piwik \更新:更新()已被删除。使用\ Piwik \更新::doUpdate ()而不是
  • 该方法\ Piwik \ Updater: updateDatabase ()已被删除。该方法不再需要。
  • 该方法\ Piwik \常见:json_encode ()已被删除。使用json_encode ()而不是
  • 该方法\ Piwik \常见:json_decode ()已被删除。使用json_decode ()而不是
  • 该方法\ Piwik \常见:getContinentsList ()已被删除。使用\ \ Piwik \ Intl \数据提供者\ RegionDataProvider:: getContinentList ()而不是
  • 该方法\ Piwik \常见:getCountriesList ()已被删除。使用\ \ Piwik \ Intl \数据提供者\ RegionDataProvider:: getCountriesList ()而不是
  • 该方法\ Piwik \常见:getLanguagesList ()已被删除。使用\ \ Piwik \ Intl \数据提供者\ LanguageDataProvider:: getLanguagesList ()而不是
  • 该方法\ Piwik \常见:getLanguageToCountryList ()已被删除。使用\ \ Piwik \ Intl \数据提供者\ LanguageDataProvider:: getLanguageToCountryList ()而不是
  • 该方法\ Piwik \网站::getCurrencyList ()已被删除。使用\ \ Piwik \ Intl \数据提供者\ CurrencyDataProvider:: getCurrencyList ()而不是
  • 该方法\ Piwik \ Piwik: setUserHasSuperUserAccess ()已被删除。使用\ Piwik \访问::doAsSuperUser ()而不是
  • \ Piwik \ MetricsFormatter已被删除。使用Piwik \指标\格式化程序Piwik \指标\格式化程序\ Html而不是
  • \ Piwik \注册表已被删除。使用\ Piwik \ \ StaticContainer容器而不是
  • \ Piwik \ TaskScheduler已被删除。使用调度器\ Piwik \ \调度器而不是
  • \ Piwik \ DeviceDetectorFactory已被删除。使用\ Piwik \ DeviceDetector \ DeviceDetectorFactory而不是
  • \ Piwik \ ScheduledTask已被删除。使用调度器\ Piwik \ \任务代替。
  • \ Piwik \翻译已被删除。使用翻译\ Piwik \ \翻译代替。
  • 登录\ Piwik \ Plugins \ \ SessionInitializer不再被认为是API,因为不再需要它。
  • \ Piwik \ \ StaticContainer容器它仍然存在,但我们不再认为它是一个API,应该尽可能地使用构造函数注入。
  • 该方法Piwik \ \列维度:工厂已被删除。使用DimensionsProvider:工厂代替。
  • 该方法Piwik \ Config::重置已被删除。使用重新加载方法相反。
  • 该方法Piwik \ Config:: init已被删除。使用重载()方法相反。
  • 该方法Piwik \ Db:: getColumnNamesFromTable已被删除。使用TableMetadata: getColumns方法相反。
  • 该方法Piwik \会议\ SessionInitializer:: getHashTokenAuth已被删除。这种方法已经没有必要了。
  • 该方法Piwik \追踪::getDatetimeFromTimestamp已被删除。使用Piwik \日期::getDatetimeFromTimestamp代替。
  • 该方法尺寸::addSegment ()已被删除。参见新的实现DimensionSegmentFactory: createSegment对于更换
  • 常数Piwik \ Plugins \ \ API:目标:NEW_VISIT_SEGMENT已被删除。使用Piwik \ Plugins \ VisitFrequency \ API:: NEW_VISITOR_SEGMENT代替。
  • 签字尺寸::configureSegments ()已经改变了。与配置Metrics类似,它现在需要两个参数SegmentsList SegmentsList美元而且DimensionSegmentFactory DimensionSegmentFactory美元
  • 事件的标志Segment.addSegments已经改变了。它现在有一个参数美元SegmentsList列表,它允许向列表中添加新段
  • 核心插件CustomPiwikJs已重命名为CustomJsTracker
  • Piwik \ Plugins \ CustomPiwikJs \ TrackerUpdater已重命名为Piwik \ Plugins \ CustomJsTracker \ TrackerUpdater
  • 该方法Piwik \饼干:集不再接受数组作为值
  • Zend_Validate所有的子类都被完全删除了。
  • Matomo的邮件组件(Piwik \邮件)已被改写:
    • Zend_Mail已被删除。Piwik \邮件现在是一个独立的类。
    • PHPMailer现在用于发送邮件邮件\ \ Piwik \运输并且可以用DI代替。
    • 各种方法Piwik \邮件已删除或更改其签名。

新的api

  • 新的APIUsersManager.createAppSpecificTokenAuth已添加用于为用户创建应用程序特定的令牌。
  • 新方法常见的::hashEquals已添加用于定时攻击安全字符串比较。
  • 报告API:现在可以应用了hideColumns通过设置递归到嵌套值hideColumnsRecursively = 1.对所有生活这是API方法的默认行为。

其他突破性变化

  • 在将报告(小部件)嵌入到不同的站点时,不再可能使用至少具有写访问权限的用户的身份验证令牌,除非(一般)enable_framed_allow_write_admin_token_auth是集。这意味着如果您目前依赖于此功能,则在更新到matomo 4时需要更新您的matomo配置。或者,创建一个用户视图访问并使用该用户的令牌来嵌入报表。
  • 原木进口商misc /日志分析现在支持Python 3(3.5, 3.6, 3.7或3.8),它将不再与Python 2一起运行。如果您有任何运行导入器的自动化脚本,则必须将它们更改为使用Python 3可执行文件。
  • 弃用piwik字体被删除。使用matomo字体相反
  • JavaScript AjaxHelper不再支持同步请求。所有请求都将以异步方式发送。
  • 控制台选项——piwik-domain已被删除。使用——matomo-domain而不是
  • 控制器动作Proxy.redirect已被删除。相反,直接在HTML中链接到URL并设置一个属性rel = " noreferrer noopener”
  • GeoIP Legacy支持已完全移除。GeoIP Legacy的用户需要设置一个新的位置提供程序,如GeoIP2,否则将使用默认的位置提供程序。
  • 站点搜索类别和计数不再存储为自定义变量。这也意味着它们现在将在动作细节中有一个额外的字段,并且不再出现在自定义变量中。
  • 维度和log_link_visit_action列interaction_position已重命名为pageview_position。如果数据库查询依赖于列,则可以简单地替换名称。
  • 度量(平均)页面生成时间已弃用。现在已经不可能再追踪了。已经跟踪的值仍然会显示在旧的报告中。更详细的性能指标现在可在PagePerformance插件。
  • 增加了对战役名称参数的支持matomo_campaign/mtm_campaigncampaign关键字参数matomo_kwd/mtm_kwd
  • 以下维度已被删除并替换为测量秒的版本:visitor_days_since_first, visitor_days_since_last, visitor_days_since_order
  • 跟踪器参数_idvc, _idts, _viewts和_ects不再使用,数值由服务器端计算。注意:在服务器端跟踪这些值意味着重放过去的日志数据将导致这些维度的值不准确。
  • 更新依赖注入库PHP-DI。有些定义需要更新
    • 该方法DI \ \对象()已被删除。你可以使用DI \ \自动装配()DI \ \ create ()代替。
    • 该方法DI \ \链接()已被删除。使用DI \ \ get ()代替。
    • 在配置中定义全局观察者函数现在需要将函数包装进去DI \ \值(),除非他们是一家工厂。

新的config.ini.php设置

  • Host_validation_use_server_name = 0,如果设置为1,Matomo将更喜欢使用SERVER_NAME变量而不是HTTP_HOST。这可以添加额外的安全层,因为在正确配置时,SERVER_NAME不能通过发送自定义主机标头来操作。

Matomo 3.14.0

新的API

添加了以下新的JavaScript跟踪器方法:

  • _paq.push(['setVisitorId', visitorId]);.这可以用来强制指定一个特定的visitorId。它接受一个16位的十六进制字符串。
  • _paq.push ([' requireCookieConsent ']);.如果只有在得到同意的情况下才应该使用cookie,则调用此方法。
  • _paq.push ([' rememberCookieConsentGiven ']);.当用户同意cookie时调用此方法。
  • _paq.push ([' forgetCookieConsentGiven ']);.当用户撤销cookie同意时调用此方法。
  • _paq.push ([' setCookieConsentGiven ']);.调用此方法让跟踪器知道当前页面视图的同意(在请求之间不会被记住)。
  • 欲了解更多关于同意的信息,请访问https://developer.m.hju8.com/guides/tracking-javascript-guide#asking-for-consent

Matomo 3.13.6

API的变化

  • 第一个参数userLoginUsersManager.getUserPreference方法现在是可选的,默认为当前经过身份验证的用户登录。

Matomo 3.13.5

新的API

  • 新事件ArchiveProcessor.ComputeNbUniques.getIdSites添加了插件,以便插件在处理特定站点的唯一访问者和用户数量时可以更改应该包括哪些站点id。

Matomo 3.13.1

的用法

  • 的方法\ Piwik \ Plugins \ SitesManager \ isSiteSpecificUserAgentExcludeEnabled ()而且\ Piwik \ Plugins \ SitesManager \ setSiteSpecificUserAgentExcludeEnabled ()已弃用。
  • 该方法\ Piwik \ SettingsServer: isMatomoForWordPress ()添加了插件可以检测插件是否在Matomo for WordPress或Matomo On-Premise内执行亚博账号每天2000元出租

Matomo 3.13.0

新的API

  • 新跟踪方法setVisitStandardLength它允许您配置自定义访问标准长度,以防在配置中配置了自定义“visit_standard_length”。设置仅在启用心跳时生效。
  • 添加了新的事件Metrics.isLowerValueBetter因此,插件可以定义是否较低的度量值对额外的度量值更好。

其他的变化

  • 用户ID不再与访问者ID链接。具有不同用户ID的操作仍将被视为不同访问的一部分,而不考虑其访问者ID,但相同的访问者ID可以用于不同的用户ID。

Matomo 3.12.0

新的API

  • 添加了新的事件Visualization.beforeRender,在呈现可视化之前立即触发。
  • 添加了新的事件Http.sendHttpRequest而且Http.sendHttpRequest.end所以插件可以监听外部HTTP请求,监控它们,或者自己解决请求。
  • 添加了新的事件CliMulti.supportsAsync所以插件可以通过命令行强制或禁用存档功能

Matomo 3.10.0

突发的变化

  • 属性赋予用户超级用户访问权限时UsersManager.setSuperUserAccessAPI,一个新参数passwordConfirmation需要与包含发出API请求的用户的当前密码的请求一起发送。
  • 网站引用url现在只使用域而不是域和路径检测。这意味着如果你在同一个域名上有两个不同的网站,但路径不同,访问者从一个访问到另一个,它不会有一个引用网站集。
  • 设置的自定义维度值setCustomDimension现在都是URL编码的(以前不是)。如果在调用之前手动对自定义维度值进行URL编码setCustomDimension,您的自定义维度值出现在报告和访问量日志/访问者配置文件现在可能是双重URL编码。要解决双重编码问题,可以删除URL编码,并相信Matomo JavaScript Tracker将正确地对值进行URL编码。

新的api

  • 一种新的跟踪方法已添加手动发送ping请求,而不是使用心跳计时器。
  • 添加了新的事件ViewDataTable.configure.end,在视图配置属性被保存的设置和查询参数覆盖后触发。

Matomo 3.9.0

突发的变化

  • Referrers.getKeywordsForPageUrl而且Referrers.getKeywordsForPageTitleapi已经弃用,并将在Matomo 4.0.0中删除
  • 默认情况下,Matomo应用程序日志现在是否可以登录tmp /日志/ matomo.log而不是tmp /日志/ piwik.log.这个日志文件路径可以在INI设置中的config/config. INI .php中编辑logger_file_path

新功能

  • 现在可以通过设置环境变量在自定义目录中定位插件MATOMO_PLUGIN_DIRS或者一个全局美元(“MATOMO_PLUGIN_DIRS”)变量$ MATOMO_ROOT / bootstrap.php
  • 现在可以使用monolog的FingersCrossedHandler来缓冲所有的日志,并在警告或错误的情况下记录所有的日志。

新的api

  • 新的API方法Piwik \插件\经理::getPluginsDirectories ()而且Piwik \插件\经理::getPluginDirectory (pluginName美元)添加了Matomo插件,因为现在可以在不同的目录中找到Matomo插件,不应该再假设插件位于“/plugins”目录中。
  • 一种新的跟踪方法disableQueueRequest已添加到禁用排队请求,这在导入日志时可能有用。
  • 事件LanguageManager.getAvailableLanguages已弃用。使用LanguagesManager.getAvailableLanguages代替。

Matomo 3.8.0

突发的变化

  • 修改电子邮件地址或密码时UsersManager.updateUserAPI,一个新参数passwordConfirmation需要与包含发出API请求的用户的当前密码的请求一起发送。
  • API方法中的输出类型为“save on disk”ScheduledReport.generateReport已被下载输出类型所取代。
  • 该方法Piwik \ Piwik:: doAsSuperUser已弃用,将在Matomo 4中移除。使用Piwik \访问::doAsSuperUser代替。

新的api

  • 现在可以使用该方法在JavaScript跟踪器上对请求进行排队queueRequest (requestUrl).这对于将多个跟踪请求分组为一个批量请求非常有用,可以减少发送到服务器的跟踪请求数量,从而提高跟踪效率。
  • 当在跟踪器方法中的JavaScript跟踪器中指定回调时,我们现在确保即使在错误情况下或在使用sentBeacon时也执行回调。回调接收一个事件参数,以确定发送了哪个请求以及请求是否发送成功。
  • 添加了新的事件Metrics.getEvolutionUnit它允许您为演进图和行演进中使用的度量设置单位。

新功能

  • 日志导入器现在支持——tracker-endpoint-path参数,该参数允许您使用不同的跟踪器端点/ piwik.php,如果需要的话。
  • 现在可以通过INI配置为不同的日志写入器定义不同的日志级别。例如,设置log_level_file为文件写入器设置日志级别,或者设置log_level_screen为屏幕写入器设置日志级别。

内部的变化

  • 新的Matomo安装现在默认使用“Matomo .js”和“Matomo .php”作为跟踪端点。从Matomo 4.0开始,所有安装将默认使用“Matomo .js”和“Matomo .php”。我们建议您确保这些文件可以通过网络访问,并且不会被阻止。

的用法

  • 该方法Piwik \ SettingsPiwik: isPiwikInstalled ()已弃用并重命名为isMatomoInstalled ().仍然支持使用该方法,但该方法将在Piwik 4.0.0中被删除

Matomo 3.6.1

新的api

  • 添加了新的事件Access.modifyUserAccess允许插件修改当前用户的访问级别/权限。
  • 添加了新的事件CustomMatomoJs.manipulateJsTracker它允许插件修改JavaScript跟踪器。

新的开发人员功能

  • 现在可以在测试期间轻松启用记录到文件的功能。一个新的[测试]enable_loggingINI选项已添加,您可以设置为1为所有测试启用日志记录。的运行测试:而且测试:run-ui命令现在都有一个——启用日志记录选项,为特定的运行启用日志记录。

Matomo 3.6.0

新功能

  • 引入了一个名为“写”的新角色,其权限比管理员少,但比只读用户多(看到常见问题解答).
  • 属性可以添加自定义货币货币[]配置的关键。
  • 新细分市场eventValue允许您选择跟踪具有给定值或值范围的自定义事件的所有用户。

新的config.ini.php设置

  • archiiving_profile = 0,如果设置为1,则core:存档剖析信息将被记录到日志文件中。日志文件由archive_profiling_log选择。
  • archive_profiling_log =,如果设置为绝对路径,core:archive剖析信息将被记录到指定的文件中。
  • enable_internet_features = 0将通过阻止所有外发连接来完全禁用互联网访问。注意:出于安全考虑,不建议更改此设置,因为您将失去简单的自动更新和电子邮件通知。
  • login_whitelist_ip []现在支持主机名,所以您可以白名单您的IP地址和/或主机名,并保持您的Matomo安全。

更新命令

  • 新的参数——concurrent-archivers定义在此服务器上并行运行的最大归档程序数。有助于防止存档进程堆积并最终失败。

新的api

  • 添加了新的事件API.addGlossaryItems它允许您向术语表中添加条目。
  • 添加了新的事件Tracker.detectReferrerSocialNetwork是什么让你添加自定义社交网络检测
  • 添加了新的事件Report.unsubscribe当有人取消订阅报表时会触发哪个
  • 增加了新的API方法UsersManager.getAvailableRoles获取可授予用户的所有可用角色的列表。
  • 增加了新的API方法UsersManager.getAvailableCapabilities获取可授予用户的所有可用功能的列表。
  • 增加了新的API方法UsersManager.addCapabilities向用户授予一个或多个功能。
  • 增加了新的API方法UsersManager.removeCapabilities从用户中删除一个或多个功能。
  • API方法UsersManager.setUserAccess现在接受一个数组同时传递一个角色和多个功能。
  • 插件类可以覆盖该方法requiresInternetConnection定义在没有Internet连接时是否应该自动卸载它们(enable_internet_features = 0)
  • 在JS跟踪器中添加了两个新方法:removeEcommerceItem而且clearEcommerceCart为了更好地控制电子商务购物车中的商品。
  • 跟踪API请求现在包括同意= 1在跟踪API URL时同意已由用户给出。

突发的变化

  • 将一些菜单项改为使用翻译键(参见公关# 12885).
  • 的方法assertResponseCode ()而且assertHttpResponseText ()Piwik \测试\ \ TestCase \ SystemTestCase框架已弃用,将在Matomo 4.0中移除。请使用Piwik \ Http代替。
  • 的类PHPUnit) \ \约束\ HttpResponseText框架而且PHPUnit) \ \约束\ ResponseCode框架已弃用,将在Matomo 4.0中移除。请使用Piwik \ Http代替。
  • 通过代理创建链接已弃用。使用rel="nofollow"代替。
  • 控制台选项——piwik-domain已弃用,将在Matomo 4.0中移除。使用——matomo-domain而不是
  • 社交网络现在被检测为新的推荐人类型(ID=7),这允许改进报告和更好的细分
  • 新的设置表单字段UI组件“字段数组”,允许用户为一个设置输入多个值作为平面数组

Matomo 3.5.1

新的api

  • 增加了新的方法Piwik \ \ API请求:isRootRequestApiRequest ()来检测根请求是否是API请求。

Matomo 3.5.0

突发的变化

  • 扁平动作url报告现在总是包含一个前导/并且将不再包括default_action_name.如。路径/ /索引现在将是/ /路径.这可能会影响配置的自定义警报,因为这个插件使用扁平的url报告进行比较。

新的api

  • 新的JavaScript跟踪函数征求同意requireConsentrememberConsentGivensetConsentGivenforgetConsentGiven

新功能

  • 新事件PrivacyManager.deleteLogsOlderThanPrivacyManager.exportDataSubjects而且PrivacyManager.deleteDataSubjects使插件符合GDPR。
  • 新的事件AssetManager.addStylesheets添加文件中没有的样式。
  • 新的事件Archiving.getIdSitesToMarkArchivesAsInvalidated这使得插件可以自定义报告失效的行为。
  • 报告和可视化现在可以禁用'all'行限制选择器:视图- >配置- > disable_all_rows_filter_limit
  • 新的设置表单字段UI组件“Multi Tuple”,允许用户为一个设置输入多个值

Matomo 3.4.0

突发的变化

piwik字体已弃用,将在Matomo 4.0中删除。请使用新的matomo使用ajaxHelper发送同步请求现在已弃用。从Matomo 4.0开始,所有请求都将异步发送

新的api

  • 一个新的JavaScript跟踪器方法resetUserId已添加以允许清除用户和访客id。
  • 新事件Actions.addActionTypes已添加,以允许插件添加他们的自定义动作类型。
  • 这些方法扩展了仪表板APIcopyDashboardToUsercreateNewDashboardForUserremoveDashboard而且resetDashboardLayout
    • 现在还可以出于自动化的目的删除用户的第一个仪表板。这样做而不添加新的第一个仪表板可能会导致有bug的UX。
    • getDashboardsAPI方法已通过附加参数进行扩展,以获取特定用户的仪表板
  • 新事件API.Request.intercept添加了允许插件拦截API请求来执行自定义逻辑,覆盖原来的API方法。
  • 新事件Request.shouldDisablePostProcessing添加了允许插件禁用数据表后处理个别API请求。
  • 新事件SitesManager.shouldPerformEmptySiteCheck已添加到允许插件禁用空站点检查个别网站。
  • 一个新的JavaScript跟踪器方法getCrossDomainLinkingUrlParameter已添加,因此您可以添加跨域跟踪功能动态创建的链接。在这里学习如何将结果附加到链接的url,请参阅“高级:处理动态生成的链接”部分。

Matomo 3.3.0

Piwik现在是Matomo。阅读更多关于这一变化官方声明

新的api

  • 新的HTTP APIAPI.getMatomoVersion介绍了。前面的HTTP APIAPI.getPiwikVersion将仍然工作,但现在将从API参考页隐藏。

Piwik 3.2.2

突发的变化

  • historyService随着broadcast.initbroadcast.propagateAjaxbroadcast.pageLoad已弃用,并将在Piwik 4中删除。

Piwik 3.2.1之上

新的api

新功能

  • 主题现在可以自定义标题文本颜色使用@theme-color-header-text
  • 新的事件Widgetize.shouldEmbedIframeEmpty这样插件就可以自己定义小部件化HTML的输出
  • 添加了新的事件,用于添加和过滤访问者详细信息:Live.addProfileSummaries而且Live.filterProfileSummaries
  • 新的JavaScript方法piwikHelper.registerShortcut允许插件绑定键盘快捷键。按下按钮将显示可用快捷方式的摘要?

Piwik 3.2.0

新段

  • 新增部分:visitStartServerMinute服务器时间-分钟(开始访问)
  • 新增部分:visitEndServerMinutefor服务器时间-分钟(访问结束)
  • 添加了新的事件,用于添加和过滤访问者详细信息:Live.addVisitorDetails而且Live.filterVisitorDetails

新的api

  • 报告和可视化现在可以用一个新属性隐藏导出图标视图- >配置- > show_export
  • 报告和可视化现在可以在报告上方显示带有新属性的消息视图- >配置- > show_header_message
  • 新增如下事件:
    • Metric.addMetrics触发添加不能被平台自动拾取的新指标。
    • Metric.addComputedMetrics触发以添加不是自动生成的计算指标
    • Metric.filterMetrics触发筛选指标
  • 添加了以下新的API类:
    • Piwik \ \ MetricsList列保存所有可用指标的列表
    • Piwik \ \ ComputedMetricFactory列可以用来创建计算指标吗
    • Piwik \ \ DimensionMetricFactory列可以直接用于在维度中创建度量

新功能

  • 新的config.ini.php设置show_update_notification_to_superusers_only可以隐藏所有用户的更新通知,除了超级用户

Piwik 3.1.0

突发的变化

  • 事件Live.getAllVisitorDetails已弃用,将在Piwik 4中删除。使用一个VisitorDetails类代替(见Live插件)。

新功能

  • 新方法setSecureCookie这将设置cookie的安全参数

新的api

  • 的事件ScheduledTasks.shouldExecuteTaskScheduledTasks.executeScheduledTasks.execute.end已添加自定义计划任务的行为。
  • 新事件CustomPiwikJs.shouldAddTrackerFile已经添加到让插件自定义跟踪文件应该包括在piwiki .js JavaScript跟踪
  • 新事件Login.authenticate.successful已添加,当用户成功登录时触发
  • 一个新的API类Piwik \ Plugins \ CustomPiwikJs \ TrackerUpdater已添加更新piwiki .js JavaScript跟踪器

新命令

  • 的命令插件:激活而且插件:禁用现在可以同时激活和禁用多个插件吗

Piwik 3.0.4

新的api

  • 新事件Db.getActionReferenceColumnsByTable已添加的情况下,插件定义了一个自定义日志表引用数据的log_action表
  • 事件System.addSystemSummaryItems而且System.filterSystemSummaryItems已添加,以便插件可以添加项目和过滤项目的系统摘要小部件
  • 一个新的JavaScript跟踪器方法getPiwikUrl已添加检索Piwik实例所在的URL
  • 一个新的JavaScript跟踪器方法getCurrentUrl已添加检索网站的当前URL。
  • 一个新的JavaScript跟踪器方法getNumTrackedPageViews已添加以检索当前加载的页面或web应用程序中跟踪的页面视图数。
  • 新的JavaScript跟踪器方法setSessionCookiegetCookiehasCookiesgetCookieDomaingetCookiePath,getSessionCookieTimeout在插件中添加了更好的cookie支持。
  • 电子邮件而且url表单字段现在可以在设置中使用。

Piwik 3.0.3

突发的变化

  • 新的配置设置enable_plugin_upload允许您通过超级用户上传和安装Piwik插件ZIP文件。这在默认情况下是启用的,但出于安全原因,现在默认禁用了。
  • 新建报表类属性报告::$ supportsFlatten允许您定义报表是否支持扁平化(默认为真正的).如果设置为它也会凝固ViewDataTable \ Config: show_flatten_table美元

新的api

  • 新事件Controller.triggerAdminNotifications添加了让插件知道他们应该在管理中触发通知。

库更新

  • pChart库已被删除,取而代之的是CpChart,一个pChart分支与作曲家支持和PSR标准。

Piwik 3.0.2

新功能

  • 添加了一个新的短信报告的短信提供商:ASPSMS.com

新的api

  • JavaScript跟踪器现在支持跨域跟踪。为此添加了以下跟踪器方法:enableCrossDomainLinkingdisableCrossDomainLinkingisCrossDomainLinkingEnabled
  • 添加JavaScript跟踪器方法getLinkTrackingTimer获取配置的链路跟踪时间的值
  • 添加JavaScript跟踪器方法deleteCustomVariables删除一定范围内的所有自定义变量
  • 该方法enableLinkTracking现在可以调用几次,使Piwik意识到新添加的链接,当你的DOM改变
  • 增加了一个新方法Piwik \插件\报告::getMetricNamesToProcessReportTotals ()这允许您定义哪些指标应该在悬停的表格报告可视化中显示百分比。如果定义了,这些百分比将自动计算。
  • 事件Tracker.newConversionInformation现在提交第四个新的参数美元的行动
  • 新的HTTP API方法UserCountry.getCountryCodeMapping获取已使用国家代码到国家名称的列表

变化

  • SMS提供者现在可以通过覆盖来定义他们的凭据字段getCredentialFields ().这使得SMS提供程序不仅仅需要一个API密钥。
  • 因此,MobileMessaging API方法setSMSAPICredential ()现在接受第二个参数作为一个充满凭据的数组(而不是包含API密钥的字符串)

Piwik 3.0.1

新的api

  • 实时API响应现在返回一个新字段' generationtimemillisecseconds '(本页的生成时间,单位为毫秒),该字段在内部用于处理游客概要
  • 添加了新的事件MultiSites.filterRowsForTotalsCalculation来过滤哪些网站将包括在所有网站仪表板总数计算。
  • 该方法Piwik \插件\文档:shouldRunEvenWhenNoVisits ()已添加。通过覆盖这个方法并返回true,一个插件存档器可以强制存档运行,即使没有访问网站/日期/时期/段组合(默认情况下,没有访问时跳过存档)。

Piwik 3.0.0

新指南

阅读更多关于从Piwik 2迁移插件的信息。X到Piwik 3我们的迁移指南

突发的变化

  • 当使用Piwik JavaScript跟踪通过_paq.push,现在需要配置跟踪器(例如呼叫setSiteId而且setTrackerUrl)在piwik.js加载JavaScript跟踪器以确保跟踪器正确工作。如果跟踪器没有正确初始化,浏览器控制台将显示错误“_paq.push()被使用,但Piwik跟踪器没有在Piwik .js文件加载之前初始化。”[…]”
  • UserManager API方法不再返回任何方法token_auth属性
  • 菜单类Piwik \ \ MenuReporting菜单而且Piwik \ \ MenuMain菜单已被移除
  • Piwik \插件\小部件已经被移除并被Piwik部件\ \小部件.从现在开始,每个小部件都需要一个类。您可以通过生成小部件。/控制台生成:小部件
  • Piwik \ WidgetList班级已移至Piwik \部件\ WidgetsList
  • 该方法Piwik \ Plugins \ API \ API: getLastDate ()已被删除。
  • 该方法Piwik \ Archive:: getDataTableFromArchive ()已删除,使用Piwik \ Archive:: createDataTableFromArchive代替。
  • 该方法Piwik \插件\菜单::configureReportingMenu已被删除。要向报告菜单中添加内容,您需要创建小部件
  • 该方法报告::configureWidget ()报告::getWidgetTitle ()而且报告::configureReportingMenu ()已经被移除,使用新方法吗报告::configureWidgets ()代替。
  • 该方法报告::getCategory ()已经转移到报告::getCategoryId ()并且不再返回已翻译的类别,而是返回类别的翻译键。
  • 房地产报告::$类别已重命名为报告::$被标记
  • 的方法报告::工厂()报告::getAllReportClasses ()报告:getAllReports已经搬到Piwik \插件\报告类。
  • 的属性报告::$ widgetTitle报告::$ widgetParams而且报告::$ menuTitle被移走,用什么方法报告::configureWidgets ()创建小部件
  • 在HTTP API方法中Dashboard.getDefaultDashboard而且Dashboard.getUserDashboards我们不再删除不存在的小部件,因为实际存在的小部件取决于客户端
  • 该方法Piwik \插件\控制器::getEvolutionHtml已被删除,没有替换,因为它应该不再需要。演进是由ViewDataTables直接生成的
  • 核心:插件控制台命令已被删除,以支持新的插件:列表插件:激活而且插件:禁用在Piwik 2.11中发布的命令
  • 中的私有属性和方法的可见性Piwik登录\ \ Plugins \控制器改为受保护的
  • 控制器动作现在区分大小写了。这意味着URL和事件必须使用与控制器中定义的动作名称相同的大小写。
  • 在调用HTTP Reporting API时,现在总是应用默认的筛选器限制100。默认过滤器限制过去不应用于不返回报告的API调用,例如在请求站点、用户或目标信息时。
  • “用户菜单”已被删除,并应由“管理菜单”取代。改变configureUserMenu (MenuUser菜单美元)configureAdminMenu (MenuAdmin菜单美元)在你的Menu.php
  • 该方法Piwik \菜单\ MenuAbstract: add ()已删除,使用Piwik \菜单\ MenuAbstract: addItem ()而不是
  • 该方法Piwik \菜单\ MenuAdmin: addSettingsItem ()被移除,使用Piwik \菜单\ MenuAdmin: addSystemItem ()代替。
  • 新方法Piwik \菜单\ MenuAdmin: addMeasurablesItem ()是补充道。
  • Piwik \插件\设置已被拆分为Piwik \ \插件\ SystemSettings设置而且Piwik \ \插件\ UserSettings设置
  • 设置的创建略有改变,以提高性能。现在可以通过该方法创建新的设置$ this - > makeSetting ()看到Piwik \ Plugins \ ExampleSettingsPlugin \ SystemSettings举个例子。
  • 不再可以为设置定义介绍文本。
  • 如果为一个报告请求多个时间段,定义范围的键将不再转换。例如,在3.0之前,API响应可能包含:也就是现在<结果日期= " 2010-02-01,2010-02-01 " >
  • 如前所述,已删除以下已弃用事件。
    • Tracker.existingVisitInformation使用而不是使用跟踪器事件。
    • Tracker.newVisitorInformation
    • Tracker.recordAction
    • Tracker.recordEcommerceGoal
    • Tracker.recordStandardGoals
    • API.getSegmentDimensionMetadata中定义段而不是
    • Menu.Admin.addItems创建一个菜单而不是使用菜单事件
    • Menu.Reporting.addItems
    • Menu.Top.addItems
    • ViewDataTable.addViewDataTable创建一个可视化而不是
    • ViewDataTable.getDefaultType中指定默认类型报告而不是
    • Login.authenticate创建一个自定义的SessionInitializer,而不是使用登录事件
    • Login.initSession.end
    • Login.authenticate.successful
  • 当发布一个事件时API.Request.dispatchAPI.Request.dispatch.endAPI。插件。apiAction美元,或API。插件。apiAction.end美元finalParameters美元参数在Piwik 2中被索引(例如数组(1,6)),并在Piwik 3中命名(例如数组('idSite' => 1, 'idGoal' => 6)
  • 使用已删除的小部件UserSettings插件将不再工作。请根据下面的列表更新小部件url中的模块和操作参数
旧的模块 旧的行动 新模块 新的操作
UserSettings getPlugin DevicePlugins getPlugin
UserSettings 指数 DevicesDetection 软件
UserSettings getBrowser DevicesDetection getBrowsers
UserSettings getBrowserVersions DevicesDetection getBrowserVersions
UserSettings getMobileVsDesktop DevicesDetection 方法
UserSettings getOS DevicesDetection getOsVersions
UserSettings getOSFamily DevicesDetection getOsFamilies
UserSettings getBrowserType DevicesDetection getBrowserEngines
UserSettings getResolution 决议 getResolution
UserSettings getConfiguration 决议 getConfiguration
UserSettings getLanguage UserLanguage getLanguage
UserSettings getLanguageCode UserLanguage getLanguageCode

阅读更多关于从Piwik 2迁移插件的信息。X到Piwik 3迁移向导

的用法

  • 该方法Piwik \更新::getMigrationQueries ()已弃用并重命名为getMigrations ().仍然支持使用该方法,但该方法将在Piwik 4.0.0中被删除
  • 该方法Piwik \ Updater: executeMigrationQueries ()已弃用并重命名为executeMigrations.仍然支持使用该方法,但该方法将在Piwik 4.0.0中被删除。

新的api

  • 控件可以为一个报表创建多个小部件报告::configureWidgets ()方法Piwik \部件\ ReportWidgetFactory而且Piwik \部件\ ReportWidgetConfig
  • 这是一个新的性质报告::$子类它允许您向报表UI中添加报表。如果具有此名称的页面还不存在,则将自动创建该页面。新增的方法报告::getSubCategory ()让你得到这个值。
  • 新的职业Piwik部件\ \小部件Piwik \部件\ WidgetConfig而且Piwik \部件\ WidgetContainerConfig允许您创建一个新的小部件。
  • 新班级Piwik \类别\子类别允许您更改菜单项的名称和顺序
  • 新的HTTP API方法API.getWidgetMetadata获取可用小部件的列表
  • 新的HTTP API方法API.getReportPagesMetadata获取现有的所有可用页面(包括其中包含的小部件)的列表
  • 新的HTTP API方法SitesManager.getSiteSettings获取特定站点的所有可用设置的列表
  • JavaScript的AjaxHelper有一个新方法ajaxHelper.withTokenInUrl ()轻松地沿XHR发送令牌。在控制器中,这个令牌的存在可以通过$ this - > checkTokenInUrl ();防止CSRF攻击。
  • 新班级Piwik迁移\ Updater \ \工厂允许您轻松创建可以在更新期间执行的迁移。例如数据库或插件相关的迁移。执行迁移生成新的更新。/控制台生成:更新
  • 新方法Piwik \ Updater:: executeMigration允许您执行一次迁移。
  • 新方法Piwik \段::willBeArchived让你检测一个段是否会被存档。
  • 新增如下事件:
    • ViewDataTable.filterViewDataTable允许您筛选可用的可视化
    • Dimension.addDimension允许您添加自定义尺寸
    • Dimension.filterDimension允许您筛选任何维度
    • Report.addReports允许您添加动态创建的报表
    • Report.filterReports允许您过滤任何报告
    • Updater.componentUpdated内核或插件更新后触发
    • PluginManager.pluginInstalled安装插件后触发
    • PluginManager.pluginUninstalled卸载插件后触发
    • Updater.componentInstalled安装组件后触发
    • Updater.componentUninstalled卸载组件后触发
  • 新的HTTP跟踪API参数pv_id它接受一个六个字符的唯一ID,用来识别在特定的页面视图上执行了哪些操作。阅读更多有关HTTP跟踪API
  • 新的事件Segment.addSegments它允许你添加段。
  • 新的Piwik JavaScript跟踪方法disableHeartBeatTimer ()禁用之前已启用的心跳计时器。
  • SitesManager.getJavascriptTag有一个新的选项getJavascriptTag来跟踪禁用JavaScript的用户

变化

  • 新的现在接受跟踪请求最多1天过去,而不是只有4小时
  • 如果跟踪请求有一个超过一天的自定义时间戳,并且跟踪请求没有经过身份验证,我们将忽略整个跟踪请求,而不是忽略自定义时间戳,并仍然使用当前时间戳跟踪请求

新功能

  • Piwik JavaScript跟踪API:当用户使用鼠标中间点击或鼠标右键单击时,我们现在尝试跟踪下载和输出链接。以前只对下载和输出链接进行左键点击。
  • 新的“Sparklines”可视化,允许您创建一个显示多个Sparklines的小部件。
  • 新的config.ini.php设置:tracking_requests_require_authentication_when_custom_timestamp_newer_than更改Piwik在不进行身份验证的情况下跟踪请求的时间。缺省值为86400(一天)。配置的单位是秒。

库更新

  • AngularJS从1.2.28更新到1.4.3
  • 更新了几个后端库到最新版本:doctrine/cache, php-di。

内部的变化

  • 不再支持IE8。这只影响Piwik UI,不影响Piwik.js跟踪器。
  • 要求的PHP版本从5.3增加到5.5.9
  • 为了进行UI截图测试,我们已经将PhantomJS 1.9更新到2.1.1。

Piwik 2.16.3

新的api

  • Piwik JavaScript跟踪器有一个新方法trackRequest可以将任何跟踪参数发送到Piwik。例如_paq.push(['trackRequest', 'te=foo&bar=baz'])

内部变化

  • UI测试的预期截图现在使用Git LFS而不是子模块存储。运行、创建或更新UI测试需要安装Git LFS。重命名包含预期截图的文件夹expected-ui-screenshotsexpected-screenshots.UI-Test-Runner现在能够处理这两个名称。

Piwik 2.16.2

新的api

  • 现在可以轻松创建多个JavaScript跟踪器_paq.push(['addTracker', piwikUrl, piwikSiteId]).所有的跟踪请求将被发送到所有添加的Piwik跟踪器。学习更多的知识。
  • 可以获得异步创建的跟踪器实例(addTracker)通过方法Piwik。getAsyncTracker (optionalPiwikUrl optionalPiwikSiteId).这允许您获取跟踪器实例,并向该Piwik实例发送不同的跟踪请求,并对其进行与其他跟踪器实例不同的配置。
  • 增加了一个新的API方法Goals.getGoal($idSite, $idGoal)只为达到一个目标。

内部的变化

  • Piwik现在与PHP7兼容。
  • piwik.js,如果调用该方法setDomains请注意,行为略有变化。如果没有任何给定的主机别名作为参数传递给,那么当前页面域(主机名)将被自动添加setDomains包含一个路径,如果没有主机别名,则为当前主机别名。假设你在"example.org"并设置hostAlias = ['example.com', 'example.org/test']那么当前的“example.org”域名将不会被添加,因为已经给出了一个更严格的hostAlias 'example.org/test'。我们也不会自动添加当前页面域(主机名)如果有任何其他主机指定任何路径,如[' example.com ', ' example2.com/test '].在本例中,我们也不会自动添加当前页面域“example.org”,因为使用了“path”特性。只要有人使用路径功能,Piwik JS跟踪器在所有情况下都能正确工作,就需要手动指定所有主机。学习更多的知识。
  • piwik.js:在电子商务订单被跟踪后使用trackEcommerceOrder,购物车中的物品现在将从JavaScript对象中删除。调用trackEcommerceCartUpdate不会移除购物车中的物品。

Piwik 2.16.1

新功能

  • 新方法setIsWritableByCurrentUserSystemSetting通过DI更改某些系统设置的可写权限。
  • JS追踪:setDomains函数现在支持页面通配符匹配。example.com/index *什么时候有用跟踪Piwik中一个单独网站域中的一组页面
  • 要自定义要从URL中删除的URL查询参数列表,现在可以定义和覆盖url_query_parameter_to_exclude_from_urlINI设置config.ini.php文件。默认情况下,以下查询字符串参数将被删除:Gclid, fb_xd_fragment, fb_comment_id, phpsessid, jsessionid, sessionid, aspsessionid, doing_wp_cron, sid

的用法

  • 以下PHP函数已弃用,并将在Piwik 3.0中删除:
    • SettingsServer: isApache ()

新指南

突发的变化

  • 报告API:当CSV或TSV (excel)数据导出中的单元格值以字符开头时-+, Piwik现在会给值加上前缀以确保在Excel或OpenOffice/LibreOffice中正确显示。

内部的变化

  • 跟踪API:默认情况下,当跟踪一个Page URL时,Piwik现在将删除URL查询字符串参数sid如果找到了。
  • 在JavaScript跟踪器中,函数setDomains将不再尝试设置cookie路径。了解更多正确配置跟踪器当跟踪一个或多个域和/或路径时。

Piwik 2.16.1

内部的变化

  • 设置(一般)enable_marketplace = 0/1被移除,取而代之的是新的插件市场可以被禁用/启用。更新程序应该自动迁移现有设置。

Piwik 2.16.0

新功能

  • 新段actionType让您分割给定类型的所有动作,例如。actionType = =事件actionType = =下载.动作类型值为:页面浏览量内容sitesearches事件outlinks下载
  • 新段actionUrl让您细分任何动作,匹配给定的URL,无论是他们是网页浏览量,网站搜索,内容,下载或事件。
  • 新段deviceBrand允许你限制用户使用特定的设备品牌,如苹果,三星,LG,谷歌,诺基亚,索尼,联想,阿尔卡特等。查看设备品牌的完整列表。
  • 新的分段运营商= ^“以”和开始= $“以”结束补充现有的段操作符:包含,不包含,等于,不等于,大于或等于,小于或等于。
  • JavaScript跟踪器方法PiwikTracker.setDomains ()现在可以处理路径了。这意味着当设置eg_paq.push(['setDomains, '*.m.hju8.com/website1'])所有链接都指向同一个域m.hju8.com而不是其他的路径website1 / *将被视为外链。
  • 在Administration > Websites中,对于每个网站,都有一个复选框“仅当操作URL以上述URL之一开始时跟踪访问和操作”。在Piwik 2.14.0中,任何以Alias URL之一开始的操作URL或以Alias URL的子域开始的操作URL都将被跟踪。从Piwik 2.15.0开始,当启用此复选框时,它可能会跟踪更少的数据:Alias URL子域上的动作URL将不再被跟踪(必须将每个子域指定为Alias URL)。
  • 现在可以传递一个选项了php-cli-options核心:存档命令。给定的cli选项将被转发给实际的PHP命令。例如,这允许为存档进程指定不同的内存限制,如下所示:./console core:archive——php-cli-options="-d memory_limit=8G"
  • 新的较小变量@theme-color-menu-contrast-textSelected它允许您指定所选菜单项的颜色。
  • 在管理>诊断中,有一个新页面配置文件这让超级用户查看所有配置值global.ini.php在UI中,以及它们是否被你的配置/ config.ini.php

新命令

  • 新命令配置:设置允许您从命令行设置INI配置选项。该命令可用于方便或自动化。

内部变化

  • UsersManager。*API调用:当API请求指定token_auth的用户管理权限,返回的数据集将不包括所有的用户名之前,API现在将只返回用户的用户名视图管理允许网站(s)可见此token_auth
  • 当生成一个新的插件骨架通过生成:插件命令,插件名称现在必须只包含字母和数字。
  • JavaScript跟踪器测试不再需要SQLite.现在使用现有的MySQL测试配置。为了运行测试,请确保安装了Piwik(database_tests)配置为配置/ config.ini.php
  • 搜索引擎和社交网络检测的定义已经从捆绑的数据文件转移到一个单独的包中https://github.com/matomo-org/searchengine-and-social-list).
  • UI截图测试,测试环境configOverride设置应该不再被覆盖。相反,新值应该添加到现有值中configOverride数组在PHP或JavaScript。例如,与其testEnvironment。configOverride={group: {name: 1}}使用testEnvironment。overrideConfig('group', 'name', '1')

新的api

  • 类中创建一个新类,添加您自己的SMS/Text提供程序SMSProvider插件的目录。该类必须进行扩展Piwik \ Plugins \ MobileMessaging \ SMSProvider并实现所需的方法。
  • 段现在可以由多个段的并集组成。为此,为该段设置一个应使用的段数组段- > setUnionOfSegments(数组(“outlinkUrl”、“downloadUrl”))而不是定义SQL列。

的用法

  • 该方法DB: tableExists没有使用过,已经被移除。

Piwik 2.15.0

新命令

  • 新命令诊断:analyze-archive-table分析归档表的工具
  • 新命令数据库:optimize-archive-tables优化归档表并可能节省磁盘空间(即使在InnoDB上)
  • 新命令核心:invalidate-report-data要使存档数据无效(w/ period级联)(常见问题解答

新的api和特性

  • Piwik 2.15.0现在基本上与PHP7兼容。
  • JavaScript跟踪器piwik.js有了新方法logAllContentBlocksOnPage将页面中找到的所有内容块记录到控制台。这对于调试/测试内容跟踪非常有用。它可以通过_paq.push ([' logAllContentBlocksOnPage '])
  • Piwik登录\ \ Plugins \控制器现在被认为是一个公共API。
  • 新方法Piwik \菜单\ MenuAbstract: registerMenuIcon ()可用于为菜单类别定义一个图标,以取代默认的箭头图标。
  • 新的事件CronArchive.getIdSitesNotUsingTracker它允许您设置一个不使用跟踪API的idSites列表,以确保我们在需要时存档这些网站。
  • 新事件CronArchive.init.start当CLI归档器启动时触发CronArchive.end当存档结束时。
  • Piwik跟踪器现在可以配置严格的内容安全策略(CSP常见问题解答).
  • 超级用户可以选择是否使用最新的稳定版本或最新的长期支持版本。

突发的变化

  • 该方法尺寸::getId ()已设置为最后.不允许重写此方法。
  • 我们修复了一个API方法的错误Sites.getPatternMatchSites默认情况下只返回非常有限数量的网站。我们现在默认返回所有网站,除非特别指定了限制。
  • 修改了本地化日期、时间和范围格式的处理。模式不再包含像%shortDay%这样的占位符,而是使用CLDR模式。您可以在Date类中使用一个预定义的格式常量来使用getlocalized()。
  • 由于我们现在对所有语言使用CLDR格式,一些时间格式甚至在英语中进行了更改。像API响应中的prettyDate这样的属性可能会有轻微的改变。
  • 配置enable_measure_piwik_usage_in_idsite用于跟踪Piwik使用Piwik的插件被删除并被一个新的插件所取代AnonymousPiwikUsageMeasurement

的用法

  • 以下HTTP API方法已弃用,并将在Piwik 3.0中删除:
    • SitesManager.getSitesIdWithVisits
    • API.getLastDate
  • 以下事件已弃用,并将在Piwik 3.0中删除。使用代替。
    • Tracker.existingVisitInformation
    • Tracker.getVisitFieldsToPersist
    • Tracker.newConversionInformation
    • Tracker.newVisitorInformation
    • Tracker.recordAction
    • Tracker.recordEcommerceGoal
    • Tracker.recordStandardGoals
  • 平台API方法\ Piwik \插件:getListHooksRegistered ()已弃用,将在Piwik 4.0中移除。使用\ Piwik \插件:registerEvents ()代替。

内部变化

  • 在登录时,用户名现在是不区分大小写的
  • 带有表情符号和任何其他unicode字符的url将被跟踪,特殊字符将被替换为
  • 当PHP为5.4时,将显示永久警告通知。*或更老,因为它已经达到了生命尽头
  • piwik.js我们更换了JSON2JSON3实现JSON3没有使用的CSP(内容安全策略)eval ().如果浏览器没有提供原生JSON API,将使用JSON3。我们正在使用JSON3在某种程度上,它不会冲突,如果你的网站正在使用JSON3
  • 的选项分支控制台命令的发展:sync-system-test-processed已删除,因为不再需要。
  • 报告中的所有数字现在都将显示为格式化(例如。1000000年而不是1000000
  • 数据库连接现在使用utf - 8字符集强制UTF-8数据处理

Piwik 2.14.0

突发的变化

  • UserSettingsAPI已被删除。该API在早期版本中已弃用。使用DevicesDetection决议而且DevicePluginsAPI。
  • 许多翻译已经转移到新的Intl插件。它们中的大多数仍然可以工作,但请更新它们的用法。完整列表请参见https://github.com/matomo-org/matomo/pull/8101

新功能

  • JavaScript跟踪器现在跟踪输出链接和下载,如果用户打开上下文菜单启用参数。enableLinkTracking ()方法设置为真正的.要使用此新功能,请使用tracker.enableLinkTracking(真正的)_paq.push(['enableLinkTracking', true]);.这不是行业标准,很容易出现误报,因为不是每个用户在显示上下文菜单时都会选择“在新选项卡中打开”。大多数用户都会这样做,在大多数情况下,这将导致更准确的结果。
  • JavaScript跟踪器现在包含“心跳”功能,可以通过定期向Piwik发送“ping”请求来获得更准确的访问长度。要使用此功能,请使用tracker.enableHeartBeatTimer ();_paq.push ([' enableHeartBeatTimer ']);.缺省情况下,每15秒发送一次ping请求。你可以通过传递一个参数来指定一个自定义的ping延迟(以秒为单位),例如:tracker.enableHeartBeatTimer (10);_paq.push(['enableHeartBeatTimer', 10]);
  • 新的自定义段languageCode这样你就可以划分使用特定语言的访问者。示例值:fren -应用等。
  • 用户标识现在支持任何段操作符(以前只支持操作符Contains= @此段支持)。

命令更新

  • 命令核心:存档现在有两个新参数:——force-idsegments而且——skip-idsegments它允许您强制(或跳过)处理一个或几个自定义段的存档。
  • 命令运行计划任务:现在有一个论证任务这使您可以强制运行特定的计划任务。

库更新

  • pChart库从2.1.3更新到2.1.4。文件已从该目录中移出libs / pChart2.1.3libs / pChart

内部的变化

  • 要执行UI测试,现在需要“ImageMagick”。
  • Q JavaScript承诺库现在随测试一起发布,可以在piwiki .js测试中使用。

Piwik 2.13.0

突发的变化

  • API方法Live.getLastVisitsDetails不再支持API参数filter_sort_column以防止可能的内存问题时filter_offset很大。
  • 事件Site.setSite因为它会导致性能问题而被删除。
  • piwik.php现在返回一个HTTP 400(坏请求)如果请求没有任何跟踪参数(GET/POST)。如果你还想用的话piwik.php查询请使用piwik.php吗?rec = 0

的用法

  • 该方法Piwik \ Archive:: getBlob ()已弃用,将于2015年6月1日移除。使用其中一种方法getDataTable * ()而不是方法。
  • API参数countVisitorsToFetch的API方法Live.getLastVisitsDetails已弃用为filter_offset而且filter_limit现在正确工作。

新命令

  • 现在有一个诊断:跑命令从命令行运行系统检查。
  • 现在有一个选择——xhprof可以与任何命令一起使用,通过XHProf分析该命令。

api的改进

  • 访客详细信息现在还包含:deviceTypeIcondeviceBrand而且deviceModel
  • 在2.6.0中,我们增加了使用的可能性filter_limit而且filter_offset如果API返回一个索引数组。这不是在所有情况下工作,现在是固定的。
  • API参数filter_pattern而且filter_offset []如果API返回一个索引数组,现在可以使用。

内部变化

Piwik 2.12.0

突发的变化

  • 被弃用的方法期:工厂()已被删除。使用期\工厂代替。
  • 被弃用的方法配置:getConfigSuperUserForBackwardCompatibility ()已被删除。
  • 被弃用的方法MenuAdmin: addEntry ()而且MenuAdmin: removeEntry ()已被移除。使用Piwik \插件\菜单代替。
  • 被弃用的方法MenuTop: addEntry ()而且MenuTop: removeEntry ()已被移除。使用Piwik \插件\菜单代替。
  • 被弃用的方法SettingsPiwik: rewriteTmpPathWithInstanceId ()已被删除。
  • 中的已弃用方法Piwik \ IP类已删除,使用Piwik \ \ IP网络而不是:
    • sanitizeIp ()
    • sanitizeIpRange ()
    • P2N ()
    • N2P ()
    • prettyPrint ()
    • isIPv4 ()
    • long2ip ()
    • isIPv6 ()
    • isMappedIPv4 ()
    • getIPv4FromMappedIPv6 ()
    • getIpsForRange ()
    • isIpInRange ()
    • getHostByAddr ()

的用法

  • API类不再拥有受保护的构造函数。具有受保护构造函数的类将在日志中生成一个通知,并且应该公开一个公共构造函数。
  • 更新类不应该声明静态getSql ()而且update ()方法了。仍然支持使用这些,但是开发人员应该重写更新::getMigrationQueries ()而且更新::doUpdate ()实例方法。

新功能

  • API类现在可以在构造函数中使用依赖注入来注入其他实例。

新命令

  • 现在有一个命令核心:purge-old-archive-data可用于从一个或多个存档表中手动清除临时、错误和无效的存档。
  • 现在有一个命令usercountry:属性它可以用来将地理位置数据重新属性到现有的访问和转换。如果在设置GeoIP之前跟踪了访问,则可以使用此命令向访问添加位置数据。

Piwik 2.11.0

突发的变化

  • 事件User.getLanguage已被删除。
  • 以下已弃用事件已被删除:TaskScheduler.getScheduledTasks
  • 操作系统特殊处理窗户已被删除。像其他操作系统一样,所有版本现在只报告为窗户有这样的版本XP78等。
  • 针对操作系统的报告已调整为根据浏览器信息报告信息。访客详细信息现在包含:operatingSystemNameoperatingSystemIconoperatingSystemCode而且operatingSystemVersion

的用法

  • 以下方法已弃用,而采用新方法Piwik \ Intl组件:
    • Piwik \常见:getContinentsList ():使用RegionDataProvider: getContinentList ()而不是
    • Piwik \常见:getCountriesList ():使用RegionDataProvider: getCountryList ()而不是
    • Piwik \常见:getLanguagesList ():使用LanguageDataProvider: getLanguageList ()而不是
    • Piwik \常见:getLanguageToCountryList ():使用LanguageDataProvider: getLanguageToCountryList ()而不是
    • Piwik \指标\格式化程序::getCurrencyList ():使用CurrencyDataProvider: getCurrencyList ()而不是
  • Piwik \翻译类已被弃用,而支持Piwik \ \翻译翻译
  • 核心:插件主机已经被弃用,取而代之的是新的插件:列表插件:激活而且插件:禁用命令
  • 以下类已弃用:
    • Piwik \ TaskScheduler:使用Piwik \调度器\调度器而不是
    • Piwik \ ScheduledTask:使用调度器Piwik \ \任务而不是
  • API方法UserSettings.getLanguage已弃用,将于2015年5月1日移除。使用UserLanguage.getLanguage而不是
  • API方法UserSettings.getLanguageCode已弃用,将于2015年5月1日移除。使用UserLanguage.getLanguageCode而不是
  • Piwik \注册表类已弃用,转而使用容器:
    • 注册中心::get(身份验证)应该用StaticContainer: get (Piwik \身份验证)
    • 注册中心::设置(“身份验证”,auth美元)应该用StaticContainer:: getContainer() - >设置(Piwik \认证,认证美元)

新功能

  • 现在可以使用该命令生成UI /截图测试生成:测试
  • 在UI测试期间,我们现在向HTML元素中添加一个CSS类外的.这允许您在捕捉屏幕截图时隐藏内容。

新命令

  • 添加了一个新命令(core:fix-duplicate-log-actions),可以用来删除重复的操作,并纠正在其他表中对它们的引用。重复是由这个错误引起的:# 6436

库更新

  • AngularJS从1.2.26更新到1.2.28
  • 更新piwik/device-detector从2.8到3.0

内部的变化

  • UI规格从测试/ PHPUnit) / UI测试/ UI.我们还将UI规范直接移动到Piwik存储库中,这意味着piwik-ui-tests从现在开始,存储库只包含预期的屏幕截图。
  • 有一个新的命令发展:sync-system-test-processed对于核心开发人员,允许您从Travis复制处理测试结果到您的本地开发环境。

Piwik 2.10.0

突发的变化

  • 包含访问者信息的API响应将不再包含这些字段screenType而且screenTypeIcon因为那些报道已经被完全删除了
  • os,浏览器和浏览器插件图标现在位于DevicesDetection和DevicePlugins插件中。如果您没有使用报告或元数据API来获取图标位置,请更新您的路径。
  • 被弃用的方法Piwik \ SettingsPiwik: rewriteTmpPathWithHostname ()已被删除。
  • 以下事件已被删除:
    • Log.formatFileMessage
    • Log.formatDatabaseMessage
    • Log.formatScreenMessage
    • 这些事件已经被删除,因为Piwik现在使用独白日志库。学习更多的知识。
  • 事件Log.getAvailableWriters添加自定义日志后端,您现在需要配置独白处理程序
  • INI选项log_only_when_cli而且log_only_when_debug_parameter已被移除

库更新

  • 我们添加了symfony / var-dumper库允许您更好地打印任意PHP变量通过Dump ($var1, $var2,…)
  • Piwik现在使用独白作为一个伐木工人。
  • 跟踪器代理(以前在misc proxy-hide-piwik-url /)已移至单独的资料库:https://github.com/matomo-org/tracker-proxy

的用法

  • 从UserSettings插件中删除了一些重复的报告。这些报告的小部件url在2015年5月1日之前仍然有效。请将这些更新到DevicesDetection插件的新报告中。
  • API方法UserSettings.getBrowserVersion已弃用,将于2015年5月1日移除。使用DevicesDetection.getBrowserVersions而不是
  • API方法UserSettings.getBrowser已弃用,将于2015年5月1日移除。使用DevicesDetection.getBrowsers而不是
  • API方法UserSettings.getOSFamily已弃用,将于2015年5月1日移除。使用DevicesDetection.getOsFamilies而不是
  • API方法UserSettings.getOS已弃用,将于2015年5月1日移除。使用DevicesDetection.getOsVersions而不是
  • API方法UserSettings.getMobileVsDesktop已弃用,将于2015年5月1日移除。使用DevicesDetection.getType而不是
  • API方法UserSettings.getBrowserType已弃用,将于2015年5月1日移除。使用DevicesDetection.getBrowserEngines而不是
  • API方法UserSettings.getResolution已弃用,将于2015年5月1日移除。使用Resolution.getResolution而不是
  • API方法UserSettings.getConfiguration已弃用,将于2015年5月1日移除。使用Resolution.getConfiguration而不是
  • API方法UserSettings.getPlugin已弃用,将于2015年5月1日移除。使用DevicePlugins.getPlugin而不是
  • API方法UserSettings.getWideScreen已被删除。使用UserSettings.getScreenType代替。
  • Piwik \ SettingsPiwik: rewriteTmpPathWithInstanceId ()已弃用。而不是硬编码tmp /路径在代码库中的所有位置,然后调用rewriteTmpPathWithInstanceId (),开发人员应该得到path.tmp配置值从DI容器(例如。StaticContainer: getContainer() - >(“path.tmp”)).
  • 该方法Piwik \日志:setLogLevel ()已弃用
  • 该方法Piwik \日志:getLogLevel ()已弃用

Piwik 2.9.1

突发的变化

  • HTTP跟踪API现在响应HTTP 400,而不是HTTP 500,以防无效idsite使用

新的api

  • 新URL参数send_image = 0HTTP跟踪API接收HTTP 204响应码,而不是GIF图像。这可以提高性能,并可以修复错误,如果图像不允许直接获得(如Chrome应用程序)。

新命令

  • 核心:插件列表列出Piwik中当前激活的所有插件。

Piwik 2.9.0

突发的变化

  • 发展相关控制台命令仅在启用开发模式时可用。使开发模式执行/控制台开发:启用
  • 命令PHP控制台核心:更新不再有参数——即将.现在在默认情况下执行一个演练,然后询问是否真正想要执行更新。要跳过此确认步骤,可以使用——是的选择。

的用法

  • 大多数方法Piwik \ IP已经被弃用而支持新的piwik /网络组件。
  • 该文件测试/ PHPUnit) / phpunit.xml为运行测试不再需要,我们建议将其删除。如果可能的话,现在自动完成测试配置。如果测试不再有效,请检查(测试)部分配置/ global.ini.php

库更新

  • 用于操作IP地址的代码已被移动到一个单独的独立组件:piwik /网络.Piwik核心保持向后兼容性。

Piwik 2.8.2

库更新

  • AngularJS从1.2.25更新到1.2.26
  • jQuery从1.11.0更新到1.11.1

Piwik 2.8.0

突发的变化

  • 认证接口已被修改,现有的认证实现将不得不被修改。变化包括:
    • initSession方法已被移动。由于必须为每个Auth实现执行此行为,因此将其放入一个新类:SessionInitializer。如果您的Auth实现实现了自己的会话逻辑,您将不得不扩展和覆盖SessionInitializer。
    • 新增方法:setPassword、setPasswordHash、getTokenAuthSecret、getLogin。
    • 明确每个方法的语义,以及它们必须支持和可以支持什么。
    • 的文档身份验证接口了解更多。
  • Piwik \解压\ *类已经从Piwik存储库中提取到一个名为解压缩
    • Piwik \解压没有移动,为了向后兼容而保留它。如果您一直在使用该类,则不需要更改任何内容。
    • Piwik \解压\ *类(Tar, PclZip, Gzip, ZipArchive)已经迁移到Piwik \减压\ *命名空间(在新的存储库中)。
    • Piwik \ \ UncompressInterface解压缩已被移动并重命名为Piwik \ \ DecompressInterface减压(在新的存储库中)。

的用法

  • Piwik: setUserHasSuperUserAccess方法已弃用,而是使用Access::doAsSuperUser。此方法将确保在回调结束后正确地取消超级用户访问。
  • \ IntegrationTestCase已弃用,将于2015年2月6日移除。使用\ \ TestCase \ SystemTestCase Piwik \ \测试框架代替。
  • \ DatabaseTestCase已弃用,将于2015年2月6日移除。使用\ \ TestCase \ IntegrationTestCase Piwik \ \测试框架代替。
  • \ BenchmarkTestCase已弃用,将于2015年2月6日移除。使用\ \ TestCase \ BenchmarkTestCase Piwik \ \测试框架代替。
  • \ ConsoleCommandTestCase已弃用,将于2015年2月6日移除。使用\ \ TestCase \ ConsoleCommandTestCase Piwik \ \测试框架代替。
  • \ FakeAccess已弃用,将于2015年2月6日移除。使用\ \模拟\ FakeAccess Piwik \ \测试框架代替。
  • \ \ Piwik \测试夹具已弃用,将于2015年2月6日移除。使用\ Piwik \ \ Framework \测试夹具代替。
  • \ \ OverrideLogin Piwik \测试已弃用,将于2015年2月6日移除。使用\ Piwik \ \ Framework \ OverrideLogin框架代替。

新的API特性

  • pivotBy和相关查询参数可用于按另一个维度对报表进行枢轴分析。阅读更多关于新的查询参数的信息在这里

库更新

  • AngularJS从1.2.13更新到1.2.25

新命令

  • 生成:angular-directive让你可以轻松地为任何插件的新angular指令生成模板。

内部的变化

  • Piwik 2.8.0现在需要PHP >= 5.3.3。
    • 如果您使用的是较旧的PHP版本,请立即升级到最新的PHP,以便您可以在Piwik中享受改进和安全修复。

Piwik 2.7.0

报告api

  • 一些api现在将公开一个新的度量nb_users当一个用户ID是集。
  • 添加了新的api内容跟踪特点:内容。getContentNames, Contents.getContentPieces

的用法

  • Piwik \菜单\ MenuAbstract: add ()方法已弃用addItem ().点击这里阅读更多信息:# 6140.我们不打算在Piwik 3.0之前删除这个已弃用的方法。

新的api

新命令

  • 核心:clear-caches让您轻松删除所有缓存。例如,在手动更新Piwik文件后,此命令可能很有用。

Piwik 2.6.0

的用法

  • json的API格式被认为已弃用。我们要求所有新代码使用“json2”格式。最终,当Piwik 3.0发布时json的格式将被替换为“json2”.json2格式的区别包括:
    • JSON格式中的一个错误被修复,因此API方法返回简单的关联数组,如数组('name' => 'value', 'name2' => 'value2')现在正确显示为{" name ":“价值”,“name2”:“value2”}在JSON API输出中代替[{“名称”:“价值”、“name2”:“value2”}].API方法,比如SitesManager.getSiteFromId&UsersManager.getUser都受到影响。

报告API

  • 如果API返回一个索引数组,现在就可以使用它filter_limit而且filter_offset.在此之前,只有当API返回数据表时才可能实现。
  • Live API现在只返回激活插件的访问者信息。因此,例如,如果Referrers插件被禁用,访问者将不包含任何Referrers相关属性。这是一个错误修复,因为API崩溃之前,如果一些核心插件被停用。例如,受影响的方法getLastVisitDetailsgetVisitorProfile.如果所有的核心插件都被默认启用,除了在一个访问者中的属性顺序外,将不会有任何改变。

新命令

  • 核心:run-scheduled-tasks允许您在此时间运行所有计划任务。在测试任务时很有用。

内部的变化

  • 我们删除了我们自己用来加载Piwik文件的自动加载器,取而代之的是我们已经在一些库中使用的作曲家自动加载器。也就是文件核心/ Loader.php将不再存在。如果您正在使用Git中的Piwik,请确保运行php的作曲家。Phar自我更新&& PHP编写器。phar安装让你的Piwik重新工作还要确保不再包含核心/ Loader.php以防在任何自定义脚本中使用。
  • 我们不再在配置文件中存储跟踪期间使用的插件列表。它们是动态检测的。跟踪插件的检测工作和以前一样。一个插件必须监听任何跟踪器。Request.initAuthenticationObject事件或者它必须定义维度以便作为跟踪插件被检测。

Piwik 2.5.0

突发的变化

  • Javascript跟踪API:如果你正在使用getCustomVariable函数来访问在以前的页面视图中设置的自定义变量值,现在还必须调用storeCustomVariablesInCookie之前第一次打电话来trackPageView.阅读更多Javascript跟踪
  • 设置API将接收实际输入的值,不再像这样转换字符&,.如果仍然需要这种行为(例如防止XSS),可以通过设置变换属性是这样的:$setting->transform = function ($value){返回Common::sanitizeInputValue($value);}
  • 配置设置disable_merged_assets调试部分,发展.更新程序将自动为您更改部分。
  • API.getRowEvolution例如,如果请求的报告没有维度,会抛出异常吗VisitsSummary.get.这是一个修复,因为在看到之前返回了无效的格式# 5951
  • MultiSites.getAll从现在开始总是返回一个数组的网站。在过去,它返回一个单一的对象,它不包含所有属性的情况下,只有一个网站被发现,这是一个错误看到# 5987

的用法

以下事件被认为已弃用,将来应该使用新的结构。我们还没有计划什么时候删除这些事件,但可能会在Piwik 3.0中删除,目前还没有计划,也不会很快。新特性只会添加到新类中。

  • API.getReportMetadataAPI.getSegmentDimensionMetadataGoals.getReportsWithGoalMetricsViewDataTable.configureViewDataTable.getDefaultType:使用报告类来定义新的报告。还有一份更新的指南Part1
  • WidgetsList.addWidgets:使用小部件类来定义新的小部件
  • Menu.Admin.addItemsMenu.Reporting.addItemsMenu.Top.addItems:使用菜单类而不是
  • TaskScheduler.getScheduledTasks:使用任务类来定义新任务
  • Tracker.recordEcommerceGoalTracker.recordStandardGoalsTracker.newConversionInformation:使用转换维度类而不是
  • Tracker.existingVisitInformationTracker.newVisitorInformationTracker.getVisitFieldsToPersist:使用访问维度类而不是
  • ViewDataTable.addViewDataTable:该事件不再需要。控件中的可视化显示将自动被发现可视化插件中的目录。

新功能

作为插件开发人员,您可能希望重用现有的翻译键。您现在可以通过打开Piwik安装中的“Settings => Development: translation search”页面找到所有可用的翻译和翻译键。阅读更多国际化在这里。

报告API

现在可以使用filter_sort_column参数。Live.getLastVisitDetails.例如都&filter_sort_column = visitCount

@since注释

我们正在使用@since如果我们要引入新的API,可以很容易地看到在哪个Piwik版本中添加了新方法。该信息现在显示在类api参考

新的api

  • 报告添加一个新报告
  • 行动维度要添加跟踪操作相关信息的维度
  • 访问维度要添加跟踪访问相关信息的维度
  • 转换维度要添加跟踪转换相关信息的维度
  • 添加可用于的基本非跟踪维度报告
  • 小部件添加或修改小部件
  • 这些Menu类有了新的方法,可以更容易地将新项添加到特定的部分
  • 任务添加计划任务

新命令

  • 生成:主题让您轻松生成一个新的主题和自定义颜色,请参阅主题指南
  • 生成:更新让您生成一个更新文件
  • 生成:报告让您生成一个报告
  • 生成:维让您通过添加新的维度来增强跟踪
  • 生成:菜单允许您生成菜单类来添加或修改菜单项
  • 生成:小部件允许您生成小部件类来添加或修改小部件
  • 生成:任务允许您生成任务类来添加或修改任务
  • 发展:启用允许您启用开发模式,这将禁用一些缓存,使代码更改直接可见,它将协助开发人员执行额外的检查,以防止实例错别字。不应在生产中使用。
  • 发展:禁用允许您禁用开发模式

在这里可以找到每个版本的通用Matomo更新日志m.hju8.com/changelog

Baidu