device_detector 1.1.0 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/regexes/oss.yml CHANGED
@@ -5,6 +5,54 @@
5
5
  # @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later
6
6
  ###############
7
7
 
8
+ ##########
9
+ # LuneOS (https://www.webos-ports.org/)
10
+ ##########
11
+ - regex: 'LuneOS'
12
+ name: 'LuneOS'
13
+ version: ''
14
+
15
+ ##########
16
+ # Oracle Linux (https://www.oracle.com/linux/)
17
+ ##########
18
+ - regex: 'Linux/(?:\d+\.[\d.-]+)\.el(\d+(?:[_.]\d+)*)uek'
19
+ name: 'Oracle Linux'
20
+ version: '$1'
21
+
22
+ ##########
23
+ # Kali (https://www.kali.org/)
24
+ ##########
25
+ - regex: '.+kali(\d)'
26
+ name: 'Kali'
27
+ version: '$1'
28
+
29
+ # TiVo OS (https://business.tivo.com/products-solutions/tivo-os)
30
+ ##########
31
+ - regex: 'TiVoOS/(\d+[\.\d]+)'
32
+ name: 'TiVo OS'
33
+ version: '$1'
34
+
35
+ ##########
36
+ # VIDAA (https://www.vidaa.com/vidaa-os/)
37
+ ##########
38
+ - regex: 'VIDAA/(\d+[\.\d]+)'
39
+ name: 'VIDAA'
40
+ version: '$1'
41
+
42
+ ##########
43
+ # PICO OS (https://www.picoxr.com/global/software/pico-os)
44
+ ##########
45
+ - regex: 'PICO.+OS(\d+[\.\d]*)'
46
+ name: 'PICO OS'
47
+ version: '$1'
48
+
49
+ ##########
50
+ # RedOS (https://redos.red-soft.ru/)
51
+ ##########
52
+ - regex: 'RED OS; Linux'
53
+ name: 'RedOS'
54
+ version: ''
55
+
8
56
  ##########
9
57
  # RouterOS (https://help.mikrotik.com/docs/display/ROS/RouterOS)
10
58
  ##########
@@ -36,7 +84,7 @@
36
84
  ##########
37
85
  # TencentOS (https://github.com/Tencent/TencentOS-kernel)
38
86
  ##########
39
- - regex: 'Linux/(\d+[\.\d]*).+tlinux'
87
+ - regex: '.+tlinux(\d)'
40
88
  name: 'TencentOS'
41
89
  version: '$1'
42
90
 
@@ -85,6 +133,9 @@
85
133
  - regex: 'Linux (?:[^;]+); Opera TV(?: Store)?/|^Opera/\d+\.\d+ \(Linux mips'
86
134
  name: 'Opera TV'
87
135
  version: ''
136
+ - regex: 'OPR/.+TV Store/(\d+[\.\d]+)'
137
+ name: 'Opera TV'
138
+ version: '$1'
88
139
 
89
140
  ##########
90
141
  # GridOS (https://web.archive.org/web/20111123141630/http://fusiongarage.com/grid-os/about)
@@ -121,7 +172,6 @@
121
172
  name: 'Tizen'
122
173
  version: '$1'
123
174
 
124
-
125
175
  ##########
126
176
  # YunOS (Android based)
127
177
  ##########
@@ -180,6 +230,9 @@
180
230
  - regex: 'HarmonyOS(?:[/ ](\d+[\.\d]+))?'
181
231
  name: 'HarmonyOS'
182
232
  version: '$1'
233
+ - regex: 'Hmos/1'
234
+ name: 'HarmonyOS'
235
+ version: '1.0.0'
183
236
 
184
237
  - regex: 'RazoDroiD(?: v(\d+[\.\d]*))?'
185
238
  name: 'RazoDroiD'
@@ -209,6 +262,10 @@
209
262
  name: 'Fire OS'
210
263
  version: '7'
211
264
 
265
+ - regex: 'Andr0id 9.+AFTdev'
266
+ name: 'Fire OS'
267
+ version: '7'
268
+
212
269
  - regex: 'FydeOS'
213
270
  name: 'FydeOS'
214
271
  version: ''
@@ -254,6 +311,13 @@
254
311
  name: 'FreeBSD'
255
312
  version: ''
256
313
 
314
+ ##########
315
+ # Wear OS (https://wearos.google.com/)
316
+ ##########
317
+ - regex: 'Chrome/(\d+\.[.\d]+) Odd/|SM-R(?:8[6-9]|9)'
318
+ name: 'Wear OS'
319
+ version: ''
320
+
257
321
  ##########
258
322
  # Android TV (https://android.com/tv/)
259
323
  ##########
@@ -261,7 +325,7 @@
261
325
  name: 'Android TV'
262
326
  version: '$1'
263
327
 
264
- - regex: 'Android[; ](\d+[\.\d]*).+(?:Android|AT&T) TV'
328
+ - regex: 'Android[; ](\d+[\.\d]*).+(?:(?:Android( UHD)?|AT&T|Google) TV|AOSP on r33a0|BRAVIA)'
265
329
  name: 'Android TV'
266
330
  version: '$1'
267
331
 
@@ -272,30 +336,34 @@
272
336
  ##########
273
337
  # Android SDK Level Api
274
338
  ##########
275
- - regex: '\d+/tclwebkit(?:\d+[\.\d]*)'
339
+ - regex: '(?:Android API \d+|\d+/tclwebkit(?:\d+[\.\d]*))'
276
340
  name: 'Android'
277
341
  versions:
278
- - regex: '33/tclwebkit'
342
+ - regex: '(?:Android API 34|34/tclwebkit)'
343
+ version: '14'
344
+ - regex: '(?:Android API 33|33/tclwebkit)'
279
345
  version: '13'
280
- - regex: '3[12]/tclwebkit'
346
+ - regex: '(?:Android API 32|32/tclwebkit)'
347
+ version: '12.1'
348
+ - regex: '(?:Android API 31|31/tclwebkit)'
281
349
  version: '12'
282
- - regex: '30/tclwebkit'
350
+ - regex: '(?:Android API 30|30/tclwebkit)'
283
351
  version: '11'
284
- - regex: '29/tclwebkit'
352
+ - regex: '(?:Android API 29|29/tclwebkit)'
285
353
  version: '10'
286
- - regex: '28/tclwebkit'
354
+ - regex: '(?:Android API 28|28/tclwebkit)'
287
355
  version: '9'
288
- - regex: '27/tclwebkit'
356
+ - regex: '(?:Android API 27|27/tclwebkit)'
289
357
  version: '8.1'
290
- - regex: '26/tclwebkit'
358
+ - regex: '(?:Android API 26|26/tclwebkit)'
291
359
  version: '8'
292
- - regex: '25/tclwebkit'
360
+ - regex: '(?:Android API 25|25/tclwebkit)'
293
361
  version: '7.1'
294
- - regex: '24/tclwebkit'
362
+ - regex: '(?:Android API 24|24/tclwebkit)'
295
363
  version: '7'
296
- - regex: '23/tclwebkit'
364
+ - regex: '(?:Android API 23|23/tclwebkit)'
297
365
  version: '6'
298
- - regex: '22/tclwebkit'
366
+ - regex: '(?:Android API 22|22/tclwebkit)'
299
367
  version: '5.1'
300
368
  - regex: '21/tclwebkit'
301
369
  version: '5'
@@ -319,7 +387,7 @@
319
387
  name: 'Android'
320
388
  version: '6'
321
389
 
322
- - regex: '(?:Podbean|Podimo)(?:.*)/Android'
390
+ - regex: '(?:Podbean|Podimo)(?:.*)/Android|Rutube(?:TV)?BlackAndroid'
323
391
  name: 'Android'
324
392
  version: ''
325
393
 
@@ -339,7 +407,7 @@
339
407
  name: 'Android'
340
408
  version: '$1'
341
409
 
342
- - regex: '(?:(?:Orca-)?(?<!like )Android|Adr|AOSP)[ /]?(?:[a-z]+ )?(\d+[\.\d]*)'
410
+ - regex: '(?:(?:Orca-)?(?<!like |/|RadioPublic |Anghami )Android|Adr|AOSP)[ /]?(?:[a-z]+ )?(\d+[\.\d]*)'
343
411
  name: 'Android'
344
412
  version: '$1'
345
413
 
@@ -479,6 +547,10 @@
479
547
  name: 'Roku OS'
480
548
  version: '$1'
481
549
 
550
+ - regex: 'RokuBrowser/.+\(TV-([a-z0-9]+)-(\d+.[\d.]+)\)'
551
+ name: 'Roku OS'
552
+ version: '$2'
553
+
482
554
  # DVKBuntu (https://www.dvkbuntu.org/)
483
555
  - regex: 'dvkbuntu'
484
556
  name: 'DVKBuntu'
@@ -619,7 +691,7 @@
619
691
  name: 'Windows'
620
692
  version: '$1'
621
693
 
622
- - regex: 'Windows;(\d+[\.\d]*);'
694
+ - regex: 'Windows; ?(\d+[\.\d]*);'
623
695
  name: 'Windows'
624
696
  version: '$1'
625
697
 
@@ -705,11 +777,15 @@
705
777
  ##########
706
778
  # tvOS (https://developer.apple.com/tvos/)
707
779
  ##########
708
- - regex: 'Apple ?TV.*CPU (?:iPhone )?OS ((?:9|1[0-6])[_\.]\d+(?:[_.]\d+)*)'
780
+ - regex: 'Apple ?TV.*CPU (?:iPhone )?OS ((?:9|1[0-7])[_\.]\d+(?:[_.]\d+)*)'
709
781
  name: 'tvOS'
710
782
  version: '$1'
711
783
 
712
- - regex: 'iOS(?:; |/)((?:9|1[0-6]).\d+(?:[_\.]\d+)*) (?:model/)?AppleTV'
784
+ - regex: 'iOS(?:; |/)((?:9|1[0-7]).\d+(?:[_\.]\d+)*) (?:model/)?AppleTV'
785
+ name: 'tvOS'
786
+ version: '$1'
787
+
788
+ - regex: 'tvOS((?:9|1[0-7]).\d+(?:[_\.]\d+)*);'
713
789
  name: 'tvOS'
714
790
  version: '$1'
715
791
 
@@ -719,31 +795,34 @@
719
795
  - regex: '(?:Watch1,[12]/|Watch OS,|watchOS[ /])(\d+[\.\d]*)'
720
796
  name: 'watchOS'
721
797
  version: '$1'
798
+ - regex: 'Apple Watch(?!;)'
799
+ name: 'watchOS'
800
+ version: ''
722
801
 
723
802
  ##########
724
803
  # iPadOS (https://www.apple.com/ipados/)
725
804
  ##########
726
- - regex: 'FBMD/iPad;.*FBSV/ ?(1[3-6]).(\d+[\.\d]*);'
805
+ - regex: 'FBMD/iPad;.*FBSV/ ?(1[3-7]).(\d+[\.\d]*);'
727
806
  name: 'iPadOS'
728
807
  version: '$1.$2'
729
808
 
730
- - regex: 'iPad/(1[3-6]).(\d+[\.\d]*)'
809
+ - regex: 'iPad(?:OS)?/(1[3-7]).(\d+[\.\d]*)'
731
810
  name: 'iPadOS'
732
811
  version: '$1.$2'
733
812
 
734
- - regex: '^iPad(?:\d+[\,\d]*)/(1[3-6]).(\d+[\.\d]*)'
813
+ - regex: '^iPad(?:\d+[\,\d]*)/(1[3-7]).(\d+[\.\d]*)'
735
814
  name: 'iPadOS'
736
815
  version: '$1.$2'
737
816
 
738
- - regex: 'iPad(?:; (?:iOS|iPhone OS)|.+CPU OS) ((1[3-6])+(?:[_\.]\d+)*)'
817
+ - regex: 'iPad(?:; (?:iOS|iPadOS|iPhone OS)|.+CPU OS) ((1[3-7])+(?:[_\.]\d+)*)'
739
818
  name: 'iPadOS'
740
819
  version: '$1'
741
820
 
742
- - regex: 'iOS/(1[3-6]).(\d+[\.\d]*).+Apple/iPad'
821
+ - regex: 'iOS/(1[3-7]).(\d+[\.\d]*).+Apple/iPad'
743
822
  name: 'iPadOS'
744
823
  version: '$1.$2'
745
824
 
746
- - regex: 'iPhone OS,(1[3-6]).(\d+[\.\d]*).+iPad'
825
+ - regex: 'iPhone OS,(1[3-7]).(\d+[\.\d]*).+iPad'
747
826
  name: 'iPadOS'
748
827
  version: '$1.$2'
749
828
 
@@ -770,9 +849,27 @@
770
849
  name: 'iOS'
771
850
  version: '$1'
772
851
 
773
- - regex: '^(?!com.apple.Safari.SearchHelper).*CFNetwork/.+ Darwin/(\d+[\.\d]+)(?!.*(?:x86_64|i386|PowerMac|Power%20Macintosh))'
852
+ - regex: '^(?!com.apple.Safari.SearchHelper|Safari).*CFNetwork/.+ Darwin/(\d+[\.\d]+)(?!.*(?:x86_64|i386|PowerMac|Power%20Macintosh))'
774
853
  name: 'iOS'
775
854
  versions:
855
+ - regex: 'Darwin/23.2.0'
856
+ version: '17.2'
857
+ - regex: 'Darwin/23.1.0'
858
+ version: '17.1'
859
+ - regex: 'Darwin/23.0.0'
860
+ version: '17.0'
861
+ - regex: 'Darwin/22.6.0'
862
+ version: '16.6'
863
+ - regex: 'Darwin/22.5.0'
864
+ version: '16.5'
865
+ - regex: 'Darwin/22.4.0'
866
+ version: '16.4'
867
+ - regex: 'Darwin/22.3.0'
868
+ version: '16.3'
869
+ - regex: 'Darwin/22.2.0'
870
+ version: '16.2'
871
+ - regex: 'Darwin/22.1.0'
872
+ version: '16.1'
776
873
  - regex: 'Darwin/22.0.0'
777
874
  version: '16.0'
778
875
  - regex: 'Darwin/21.6.0'
@@ -916,7 +1013,7 @@
916
1013
  name: 'iOS'
917
1014
  version: '$1.$2.$3'
918
1015
 
919
- - regex: '(?:CPU OS|iPh(?:one)?[ _]OS|iPhone.+ OS|iOS)[ _/](\d+(?:[_\.]\d+)*)'
1016
+ - regex: '(?:CPU OS|iPh(?:one)?[ _]OS|iPhone.+ OS|PodMN.+iPhone|iOS)[ _/](\d+(?:[_\.]\d+)*)'
920
1017
  name: 'iOS'
921
1018
  version: '$1'
922
1019
 
@@ -979,160 +1076,178 @@
979
1076
  ##########
980
1077
  # Mac
981
1078
  ##########
982
- - regex: 'CFNetwork/.+ Darwin/(?:[\d\.]+).+(?:x86_64|i386|Power%20Macintosh)|(?:x86_64-apple-)?darwin(?:[\d\.]+)|PowerMac|com.apple.Safari.SearchHelper'
1079
+ - regex: '(?:CFNetwork|StudioDisplay)/.+Darwin(?:/|; )(?:[\d\.]+).+(?:x86_64|i386|Power%20Macintosh)|(?:x86_64-apple-)?darwin(?:[\d\.]+)|PowerMac|com.apple.Safari.SearchHelper|^Safari'
983
1080
  name: 'Mac'
984
1081
  versions:
985
- - regex: '(?:x86_64-apple-)?Darwin/?22.0.0'
1082
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?23.2.0'
1083
+ version: '14.2'
1084
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?23.1.0'
1085
+ version: '14.1'
1086
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?23.0.0'
1087
+ version: '14.0'
1088
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?22.6.0'
1089
+ version: '13.5'
1090
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?22.5.0'
1091
+ version: '13.4'
1092
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?22.4.0'
1093
+ version: '13.3'
1094
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?22.3.0'
1095
+ version: '13.2'
1096
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?22.2.0'
1097
+ version: '13.1'
1098
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?22.1.0'
1099
+ version: '13.0.1'
1100
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?22.0.0'
986
1101
  version: '13.0'
987
- - regex: '(?:x86_64-apple-)?Darwin/?21.6.0'
1102
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?21.6.0'
988
1103
  version: '12.5'
989
- - regex: '(?:x86_64-apple-)?Darwin/?21.5.0'
1104
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?21.5.0'
990
1105
  version: '12.4'
991
- - regex: '(?:x86_64-apple-)?Darwin/?21.4.0'
1106
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?21.4.0'
992
1107
  version: '12.3'
993
- - regex: '(?:x86_64-apple-)?Darwin/?21.3.0'
1108
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?21.3.0'
994
1109
  version: '12.2'
995
- - regex: '(?:x86_64-apple-)?Darwin/?21.2.0'
1110
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?21.2.0'
996
1111
  version: '12.1'
997
- - regex: '(?:x86_64-apple-)?Darwin/?21.1.0'
1112
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?21.1.0'
998
1113
  version: '12.0.1'
999
- - regex: '(?:x86_64-apple-)?Darwin/?21.0.0'
1114
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?21.0.0'
1000
1115
  version: '12.0'
1001
- - regex: '(?:x86_64-apple-)?Darwin/?20.6.0'
1116
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?20.6.0'
1002
1117
  version: '11.5'
1003
- - regex: '(?:x86_64-apple-)?Darwin/?20.5.0'
1118
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?20.5.0'
1004
1119
  version: '11.4'
1005
- - regex: '(?:x86_64-apple-)?Darwin/?20.4.0'
1120
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?20.4.0'
1006
1121
  version: '11.3'
1007
- - regex: '(?:x86_64-apple-)?Darwin/?20.3.0'
1122
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?20.3.0'
1008
1123
  version: '11.2'
1009
- - regex: '(?:x86_64-apple-)?Darwin/?20.2.0.*'
1124
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?20.2.0.*'
1010
1125
  version: '11.1'
1011
- - regex: '(?:x86_64-apple-)?Darwin/?20.[01].0'
1126
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?20.[01].0'
1012
1127
  version: '11.0'
1013
- - regex: '(?:x86_64-apple-)?Darwin/?19.6.0'
1128
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?19.6.0'
1014
1129
  version: '10.15.6'
1015
- - regex: '(?:x86_64-apple-)?Darwin/?19.5.0'
1130
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?19.5.0'
1016
1131
  version: '10.15.5'
1017
- - regex: '(?:x86_64-apple-)?Darwin/?19.4.0'
1132
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?19.4.0'
1018
1133
  version: '10.15.4'
1019
- - regex: '(?:x86_64-apple-)?Darwin/?19.3.0'
1134
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?19.3.0'
1020
1135
  version: '10.15.3'
1021
- - regex: '(?:x86_64-apple-)?Darwin/?19.2.0'
1136
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?19.2.0'
1022
1137
  version: '10.15.2'
1023
- - regex: '(?:x86_64-apple-)?Darwin/?19.0.0'
1138
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?19.0.0'
1024
1139
  version: '10.15'
1025
- - regex: '(?:x86_64-apple-)?Darwin/?18.7.0'
1140
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?18.7.0'
1026
1141
  version: '10.14'
1027
- - regex: '(?:x86_64-apple-)?Darwin/?18.6.0'
1142
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?18.6.0'
1028
1143
  version: '10.14.5'
1029
- - regex: '(?:x86_64-apple-)?Darwin/?18.5.0'
1144
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?18.5.0'
1030
1145
  version: '10.14.4'
1031
- - regex: '(?:x86_64-apple-)?Darwin/?18.2.0'
1146
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?18.2.0'
1032
1147
  version: '10.14.1'
1033
- - regex: '(?:x86_64-apple-)?Darwin/?18.0.0'
1148
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?18.0.0'
1034
1149
  version: '10.14'
1035
- - regex: '(?:x86_64-apple-)?Darwin/?17.7.0'
1150
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?17.7.0'
1036
1151
  version: '10.13.6'
1037
- - regex: '(?:x86_64-apple-)?Darwin/?17.6.0'
1152
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?17.6.0'
1038
1153
  version: '10.13.5'
1039
- - regex: '(?:x86_64-apple-)?Darwin/?17.5.0'
1154
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?17.5.0'
1040
1155
  version: '10.13.4'
1041
- - regex: '(?:x86_64-apple-)?Darwin/?17.4.0'
1156
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?17.4.0'
1042
1157
  version: '10.13.3'
1043
- - regex: '(?:x86_64-apple-)?Darwin/?17.3.0'
1158
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?17.3.0'
1044
1159
  version: '10.13.2'
1045
- - regex: '(?:x86_64-apple-)?Darwin/?17.2.0'
1160
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?17.2.0'
1046
1161
  version: '10.13.1'
1047
- - regex: '(?:x86_64-apple-)?Darwin/?17.0.0'
1162
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?17.0.0'
1048
1163
  version: '10.13'
1049
- - regex: '(?:x86_64-apple-)?Darwin/?16.7.0'
1164
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?16.7.0'
1050
1165
  version: '10.12.6'
1051
- - regex: '(?:x86_64-apple-)?Darwin/?16.6.0'
1166
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?16.6.0'
1052
1167
  version: '10.12.5'
1053
- - regex: '(?:x86_64-apple-)?Darwin/?16.5.0'
1168
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?16.5.0'
1054
1169
  version: '10.12.4'
1055
- - regex: '(?:x86_64-apple-)?Darwin/?16.4.0'
1170
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?16.4.0'
1056
1171
  version: '10.12.3'
1057
- - regex: '(?:x86_64-apple-)?Darwin/?16.3.0'
1172
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?16.3.0'
1058
1173
  version: '10.12.2'
1059
- - regex: '(?:x86_64-apple-)?Darwin/?16.2.0'
1174
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?16.2.0'
1060
1175
  version: '10.12.2'
1061
- - regex: '(?:x86_64-apple-)?Darwin/?16.1.0'
1176
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?16.1.0'
1062
1177
  version: '10.12.1'
1063
- - regex: '(?:x86_64-apple-)?Darwin/?16.0.0'
1178
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?16.0.0'
1064
1179
  version: '10.12'
1065
- - regex: '(?:x86_64-apple-)?Darwin/?15.6.0'
1180
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?15.6.0'
1066
1181
  version: '10.11.6'
1067
- - regex: '(?:x86_64-apple-)?Darwin/?15.5.0'
1182
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?15.5.0'
1068
1183
  version: '10.11.5'
1069
- - regex: '(?:x86_64-apple-)?Darwin/?15.4.0'
1184
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?15.4.0'
1070
1185
  version: '10.11.4'
1071
- - regex: '(?:x86_64-apple-)?Darwin/?15.3.0'
1186
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?15.3.0'
1072
1187
  version: '10.11.3'
1073
- - regex: '(?:x86_64-apple-)?Darwin/?15.2.0'
1188
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?15.2.0'
1074
1189
  version: '10.11.2'
1075
1190
  - regex: 'CFNetwork/760'
1076
1191
  version: '10.11'
1077
- - regex: '(?:x86_64-apple-)?Darwin/?14.5.0'
1192
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?14.5.0'
1078
1193
  version: '10.10.5'
1079
- - regex: '(?:x86_64-apple-)?Darwin/?14.4.0'
1194
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?14.4.0'
1080
1195
  version: '10.10.4'
1081
- - regex: '(?:x86_64-apple-)?Darwin/?14.3.0'
1196
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?14.3.0'
1082
1197
  version: '10.10.3'
1083
- - regex: '(?:x86_64-apple-)?Darwin/?14.1.0'
1198
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?14.1.0'
1084
1199
  version: '10.10.2'
1085
- - regex: '(?:x86_64-apple-)?Darwin/?14.0.0'
1200
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?14.0.0'
1086
1201
  version: '10.10'
1087
- - regex: '(?:x86_64-apple-)?Darwin/?13.4.0'
1202
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?13.4.0'
1088
1203
  version: '10.9.5'
1089
- - regex: '(?:x86_64-apple-)?Darwin/?13.3.0'
1204
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?13.3.0'
1090
1205
  version: '10.9.4'
1091
- - regex: '(?:x86_64-apple-)?Darwin/?13.2.0'
1206
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?13.2.0'
1092
1207
  version: '10.9.3'
1093
- - regex: '(?:x86_64-apple-)?Darwin/?13.1.0'
1208
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?13.1.0'
1094
1209
  version: '10.9.2'
1095
- - regex: '(?:x86_64-apple-)?Darwin/?13.0.0'
1210
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?13.0.0'
1096
1211
  version: '10.9.0'
1097
- - regex: '(?:x86_64-apple-)?Darwin/?12.6.0'
1212
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?12.6.0'
1098
1213
  version: '10.8.5'
1099
- - regex: '(?:x86_64-apple-)?Darwin/?12.5.0'
1214
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?12.5.0'
1100
1215
  version: '10.8.5'
1101
- - regex: '(?:x86_64-apple-)?Darwin/?12.4.0'
1216
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?12.4.0'
1102
1217
  version: '10.8.4'
1103
- - regex: '(?:x86_64-apple-)?Darwin/?12.3.0'
1218
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?12.3.0'
1104
1219
  version: '10.8.3'
1105
- - regex: '(?:x86_64-apple-)?Darwin/?12.2.0'
1220
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?12.2.0'
1106
1221
  version: '10.8.2'
1107
- - regex: '(?:x86_64-apple-)?Darwin/?12.1.0'
1222
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?12.1.0'
1108
1223
  version: '10.8.1'
1109
- - regex: '(?:x86_64-apple-)?Darwin/?11.5.0'
1224
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?11.5.0'
1110
1225
  version: '10.7.5'
1111
- - regex: '(?:x86_64-apple-)?Darwin/?11.4.2'
1226
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?11.4.2'
1112
1227
  version: '10.7.5'
1113
- - regex: '(?:x86_64-apple-)?Darwin/?11.4.0'
1228
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?11.4.0'
1114
1229
  version: '10.7.4'
1115
- - regex: '(?:x86_64-apple-)?Darwin/?11.3.0'
1230
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?11.3.0'
1116
1231
  version: '10.7.3'
1117
- - regex: '(?:x86_64-apple-)?Darwin/?11.2.0'
1232
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?11.2.0'
1118
1233
  version: '10.7.2'
1119
- - regex: '(?:x86_64-apple-)?Darwin/?11.1.0'
1234
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?11.1.0'
1120
1235
  version: '10.7.1'
1121
- - regex: '(?:x86_64-apple-)?Darwin/?10.8.0'
1236
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?10.8.0'
1122
1237
  version: '10.6.8'
1123
- - regex: '(?:x86_64-apple-)?Darwin/?10.7.[34]'
1238
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?10.7.[34]'
1124
1239
  version: '10.6.7'
1125
- - regex: '(?:x86_64-apple-)?Darwin/?10.3.0'
1240
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?10.3.0'
1126
1241
  version: '10.6.3'
1127
- - regex: '(?:x86_64-apple-)?Darwin/?10.0.0'
1242
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?10.0.0'
1128
1243
  version: '10.6'
1129
- - regex: '(?:x86_64-apple-)?Darwin/?9.8.0'
1244
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?9.8.0'
1130
1245
  version: '10.5.8'
1131
- - regex: '(?:x86_64-apple-)?Darwin/?9.7.1'
1246
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?9.7.1'
1132
1247
  version: '10.5.7'
1133
- - regex: '(?:x86_64-apple-)?Darwin/?9.6.2'
1248
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?9.6.2'
1134
1249
  version: '10.5.6'
1135
- - regex: '(?:x86_64-apple-)?Darwin/?9.5.[05]'
1250
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?9.5.[05]'
1136
1251
  version: '10.5.5'
1137
1252
 
1138
1253
  - regex: 'Macintosh;Mac OS X \((\d+[\.\d]+)\);'
@@ -1206,9 +1321,9 @@
1206
1321
  ##########
1207
1322
  # BeOS
1208
1323
  ##########
1209
- - regex: 'BeOS'
1324
+ - regex: 'BeOS[ +]?(\d[.\d]*)?'
1210
1325
  name: 'BeOS'
1211
- version: ''
1326
+ version: '$1'
1212
1327
 
1213
1328
  ##########
1214
1329
  # Symbian
@@ -1306,7 +1421,6 @@
1306
1421
  name: 'WebTV'
1307
1422
  version: '$1'
1308
1423
 
1309
-
1310
1424
  ##########
1311
1425
  # Unix
1312
1426
  ##########
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: device_detector
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mati Sójka
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2022-12-15 00:00:00.000000000 Z
12
+ date: 2023-12-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: minitest
@@ -90,6 +90,7 @@ files:
90
90
  - lib/device_detector/name_extractor.rb
91
91
  - lib/device_detector/os.rb
92
92
  - lib/device_detector/parser.rb
93
+ - lib/device_detector/vendor_fragment.rb
93
94
  - lib/device_detector/version.rb
94
95
  - lib/device_detector/version_extractor.rb
95
96
  - regexes/bots.yml
@@ -115,7 +116,8 @@ files:
115
116
  homepage: http://podigee.github.io/device_detector
116
117
  licenses:
117
118
  - LGPL-3.0
118
- metadata: {}
119
+ metadata:
120
+ changelog_uri: https://github.com/podigee/device_detector/blob/develop/CHANGELOG.md
119
121
  post_install_message:
120
122
  rdoc_options: []
121
123
  require_paths:
@@ -131,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
131
133
  - !ruby/object:Gem::Version
132
134
  version: '0'
133
135
  requirements: []
134
- rubygems_version: 3.3.20
136
+ rubygems_version: 3.4.10
135
137
  signing_key:
136
138
  specification_version: 4
137
139
  summary: Precise and fast user agent parser and device detector