Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Synch #1

Merged
merged 503 commits into from
Oct 11, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
503 commits
Select commit Hold shift + click to select a range
a4e5979
Show info message in visitor profile if there had been more visits th…
sgiehl Jun 12, 2018
afd7e57
Removed editable from username (#12698)
emilekberg Jun 12, 2018
d2fe5a4
Hide GeoIP2 server module settings by default (#13053)
sgiehl Jun 12, 2018
8c7a50c
language update (#13057)
sgiehl Jun 12, 2018
8b5f334
Allow to provide secondary sort column for reports (#12128)
sgiehl Jun 13, 2018
6a0c960
Remove usage of synchronous ajax requests (#12546)
sgiehl Jun 14, 2018
5ba7f57
Fix #11596: Compatibility of Piwik with MySQL Group Replication and M…
Jun 14, 2018
4da1ff5
Fix update for case where site_setting still has idsite AUTO_INCREMEN…
diosmosis Jun 14, 2018
e2969c8
Fix undefined variable (#13067)
c960657 Jun 16, 2018
eb18603
Deprecates the `historyService` along with `broadcast.init`, `broadca…
sgiehl Jun 17, 2018
6fc0ee4
submodule updates
sgiehl Jun 18, 2018
b1d49ca
language update (#13072)
sgiehl Jun 18, 2018
9e59d00
Updates badges
sgiehl Jun 18, 2018
cfe8dfd
replace sparkline library with modern equivalent (#12066)
Findus23 Jun 18, 2018
ec71c8e
Update UI files
sgiehl Jun 18, 2018
ab2b3f3
Prevent caching of tracker in proxies (#12730)
c960657 Jun 18, 2018
c0fab0c
Format metrics in row evolution popover correctly (#13077)
sgiehl Jun 19, 2018
2be0fd7
minor sparkline improvement (line thickness) (#13083)
Findus23 Jun 19, 2018
1c119bc
ignore custom svg files (#13082)
Jun 19, 2018
b8b2f75
show ASN org as ORG aswell (#13078)
Jun 20, 2018
7b6a112
fix test
sgiehl Jun 20, 2018
2b2848f
prevent ui test failues
sgiehl Jun 20, 2018
e099e22
Adds missing default value for addEventListener (#13087)
sgiehl Jun 20, 2018
438be79
Update widget titel when switching to related report (#12902)
sgiehl Jun 20, 2018
90cb7d6
Validate premium feature license correctly when cancelled (#13064)
tsteur Jun 21, 2018
4eed4c9
Fix TableLogAction::isActionTypeStoredUnsanitized() to see what effec…
diosmosis Jun 24, 2018
b83d12f
Ignore IP Whitelist for Opt Out IFrame (#13075)
sgiehl Jun 25, 2018
1a76568
Remove date from page title in dashboard twig template. Add logic in …
Jun 25, 2018
afcffaa
Use translation for console update success message (#13100)
sgiehl Jun 25, 2018
d780a73
Use saved ViewDataTable parameters mechanism for datatables displayed…
diosmosis Jun 26, 2018
57573e5
ensure Updater::getComponentUpdates returns null if no update is avai…
sgiehl Jun 26, 2018
d4b8076
Update cacert.pem (#13094)
mattab Jun 28, 2018
ac07aa4
Remove executable bit on most files (#13038)
PowerKiKi Jun 28, 2018
e515c23
Fixes #13045 - only attempt to link provider if it's a valid hostname…
richardjohn Jul 1, 2018
072e46d
Improve detection of piwik/matomo URL (#13122)
tsteur Jul 2, 2018
1f2753a
Only show segments based on log_visit table in GDPR search (#13123)
sgiehl Jul 2, 2018
1a37b84
Make it possible to use line breaks in placeholders (#13125)
sgiehl Jul 2, 2018
be5ea03
Fix theme header color is not applied in login screen (#13138)
tsteur Jul 7, 2018
6492de6
Use test database (#12779)
c960657 Jul 7, 2018
5194553
Do not check for license in test mode (#13133)
tsteur Jul 7, 2018
7ac9ff8
Destroy database connection only if it has a connection already (#13132)
tsteur Jul 8, 2018
5eb6b4b
Allow hostnames to be configured in login whitelist (#13137)
tsteur Jul 9, 2018
844e123
Use secure lang cookie when using https (#13104)
sgiehl Jul 9, 2018
a4c01fe
When trying to detect if a period is already running, include the act…
tsteur Jul 9, 2018
4b88aa2
Disables some more feature if internet features are disabled (#13076)
sgiehl Jul 10, 2018
8239152
Add possibility to configure the number of max concurrent archivers (…
tsteur Jul 12, 2018
2e99b50
Do not use CliMulti archiving strategy if ps does not show current pr…
blankse Jul 12, 2018
4d4b98a
Fix visitor profile if event plugin is disabled (#13172)
sgiehl Jul 16, 2018
6a50544
Ensure segmented visitor log numeration doesn't break (#13169)
sgiehl Jul 17, 2018
74334d8
Refactor archivers to support multiple idsites (#13168)
tsteur Jul 17, 2018
105e007
Introducing a new role "write" and possibility to define capabilities…
tsteur Jul 18, 2018
2020b12
Add ability for Archivers to initiate archiving for other plugins & u…
diosmosis Jul 19, 2018
5fe27fd
Do not apply local config in tests (#13182)
tsteur Jul 19, 2018
6e9f6ea
Fix test + update submodule for tests.
diosmosis Jul 19, 2018
5664e56
Fix array table may not be joined correctly due to table sort issue (…
tsteur Jul 23, 2018
3900cb3
Ensure to cancel an archive process if it is already running (#13155)
tsteur Jul 23, 2018
bf62f58
Fix too much whitespace in title (#13197)
tsteur Jul 23, 2018
2b33801
Implements "Social network" as a new referrer type (#12993)
sgiehl Jul 23, 2018
8d3d720
Renames console to Matomo (#13192)
sgiehl Jul 23, 2018
8494445
Adds system check for forced SSL connection (#13193)
sgiehl Jul 23, 2018
62ae547
Add segment for event value dimension. (#13090)
diosmosis Jul 24, 2018
617a254
Fix test failue: climulti result now returns Request instances not st…
diosmosis Jul 24, 2018
521cbbe
update customdimensions submodule
diosmosis Jul 24, 2018
b7e77d8
use JS handler for installing all paid plugins (#12783)
Findus23 Jul 24, 2018
95dbe14
fix glossary table of content style (#13145)
Findus23 Jul 24, 2018
e765461
Hide Mobile Sidebar on desktop site (#13135)
justju Jul 25, 2018
606d7cc
update screenshots for #13135
diosmosis Jul 25, 2018
15ed6eb
update screenshots
diosmosis Jul 25, 2018
1f82070
one last ui test update
diosmosis Jul 25, 2018
f4491e1
No strict checking for idsite (#13205)
tsteur Jul 25, 2018
7230b6d
language update (#13209)
sgiehl Jul 25, 2018
ef9c48c
Make CORS domains configurable in UI (#13174)
sgiehl Jul 25, 2018
e09383e
Replace proxy redirect with rel=noreferrer (#12780)
c960657 Jul 25, 2018
8dc06db
add woff2 fonts (#12695)
Findus23 Jul 25, 2018
3d4e78b
update expected screenshot
diosmosis Jul 25, 2018
c5b46d7
update customdimensions submodule
diosmosis Jul 26, 2018
35bd641
Sessions with more security (#12208)
diosmosis Jul 26, 2018
70d1b44
Couple more period selector related improvements (#12326)
diosmosis Jul 26, 2018
09c4fcc
Translate currency names (#13068)
c960657 Jul 27, 2018
d1be634
update screenshots
diosmosis Jul 27, 2018
cd40e22
minor change to UI message (#13217)
mattab Jul 27, 2018
cc5d65e
Adds special handling for SSL check during install (#13218)
sgiehl Jul 29, 2018
0521d33
Display warning if there are no visits in realtime map because of mis…
diosmosis Jul 31, 2018
ab747f9
language update (#13236)
sgiehl Jul 31, 2018
81738ec
Updates device detector to latest version (#13237)
sgiehl Jul 31, 2018
51b6be8
Show visitor profile link in realtime widget only for logged in users…
sgiehl Jul 31, 2018
8210ff8
In CliMulti, increase wait time as elapsed run time grows. (#13231)
diosmosis Jul 31, 2018
6cb6548
Add some simple profiling output to core:archive command (#13215)
diosmosis Jul 31, 2018
7414af9
Add removeEcommerceItem() and clearEcommerceCart() methods to JS trac…
diosmosis Aug 1, 2018
1aa34c3
If internet access is disabled, show a link to the matomo.org changel…
diosmosis Aug 1, 2018
3e6356d
Add privacy policy/terms and conditions settings and display in botto…
diosmosis Aug 1, 2018
155c146
Fix parameter unset and escaping (#13240)
sgiehl Aug 1, 2018
4dcd5e1
Encode segment in visitor log requests to ensure all characters remai…
sgiehl Aug 1, 2018
bca50a1
Couple small additions to glossary generation. (#13243)
diosmosis Aug 2, 2018
7c77018
Increase update version so it will be applied in next beta (#13245)
mattab Aug 2, 2018
1268cbf
Set ts_password_modified to valid value when adding the column
mattab Aug 2, 2018
1fb40ac
Do not show default value when default value is an array (#12824)
tsteur Aug 2, 2018
59e6f48
Allow emails to be themed. (#13223)
diosmosis Aug 2, 2018
cb1d83d
Add reusable widget to display single metric w/ sparkline & evolution…
diosmosis Aug 2, 2018
f8ea46b
Reconstruct partial stack traces for fatal errors. (#13238)
diosmosis Aug 3, 2018
892d8ff
When consent explicitly given in JS tracker add &consent=1 to URL (#…
diosmosis Aug 3, 2018
87525b0
use @ignore not @internal for event (#13248)
diosmosis Aug 4, 2018
70ca09f
Implements possibility to unsubscribe from reports (#13214)
sgiehl Aug 6, 2018
89210df
Fixing regressions causing UI tests to fail (#13252)
diosmosis Aug 6, 2018
ccff212
Add scheduled task to delete log data for sites that have been delete…
diosmosis Aug 6, 2018
325b38d
email theming improvements (#13250)
diosmosis Aug 6, 2018
7903e23
Updates omnifixture (#13249)
sgiehl Aug 6, 2018
43d3acb
Fix undefined variable error when rendering email reports (#13253)
sgiehl Aug 6, 2018
bb1b1b4
New system check diagnostic for max_execution_time (#11050) (#12576)
simivar Aug 6, 2018
2e00680
Scalable UX for user management (#13158)
diosmosis Aug 6, 2018
0fb534d
Fix ui tests (#13259)
diosmosis Aug 7, 2018
b5dd4b7
Fix update, make column nullable (#13261)
diosmosis Aug 9, 2018
6112cc2
fix theme.less (#13265)
Findus23 Aug 9, 2018
2b77bb4
Add notification when report w/ segment has no data, but segment is u…
diosmosis Aug 9, 2018
30ae2dd
Updates device detector to latest 3.11.1 (#13274)
sgiehl Aug 10, 2018
7842661
In piwik.updatePeriodParamsFromUrl() get period/date values from hash…
diosmosis Aug 11, 2018
bc33259
Use text as unsubscribe link (#13267)
sgiehl Aug 11, 2018
2d7896c
If warning/error log detected in console command exit w/ code = 1. (#…
diosmosis Aug 11, 2018
eb035eb
3.6.0-b5
mattab Aug 11, 2018
73bc38f
Add backtrace to exceptions treated as fatal errors w/ test, … (#13276)
diosmosis Aug 12, 2018
c4b4a9f
submodule updates
sgiehl Aug 13, 2018
162ec16
language update (#13281)
sgiehl Aug 13, 2018
1e793b6
update submodules
sgiehl Aug 13, 2018
732b805
fix test
sgiehl Aug 13, 2018
b555e1c
Use a stable sort method for visited pages in user profile (#13284)
sgiehl Aug 13, 2018
c5e749a
update UI files
sgiehl Aug 13, 2018
7490129
Three small bug fixes (#13288)
diosmosis Aug 15, 2018
9a8750b
Fix frontend display of value 0 (#13295)
Aug 15, 2018
8613e48
update test files
sgiehl Aug 15, 2018
80556ef
update ui files
sgiehl Aug 15, 2018
dbd1f21
Allow updating translations with defined project slug (#13299)
sgiehl Aug 15, 2018
7b584f9
Make two SessionAuth private methods protected. (#13300)
diosmosis Aug 15, 2018
a7216ad
Always set Auth interface in DI to the correct plugin's Auth implemen…
diosmosis Aug 17, 2018
4ba679f
Unify logo usage (#13298)
sgiehl Aug 17, 2018
46ed8c2
Do not serialize every property of Periods which can appear in DataTa…
diosmosis Aug 17, 2018
9227214
3.6.0-rc1
mattab Aug 17, 2018
cb3ce0a
language update (#13316)
sgiehl Aug 19, 2018
1d6b71b
Make sure all sites with no access are selected in UsersManager.getSi…
diosmosis Aug 21, 2018
32286f1
Remove date & time in system tests.
diosmosis Aug 17, 2018
511ce3d
Fix wordwrapping in menu selectors (#13320)
sgiehl Aug 21, 2018
b9b2a08
Apply header font color also to language selector (#13313)
sgiehl Aug 21, 2018
aa093af
Fix handling of boolish parameters for export (#13314)
sgiehl Aug 21, 2018
fd22a0f
Use $evalAsync instead of $eval since it triggers a digest cycle afte…
diosmosis Aug 21, 2018
35ca7a4
Allow session name to be changed via non-API manner. (#13337)
diosmosis Aug 23, 2018
2b965a7
language update (#13349)
sgiehl Aug 27, 2018
5c68962
Adds support for continent specific GeoIP2-City databases (#13338)
fs1 Aug 27, 2018
7a8e089
Adss support for territory specific languages (without an own languag…
sgiehl Aug 27, 2018
b90affa
Ensure dates calculated with JS are never before first allowed date (…
sgiehl Aug 28, 2018
c16d18e
Login form sometimes submits to CoreHome so must be more lenient in c…
diosmosis Aug 28, 2018
3c62705
3.6.0-rc2
mattab Aug 28, 2018
3b86d01
Visitor profile: do not load next/previous visitor when ALT key is pr…
mattab Aug 28, 2018
b19d8be
Ensure metric value is included in map overlays (#13345)
sgiehl Aug 28, 2018
ec99f69
Mention some more changes in developer changelog (#13358)
mattab Aug 28, 2018
107cc94
Single metric view fixes (#13352)
diosmosis Aug 29, 2018
06091e6
:rocket: 3.6.0 :rocket:
mattab Aug 29, 2018
f5fdde3
Adds UI tests for Custom Logos (#13311)
sgiehl Aug 30, 2018
43ef12d
Use Python 2.7 for travis tests (#13282)
sgiehl Aug 31, 2018
a1e0dd1
submodule updates
sgiehl Aug 31, 2018
28a4785
Add site type as attribute to site card in sitesmanager UI so they ca…
diosmosis Aug 31, 2018
d43bef4
Override string trim only if needed to fix performance issue (#13371)
tsteur Aug 31, 2018
2a3b1e8
Fix capabilities weren't detected correctly (#13368)
tsteur Aug 31, 2018
df31cfd
Adds new language Spanish (Argentina) (#13350)
sgiehl Aug 31, 2018
63e2726
Always set hours to 0 for periods.getToday (#13373)
sgiehl Aug 31, 2018
7900b65
Show confirm before changing a users password and show notification o…
diosmosis Sep 1, 2018
3b86d4f
3.6.1-b1
mattab Sep 1, 2018
6af2272
Use font icon for visitorlog instead of images (#13312)
sgiehl Sep 4, 2018
0738e5f
Fix tests and move AutoSuggest test to API plugin to shorten system t…
diosmosis Sep 4, 2018
7c7f6da
Stable sort for most frequent segment values (#13286)
sgiehl Sep 4, 2018
04c8456
Update CustomDimensions submodule.
diosmosis Sep 4, 2018
d679c55
Add [tests] config option to enable logging in tests. (#13335)
diosmosis Sep 5, 2018
5e71b34
Couple test related changes for tests that load multiple other plugin…
diosmosis Sep 5, 2018
9acf1e0
Make sure UserTableFilter can filter by new roles/capabilities. (#13390)
diosmosis Sep 6, 2018
c9d4cfc
Make sure user is not logged out when settings saved w/ no password c…
diosmosis Sep 6, 2018
f74db0e
Make sure simple datatable metadata is serialized + some test case ch…
diosmosis Sep 6, 2018
f8a2bde
If serialize=1 in Original renderer, return serialized array w/ excep…
diosmosis Sep 8, 2018
a977e87
New events + some other misc changes (#13388)
diosmosis Sep 10, 2018
3f64755
Remove COLUMN_AGGREGATION_OPS_METADATA_NAME metadata before serializi…
diosmosis Sep 10, 2018
6e35dfb
Use request instead of API instance so events are triggered in MultiS…
diosmosis Sep 10, 2018
fb0d156
Remember user who created a site. (#13362)
diosmosis Sep 10, 2018
f72637f
Get goals through Request::processRequest instead of directly from AP…
diosmosis Sep 10, 2018
72809a9
Create directory for processed files if needed when syncing tests (#1…
tsteur Sep 10, 2018
3c40189
update ui file
sgiehl Sep 10, 2018
ec1aabd
fix build
diosmosis Sep 10, 2018
5eddf49
Fix API request issue.
diosmosis Sep 10, 2018
13aad03
Fixes Ecommerce overview (#13405)
sgiehl Sep 10, 2018
b8e4d27
Couple changes to aid debugging (#13269)
diosmosis Sep 11, 2018
608fd98
Allow session to be writable in CLI mode so tests can write values. (…
diosmosis Sep 14, 2018
cabcbcb
Prevent error related report may not be defined (#13425)
tsteur Sep 15, 2018
7ce99ed
Fix parsing of RGB values. (#13408)
diosmosis Sep 15, 2018
8d15002
Work around mysql client segfault in update. (#13407)
diosmosis Sep 15, 2018
4b5d0df
fix test
sgiehl Sep 15, 2018
f0a9628
Limit of editing of anonymous user in UI. (#13416)
diosmosis Sep 16, 2018
ca585d9
When displaying unprocessed segment message, check for urlencoded seg…
diosmosis Sep 16, 2018
0bbd21d
Use Request::processRequest() so API events are triggered. (#13428)
diosmosis Sep 16, 2018
77333b2
Fix "not empty" condition in SegmentExpression (#13386) (#13431)
tsteur Sep 16, 2018
53b278c
language update (#13436)
sgiehl Sep 17, 2018
40d68b9
Support pivot w/ CustomDimensions (#13429)
diosmosis Sep 20, 2018
0fa9622
Set backtrace on error object and check Piwik_ShouldPrintBackTraceWit…
diosmosis Sep 20, 2018
177ceb2
Ensure action details are sorted stable across PHP versions (#13404)
sgiehl Sep 20, 2018
e5ba290
Auto-detect timezone and currency in installer (#13092)
c960657 Sep 20, 2018
038dac4
do not automatically download lfs files when cloning/checking out (#1…
diosmosis Sep 20, 2018
a7f5d64
Return access entries only for sites that still exist (#13433)
tsteur Sep 20, 2018
2d2abcc
Send email if no tracked data within N days. (#13363)
diosmosis Sep 20, 2018
c91b2e0
fix build
diosmosis Sep 20, 2018
cf203be
Referrer name comparison should be case insensitive … (#13469)
diosmosis Sep 22, 2018
af9f44c
Fix fatal when multiple sites are requested in referrers API report (…
tsteur Sep 23, 2018
faca30f
Remove user-agent checking code in SessionAuth. (#13470)
diosmosis Sep 23, 2018
30492f6
don't send referrer to plugin authors website (#13479)
Findus23 Sep 25, 2018
2edbc24
Stable sort for additional pivoted columns (#13477)
sgiehl Sep 25, 2018
d3d7ed1
Piwik -> Matomo
mattab Sep 25, 2018
c90a702
Replace unsupported characters in all tracking request params (#13437)
sgiehl Sep 28, 2018
1018195
use empty array as default value for cpchart colors (#13509)
sgiehl Sep 30, 2018
0e37021
Ensure idSite is set correctly for custom variable management (#13510)
sgiehl Sep 30, 2018
019ce01
Fix various notices caused by invalid parameter values (#13511)
sgiehl Sep 30, 2018
e1b2e47
Ensure report title is escaped in export overlay (#13502)
sgiehl Sep 30, 2018
723a12a
Escape feature name for rate feature tooltips (#13503)
sgiehl Sep 30, 2018
9af4711
Ensure segment param is used from url if no hash available (#13512)
sgiehl Oct 1, 2018
0677529
Ensure idSite param has correct type (#13514)
sgiehl Oct 1, 2018
5c4c150
Fix incorrect sort order when scheduled report uses custom report (#1…
diosmosis Oct 1, 2018
9aa0f13
Improve parameter handling in UsersManager.getUsers (#13515)
sgiehl Oct 1, 2018
8940384
Avoid creating any archive tables for future dates (#13504)
sgiehl Oct 2, 2018
5eaee0c
New feature: allow setting goal revenue to event value for event matc…
diosmosis Oct 3, 2018
c50e5c2
Put our current mission statement in the readme (#13522)
mattab Oct 3, 2018
ae872e5
Create periods with timezones in a couple places that are missing it.…
diosmosis Oct 3, 2018
67eaa2c
Use postMessage instead of directly making API calls in the overlay i…
diosmosis Oct 3, 2018
902bd94
Improve usage of requested site in plugin Controllers (#13526)
sgiehl Oct 3, 2018
e6de421
Use placeholder for unsubscribe link and place it near the normal ema…
diosmosis Oct 3, 2018
9544e8a
Fixing build. (#13530)
diosmosis Oct 4, 2018
8977a92
Remove alias from user settings. (#13543)
diosmosis Oct 5, 2018
b1ff5e6
Fix replace not defined JS error (#13545)
tsteur Oct 5, 2018
475022f
Scroll to content pane when editing a user (#13551)
oswdr Oct 7, 2018
5470c4f
Quote db name in certain queries. (#13529)
diosmosis Oct 7, 2018
89d8479
Add possibility to manage and view Intranet websites (#13473)
tsteur Oct 7, 2018
d013b83
language update (#13560)
sgiehl Oct 8, 2018
61bacf8
Updates device detector to latest 3.11.2 (#13562)
sgiehl Oct 9, 2018
648bc94
translation updates
sgiehl Oct 9, 2018
852e13b
Improve splitting of AllTests
sgiehl Oct 9, 2018
4660c42
submodule updates (#13564)
sgiehl Oct 9, 2018
8db61dd
limit Sparkline size (#13563)
Findus23 Oct 9, 2018
7744786
Fix license information may not be shown correctly (#13569)
tsteur Oct 10, 2018
cd4885e
Update screenshots. (#13571)
diosmosis Oct 10, 2018
c2085ae
Changed wording of YouAreOptedIn (#13538)
tsteur Oct 10, 2018
4fbead1
fix SEO bing count (#13576)
Findus23 Oct 10, 2018
3634010
don't allow SEO plugin to make non-HTTPS requests (#13575)
Findus23 Oct 10, 2018
8781da1
Prevent possible error if goalId is not set (#13561)
sgiehl Oct 10, 2018
6e86748
don't consider .swf files safe (#13558)
Findus23 Oct 10, 2018
211984f
Better check for valid URLs (#13572)
mattab Oct 10, 2018
9eb3be3
Truncate referrer name & keyword in Base class so the value used ther…
diosmosis Oct 10, 2018
8c07b4d
Support window.Matomo in JS Tracker (#13568)
tsteur Oct 10, 2018
eb965d4
Implements wrapper method for a more secure unserialize with PHP 7 (#…
sgiehl Oct 10, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ php_errors.log
/js/yui*
/misc/*.dat
/misc/*.dat.gz
/misc/*.tar.gz
/misc/*.mmdb
/misc/user/logo-header.png
/misc/user/logo.png
/misc/user/logo.svg
Expand Down
2 changes: 2 additions & 0 deletions .lfsconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[lfs]
fetchexclude = *
43 changes: 14 additions & 29 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,7 @@ services:

addons:
apt:
sources:
- deadsnakes

packages:
- python2.6
- python2.6-dev
- nginx
- realpath
- lftp
Expand All @@ -42,26 +37,36 @@ matrix:
include:
# PDO Mysql
- php: 5.6
env: TEST_SUITE=SystemTests MYSQL_ADAPTER=PDO_MYSQL
env: TEST_SUITE=SystemTestsCore MYSQL_ADAPTER=PDO_MYSQL
sudo: required
- php: 5.6
env: TEST_SUITE=SystemTestsPlugins MYSQL_ADAPTER=PDO_MYSQL
sudo: required
- php: 5.6
env: TEST_SUITE=IntegrationTests MYSQL_ADAPTER=PDO_MYSQL
sudo: required
- php: 5.6
env: TEST_SUITE=UnitTests MYSQL_ADAPTER=PDO_MYSQL
sudo: false
addons: false
# Javascript tests
- php: 5.6
env: TEST_SUITE=JavascriptTests MYSQL_ADAPTER=PDO_MYSQL
sudo: false
addons:
apt:
packages:
- nginx
- realpath
- php: 5.6
env: TEST_SUITE=AngularJSTests MYSQL_ADAPTER=PDO_MYSQL SKIP_COMPOSER_INSTALL=1
sudo: false
addons: false
# All tests after another
- php: 5.6
- php: 7
env: TEST_SUITE=AllTests MYSQL_ADAPTER=MYSQLI ALLTEST_EXTRA_OPTIONS="--run-first-half-only"
sudo: required
- php: 5.6
- php: 7
env: TEST_SUITE=AllTests MYSQL_ADAPTER=MYSQLI ALLTEST_EXTRA_OPTIONS="--run-second-half-only"
sudo: required
# UITests use a specific version because the default 5.5 (== 5.5.38) is missing FreeType support
Expand Down Expand Up @@ -105,27 +110,6 @@ before_script:
# make tmpfs and run MySQL on it for reasonnable performance
- ./tests/travis/setup_mysql_tmpfs.sh

# print out mysql information
- mysql --version
- mysql -e "SELECT VERSION();"

# configure mysql
- mysql -e "SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES'" # Travis default
# try to avoid 'mysql has gone away' errors
- mysql -e "SET GLOBAL wait_timeout = 36000;"
- mysql -e "SET GLOBAL max_allowed_packet = 134209536;"
- mysql -e "SHOW VARIABLES LIKE 'max_allowed_packet';"
- mysql -e "SHOW VARIABLES LIKE 'wait_timeout';"

- mysql -e "SELECT @@sql_mode;"
# - mysql -e "SHOW GLOBAL VARIABLES;"

# print out more debugging info
- uname -a
- date
- php -r "var_dump(gd_info());"
- mysql -e 'create database piwik_tests;'

- ./tests/travis/prepare.sh
- ./tests/travis/setup_webserver.sh
- ./tests/travis/install_phantomjs.sh; export PATH=$PWD/travis_phantomjs/phantomjs-2.1.1-linux-x86_64/bin:$PATH;
Expand All @@ -152,6 +136,7 @@ after_success:
cache:
directories:
- "travis_phantomjs"
- $HOME/.composer/cache



Expand Down
91 changes: 90 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,97 @@ This is the Developer Changelog for Matomo platform developers. All changes in o

The Product Changelog at **[matomo.org/changelog](https://matomo.org/changelog)** lets you see more details about any Matomo release, such as the list of new guides and FAQs, security fixes, and links to all closed issues.

## Matomo 3.3.1
## Matomo 3.6.1

### New APIs

* Added new event `Access.modifyUserAccess` which lets plugins modify current user's access levels/permissions.

### New Developer Features

* Logging to a file can now be easily enabled during tests. A new `[tests] enable_logging` INI option has been added, which you can set to `1` to enable logging for all tests. The `tests:run` and `tests:run-ui` commands now both have an `--enable-logging` option to enable logging for a specific run.

## Matomo 3.6.0

### New Features

* A new role has introduced called "write" which has less permissions than an admin but more than a view only user ([see FAQ](https://matomo.org/faq/general/faq_26910/)).
* Custom currencies can now be added using the `currencies[]` configuration key.
* A new segment `eventValue` lets you select all users who tracked a custom event with a given value or range of values.

### New config.ini.php settings

* `archiving_profile = 0`, if set to 1, core:archive profiling information will be recorded in a log file. the log file is determined by the `archive_profiling_log` option.
* `archive_profiling_log = `, if set to an absolute path, core:archive profiling information will be logged to specified file.
* `enable_internet_features=0` will now fully disable Internet access by preventing all outgoing connections. Note: changing this setting is not recommended for security, because you will lose the easy auto-update and email notifications.
* `login_whitelist_ip[]` now supports hostnames so you can [whitelist](https://matomo.org/faq/how-to/faq_25543/) your IP addresses and/or Hostnames and keep your Matomo secure.

### Updated commands

* New parameter `--concurrent-archivers` to define the number of maximum archivers to run in parallel on this server. Useful to prevent archiving processes piling up and ultimately failing.

### New APIs

* Added new event `API.addGlossaryItems` which lets you add items to the glossary.
* Added new event `Tracker.detectReferrerSocialNetwork` which lets you add custom social network detections
* Added new event `Report.unsubscribe` which is triggered whenever someone unsubscribe from a report
* Added new API method `UsersManager.getAvailableRoles` to fetch a list of all available roles that can be granted to a user.
* Added new API method `UsersManager.getAvailableCapabilities` to fetch a list of all available capabilities that can be granted to a user.
* Added new API method `UsersManager.addCapabilities` to grant one or multiple capabilities to a user.
* Added new API method `UsersManager.removeCapabilities` to remove one or multiple capabilities from a user.
* The API method `UsersManager.setUserAccess` now accepts an array to pass a role and multiple capabilities at once.
* Plugin classes can overwrite the method `requiresInternetConnection` to define if they should be automatically unloaded if no internet connection is available (enable_internet_features = 0)
* Added two new methods to the JS tracker: `removeEcommerceItem` and `clearEcommerceCart` to allow better control over what is in the ecommerce cart.
* Tracking API requests now include `&consent=1` in the Tracking API URL When [consent](https://developer.matomo.org/guides/tracking-javascript-guide#asking-for-consent) has been given by a user.

### Breaking Changes
* Changed some menu items to use translation keys instead (see [PR #12885](https://github.com/matomo-org/matomo/pull/12885)).
* The methods `assertResponseCode()` and `assertHttpResponseText()` in `Piwik\Tests\Framework\TestCase\SystemTestCase` have been deprecated and will be removed in Matomo 4.0. Please use `Piwik\Http` instead.
* The classes `PHPUnit\Framework\Constraint\HttpResponseText` and `PHPUnit\Framework\Constraint\ResponseCode` have been deprecated and will be removed in Matomo 4.0. Please use `Piwik\Http` instead.
* Creating links through the Proxy has been deprecated. Use rel="nofollow" instead.
* The console option `--piwik-domain` has been deprecated and will be removed in Matomo 4.0. Use `--matomo-domain` instead
* Social networks are now detected as new referrer type (ID=7), which allows improved reports and better segmentation
* New settings form field UI component "Field Array" that lets users enter multiple values for one setting as a flat array

## Matomo 3.5.1

### New APIs

* Added new method `Piwik\API\Request::isRootRequestApiRequest()` to detect if the root request is an API request.

## Matomo 3.5.0

### Breaking Changes

* Flattened action url reports now always include a leading `/` and will no longer include the `default_action_name`. e.g. `path/to/index` will now be `/path/to/`. This might affect configured custom alerts, as this plugin uses the flattened url reports for comparison.

### New APIs

* New JavaScript tracker functions to [ask for consent](https://developer.matomo.org/guides/tracking-javascript-guide#asking-for-consent): `requireConsent`, `rememberConsentGiven`, `setConsentGiven`, `forgetConsentGiven`.

### New Features
* New events `PrivacyManager.deleteLogsOlderThan`, `PrivacyManager.exportDataSubjects` and `PrivacyManager.deleteDataSubjects` to enable plugins to be GDPR compliant.
* New event `AssetManager.addStylesheets` to add additional less styles which are not located in a file.
* New event `Archiving.getIdSitesToMarkArchivesAsInvalidated` that lets plugins customize the behaviour of report invalidations.
* Reports and visualizations can now disable the 'all' rows limit selector: `$view->config->disable_all_rows_filter_limit`.
* New settings form field UI component "Multi Tuple" that lets users enter multiple values for one setting

## Matomo 3.4.0

### Breaking Changes
`piwik` font is deprecated and will be removed in Matomo 4.0. Please use new `matomo` font instead
Sending synchronous requests using ajaxHelper is now deprecated. All requests will be send async as of Matomo 4.0

### New APIs
* A new JavaScript tracker method `resetUserId` has been added to allow clearing user and visitor id.
* A new event `Actions.addActionTypes` has been added, to allow plugins to add their custom action types.
* Dashboard API has been extended by the methods `copyDashboardToUser`, `createNewDashboardForUser`, `removeDashboard` and `resetDashboardLayout`
* It is also now possible to delete the first dashboard for a user for automation purposes. Doing so and not adding a new first dashboard might result in buggy UX.
* `getDashboards` API method has been extended by additional parameters to fetch dashboards for specific user
* A new event `API.Request.intercept` has been added which allows plugins to intercept API requests to perform custom logic, overriding the original API method.
* A new event `Request.shouldDisablePostProcessing` has been added which allows plugins to disable DataTable post processing for individual API requests.
* A new event `SitesManager.shouldPerformEmptySiteCheck` has been added to allow plugins to disable the empty site check for individual sites.
* A new JavaScript tracker method `getCrossDomainLinkingUrlParameter` has been added so you can add cross domain tracking capability to dynamically created links. [Learn here how to append the result to said links' URLs, see the section "Advanced: Handling Dynamically Generated Links"](https://matomo.org/faq/how-to/faq_23654/)

## Matomo 3.3.0

Expand All @@ -21,6 +104,12 @@ Piwik is now Matomo. Read more about this change in the [official announcement](

* New HTTP API `API.getMatomoVersion` was introduced. The previous HTTP API `API.getPiwikVersion` will still work but will now be hidden from the API reference page.

## Piwik 3.2.2

### Breaking Changes
* The `historyService` along with `broadcast.init`, `broadcast.propagateAjax`, `broadcast.pageLoad` have been deprecated and will be removed in Piwik 4.


## Piwik 3.2.1

### New APIs
Expand Down
10 changes: 5 additions & 5 deletions LEGALNOTICE
Original file line number Diff line number Diff line change
Expand Up @@ -126,9 +126,9 @@ THIRD-PARTY COMPONENTS AND LIBRARIES
Link: https://github.com/tedivm/jshrink
License: BSD-3-Clause

Name: sparkline
Link: https//sourceforge.net/projects/sparkline/
License: Dual-licensed: New BSD or GPL v2
Name: Sparkline
Link: https://github.com/jamiebicknell/Sparkline
License: MIT

Name: sprintf
Link: http://www.diveintojavascript.com/projects/javascript-sprintf
Expand Down Expand Up @@ -270,11 +270,11 @@ THIRD-PARTY CONTENT
License: GPL
By: Alessandro Rei - http://www.kde-look.org/usermanager/search.php?username=mentalrey

Name: Material icons ("icon-info2", "icon-outline", "icon-settings", "icon-form", "icon-play", "icon-pause", "icon-replay", "icon-skip-next", "icon-skip-forward", "icon-stop", "icon-fast-forward", "icon-fast-rewind") in plugins/Morpheus/fonts
Name: Material icons ("icon-info2", "icon-outline", "icon-settings", "icon-form", "icon-play", "icon-pause", "icon-replay", "icon-skip-next", "icon-skip-forward", "icon-stop", "icon-fast-forward", "icon-fast-rewind", "icon-bug", "icon-upload") in plugins/Morpheus/fonts
Link: https://design.google.com/icons/
License: Apache License Version 2.0

Name: IcoMoon - Free icons ("icon-funnel", "icon-lab", "icon-archive") in plugins/Morpheus/fonts
Name: IcoMoon - Free icons ("icon-funnel", "icon-lab", "icon-archive", "icon-rocket", "icon-embed") in plugins/Morpheus/fonts
Link: https://icomoon.io/#icons-icomoon
License: GPL

Expand Down
52 changes: 26 additions & 26 deletions PRIVACY.md
Original file line number Diff line number Diff line change
@@ -1,60 +1,60 @@
# Privacy
This is a summary of all of the components within Piwik which may affect your privacy in some way. Please keep in mind
This is a summary of all of the components within Matomo which may affect your privacy in some way. Please keep in mind
third party Themes, Plugins or Apps may introduce privacy concerns not listed here.

## Privacy for users being tracked by Piwik
In this section we document how to protect the privacy of visitors who are tracked by your Piwik analytics service.
## Privacy for users being tracked by Matomo
In this section we document how to protect the privacy of visitors who are tracked by your Matomo analytics service.

### Anonymise visitor IP addresses
By default, Piwik stores the visitor IP address (IPv4 or IPv6 format) in the database for each new visitor.
By default, Matomo stores the visitor IP address (IPv4 or IPv6 format) in the database for each new visitor.
If a visitor has a static IP address this means her browsing history can be easily identified across several days and
even across several websites tracked within the same Piwik server. You can anonymize IP addresses to ensure visitors cannot
even across several websites tracked within the same Matomo server. You can anonymize IP addresses to ensure visitors cannot
be tracked this way: [How to anonymise IP addresses.](https://matomo.org/docs/privacy/#step-1-automatically-anonymize-visitor-ips)

### Delete old visitors logs
By default, Piwik stores tracked data forever. To better respect the privacy of your users, it is recommended to regularly
purge old data. You can configure Piwik to automatically delete log data older than a specified number of months:
By default, Matomo stores tracked data forever. To better respect the privacy of your users, it is recommended to regularly
purge old data. You can configure Matomo to automatically delete log data older than a specified number of months:
[How to delete old visitors log data.](https://matomo.org/docs/privacy/#step-2-delete-old-visitors-logs)

### Include a tracking Opt-Out feature on your site
In your website, we recommended providing an easy way for your visitors to “opt-out” of being tracked by Piwik.
In your website, we recommended providing an easy way for your visitors to “opt-out” of being tracked by Matomo.
You can use the Opt-Out feature to display a link your website that sets a special browser cookie (`piwik_ignore`) when
clicked. Visitors that click that link will be ignored by Piwik in the future:
clicked. Visitors that click that link will be ignored by Matomo in the future:
[How to include a tracking opt-out iframe.](https://matomo.org/docs/privacy/#step-3-include-a-web-analytics-opt-out-feature-on-your-site-using-an-iframe)

### Respect DoNotTrack preference
Do Not Track is a browser-level technology and policy proposal that lets visitors opt out of tracking by websites they
do not visit. Visitors can enable this preference in their browser, and then it's up to Piwik to respect it. By default,
Piwik is configured to ignore visitors that have enabled it:
[How to check if your Piwik respects DoNotTrack.] (https://matomo.org/docs/privacy/#step-4-respect-donottrack-preference)
do not visit. Visitors can enable this preference in their browser, and then it's up to Matomo to respect it. By default,
Matomo is configured to ignore visitors that have enabled it:
[How to check if your Matomo respects DoNotTrack.] (https://matomo.org/docs/privacy/#step-4-respect-donottrack-preference)

### Disable tracking cookies
A cookie is a collection of information that a website stores on a visitor’s computer and accesses each time the visitor
returns. By default, Piwik uses cookies to aid in tracking visitor behavior. If someone gains access to a visitor's
returns. By default, Matomo uses cookies to aid in tracking visitor behavior. If someone gains access to a visitor's
computer, they could learn a few things about how the visitor visited your website. For many websites, this isn't a
problem, but for others where a strong level of privacy is required (like online banking), disabling tracking cookies may
be a good idea: [How to disable tracking cookies.](https://matomo.org/faq/general/faq_157/)

### Keep your visitors details private
Any user that has at least `view` access (the default access level) to Piwik can view detailed information for all users
tracked in Piwik (such as their IP addresses, visitor IDs, details of all past visits and actions, etc.) through features
provided by the `Live` plugin (such as the Visitor Log and Visitor Profile). As the Piwik administrator, you may decide
Any user that has at least `view` access (the default access level) to Matomo can view detailed information for all users
tracked in Matomo (such as their IP addresses, visitor IDs, details of all past visits and actions, etc.) through features
provided by the `Live` plugin (such as the Visitor Log and Visitor Profile). As the Matomo administrator, you may decide
that not all of your users need access to this data. You can deactivate the `Live` plugin to prevent users from viewing
visitor details in the Administration > Plugins page.

## Privacy for Piwik admins and website owners
In this section we document how a Piwik administrator can better protect their own privacy.
## Privacy for Matomo admins and website owners
In this section we document how a Matomo administrator can better protect their own privacy.

### Keep your Piwik server URL private
By default, the Piwik Javascript code on all tracked websites contains the Piwik server URL. In some cases you might
want to hide this Piwik URL completely while still tracking all websites in your Piwik instance. To hide your Piwik
### Keep your Matomo server URL private
By default, the Matomo Javascript code on all tracked websites contains the Matomo server URL. In some cases you might
want to hide this Matomo URL completely while still tracking all websites in your Matomo instance. To hide your Matomo
server's URL, you can modify the Javascript Tracking code and point it to a proxy piwik.php script instead of your actual
Piwik server: [How to keep Piwik server URL private.](https://matomo.org/faq/how-to/faq_132/)
Matomo server: [How to keep Matomo server URL private.](https://matomo.org/faq/how-to/faq_132/)

### Automatic update check
From time to time, Piwik uses `api.piwik.org` to check if the current version of Piwik is the latest version of Piwik.
If an update is available, a notification is displayed allowing you to upgrade Piwik. To disable the update check,
and stop your instance from sending HTTP requests to `api.piwik.org`, deactivate the "Automatic update" feature by
From time to time, Matomo uses `api.matomo.org` to check if the current version of Matomo is the latest version of Matomo.
If an update is available, a notification is displayed allowing you to upgrade Matomo. To disable the update check,
and stop your instance from sending HTTP requests to `api.matomo.org`, deactivate the "Automatic update" feature by
setting `enable_auto_update = 0` in your configuration file `config/config.ini.php`.

Learn more about [Privacy in Piwik](https://matomo.org/privacy/).
Learn more about [Privacy in Matomo](https://matomo.org/privacy/).
Loading