ニュース

MATOMO 4.0.0

Matomo Analyticsの新しいメジャーリリースであるMatomo4.0.0を発表できることを誇りに思います。

新着情報

Matomo 4.0.0は2020年1月から作成されており、ついにこれを皆さんにリリースできることを誇りに思います。

セキュリティとプライバシーの改善やその他の重大な変更を含む多くの変更があります。特に、次のようなものがあります:

  • Matomo4.0.0にはPHP7.2.5が必要です(セキュリティとパフォーマンスの向上)
  • ログインポーターにPython3.x(ログ分析)が必要になりました
  • API呼び出しの認証に使用される認証トークンを生成する必要があり、取り消すことができます。 Matomo 3.xの既存のtoken_authはすべて移行されるため、すでに使用しているtoken_authは引き続き機能します
  • ページ生成時間メトリックは非推奨になり、新しいページパフォーマンスレポートに置き換えられました
  • JSトラッカー(ベータ版)でのオフライン追跡のサポート
  • LoginHttpAuthプラグインはサポートされなくなりました(将来的にプラグインをフォークして保守する人を歓迎します)
  • ページタイトル、イベント名、イベントカテゴリ、ページURLなどが4096文字の後に切り捨てられるようになりました(詳細
  • セキュリティ:トークンのより安全な保存: `token_auth`とセッションIDがデータベースにプレーンテキストで保存されなくなりました。
  • セキュリティ:レポート(ウィジェット)を別のサイトに埋め込む場合、少なくとも書き込みアクセス権を持つユーザーの認証トークンを使用することはできなくなりました(詳細
  • セグメント:「含まない」と「等しくない」のセグメント比較の動作が異なるようになりました(詳細
  • PHPトラッカークライアント:エラー時に例外がスローされるようになりました(詳細
  • PHPトラッカークライアント:エラー時に例外がスローされるようになりました(詳細
  • JavaScriptAPIまたはReportingAPIを使用する場合、またはMatomoのプラグインを作成する場合は、開発者の変更ログで、影響を受ける可能性のあるプラットフォームの変更の完全なリストを確認してください。
  • データベーステーブルはUTF8エンコーディング(utf8mb4)を使用するようになりました。これは、たとえば、絵文字がURLで正しく追跡されるようになることを意味します。 既存のMatomo3.xデータベースは手動でutf8に変換する必要があります。
  • IE6やIE7などの古いブラウザーは、JSトラッカー(JSON APIをサポートしていないブラウザー)によって追跡されなくなりました。
  • IE 10ブラウザーはMatomoアプリのユーザーインターフェイスではサポートされなくなりました(IE 10は引き続きサポートされ、JS Trackingで追跡されます)

35人以上の寄稿者が398枚のチケットをクローズしました!

フィードバックや提案を報告してくれたすべてのコミュニティメンバー、彼らの仕事のための素晴らしい翻訳者チーム、そしてプレミアム機能の顧客とMatomoCloudホスティングの顧客の素晴らしいサポートに感謝します。

今すぐ更新したいのですが、アップデーターに利用可能な更新プログラムが表示されません

Matomo 4.0.0がすべてのMatomoインスタンスに段階的にデプロイされるように、段階的なリリースプロセスを導入しています。
そのため、インスタンスに表示されるまでに数時間または数日かかる場合があります。 今すぐMatomoをアップグレードしたい場合は、2つの解決策があります。1)「ベータ」リリースチャネルを使用するようにMatomoを構成するか、2)最新バージョンをダウンロードした後にMatomoを手動でアップグレードできます。

データベースのアップグレード

注:このリリースには主要なデータベースのアップグレードが含まれており、データベースに大量のデータがある場合、データベースのアップグレードには長い時間がかかります。

トラフィックの多いインスタンスについては、UpdateMatomoガイドを必ずお読みください。

更新できたら

  • Matomoという言葉を広めるのを手伝ってください! ブログ、ウェブサイト、ツイッターでプロジェクトについて書いたり、会議で話したり、友達や同僚にMatomoとは何かを知らせたりすることができます。すでに1,000,000以上のWebサイトが、Matomoを使用してWeb分析を完全に制御しています。
  • 質問やフィードバック(無料サポート)がある場合は、フォーラムを使用してください。
  • または、サポートプランを購入して、専門的なサポートとガイダンスを受けてください。
  • あなたの言語でMatomoを改善するには、翻訳に貢献することを検討してください。
  • Matomoの貴重なプレミアム機能を購入するか、Matomo Cloudソリューションを試すことで、私たちの取り組みをサポートすることもできます。

Matomo3へのダウングレード

Matomo 4にアップグレードした後、このFAQの手順に従って、必要に応じてMatomo3に再度ダウングレードできる場合があります。

セキュリティリリース

このリリースはクリティカルと評価されています。

セキュリティ研究者dhbd(Hung Dao)とlboyによって責任を持って開示された2つの脆弱性(StoredXSSとReflectedXSS)を修正しました。
私たちのセキュリティバグ報奨金プログラムは、MatomoまたはMatomo / InnoCraftによって作成されたプラグインのいずれかで見つかったセキュリティ問題を発見し、責任を持って報告してくれる研究者を歓迎し、報酬を与えます。

プラットフォームの変更点

MMatomoはオープンな分析プラットフォームです。 Matomo開発者がコアAPIの改善と変更について学ぶのを助けるために、前回のリリース以降の変更を文書化します。

この4.0.0リリースでは、APIに多くの変更が加えられています。 Matomo JSトラッカーの重大な変更、Matomo JSトラッカーの非推奨、Matomo JSトラッカーの推奨事項、HTTP APIの重大な変更、新しいPHPイベント、PHPイベントの重大な変更、PHPプラグインAPIのメソッドと定数の削除、新しいAPI、その他 重大な変更。

開発者向けプラットフォーム変更ログの重大な変更を含む、プラットフォームとAPIへのすべての変更の詳細をご覧ください。

注:Marketplaceには、Matomo 4とすでに互換性のある64を超えるプラグインが展示されており、これはほんの始まりに過ぎません。 すべてのプラグイン作成者は、プラグインをMatomo4.0.0と互換性があるようにすることをお勧めします。

新規および更新されたSDK(トラッキングAPIクライアント)

Matomoチームは、モバイルアプリやその他の種類のアプリを測定するための公式SDK(Tracking APIクライアント)を提供しています。

Matomo4.0.0でクローズされた398チケットのリスト

matomo-org/matomo

  • #6559 Add support for app specific passwords (create and revoke token_auth) [by @tsteur]
  • #6210 Detect when stats load slowly and explain to user to disable Browser trigger archiving in Admin [by @andrzejewsky, @diosmosis]
  • #9939 Offline tracking in JavaScript API [by @tsteur]
  • #15426 Offer feature to anonymise or shorten the referrer [by @diosmosis, @tsteur]
  • #16258 Allow force disable cookies [by @sgiehl]
  • #16259 Allow disabling Visitor Profile feature and visits log feature [by @sgiehl]
  • #16377 Offer possibility to not store IP address at all [by @sgiehl]
  • #16183 Support PHP 8
  • #13611 Drop support for PHP 5.x, Require PHP 7.2
  • #12811 Activate DB-Ip support by default for all users [by @sgiehl]
  • #8790 Tracking API: track Emoji correctly in page URLs and others [by @sgiehl]
  • #11974 Allow plugins to generate their reports using historical data (eg. Custom Reports) [by @diosmosis]
  • #12653 Provide more insights into page performance metrics [by @sgiehl]
  • #13202 Show “browser” report in goal by dimension report, view conversion rates by browser [by @tsteur]
  • #13153 Add “Movers and shakers” widget to the default dashboard [by @tsteur]
  • #13681 JS Tracker: enable alwaysUseSendBeacon by default [by @tsteur]
  • #9626 Heartbeat / ping requests should only update visit_total_time
  • #14791 Make Matomo JS Tracker work in strict mode
  • #16161 New visitor ID generated per action in iframes (SameSite cookie issue)
  • #16724 SameSite cookie attribute can now be configured in JS tracker [by @fealXX, @tsteur]
  • #13462 Offer possibility to sync JavaScript tracker with any CDN (new community plugin TrackerJsCdnSync)
  • #14535 log_visit.referer_url and log_action.name as TEXT instead of VARCHAR cause a lot of tmp table on disk [by @tsteur]
  • #16192 Add new dimension and segment whether cookies were used or not: “Profilable” [by @tsteur]
  • #8100 Reporting API: remove the PHP serialization response format [by @sgiehl]
  • #8566 Reporting API: Make json2 format the default json format (potential BC break) [by @diosmosis]
  • #16499 ISP detection should support the DB-IP ASN database [by @sgiehl]
  • #16557 Drop-Down appears on top of lower level [by @sgiehl]
  • #16738 New diagnotic warning when both auto archiving and browser archiving are enabled [by @tsteur, @diosmosis]
  • #16521 Use name “segmented visits log” (plural) to be consistent with “Visits log” naming [by @sgiehl]
  • #16168 Cloudron installation method
  • #16436 Outlinks icons are not aligned in all reports [by @sgiehl]
  • #11524 Disable Custom Variables feature by default [by @sgiehl]
  • #13613 Drop support for IE 10
  • #15237 When DB user doesn’t have the ‘CREATE TEMPORARY TABLE’ grant, display a clear error message [by @katebutler, @sgiehl]
  • #15889 allow invalidating plugin archives only and archiving past data for plugins [by @diosmosis]
  • #4171 Minimise token_auth exposure, hide token_auth from html responses
  • #12961 update frontend libraries like jquery [by @diosmosis]
  • #14954 Translate the “Asking for consent” page [by @maxpereira, @sgiehl]
  • #6265 Content-tracking: I want to be able to disable piwik.php redirect and instead use the link tracking 500ms solution. [by @tsteur]
  • #16362 Custom opt out screen should not imply tracking consent given
  • #15681 Check that all Matomo cookies are set with the secure flag [by @tsteur]
  • #13582 Referrer name should allow more than 70 characters (up to 255 characters) [by @sgiehl]
  • #15396 Remove LoginHttpAuth submodule [by @tsteur, @sgiehl]
  • #15736 New page performance reports [by @sgiehl]
  • #15774 Track seconds instead of days for “days since” dimensions [by @diosmosis]
  • #16095 New log importer (log analytics) now only supports python3 [by @diosmosis]
  • #16265 Custom Dimensions available and activated by default
  • #15440 in Visitors>User IDs, opening a Profile for a given User ID shouldn’t show other visits from User IDs who shared the same computer
  • #15619 Prevent server gone away error in CronArchive [by @tsteur, @sgiehl]
  • #13754 When looking at Yesterday’s data, and there is data for today, notify users to try to look at Today [by @tsteur]
  • #12767 When a user opts-out, do not send any tracking requests to the Tracking API
  • #13042 Set higher expiry time for the “Ignore tracking” cookie [by @tsteur]
  • #13056 JS Tracker: Add possibility to turn cookies back on, enableCookies [by @tsteur]
  • #15182 When signing up for the Matomo newsletter, clarify In the privacy notice that emails are processed by Madmimi [by @sgiehl]
  • #16017 Do not generate crossdomain link when cookies are disabled [by @tsteur]
  • #9785 Make Matomo database use utf8mb4 collation by default [by @sgiehl]
  • #13357 Use random_bytes() instead of uniqid/md5 in Common::generateUniqId() for improved security [by @katebutler]
  • #15313 JS Tracker: set secure flag for _pk_testcookies
  • #15390 Store session ID hashed in the DB [by @tsteur]
  • #16169 Improve host validation: now using the SERVER_NAME and no longer the HOST header [by @tsteur, @diosmosis]
  • #16263 Only allow widgetize and token usage for view users [by @tsteur]
  • #16264 When embedding reports (widgets) into a site, it is no longer possible to use authentication tokens of users with at least write access [by @tsteur, @diosmosis]
  • #16389 Make sure the same 2FA token cannot be used twice [by @tsteur, @diosmosis]
  • #11115 Reporting API: apply `hideColumns` recursively to nested values by setting `hideColumnsRecursively=1` [by @mattab, @tsteur]
  • #12575 SQL type FLOAT should not be used for economical data [by @tsteur]
  • #16429 “Back to content” link overlaps with the logo, fix skip-to-content offset [by @Findus23, @tsteur]
  • #13256 Mobile: Icons not fully shown and shown not correctly
  • #14579 JS Tracker: add rtf to list of downloads
  • #15744 Adds INI setting to disable referrer spam blocklist [by @john357smith, @sgiehl]
  • #15845 Tracking of visitors without JavaScript (image beacon) does not work with strict referrer-policy [by @tsteur]
  • #15931 Add more information to system check and be able to copy/paste for debugging purposes [by @tsteur]
  • #15999 Track ecommerce views as new dimensions instead of custom variables [by @sgiehl]
  • #16197 Make it possible to detect other clients than Browsers [by @sgiehl]
  • #16288 prevent vacation messages in response to Email reports [by @Findus23]
  • #16302 New feature to exclude tracking requests via config file: INI setting exclude_requests [by @tsteur]
  • #16386 System check: Add Matomo Version History and download feature [by @tsteur, @diosmosis]
  • #16446 Do not index the opt out iframe in search engines [by @tsteur]
  • #8505 Visitor map shows info icon but no tooltip when there is no data [by @sgiehl]
  • #15247 Don’t lock log_visit table to check if privilege is granted [by @tsteur]
  • #15492 New INI setting delete_logs_unused_actions_max_rows_per_query useful for speeding up deletion process for very large sites [by @toredash, @tsteur]
  • #15875 Row Evolution PopUp opens after Visitors Log Popup Closed [by @sgiehl]
  • #15887 Improve performance/memory of archive selection [by @tsteur, @diosmosis]
  • #15986 Tracker API speed: avoid DB query when recording historical data or other authenticated tracking requests [by @tsteur]
  • #16092 Allow configuration of a shorter lock wait time in tracker mode (new INI setting innodb_lock_wait_timeout) [by @tsteur, @diosmosis]
  • #16473 Manage Dimensions: Sorting by ID is not numeric [by @nina-py, @tsteur]
  • #5341 Move Provider plugin to the Marketplace [by @tsteur]
  • #15601 Fix VisitorFrequency.get API for idsites=all [by @sgiehl]
  • #15974 update php-di to latest version 6.x [by @sgiehl]
  • #15980 JS Tracker: require category and action in trackEvent [by @Findus23, @tsteur]
  • #16031 Get all our plugins and premium plugins to pass w/ updated frontend libs [by @diosmosis, @tsteur, @sgiehl]
  • #16087 wrong escaping of cookie path [by @MichaelHeerklotz, @diosmosis, @tsteur]
  • #15979 no cut-off icons in DataTables [by @Findus23, @sgiehl]
  • #16238 Segmented Visitor profile: Layout breaks when zooming out
  • #16354 properly align pre code [by @Findus23, @sgiehl]
  • #16428 split disabled PHP functions to not break table layout [by @Findus23, @tsteur]
  • #11572 Document adding Custom JS to tracker via tracker.js / tracker.min.js on https://developer.matomo.org/guides/enrich-js-tracker [by @tsteur]
  • #16148 Sort Custom dimensions in reporting page alphabetically [by @sgiehl]
  • #12739 doTrackGoal() in the PHP API should return success or failure response, not tracking GIF [by @tsteur]
  • #15269 Make segment title clickable and add segment definition to tooltip. [by @diosmosis, @tsteur]
  • #15444 When closing a popover, leave opened any previously opened popover [by @sgiehl, @tsteur]
  • #15556 Empty auto complete results in segment editor when changing the segment [by @tsteur, @sgiehl]
  • #15571 Match white label preview background with customised colour
  • #15607 Update Intl translations to CLDR 36 [by @sgiehl]
  • #15828 add a more helpful info to the default matomo.php output [by @Findus23, @tsteur]
  • #16119 “Password changed” e-mail notification wording doesn’t make sense
  • #15857 Update codebase doc blocks with new name Matomo [by @sgiehl]
  • #16030 Update individual libraries through npm [by @diosmosis]
  • #16032 replace other libraries in libs/ and in plugin directories w/ npm packages
  • #16165 Matomo 4 first beta release
  • #11086 Make interaction_position and visit_total_interactions MEDIUMINT to prevent Numeric value out of range: 1264 Out of range value for column interaction_position / visit_total_interactions [by @mattab, @tsteur]
  • #12067 Replace Bower (and libs/) with npm [by @diosmosis]
  • #12072 Site Search tracking should not use Custom Variables [by @katebutler, @sgiehl]
  • #12114 JS Tracker: Prevent possible infinite loop when page is unloading [by @yossicohn, @tsteur]
  • #12124 Rename `log_link_visit_action.interaction_position` to eg `pageview_position` [by @sgiehl]
  • #12832 UI_CONTROL_MULTI_SELECT does not work as expected
  • #13604 Rename CustomPiwikJs plugin to CustomMatomoJs (or CustomTrackerJs) [by @sgiehl]
  • #14094 Change “days since last …” dimensions to save second duration instead of days and compute in PHP [by @diosmosis]
  • #14841 use a modern PHP library for sending emails and SMTP [by @diosmosis, @sgiehl]
  • #15117 Refactor cron archiving for simplicity [by @diosmosis]
  • #15709 year is incorrectly counted in GDPR Overview [by @tsteur]
  • #15125 Add support for up to 4 fields to multipairfield [by @MichaelHeerklotz, @sgiehl]
  • #15248 Make BulkTracking plugin always activated [by @katebutler, @tsteur]
  • #15370 Save concatenated less file on compiling error so we can better debug issues. [by @diosmosis, @tsteur]
  • #15472 Use safemode when running CLI commands [by @diosmosis, @tsteur]
  • #15503 Removes deprecated console param –piwik-domain [by @sgiehl, @tsteur]
  • #15508 Fix archiving with console on SELinux: use `ps x` instead of `ps ex` [by @leftmostlane, @tsteur]
  • #15836 Refactors the way segments are configured in dimensions [by @sgiehl]
  • #15847 Document how to use Dependency Injection
  • #15866 Removes deprecated event Live.getAllVisitorDetails [by @sgiehl, @diosmosis]
  • #15957 Allow using matomo prefixed parameters for campaigns such as matomo_campaig/mtm_campaign [by @sgiehl, @diosmosis]
  • #15998 Date factory test when date object is passed [by @tsteur]
  • #16001 Remove code tagged with `@deprecated` [by @tsteur, @sgiehl]
  • #16261 Document new archiving process [by @diosmosis]
  • #16337 Let plugin developers modify the password confirmation view: new Template.confirmPasswordContent event [by @dominik-th, @tsteur]
  • #10733 Transition plugin can’t handle named characters in URL [by @sgiehl]
  • #11068 Make sure users with an older PHP can’t upgrade to Matomo 4 [by @tsteur]
  • #12035 Ecommerce Product average price may be incorrect, review implementation without using Custom Variables [by @katebutler, @sgiehl]
  • #12227 Content tracking doesn’t track interaction correctly when using multiple trackers but track as outlink
  • #13417 multi_server_environment INI setting should disable update via GUI module but it doesn’t [by @tsteur]
  • #13785 Segments using “Event category is not X” or “Page URL does not contain” etc. will list visits with these actions in the Visits log [by @sgiehl]
  • #14308 Visitor Profile with more than 100 visits shows negative visits
  • #14362 csv export for VisitsSummary.getVisits with idSite=all and non-superuser not working [by @sgiehl]
  • #14485 A fatal error occurred – The string to escape is not a valid UTF-8 string [by @sgiehl]
  • #14934 JS Tracker: trackEvent bug, event value is truncated [by @tsteur]
  • #14978 JS tracker: visitor cookie is set before configuration [by @tsteur]
  • #15193 Compare to: previous year (day) goes back two years [by @sgiehl]
  • #15194 Compare to: previous year always returning a range [by @sgiehl]
  • #15264 Check site permission should check if site actually exists [by @tsteur]
  • #15307 Visits log fails without any error [by @tsteur]
  • #15385 String not loaded in javascript while Feedback plugin is disabled
  • #15458 Update davaxi/sparkline composer dependency [by @sgiehl]
  • #15506 Ensure to only show enabled reports in “Goals By” view [by @sgiehl, @tsteur]
  • #15518 fix: change description for segments visitEndServer* [by @toredash, @tsteur]
  • #15529 Content interaction tracking fails if banner is enclosed by A element with external link
  • #15534 Missing crossorigin attribute in manifest link [by @tsteur]
  • #15647 Reporting API – API.get calls may return zeroed data instead of empty [by @sgiehl]
  • #15775 Fix error in InvalidateReportData command on PHP 7.4 [by @sgiehl]
  • #15781 “Last Successful Archiving Completion” is missing command “console”
  • #15805 Fix comparing segments doesn’t work with condition startsWith [by @john357smith, @sgiehl]
  • #16072 The display problem of piwik-siteselector in asia language environment [by @sgiehl]
  • #16172 Fix behaviour for segments using “not equals” or “not contains” on an action dimension [by @sgiehl, @tsteur]
  • #16249 SQL error: Data too long for column ‘user_id’
  • #16270 Bug: Copying a dashboard to another user – special characters are being urlencoded [by @sgiehl]
  • #16281 Make sure confirmPassword uses the currently active login plugin, not always “Login”. [by @diosmosis, @tsteur]
  • #16294 Warning in sparklines: Argument 1 passed to Piwik\\Plugins\\CoreVisualizations\\Visualizations\\Sparkline::ensureValuesEvenIfEmpty() must be of the type array, boolean given [by @sgiehl]
  • #16341 Use relative URLs for svgBasePath so proxy url doesn’t need to be configured to make real time map work [by @tsteur, @sgiehl]
  • #16358 Marketplace search broken in Reports
  • #16466 Do not cache core updater oneClickUpdate page in browser [by @tsteur]
  • #16475 Replaced ‘Piwik’ with ‘Matomo’ in console output when creating extra Custom Dimensions [by @nina-py, @tsteur]
  • #8415 Update our Develop guides for Matomo 4.0.0 [by @tsteur]
  • #12073 Document how plugins can extend Visitor Log and Visitor Profile [by @sgiehl]
  • #15574 Make all GDPR pages translatable [by @sgiehl]
  • #15973 add missing link to consent help page [by @Findus23, @tsteur]
  • #13471 Tracking API: fail with an error when wrong authentication provided when sending custom ip address (instead of using the sender’s ip address) [by @tsteur, @sgiehl]
  • #9253 UI tests on Travis do not execute UI tests of submodules [by @diosmosis, @sgiehl]
  • #13301 IgnoreCookie: added support for cookie_domain and ignore cookie signature [by @MichaelHeerklotz, @tsteur]
  • #13547 Remove user alias from database [by @tsteur]
  • #13957 Remove GeoIP Legacy Implementation and switch users to Db-ip [by @sgiehl]
  • #14342 Restrict open-ended require to the major Matomo version it defined [by @sgiehl]
  • #14553 mark BulkTracking plugin as required, not deactivable [by @katebutler]
  • #15115 LoadDataInfile Diagnostics Check is done even in config this setting is disabled [by @sgiehl]
  • #15139 Adds additional system check for CREATE TEMPORARY TABLES permission [by @sgiehl]
  • #15253 Use rebranded composer components [by @sgiehl, @tsteur]
  • #15275 Force using DB sessions once Matomo is installed [by @tsteur]
  • #15286 Refactor search category/count to not use custom variables [by @katebutler, @sgiehl, @diosmosis]
  • #15413 JS Tracker: remove JSON2 [by @Findus23, @tsteur]
  • #15465 Use latest davaxi/sparkline release [by @sgiehl]
  • #15473 Exclude docker files in .gitignore and exclude error_log from the integrity check [by @limitstudios, @tsteur]
  • #15531 Add support for up to 4 fields to multipairfield [by @sgiehl, @tsteur]
  • #15541 Adds translation updates action [by @sgiehl, @tsteur]
  • #15542 Adds action for building tracker js files [by @sgiehl]
  • #15544 Ensure the number of fraction digits is correct [by @sgiehl]
  • #15555 Trigger SafeMode if a plugin update is broken [by @sgiehl, @diosmosis]
  • #15573 Twig 3 upgrade [by @Findus23, @sgiehl]
  • #15581 Update to PHPUnit 8.5 [by @sgiehl]
  • #15586 Removes deprecated class Piwik\Translate [by @sgiehl]
  • #15611 New INI setting to set the absolute path to a PHP binary file in case Matomo cannot detect your PHP binary [by @tsteur, @diosmosis]
  • #15612 Update documentation how heart beat timer works
  • #15615 Make sure “Event Category” is translated in Visits log API outputs [by @mattab, @sgiehl]
  • #15617 Make it possible to run tests against PHP 7.4 [by @sgiehl]
  • #15632 Remove jquery placeholder [by @pebosi, @sgiehl]
  • #15636 Replace jscrollpane with native [by @pebosi, @tsteur]
  • #15649 By default a segment should be visible to all users [by @tsteur, @diosmosis]
  • #15662 Fix void return used and “improve” isLeap in Date [by @tolbon, @sgiehl]
  • #15720 Run tests on bionic distribution & run AllTests with PHP 7.4 [by @sgiehl]
  • #15795 Make sure upgrading from a 3.X or pre- version to 4.X via oneclickupdate works [by @diosmosis]
  • #15813 Fix fatal error when trying to install Matomo when PHP version is too low [by @tsteur, @sgiehl]
  • #15814 Make sure to set cookie name before loading any cookie [by @tsteur, @sgiehl]
  • #15815 Add test to ensure there are no plugin updates for core plugins [by @tsteur]
  • #15818 Prevent possible notice and hiding actual error in debug trace [by @tsteur, @sgiehl]
  • #15919 Bind param values manually since PDOStatement::execute() will assume … [by @diosmosis]
  • #15891 Replace Zend Mail with PHPMailer [by @sgiehl]
  • #15907 Removes Zend_Validate [by @sgiehl]
  • #15956 Remove gears detection [by @sgiehl]
  • #15962 Removes AWS test runner [by @sgiehl]
  • #15989 Removes director detection [by @sgiehl]
  • #16052 Rename Piwik -> Matomo in JS tracker where possible [by @tsteur]
  • #16053 Rename Piwik -> Matomo in cookies [by @tsteur, @diosmosis]
  • #16054 Rename PHP Events that contain Piwik to Matomo [by @tsteur, @diosmosis]
  • #16079 run npm update and include node_modules [by @diosmosis]
  • #16086 Include CustomDimensions plugin in core [by @sgiehl, @tsteur]
  • #16090 Removes CustomVariables plugin from core [by @sgiehl]
  • #16091 Delete segments when a site is deleted [by @tsteur, @diosmosis]
  • #16105 Rename referrer spam list [by @tsteur, @diosmosis]
  • #16162 GeoLite2-ASN Geolocation not working [by @sgiehl]
  • #16163 Make geolocation provider work with isp database only [by @sgiehl, @tsteur]
  • #16181 don’t use create_function() anywhere [by @Findus23, @diosmosis]
  • #16205 Rename composer package to matomo/matomo [by @sgiehl]
  • #16212 Fix language selector in mobile menu is not visible [by @tsteur, @diosmosis]
  • #16216 Delete remembered archived only for one specific site when a site is deleted [by @tsteur, @diosmosis]
  • #16232 Fix escaping in site selection for anonymous user configuration [by @sgiehl, @diosmosis]
  • #16235 Avoid API error if invalid idSubtable is given [by @sgiehl, @tsteur]
  • #16242 Use category display name for segment metadata [by @sgiehl, @tsteur]
  • #16282 JS Tracker: Fix default value of heart beat timer [by @sgiehl, @tsteur]
  • #16291 Link to PHP SDK in Reporting Clients developer doc
  • #16301 url decode value in requestcommand [by @diosmosis]
  • #16313 don’t log silenced errors in php8 [by @Findus23, @tsteur]
  • #16333 show correct transitions info in “Did you know?” section [by @Findus23, @tsteur]
  • #16344 Disable some core updater actions if auto update is not enabled [by @tsteur]
  • #16387 Add more debug information for some specific archiving errors [by @tsteur]
  • #16392 Update/Add documentation about App specific tokens
  • #16401 Documentation generator: remove duplicate assignment [by @l2dy, @tsteur]
  • #16411 Better describe the brute force IP list behaviour [by @tsteur, @diosmosis]
  • #16420 add documentation to the GetLanguage and GetLanguageCode reports [by @Findus23, @tsteur]
  • #16463 Help user configure correct GeoIP DB url by checking for protocol [by @tsteur]
  • #16467 We are hiring a senior PHP and JavaScript software developer (HIRING.md) [by @mattab, @tsteur]
  • #16468 Prevent upgrade error should a plugin get disabled during the Matomo 4 upgrade [by @tsteur]
  • #16478 Remove unused URL parameter from newsletter sign up [by @tsteur]
  • #16572 Broken link to performance report online guide [by @sgiehl]
  • #16682 Update campaign builder with new parameters group and placement [by @sgiehl]
  • #16692 use “Matomo” in user agent used for outgoing HTTP requests [by @Findus23, @tsteur]
  • #16349 Setting parameters rows_to_display is not allowed
  • #16462 Segments: Segments created in real time using API
  • #16464 Percent symbol fails JavaScript matomo code [by @tsteur]
  • #16501 Getting an error when loading “Email eports” page when a segment no longer exists [by @tsteur]
  • #16505 Content reports: don’t show option to view table with all columns [by @tsteur]
  • #16522 Piecharts aren’t shown at full width [by @sgiehl]
  • #16560 Global list of Excluded IPs shows only one IP [by @sgiehl]
  • #16569 Matomo may track a page view even though it was a different request when a plugin was disabled [by @tsteur]
  • #16587 IP exclusion segment produces error when used in eCommerce report [by @sgiehl]
  • #16611 Hide the relative % value in the “Browser Plugins” report [by @sgiehl]
  • #16726 Goal conversions wrongly formatted when using German language
  • #15920 Announce LTS for Matomo 3
  • #16488 Document the new Page Performance reports in a FAQ [by @sgiehl, @mattab]
  • #16645 Add PR template [by @tsteur]
  • #12519 Rename our composer packages [by @sgiehl]
  • #14444 simplified cookies [by @Findus23, @tsteur]
  • #15274 Don’t set session.gc_probality=1, instead read value from config
  • #15970 JS Offline tracking [by @tsteur, @diosmosis]
  • #16379 Better documentation of Proxy setup
  • #16413 Rename login_whitelist_ip config to login_allowlist_ip [by @tsteur]
  • #16442 Add dimension “Action URL” [by @tsteur]
  • #16480 The value for session.gc_probability now comes from the config files [by @nina-py, @tsteur]
  • #16507 Always set consent removed cookie even when cookies are disabled [by @tsteur]
  • #16520 Throw exception if dividend or divisor is not a number for easier troubleshooting [by @tsteur]
  • #16535 Fix selectable metrics in pie/bar charts for Events and Contents reports [by @sgiehl]
  • #16547 By default use https during installation in website setup [by @tsteur, @diosmosis]
  • #16564 Generate segment string even if label value is 0 [by @tsteur]
  • #16565 Custom reports: show server hours in site’s timezone [by @tsteur]
  • #16582 Fixes downloading files in chunks when not using curl [by @stevenseeley, @sgiehl]
  • #16600 MobileMessaging twig fix for ‘Variable “ajax” does not exist.’ [by @Findus23, @tsteur]
  • #16601 Allow overwriting rows_to_display property to ensure storing viewDatable settings works [by @sgiehl, @tsteur]
  • #16614 Update tag manager submodule [by @tsteur, @sgiehl]
  • #16615 Automatically add phpunit group name to a plugin php test [by @tsteur, @sgiehl]
  • #16618 Mention DB Lite DB will be automatically updated (filename etc)
  • #16639 [automatic translation update] Updated 30 strings in 3 languages (da el sq) [by @github-actions[bot], @sgiehl]
  • #16640 require PIWIK_PRINT_ERROR_BACKTRACE for exception backtraces in logs [by @diosmosis]
  • #16641 read from the task timetable option more often when executing tasks… [by @diosmosis, @tsteur]
  • #16659 Replace whitelist/blacklist terms in the UI
  • #16660 Add timezone version to php informational system check output [by @tsteur]
  • #16677 Download GeoIP files always to tmp directory [by @sgiehl]
  • #16680 Fix spelling of “Pie chart” [by @danielmcclure, @sgiehl]
  • #16683 Keep track of last activate/deactivate date for plugins [by @diosmosis, @tsteur]
  • #16687 Added whitespace to the bottom of email template [by @nina-py, @tsteur]
  • #16690 Show invalidation information in system check [by @tsteur]
  • #16691 update cacert.pem [by @Findus23, @tsteur]
  • #16695 Add link to PR template to a security checklist [by @tsteur]
  • #16696 Add hash equals method [by @tsteur]
  • #16713 DB-IP URL is automatically updated in the options [by @nina-py, @tsteur]
  • #16718 Make it clear that tracking ISP data requires Provider plugin [by @sgiehl, @tsteur]
  • #16723 Updates iso region mapping [by @sgiehl, @tsteur]
  • #16727 Add convenience method for rescheduling archiving for a single plugin. [by @diosmosis]

matomo-org/matomo-log-analytics

matomo-org/matomo-php-tracker

  • #81 Release new Matomo PHP Tracker 3.0.0 for compatibility with Matomo 4.0.0 [by @diosmosis]
  • #26 Add methods for custom dimensions [by @sgiehl]
  • #43 POST when using PiwikTracker instead of GET to prevent token_auth showing in access_log
  • #64 Adds method to set page performance metrics [by @sgiehl]
  • #65 cURL error should throw an exception to ease debug [by @sgiehl, @tsteur]
  • #66 Remove Gears detection [by @sgiehl]
  • #67 Removes director detection [by @sgiehl]
  • #68 Track ecommerce views not as custom variables [by @sgiehl]
  • #72 Allow switching between request methods and post token by default [by @tsteur]
  • #79 handle new cookie values now that tracking cookies changed in Matomo 4 [by @diosmosis]

matomo-org/tag-manager

  • #210 When publishing a new version, and the version name is auto generated, make sure the update button is active [by @tsteur, @diosmosis]
  • #257 TagManager _mtm dataLayer is an object not an array -> use Array for dataLayer
  • #185 Tag Manager Preview UI tries to encode circular structure as JSON
  • #214 Report Forms variable typo [by @tsteur]
  • #218 Umlauts in Event (category|action|name), probably other fields, too, destroy variable strings in the same field [by @tsteur]
  • #221 Unable to attach event listener to element if theres already an event listener that stops bubbling
  • #230 Tag names are not encoded
  • #248 Matomo Configuration: Using variable in Matomo URL results in validation error
  • #277 JS error in Tag Manager preview mode [by @tsteur]
  • #224 Removes deprecated class Piwik\Translate [by @sgiehl]
  • #235 Fix possible error on PHP 7.4 [by @sgiehl, @tsteur]
  • #238 etracker Configuration update – cookieless tracking by default [by @ben-dw, @tsteur]
  • #240 etracker wrapper function added for single page applications compatibility [by @ben-dw, @tsteur]
  • #243 implements event to define plugins database tables [by @sgiehl]
  • #244 better CSS Selector help [by @Findus23, @tsteur]
  • #251 Ensure a date and period is set even if $_POST might be empty [by @tsteur, @diosmosis]
  • #255 Fail if writing to file fails [by @tsteur]
  • #261 Set idSite on tracker already when creating the tracker [by @tsteur, @diosmosis]
  • #264 Document scroll reach only triggered once [by @tsteur]
  • #274 Fix issue in EtrackerTag.web.js [by @ben-dw, @tsteur]
  • #282 When using _paq.push([‘trackPageView’]); in a Custom HTML tag (with bundled and default tracker in configuration), no tracking request is fired
  • #226 idSite trough lookup table failing to load
  • #279 Fix etracker Tag (Version 4) [by @ben-dw, @tsteur]
  • #283 Offer possibility to only initialise the tracker without tracking any data [by @tsteur]

matomo-org/matomo-icons

  • #23 Missing icon for wearable devices

matomo-org/device-detector

  • #6396 New major release 4.0.0 [by @sgiehl]
  • #6366 Brand Model Detection Suggestions 2020-09-10
  • #6367 Detect new brands: Ziox, iDroid, Aoson, Cloudfone, Oyyu, Primux, iMars, Logic, Vsmart and Detect new apps: Viber, Siri, LinkedIn, Twitter, and Detect devices for existing brands: Vertu, Amigoo, Aligator, Google, Phicomm, Alcatel, Realme, TLS, Xiaomi, Umax, Sony, Lava, OnePlus, Yu, Amazon, Cherry Mobile, ZTE, Mobiistar, MyPhone, Medion, Lenovo, Qilive, Ulefone, Highscreen [by @sanchezzzhak, @sgiehl]
  • #6368 Console script find free IDs for new brands [by @sanchezzzhak, @sgiehl]
  • #6369 Detect new brands: Ovvi, iBrit, Alcor, Fero and Detect devices for existing brands: Oppo, AllCall, Luna, Itbis, Ziox, Bq, Ginzzu, iPro, Lenovo, Odys, Highscreen [by @sanchezzzhak, @sgiehl]
  • #6379 Brand Xoro model HMT390Q what type of device?
  • #6380 Detect new brands: meanIT, MAXVI, Kenxinda, X-BO, Xgody and Detect devices for existing brands: Alcatel, Mpman, Nokia, Lenovo, Motorola, Neffos, Nomi, Mito, Oppo, Samsung, AllDocube, Huawei, LG, Meizu, ZTE, Highscreen, Krüger&Matz, Positivo BGH, Leagoo, Logicom, Yes, TrekStor, Cloudfone, Mixzo, Karbonn, TCL, Advan, Aiwa, Acer, Wolder, Neomi, Xoro, Blu, Fujitsu, Hoffmann, Maxwest, Aligator [by @sanchezzzhak, @sgiehl]
  • #6382 Detect browser: Opera when it disguises itself as Firefox and fixes parser for Gecko version [by @sanchezzzhak, @sgiehl]
  • #6386 Detect devices for existing brands: Blu, Gigaset, Samsung, Soundmax [by @sanchezzzhak, @sgiehl]
  • #6387 Add missing Bot ‘PRTG Network Monitor’
  • #6388 Add ‘PRTG Network Monitor’ [by @fakhamatia, @sgiehl]
  • #6389 Strict regular expressions for [);/ ] [by @sanchezzzhak, @sgiehl]
  • #6391 Detect new brands: 8848, Transpeed and Detect devices for existing brands: ZTE, Realme, Oppo, Vivo, Meitu, Chuwi, Motorola, Asus, Sony, Huawei, Xiaomi [by @sanchezzzhak, @sgiehl]
  • #6394 Detect devices for existing brands: Logicom, Orange, Acer, Vivax, Lang Rover, Sony, Oukitel, Nextbit, Maze, Asus, Samsung, Huawei, Kyocera, Fujitsu, Lenovo, NEC, ZTE, HTC, Sharp, LG [by @sanchezzzhak, @sgiehl]
  • #6398 iPad iOS > 12 detected as MacOS
  • #6399 Deprecate usage of short names [by @sgiehl]
  • #6405 Detect new brands: Artel, A1, Swisstone and Detect devices for existing brands: RCA Tables, ZTE, Digma, Wiko, Vivo, Google, Tone, CUBOT, OPPO, Aligator, Blu, Logicom, Huawei [by @sanchezzzhak, @sgiehl]
  • #6410 Detect new brands: P-UP, iVooMi, Pixelphone and Detect devices for existing brands: Asus, Huawei, Xiaomi, Sony, Samsung, Casper, Blu, Alcatel, Fujitsu, Kyocera, Realme, Oppo, OnePlus, LG, Sharp, Fero, Runbo, Unihertz, Cherry Mobile, Krüger&Matz, CUBOT, Telefunken, Philips, Motorola [by @sanchezzzhak, @sgiehl]
  • #6411 Adds Postman requester as “library” [by @Pierre-Lannoy, @sanchezzzhak]
  • #6414 Detect new browser: Monument Browser, Japan Browser and Detect Improvement Yandex Browse and Detect new brands: Iris and Detect devices for existing brands: Logicom, Asus, Neffos, Motorola, Elephone, Pixus, Vivax, Vontar, Oukitel, Huawei, AIS, teXet, BQ, DEXP, Highscreen, Inoi, Jinga, DNS, Hyundai, MicroMax, Irbis, LG, Advan, Aligator, Condor, Woxter [by @sanchezzzhak, @sgiehl]
  • #6418 Parsing mismatches between versions
  • #6419 Improves detection of Advan devices and Android [by @sanchezzzhak, @sgiehl]
  • #6420 Fix detection of Mint (OS) [by @sgiehl, @sanchezzzhak]
  • #6421 Adds detection for Sprinklr crawler [by @sgiehl, @sanchezzzhak]
  • #6424 Improve/simplify detection of Jezz devices [by @sgiehl, @sanchezzzhak]
  • #6425 Rename GALAXY model to Galaxy for the Samsung brand [by @sanchezzzhak, @sgiehl]
  • #6427 Linux distribution `ROSA`
  • #6428 Detect os: Rosa, MRE and Detect browser MAUI WAP Browser and Detect new brands: Xtouch, Fonos, Conquest and Detect devices for existing brands: Bush, Cat, DEXP, Lava, Explay, Artel, Pixus, Acer, Ark, MAXVI, Videocon, MicroMax, Huawei, Asus, Realme, Aligator, Unihertz, NOA, Maxtron, Alcatel, Irbis, Lenovo, Oukitel, Invin, Black Fox, Xiaomi, Ulefone, BQ, Wiko, Vestel, Odys, Kivi, Multilaser, Blackview, Haier, Nomu, Vertex, Coolpad [by @sanchezzzhak, @sgiehl]
  • #6432 fix invalid yaml [by @Findus23, @sgiehl]
  • #6434 Introduce Yaml Lint check to prevent errors in yml files [by @sgiehl]
  • #6435 Improves detection for Allview devices [by @liviuconcioiu, @sanchezzzhak]
  • #6436 Improves detection for OPPO devices [by @liviuconcioiu, @sanchezzzhak]
  • #6437 Adds detection for Okapia devices [by @liviuconcioiu, @sanchezzzhak]
  • #6438 Improves detection for Yaani Browser [by @liviuconcioiu, @sanchezzzhak]
  • #6364 Detect bots: Vercelbot, Grammarly, Robozilla, Domains Project, Petal Bot, Serendeputy Bot, ADmantX Service Fetcher, Semantic Scholar Bot, Velen Public Web Crawler [by @sanchezzzhak, @sgiehl]
  • #6365 Detect new brands: TurboKids, SQOOL, Jinga, Nomu. Twoe, iTruck, Torex, Doffler and Detect devices for existing brands: Alcatel, Oysters, Kyocera, Telego, ArmPhone, Karbonn, Majestic, E2, Digma, Megafon, Highscreen, Kivi,Turbo-X, 4Good, Jiay, NUU Mobile, Oukitel, Navon, Essentielb, Huawei, Turbo, Vestel, Ergo, MLS, HTC [by @sanchezzzhak, @sgiehl]
  • #6370 feat(device) detect Samsung GALAXY Note 20 5G [by @pongee, @sgiehl]
  • #6371 Added a few Android devices [by @GregOriol, @sanchezzzhak]
  • #6372 Roblox Android App with unusual User Agent Format
  • #6373 Added Roblox and GOG Galaxy App detection [by @nickperkins, @sgiehl]

matomo-org/component-network

  • #15 Makes it possible to fully anonymize a IPv6 address [by @sgiehl]

matomo-org/referrer-spam-list

私たちは一緒に、世界で最高のオープンな分析プラットフォームを作成しています。 Matomoに参加することで、Matomoをさらに素晴らしいものにすることができます!