Skip to content

Commit 0c0592e

Browse files
committed
Ready to release 3.6.0 on wp.org
1 parent 9128ce7 commit 0c0592e

File tree

17 files changed

+1680
-482
lines changed

17 files changed

+1680
-482
lines changed

CHANGELOG.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,13 @@ All notable changes to **Device Detector** are documented in this *changelog*.
33

44
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and **Device Detector** adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
55

6-
## [3.6.0] - Not Yet Released
6+
## [3.6.0] - 2023-10-25
7+
8+
### Added
9+
- Compatibility with WordPress 6.4.
10+
11+
### Changed
12+
- Upgraded UDD from version 6.1.3 to version 6.1.6: dozens of added and improved detections.
713

814
### Fixed
915
- With PHP 8.2, in some edge cases, deprecation warnings may be triggered when viewing analytics.

device-detector.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
* Plugin Name: Device Detector
1111
* Plugin URI: https://perfops.one/device-detector
1212
* Description: Full featured analytics reporting and management tool that detects all devices accessing your WordPress site.
13-
* Version: 3.5.0
13+
* Version: 3.6.0
1414
* Requires at least: 5.2
1515
* Requires PHP: 7.2
1616
* Author: Pierre Lannoy / PerfOps One

includes/libraries/udd/DeviceDetector.php

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ class DeviceDetector
6868
/**
6969
* Current version number of DeviceDetector
7070
*/
71-
public const VERSION = '6.1.3';
71+
public const VERSION = '6.1.6';
7272

7373
/**
7474
* Constant used as value for unknown browser / os
@@ -931,6 +931,13 @@ protected function parseDevice(): void
931931
$this->brand = 'Apple';
932932
}
933933

934+
/**
935+
* All devices containing VR fragment are assumed to be a wearable
936+
*/
937+
if (null === $this->device && $this->matchUserAgent(' VR ')) {
938+
$this->device = AbstractDeviceParser::DEVICE_TYPE_WEARABLE;
939+
}
940+
934941
/**
935942
* Chrome on Android passes the device type based on the keyword 'Mobile'
936943
* If it is present the device should be a smartphone, otherwise it's a tablet
@@ -1029,7 +1036,7 @@ protected function parseDevice(): void
10291036
/**
10301037
* All devices that contain Andr0id in string are assumed to be a tv
10311038
*/
1032-
if ($this->matchUserAgent('Andr0id|Android TV|\(lite\) TV')) {
1039+
if ($this->matchUserAgent('Andr0id|Android TV|\(lite\) TV|BRAVIA')) {
10331040
$this->device = AbstractDeviceParser::DEVICE_TYPE_TV;
10341041
}
10351042

@@ -1041,9 +1048,12 @@ protected function parseDevice(): void
10411048
}
10421049

10431050
/**
1044-
* Devices running Kylo or Espital TV Browsers are assumed to be a TV
1051+
* Devices running Kylo or Espial TV Browsers are assumed to be a TV
10451052
*/
1046-
if (null === $this->device && \in_array($clientName, ['Kylo', 'Espial TV Browser'])) {
1053+
if (\in_array($clientName, [
1054+
'Kylo', 'Espial TV Browser', 'LUJO TV Browser', 'LogicUI TV Browser', 'Open TV Browser',
1055+
])
1056+
) {
10471057
$this->device = AbstractDeviceParser::DEVICE_TYPE_TV;
10481058
}
10491059

includes/libraries/udd/Parser/Client/Browser.php

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ class Browser extends AbstractClientParser
8484
'AG' => 'ANTGalio',
8585
'AL' => 'Aloha Browser',
8686
'AH' => 'Aloha Browser Lite',
87+
'A8' => 'ALVA',
8788
'AM' => 'Amaya',
8889
'A3' => 'Amaze Browser',
8990
'A5' => 'Amerigo',
@@ -107,7 +108,7 @@ class Browser extends AbstractClientParser
107108
'A2' => 'Atlas',
108109
'AS' => 'Avast Secure Browser',
109110
'VG' => 'AVG Secure Browser',
110-
'AC' => 'Avira Scout',
111+
'AC' => 'Avira Secure Browser',
111112
'A1' => 'AwoX',
112113
'BA' => 'Beaker Browser',
113114
'BM' => 'Beamrise',
@@ -137,6 +138,7 @@ class Browser extends AbstractClientParser
137138
'BX' => 'BrowseX',
138139
'BZ' => 'Browzar',
139140
'B7' => 'Browlser',
141+
'4B' => 'BrowsBit',
140142
'BY' => 'Biyubi',
141143
'BF' => 'Byffox',
142144
'B4' => 'BF Browser',
@@ -307,10 +309,12 @@ class Browser extends AbstractClientParser
307309
'LH' => 'Light',
308310
'L1' => 'Lilo',
309311
'LI' => 'Links',
312+
'LC' => 'LogicUI TV Browser',
310313
'IF' => 'Lolifox',
311314
'LO' => 'Lovense Browser',
312315
'LT' => 'LT Browser',
313316
'LU' => 'LuaKit',
317+
'LJ' => 'LUJO TV Browser',
314318
'LL' => 'Lulumi',
315319
'LS' => 'Lunascape',
316320
'LN' => 'Lunascape Lite',
@@ -346,6 +350,7 @@ class Browser extends AbstractClientParser
346350
'NB' => 'Nokia Browser',
347351
'NO' => 'Nokia OSS Browser',
348352
'NV' => 'Nokia Ovi Browser',
353+
'N2' => 'Norton Secure Browser',
349354
'NX' => 'Nox Browser',
350355
'N1' => 'NOMone VR Browser',
351356
'NE' => 'NetSurf',
@@ -356,6 +361,7 @@ class Browser extends AbstractClientParser
356361
'WR' => 'NextWord Browser',
357362
'NT' => 'NTENT Browser',
358363
'OC' => 'Oculus Browser',
364+
'O6' => 'Odd Browser',
359365
'O1' => 'Opera Mini iOS',
360366
'OB' => 'Obigo',
361367
'O2' => 'Odin',
@@ -380,11 +386,13 @@ class Browser extends AbstractClientParser
380386
'OR' => 'Oregano',
381387
'O0' => 'Origin In-Game Overlay',
382388
'OY' => 'Origyn Web Browser',
389+
'O8' => 'OrNET Browser',
383390
'OV' => 'Openwave Mobile Browser',
384391
'O3' => 'OpenFin',
385392
'O4' => 'Open Browser',
386393
'4U' => 'Open Browser 4U',
387394
'5G' => 'Open Browser fast 5G',
395+
'O7' => 'Open TV Browser',
388396
'OW' => 'OmniWeb',
389397
'OT' => 'Otter Browser',
390398
'PL' => 'Palm Blazer',
@@ -397,11 +405,13 @@ class Browser extends AbstractClientParser
397405
'2P' => 'Puffin Web Browser',
398406
'PW' => 'Palm WebPro',
399407
'PA' => 'Palmscape',
408+
'P7' => 'Pawxy',
400409
'PE' => 'Perfect Browser',
401410
'P1' => 'Phantom.me',
402411
'PH' => 'Phantom Browser',
403412
'PX' => 'Phoenix',
404413
'PB' => 'Phoenix Browser',
414+
'P8' => 'PICO Browser',
405415
'PF' => 'PlayFree Browser',
406416
'PK' => 'PocketBook Browser',
407417
'PO' => 'Polaris',
@@ -428,6 +438,7 @@ class Browser extends AbstractClientParser
428438
'RK' => 'Rekonq',
429439
'RM' => 'RockMelt',
430440
'SB' => 'Samsung Browser',
441+
'3L' => 'Samsung Browser Lite',
431442
'SA' => 'Sailfish Browser',
432443
'S8' => 'Seewo Browser',
433444
'SC' => 'SEMC-Browser',
@@ -588,6 +599,7 @@ class Browser extends AbstractClientParser
588599
'HO', 'A5', 'X1', '18', 'B5', 'B6', 'TC', 'A6', '2X',
589600
'F4', 'YG', 'WR', 'NA', 'DM', '1M', 'A7', 'XN', 'XT',
590601
'XB', 'W1', 'HT', 'B8', 'F5', 'B9', 'WA', 'T0', 'HC',
602+
'O6', 'P7', 'LJ', 'LC', 'O7', 'N2', 'A8', 'P8',
591603
],
592604
'Firefox' => [
593605
'AX', 'BI', 'BF', 'BH', 'BN', 'C0', 'CU', 'EI', 'F1',
@@ -625,7 +637,7 @@ class Browser extends AbstractClientParser
625637
'O4', 'XO', 'U0', 'B0', 'VA', 'X0', 'A5', 'X1', '18',
626638
'B5', 'B6', 'TC', 'A6', '2X', 'F4', 'YG', 'WR', 'NA',
627639
'DM', '1M', 'A7', 'XN', 'XT', 'XB', 'W1', 'HT', 'B7',
628-
'B9', 'T0', 'I8',
640+
'B9', 'T0', 'I8', 'O6', 'P7', 'O8', '4B', 'A8', 'P8',
629641
];
630642

631643
/**

0 commit comments

Comments
 (0)