UNPKG

37.6 kBMarkdownView Raw
1<!-- markdownlint-disable MD024 MD034 MD033 -->
2
3# CHANGELOG
4
5## 8.0.0
6
7- BREAKING(ios, xcode): Xcode 12 required with #1137. Use 7.3.2 if you must use outdated Xcode (#1151)
8- feat(android, hms/gms): add ability to run without play services (#1156, thanks @saghul!)
9
107.4.0 was inadvertently breaking. I hadn't realized any iOS developers failed to update Xcode to stable
11after an Xcode release. For a variety of reasons, you should always keep Xcode up to date, nevertheless
12dropping Xcode 11 support is breaking. Update your Xcode or use 7.3.2.
13
14## 7.4.0
15
16- feat(android, install referrer): add ability to run without install referrer (#1153, thanks @saghul!)
17- BREAKING feat(ios, catalyst): added DeviceTypeDesktop to getDeviceType() (#1137, thanks @exotexot!)
18- fix(android, install referrer): remove old install referrer api (#1150 @nicoburns!)
19- chore(ci, example): add ios/android CI, lint CI, de-lint project (@mikehardy)
20
21## 7.3.2
22
23- fix: remove deprecated way of retrieving INSTALL_REFERRER on Android (#965) (@Minishlink)
24
25### 7.3.1
26
27- fix(android, test): drop mockito to 3.6.28 to fix android test build break (thanks @jamsch!)
28
29### 7.3.0
30
31- feat(android, build): add ability to specify firebase bill of materials for iid versioning (#1133, thanks @Dimon70007!)
32- fix(notch): add Redmi 9 to hasNotch list (#1140, thanks @esgudnason!)
33- test: Adding more tests and refactoring some getters (#1136, thanks @schie!)
34- chore: dependency updates (@mikehardy)
35
36### 7.2.1
37
38- fix(test, mocks): extra comma syntax error in mock definition (#1134, thanks @DorianGrey!)
39
40### 7.2.0
41
42- feat(windows): implement additional methods (#1122, thanks @jaimecbernardo!)
43- feat(windows): port C# Windows implementation to C++ (#1113, thanks @jaimecbernardo!)
44- feat(test, mocks): adding rest of jest mocks (#1132, thanks @schie!)
45- fix(ios, keychain): change keychain access control to non-deprecated value (#1131, thanks @dmitry-bluescape!)
46
47### 7.1.0
48
49- feat(hasHms): added `hasHms` to indicate if Android device supports Huawei Mobile Services. (#1129, thanks @craig95!)
50- feat(hasGms): added `hasGms` to indicate if Android device supports Google Mobile Services. (#1129, thanks @craig95!)
51
52This release includes a truly enormous amount of testing and internal refactoring work that has made the module much
53easier to maintain, all courtesy of @schie in the form of a pile of PRs implementing the same. Thank you, Dustin Schie!
54
55### 7.0.2
56
57- fix(windows): remove use of Object.fromEntries (#1110, thanks @jaimecbernardo!)
58
59### 7.0.1
60
61- fix(hasNotch): fix missing Redmi 7 and Pixel 3a model name in devicesWithNotch.ts (#1107, thanks @tronin!)
62- fix(hasNotch): fix missing Samsung A21s model in devicesWithNotch (#1106, thanks @djhr!)
63
64### 7.0.0
65
66- BREAKING CHANGE: Increase iOS minimum to iOS 10. Stay on 6.x if you need to support iOS 9
67- fix(iOS): supporting `getFontScale` in App Extensions (#1097, thanks @schie!)
68- feat(mocks): add default set of mocks (#1102, thanks @schie!)
69
70The change to iOS10 minimum was required to fix getFontScale for App Extensions
71react-native 0.63 already requires iOS 10 minimum, so this is in harmony with the ecosystem
72
73### 6.2.0
74
75- feat(hooks): add useIsHeadphonesConnected hook (#1084, thanks again @schie!)
76
77### 6.1.0
78
79- feat(hooks): add useManufacturer hook (#1083, thanks @schie!)
80- fix(types): add returnType to getPowerState (#1082, thanks @ferdicus!)
81
82### 6.0.4
83
84- fix(android): fix swapped data/root values in getFreeDiskStorageSync (#1077, thanks @violetchow2611!)
85
86### 6.0.3
87
88- fix: Xcode 12 compatibility (thanks @radko93! #1075)
89
90### 6.0.2
91
92- fix(windows): Targetplatform change for cpp apps to use this module (#1072, thanks @tero-paananen!)
93
94### 6.0.1
95
96- Added the 2nd generation iPhone SE to the deviceNamesByCode list (#1068, thanks @steve-lorenz!)
97
98## 6.0.0
99
100- BREAKING CHANGE(android, storage): Replace`getTotalDiskCapacity` and `getFreeDiskStorage` implementations, original
101 implementations are `getTotalDiskCapacityOld` and `getFreeDiskStorageOld`. New implementation adds `Root` and `Data` file systems.
102 Old implementations are deprecated, they use deprecated Android APIs, and they will disappear in a future version.
103 This _should_ be a positive change as the resulting calculation should match Android settings storage calculation,
104 but the old API is there if you need it, and you can open an issue to discuss if necessary. (#1054, thanks @gabriel-franzoni-pier!)
105
106- BREAKING CHANGE(windows, vNext): The windows support has been ported from C# (react-native-windows <= 0.59) to C++
107 (react-native-windows >= 0.59). This drops support for react-native-windows lower than 0.59. The port
108 was developed and tested against react-native-windows 0.62.5. (1059#, thanks @tero-paananen!). The getTotalMemory APIs
109 were dropped in the process (it appears react-native-windows vNext does not support them)
110
111## 5.6.5
112
113- fix(hasNotch): add devices Blackview A30 (#1058, thanks @alexnaiman!)
114
115## 5.6.4
116
117- fix(android): fix missing Huawei P30 model name in devicesWithNotch.ts (@tronin)
118
119## 5.6.3
120
121- fix(ios): fix WkWebView crash from parallel getUserAgent calls (#1050, thanks @RojoHub!)
122
123## 5.6.2
124
125- fix(types): import LocationProviderInfo type, export result types (#1041, thanks @mikehardy)
126- fix: power connection and power save events were not triggering correctly (#1042, thanks @mikehardy)
127- fix(ios): correctly calculate ios low battery threshold (#1039, thanks @mikehardy)
128
129## 5.6.1
130
131- fix: react-native-web fix TypeError and battery (#1024) (thanks @jamesst20!)
132
133I want to say I especially appreciate the help on the react-native-web implementation.
134Anyone that wants to help this library work better for react-native-web is more than welcome!
135I (@mikehardy, the currently active maintainer here) do not use react-native-web so I need
136all the help I can get. Cheers!
137
138## 5.6.0
139
140- feat: Added syncUniqueId() for iOS devices (#922) (thanks @Bardiamist!)
141
142## 5.5.8
143
144- fix: iOS check HFP in addition to A2DP in isHeadphonesConnected (thanks @CaptainJeff!)
145
146## 5.5.7
147
148- fix: Android - build issues when building for electron (thanks @rcjmk10!)
149- chore: `yarn upgrade --latest`
150
151## 5.5.6
152
153- fix: Android - safely handle PackageManager death in InstallReferrerClient (@mikehardy)
154- chore: upgrade gradle + gradle-plugin
155- chore: update all javascript dependencies
156- chore: refresh-example to react-native 0.62.2
157- chore: de-lint
158
159## 5.5.5
160
161- fix: getModel on iOS now returns generic device type (e.g. "iPhone") if the specific model is unrecognized (@TheAlmightyBob)
162
163## 5.5.4
164
165- fix: memoization of static boolean return values (@jmheik)
166- fix: add mac catalyst compatibility to getCarrier (#973) (thanks @robertying!)
167- fix: add wider exception handling in install referrer (thanks @jmunozDevsu!)
168
169## 5.5.3
170
171- fix: add Redmi Note 9 to hasNotch list (#959) (thanks @euharrison!)
172
173## 5.5.2
174
175- fix: avoid crash if missing InstallReferrer permission on Android (#955) (@mikehardy)
176
177## 5.5.1
178
179- fix: RNDeviceInfo_powerStateDidChange event argument type error (@mikehardy)
180
181## 5.5.0
182
183- feat: add getInstallerPackageName for android (#912) (thanks @codecog!)
184- fix: switch to InstallReferrer API (#947) (thanks @skantus!)
185
186## 5.4.4
187
188- feat: add Huawei P Smart devices to notch list (#945) (thanks @sanborN!)
189
190## 5.4.3
191
192- fix: only reject once from DeviceCheck APIs (fixes Simulator crash) (@mikehardy)
193
194## 5.4.2
195
196- fix: remove yarn as a requirement (#943) (thanks @gie3d!)
197- chore: update dependencies (@mikehardy)
198
199## 5.4.1
200
201- fix: Fix getDeviceToken crash on IOS simulator (#929) (thanks @Taym95!)
202
203## 5.4.0
204
205- feat + fix: tabbed example, improved types, efficient Platform usage (thanks @zoontek!)
206- feat: Added getDeviceToken() using DeviceCheck API on iOS 11.0+ (thanks @AntoineDoubovetzky!)
207- fix: hasNotch correctly matches Xiaomi Mi 9 (thanks @BogdanTaranenko!)
208- docs: fix upgrade links in README TOC (thanks @Simek!)
209- docs: fix type in README useIsEmulator example (thanks @zusinShinpei!)
210
211## 5.3.1
212
213- types: fix Flow types (thanks @grit96!)
214
215## 5.3.0
216
217- feat: Added web support for isCameraPresent, isLocationEnabled, isAirplaneMode, getBaseOs, getFreeDiskStorage, getMaxMemory, getTotalDiskCapacity, getTotalMemory, getUsedMemory and battery/charging-related APIs. (thanks @robertherber!)
218
219## 5.2.0
220
221- feat: isHeadphonesConnected() / isHeadphonesConnectedSync() (thanks @chakrihacker!)
222
223## 5.1.0
224
225This release allows you to use the firebase iid library for unique ids - it's the backwards-compatible but future direction of unique ids on Android, you should move to it by using firebaseIidVersion in your android/build.gradle file ext{} block to specify the library version
226
227- feat: android native interoperability - determine isTablet from android native (thanks @andresesfm!)
228- feat: android unique ID forward-ported to firebase, w/great backwards-compatibility (thanks @andresesfm and Andres Aguilar!)
229
230## 5.0.1
231
232- re-package of 5.0.0 without change except delete accidental inclusion of example/android/app/build
233
234## 5.0.0
235
236- BREAKING: (from 4.0.2-rc.1) getDeviceType is constant now - no need for getDeviceTypeSync
237 This is a tiny breaking change, easy to adopt:
238 1. getDeviceTypeSync --> getDeviceType
239 1. `getDeviceType.then(type => {});` --> `let type = getDeviceType();`
240- feat: Hooks! Add `useBatteryLevel()`, `useBatteryLevelIsLow()`, `usePowerState` methods (thanks @magrinj!)
241- fix: iOS use CFBundleName if CFBundleDisplayName null (Fixes #846, thanks @rizwankce!)
242- chore: add support for 2019 iPads models in 'model' mapping (thanks Edward Wong!)
243- chore: add support for motorola one vision in hasNotch (thanks @euharrison!)
244- docs(README): Fixed link in TOC (thanks @martinvol!)
245- docs(README): Fixed example code hasNotch() - constant, no Promise (thanks @cereme!)
246- docs(README): Fixed example code getDeviceId() - constant, no Promise (thanks @adambutler!)
247- docs(README): Fixed getReadableVersion() sub-API references (thanks @djorkaeffalexandre!)
248- chore: yarn upgrade --latest to update dependencies (@mikehardy)
249
250## 4.0.2-rc.1
251
252- BREAKING: getDeviceType converted to a constant (minor breaking change, but will release as 5.0.0 just in case)
253
254## 4.0.1
255
256- released from 4.0.1-rc.1 without change
257
258## 4.0.1-rc.1
259
260- docs(README): link to v3->v4 migraiton guide
261- docs(CHANGELOG): entries for rest of 4.0.1-beta series
262
263## 4.0.1-beta.8
264
265- fix: iOS getBundleId incorrectly returning buildId vs bundleId
266- fix: hasNotch correctly matches Nokia 6.1 Plus
267
268## 4.0.1-beta.7
269
270- fix: iOS isTablet was always returning false
271- fix: hasSystemFeatureSync incorrectly returned Promise
272
273## 4.0.1-beta.6
274
275- fix: hasSystemFeatureSync incorrectly returning a Promise on iOS @mikehardy
276- fix: isTablet on iOS always returning false @mikehardy
277
278## 4.0.1-beta.5
279
280- fix: iOS getModel always returned generics @mikehardy
281
282## 4.0.1-beta.4
283
284- BREAKING CHANGE: rename getCameraPresence to isCameraPresent to match other booleans (#810) @mikehardy
285
286## 4.0.1-beta.3
287
288- fix: support Wifi IP address on Apple TV (https://github.com/react-native-community/react-native-device-info/pull/825) @gcesarmza
289
290## 4.0.1-beta.2
291
292- fix: android use googlePlayServicesIidVersion if available (https://github.com/react-native-community/react-native-device-info/pull/804 / Fixes #802) @mikehardy
293
294## 4.0.1-beta.1
295
296- BREAKING CHANGE: DeviceType: Renamed `Unknown` to `unknown` for consistency across the project (@johan-dutoit)
297- fix: typescript conversion mopup (@johan-dutoit)
298
299## 4.0.0 (released / revoked on npm)
300
301This was almost working but had some issues so was revoked on npmjs.com
302
303- Conversion to typescript (https://github.com/react-native-community/react-native-device-info/pull/799) thanks @johan-dutoit!
304
305## 3.1.4
306
307- fix: chain getReadableVersion APIs to JS vs native, protects web from native calls (Fixes #796)
308
309## 3.1.3
310
311- chore: add support for 2019 iPhone models in 'hasNotch' mapping
312
313## 3.1.2
314
315- fix: fix iOS crash in getModel for unknown modules (https://github.com/react-native-community/react-native-device-info/pull/791) thanks @rbscott!
316
317The above PR also included a refresh/update of the iOS model list and improved getModel caching - a thorough job
318
319## 3.1.1
320
321- fix: fix react-native-windows v2->v3 migration (https://github.com/react-native-community/react-native-device-info/pull/787) thanks @acoates-ms!
322
323## 3.1.0
324
325- feat: add power functionality in Android to match iOS (https://github.com/react-native-community/react-native-device-info/pull/775) thanks @Johan-dutoit!
326
327## 3.0.0
328
329- release: promoted release from 3.0.0-rc.5 without change
330
331## 3.0.0-rc.5
332
333- fix: various fixes similar to / prompted by #771 / #768 / #769
334- fix: getSystemName() returns value on ios+android [#771](https://github.com/react-native-community/react-native-device-info/issues/771) thanks @cmpayc!
335- fix: getUniqueId() only returned value 1st call [#768](https://github.com/react-native-community/react-native-device-info/issues/768) thanks @tamhv!
336- fix: getModel() not working on iOS [#769](https://github.com/react-native-community/react-native-device-info/pull/769) Thanks @rnnyrk!
337
338## 3.0.0-rc.4
339
340- feat: memoize static return values for performance
341
342## 3.0.0-rc.3
343
344- fix: TypeScript getPowerState() return type was Object instaed of PowerState interface
345- fix: TypeScript definition file was missing getPhoneNumberSync()
346
347## 3.0.0-rc.2
348
349- Added a sync version of each API call, in practice it is very difficult to consume async
350 APIs during app bootstrap and device info is frequently fundamental to app startup behavior.
351 This still preserves the change away from paying the entire cost of information retrieval at
352 startup - now you will only pay for exactly what you need.
353
354## 3.0.0-rc.1
355
356- fix incorrect use of macos for API selection vs ios in rc.3, rendering ios builds mostly useless
357- verified last of the v2->v3 discrepancies, this is a release candidate now
358
359## 3.0.0-beta.3
360
361- fix some real android device v2->v3 discrepancies
362- BREAKING CHANGE: more capitalization changes for API calls to standardize (see below)
363- BREAKING CHANGE: more return value changes to standardize return values (see below)
364- feat: you no longer have to be careful with platform-specific APIs, all APIs will work, just
365 returning standard "unknown" return values (see above breaking change, and example App.js usage)
366
367## 3.0.0-beta.2
368
369- fix all emulator/simulator v2->v3 discrepancies
370
371## 3.0.0-beta.1
372
373Each BREAKING CHANGE contains the required information to migrate. The example App.js shows sample usage.
374
375- BREAKING CHANGE: Every API call returns a Promise now (and thus no more Android constructor with async boolean argument)
376 - This was required to improve module load speed, handle dynamic values, and release the main queue for iOS
377- BREAKING CHANGE: Every API call with acronyms ('getIP', 'getABI' etc follows pure camel-case now, e.g. 'getIp', 'getAbi')
378 - This naming style is a consensus standard. Previously APIs here were half one way half the other. Now they are consistent
379 - isAirPlaneMode -> isAirplaneMode
380 - getIPAddress -> getIpAddress
381 - getMACAddress -> getMACAddress
382 - getAPILevel -> getApiLevel
383 - getBaseOS -> getBaseOs
384 - getInstanceID -> getInstanceId
385 - getUniqueID -> getUniqueId
386 - supportedABIs -> supportedAbis
387- BREAKING CHANGE: all events prefixed with 'RNDeviceInfo\_' (https://github.com/react-native-community/react-native-device-info/issues/620)
388 - This is required as event names are a global namespace and collisions are inevitable otherwise
389 - powerStateDidChange -> RNDeviceInfo_powerStateDidChange
390 - batteryLevelDidChange -> RNDeviceInfo_batteryLevelDidChange
391 - batteryLevelIsLow -> RNDeviceInfo_batteryLevelIsLow
392- BREAKING CHANGE: Android `getBuildNumber` returns string like iOS (https://github.com/react-native-community/react-native-device-info/pull/648)
393- BREAKING CHANGE: remove is24Hour, getTimezone, isAutoTimeZone and isAutoDateAndTime, getDeviceLocale, getDeviceCountry, getPreferredLocales
394 - This was the result of a survey. It removes API duplication in the react-native-community modules
395 - Related PR: https://github.com/react-native-community/react-native-localize/pull/65
396 - Use `yarn add https://github.com/mikehardy/react-native-localize.git#e062f0d2dc3171dc18fdb7b7139d347ad03933dc` to maintain isAutoTimeZone + isAutoDateAndTime until merged
397- BREAKING CHANGE: iOS switch deprecated WebView for WebKit / getUserAgent returns Promise (https://github.com/react-native-community/react-native-device-info/pull/757)
398 - The change from WebView to WebKit was required as the API is being removed from the iOS platform
399- BREAKING CHANGE: if an API is platform-specific, all non-implementing platforms will return standard values of -1, false, or 'unknown' depending on return type
400 - This was how most APIs behaved before but it was not 100% - some returned null or empty string before
401 - getPhoneNumber sometimes returned null, now it will be 'unknown' if not known
402- deprecated: IP-address-related methods deprecated - use @react-native-community/netinfo or react-native-network-info or react-native-carrier-info
403- feat: all APIs are now restricted in Javascirpt to the platforms they have full implementations on so the web polyfill is up to date
404- feat: 'getAndroidId' on Android returns android.provider.Settings.Secure.ANDROID_ID, read platform docs for usage
405- feat: `getUsedMemory` (https://github.com/rebeccahughes/react-native-device-info/pull/356)
406- feat: getDeviceName() without Bluetooth permission on Android (https://github.com/react-native-community/react-native-device-info/issues/735)
407- feat: TurboModule support (https://github.com/react-native-community/react-native-device-info/pull/745) for these purposes (https://github.com/react-native-community/react-native-localize/pull/65)
408- feat: allow for destructured ES6 imports (https://github.com/react-native-community/react-native-device-info/pull/727)
409- feat: update gradle, add react-native devDependency and build.gradle reference to enhance module developer experience
410- fix: remove unnecessary gradle depencies (https://github.com/react-native-community/react-native-device-info/pull/746)
411- chore: de-linted all Java code, all Markdown
412
413## 2.3.2
414
415- fix: load module async by default with option to load sync (https://github.com/react-native-community/react-native-device-info/pull/741)
416
417## 2.3.1
418
419- fix: add Huawei P30 devices to isNothc list (https://github.com/react-native-community/react-native-device-info/pull/734)
420
421## 2.3.0
422
423- feat: AndroidX support (backwards/forwards compatible) (https://github.com/react-native-community/react-native-device-info/pull/733)
424- fix: isTablet() Android using Google-recommended / robust style (https://github.com/react-native-community/react-native-device-info/pull/730)
425
426## 2.2.2
427
428- fix: re-fix crash PR #714, API level should be 24 (https://github.com/react-native-community/react-native-device-info/pull/715)
429
430## 2.2.1
431
432- fix: crash on android api level less than 23 (https://github.com/react-native-community/react-native-device-info/pull/714)
433
434## 2.2.0
435
436- feat: sync some methods from flutter (https://github.com/react-native-community/react-native-device-info/pull/711)
437
438## 2.1.4
439
440- fix: additional checking in simulation method (https://github.com/react-native-community/react-native-device-info/pull/710)
441- docs(README): Add detail to ios getUniqueID() docs (https://github.com/react-native-community/react-native-device-info/pull/707)
442
443## 2.1.3
444
445- fix: add missing devices to devices with notch list (https://github.com/react-native-community/react-native-device-info/pull/702)
446
447## 2.1.2
448
449- build(Android): constrain play services dependency to pre-AndroidX 16.1.0 (https://github.com/react-native-community/react-native-device-info/pull/693)
450
451## 2.1.1
452
453- fix(Android): Avoid NullpointerException on install referer listener (https://github.com/react-native-community/react-native-device-info/pull/685)
454
455## 2.1.0
456
457- perf(Android): getConstants() optionally loaded in thread, speedup for most, init MainApplication with RNDeviceInfo(true) (https://github.com/react-native-community/react-native-device-info/pull/680)
458
459## 2.0.4
460
461- fix: Add Xiaomi Redmi Note 7 to devicesWithNotch list (https://github.com/react-native-community/react-native-device-info/pull/682)
462
463## 2.0.3
464
465- fix: adding conditions for tvOS location providers (https://github.com/react-native-community/react-native-device-info/pull/678)
466- docs: refresh example app and fix it so it works with tvOS
467- docs: alter API Chart in README.md - isAutoDateAndTime and isAutoTimeZone return Promise (https://github.com/react-native-community/react-native-device-info/pull/677)
468
469## 2.0.2
470
471- fix: checking for tvOS before attempting to get `isBatteryMonitoringEnabled` flag as tvOS doesn't support it (https://github.com/react-native-community/react-native-device-info/pull/673)
472- types: make the typescript location / power returns specific (https://github.com/react-native-community/react-native-device-info/pull/669)
473- chore: move ios device model dictionary from native to javascript (https://github.com/react-native-community/react-native-device-info/pull/670)
474
475## 2.0.1
476
477- fix: `getFreeDiskStorage()` to use `StatFs` methods that return `long` instead of `int` (which are now deprecated)
478 (https://github.com/react-native-community/react-native-device-info/pull/672)
479
480## 2.0.0
481
482- breaking: no functional change from 1.8.0, but isLocationEnabled requires minCompileSdk 28
483
484## 1.8.0 (unpublished: unintended breaking change)
485
486- feat: Add `isLocationEnabled()`, `getAvailableLocationProviders()` methods (https://github.com/react-native-community/react-native-device-info/pull/664)
487
488## 1.7.0
489
490- feat: Add `getCameraPresence()` method (https://github.com/react-native-community/react-native-device-info/pull/474)
491
492## 1.6.2
493
494- fix: added v to tag name in podspec (https://github.com/react-native-community/react-native-device-info/pull/660)
495- docs: Update README.md to have correct Podspec name (https://github.com/react-native-community/react-native-device-info/pull/656)
496
497## 1.6.1
498
499- fix: fix building issue on tvOS / headers on iOS (https://github.com/react-native-community/react-native-device-info/pull/652)
500- chore: fix pointer types in iOS build (https://github.com/react-native-community/react-native-device-info/pull/649)
501
502## 1.6.0
503
504- feat: implement hasSystemFeature() method for Android devices (https://github.com/react-native-community/react-native-device-info/pull/646)
505
506## 1.5.1
507
508- chore: Update deviceinfo.js entry for xioami mi 8 lite (https://github.com/react-native-community/react-native-device-info/pull/644)
509
510## 1.5.0
511
512- feat: Add `getBuildId` method to gets build number of the operating system. (https://github.com/react-native-community/react-native-device-info/pull/640)
513
514## 1.4.3
515
516- chore: Add Xiaomi Mi A2 Lite to devices with notch (https://github.com/react-native-community/react-native-device-info/pull/634)
517- feat: Throw error if native module is null w/steps to help fix (https://github.com/react-native-community/react-native-device-info/pull/630)
518
519## 1.4.2
520
521- fix: Use `RCTSharedApplication` so compile works for ios app extensions (https://github.com/react-native-community/react-native-device-info/pull/408)
522- chore: Add 3rd generation iPad pro to device/model list (https://github.com/react-native-community/react-native-device-info/pull/618)
523- feat: Support `getUserAgent()` on old androids (API level <= 16) (https://github.com/react-native-community/react-native-device-info/pull/545)
524- chore: Add Huweai INE-LX1 to devices with notch (https://github.com/react-native-community/react-native-device-info/pull/624)
525
526### iOS notice
527
528This is existing policy but is worth mentioning: The list with device names (returned by `getModel()`) is maintained by the community and could lag new devices. It is recommended to use `getDeviceId()` since it's more reliable and always up-to-date with new iOS devices. We do accept pull requests that add new iOS devices to the list with device names
529
530## 1.4.1
531
532- fix: repair flow types from #436 - 'Object' vs 'object'
533
534## 1.4.0
535
536- feat: add battery monitoring and detailed power state getter (https://github.com/react-native-community/react-native-device-info/pull/436)
537
538## 1.3.0
539
540- feat: Add support for preferred languages function (https://github.com/react-native-community/react-native-device-info/pull/610)
541
542## 1.2.0
543
544- feat: Support 'dom' Platform.OS for react-native-dom (https://github.com/react-native-community/react-native-device-info/pull/406)
545- feat: Add support for jest snapshot testing (https://github.com/react-native-community/react-native-device-info/pull/375)
546- fix: Use API-specific permissions to get phone number (https://github.com/react-native-community/react-native-device-info/pull/269)
547- fix: Add OnePlus A6010 to devicesWithNothc list (https://github.com/react-native-community/react-native-device-info/pull/604)
548- fix: use reactContext vs getApplicationContext() (https://github.com/react-native-community/react-native-device-info/pull/382)
549- fix: dynamic reference path on windows depending on environment (https://github.com/react-native-community/react-native-device-info/pull/608)
550
551## 1.1.0
552
553- Add `supportedABIs()` (https://github.com/react-native-community/react-native-device-info/pull/598)
554
555## 1.0.1
556
557- fix: Add Nokia 7.1 to devicesWithNotch list (https://github.com/react-native-community/react-native-device-info/pull/597)
558
559## 1.0.0
560
561- First major version, features (and bugs) copied from 0.29.1
562
563## 0.29.1
564
565- Fix lint errors (library dependences, ignore permissions) (https://github.com/react-native-community/react-native-device-info/pull/590)
566
567> On March 12 2019, this repository was moved from https://github.com/rebeccahughes/react-native-device-info
568> to https://github.com/react-native-community/react-native-device-info
569
570## 0.29.0
571
572- Add `isAutoDateAndTime()` and `isAutoTimeZone()` (https://github.com/react-native-community/react-native-device-info/pull/583)
573
574## 0.28.1
575
576- Add 'POCOPHONE F1' to list of notch devices (https://github.com/react-native-community/react-native-device-info/pull/584)
577
578## 0.28.0
579
580- Updated Android SDK to version 28 (https://github.com/react-native-community/react-native-device-info/pull/548)
581
582## 0.27.1
583
584- Enabled battery monitoring mode to get actual battery data (https://github.com/react-native-community/react-native-device-info/pull/404)
585
586## 0.27.0
587
588- Added `isBatteryCharging()` (https://github.com/react-native-community/react-native-device-info/pull/514)
589
590## 0.26.5
591
592- Use BigInteger to avoid overflow in Disk related functions (https://github.com/react-native-community/react-native-device-info/pull/587)
593
594## 0.26.4
595
596- Fix hasNotch() support for LG phones (https://github.com/react-native-community/react-native-device-info/pull/573)
597
598## 0.26.3
599
600- Fixed getDeviceType method (https://github.com/react-native-community/react-native-device-info/pull/571)
601
602## 0.26.2
603
604- Added Huawei P20 Lite to notch devices (https://github.com/react-native-community/react-native-device-info/pull/568)
605
606## 0.26.1
607
608- Added OnePlus 6T to notch devices (https://github.com/react-native-community/react-native-device-info/pull/563)
609
610## 0.26.0
611
612- Added `getDeviceType()` and used it in `isTablet()` (https://github.com/react-native-community/react-native-device-info/pull/560)
613
614## 0.25.1
615
616- Added Google Pixel 3XL to notch devices (https://github.com/react-native-community/react-native-device-info/pull/535)
617
618## 0.25.0
619
620- Added `isAirPlaneMode()` (https://github.com/react-native-community/react-native-device-info/pull/524)
621- Compare `hasNotch()` devices with lowercase (https://github.com/react-native-community/react-native-device-info/pull/537)
622- Added several devices to `hasNotch()` (#533, #549, #550)
623
624## 0.24.3
625
626- Support React Native Windows 0.57, minimal version is now 10.0.14393 for the target platform
627
628## 0.24.2
629
630- Update typescript definitions (https://github.com/react-native-community/react-native-device-info/pull/498)
631
632## 0.24.1
633
634- Update build.gradle to remove compile warning (https://github.com/react-native-community/react-native-device-info/pull/520)
635
636## 0.24.0
637
638- Added `isLandscape()` (https://github.com/react-native-community/react-native-device-info/pull/504)
639
640## 0.23.0
641
642- Add `hasNotch()` (https://github.com/react-native-community/react-native-device-info/pull/500)
643
644## 0.22.6
645
646- Support new models (XR, XS, XS Max) and iPad 6th Gen (https://github.com/react-native-community/react-native-device-info/pull/499)
647
648## 0.22.5
649
650- Fix typescript declaration export (https://github.com/react-native-community/react-native-device-info/pull/478)
651
652## 0.22.4
653
654- Shrank the npm package size (https://github.com/react-native-community/react-native-device-info/issues/477)
655
656## 0.22.3
657
658- Fixed `eslint-plugin-import` error (https://github.com/react-native-community/react-native-device-info/pull/466)
659
660## 0.22.2
661
662- Fixed Android build error introduced in 0.22.1 (https://github.com/react-native-community/react-native-device-info/pull/460)
663
664## 0.22.1
665
666- Fix deprecated code on Android in the following methods (https://github.com/react-native-community/react-native-device-info/pull/426)
667- getDeviceCountry
668- getDeviceLocale
669
670## 0.22.0
671
672- Add support for `getIpAddress` and `getMacAddress` on iOS (https://github.com/react-native-community/react-native-device-info/commit/41735bd0b2efe1f626afc066604f27073acb9d4c)
673
674## 0.21.5
675
676- Rolled back the Pod change made in 0.21.1
677
678## 0.21.4
679
680- Move back the podspec file to the root directory (https://github.com/react-native-community/react-native-device-info/pull/376)
681
682## 0.21.3
683
684- Moved the IOS code to an ios/ directory (https://github.com/react-native-community/react-native-device-info/pull/374)
685
686## 0.21.2
687
688- Fix getBatteryLevel() for tvOS (always return 1) (https://github.com/react-native-community/react-native-device-info/pull/363)
689
690## 0.21.1
691
692- Remove deprecated React pod dependency (https://github.com/react-native-community/react-native-device-info/pull/361)
693
694## 0.21.0
695
696- Add more gradle configuration properties `compileSdkVersion`, `buildToolsVersion`, `targetSdkVersion` (https://github.com/react-native-community/react-native-device-info/pull/343)
697
698## 0.20.0
699
700- Made the following methods compatible with UWP: (https://github.com/react-native-community/react-native-device-info/pull/345)
701 - `getBatteryLevel()`
702 - `getFirstIntallTime()`
703 - `getIPAddress()`
704 - `getMaxMemory()`
705 - `isPinOrFingerprintSet()`
706
707## 0.19.0
708
709- Add `getInstallReferrer` (https://github.com/react-native-community/react-native-device-info/pull/344)
710
711## 0.18.0
712
713- Add `getBatteryLevel` (https://github.com/react-native-community/react-native-device-info/pull/359)
714
715## 0.17.4
716
717- Fix `getMACAddress` for Android > 6 (https://github.com/react-native-community/react-native-device-info/pull/349)
718
719## 0.17.3
720
721- Fix production build crash on Android introduced in #313
722
723## 0.17.2
724
725- Enhance `isTablet()` for android by checking display density (https://github.com/react-native-community/react-native-device-info/pull/313)
726- Changed iOS target deployment from 9.0 to 8.0 for broader device support (https://github.com/react-native-community/react-native-device-info/issues/19)
727
728## 0.17.1
729
730- Fix bad import for web polyfill
731
732## 0.17.0
733
734- Add an empty polyfill for `react-native-web` users (https://github.com/react-native-community/react-native-device-info/pull/339)
735
736## 0.16.0
737
738- Add the `googlePlayServicesVersion` Gradle build config that allows you to set the Play Services version from the root-project (https://github.com/react-native-community/react-native-device-info/pull/333)
739
740## 0.15.3
741
742- Fix crash on iOS: prevent insertion of nil values in the dictionary (https://github.com/react-native-community/react-native-device-info/pull/328)
743
744## 0.15.2
745
746- Fix crash on `getFreeDiskStorage` and `getTotalDiskCapacity` from invalid filesystem path (https://github.com/react-native-community/react-native-device-info/issues/320)
747
748## 0.15.1
749
750- Fix Android compatibility for `getFreeDiskStorage` and `getTotalDiskCapacity` (https://github.com/react-native-community/react-native-device-info/pull/319)
751
752## 0.15.0
753
754- Add `getFontScale` (https://github.com/react-native-community/react-native-device-info/pull/278)
755- Add `getFreeDiskStorage` and `getTotalDiskCapacity` (https://github.com/react-native-community/react-native-device-info/pull/302)
756- Fix missing flow definition for `getApplicationName`
757
758## 0.14.0
759
760- Fix tvOS support (https://github.com/react-native-community/react-native-device-info/pull/283)
761- Introduced `getApplicationName` to see the name of the app both on ios, android and win
762 - https://github.com/react-native-community/react-native-device-info/pull/210
763 - https://github.com/react-native-community/react-native-device-info/pull/295
764- Added `getTotalMemory` and `getMaxMemory` (https://github.com/react-native-community/react-native-device-info/pull/289)
765- Fix iOS undefined native module error (https://github.com/react-native-community/react-native-device-info/pull/276)
766- Fix crash on `getUserAgent` when Webview is not installed (https://github.com/react-native-community/react-native-device-info/pull/273)
767
768## 0.13.0
769
770- Add `getCarrier` (https://github.com/react-native-community/react-native-device-info/pull/261)
771- Disable `isPinOrFingerprintSet` for tvOS (https://github.com/react-native-community/react-native-device-info/pull/270)
772- Add `is24Hour` (https://github.com/react-native-community/react-native-device-info/pull/265)
773- Remove unused windows dependency (https://github.com/react-native-community/react-native-device-info/pull/263)
774- Add missing typescript definitions (https://github.com/react-native-community/react-native-device-info/pull/254)
775- Make play-services optional (https://github.com/react-native-community/react-native-device-info/pull/226)
776
777## 0.12.1
778
779- Critical fix on WIFI STATE (https://github.com/react-native-community/react-native-device-info/pull/249)
780
781## 0.12.0
782
783- Get real WebView UserAgent on Android (https://github.com/react-native-community/react-native-device-info/pull/207)
784- Add DeviceUID.h to public headers (https://github.com/react-native-community/react-native-device-info/pull/217)
785- Add `getPhoneNumber` (https://github.com/react-native-community/react-native-device-info/pull/174)
786- Fix typescript definitions (https://github.com/react-native-community/react-native-device-info/pull/221)
787- Add `getFirstInstallTime` and `getLastUpdateTime` (https://github.com/react-native-community/react-native-device-info/pull/222)
788- Added version check and permission to work with Android API >= 16 (https://github.com/react-native-community/react-native-device-info/pull/225)
789- Added device detection even when in an iOS emulator (https://github.com/react-native-community/react-native-device-info/pull/224)
790- Add support for new iPhone, iPad, and Apple TV models (https://github.com/react-native-community/react-native-device-info/pull/230)
791- Add android only `getAPILevel` method (https://github.com/react-native-community/react-native-device-info/pull/232)
792- Add Android support for serial number, IP, and MAC address (https://github.com/react-native-community/react-native-device-info/pull/150)
793- Add tvOS support (https://github.com/react-native-community/react-native-device-info/pull/235)
794- Add flow types
795- Fix getCurrentActivity() null crash in Android (https://github.com/react-native-community/react-native-device-info/pull/247)
796
797[Diff](https://github.com/react-native-community/react-native-device-info/compare/1aafc6f0b20d7cd6f0939ea5370e9899e4914c93...master)
798
799## 0.11.0
800
801- Add support for RN > 0.47
802- Update typescript definitions
803
804[Diff](https://github.com/react-native-community/react-native-device-info/compare/5b869cdd5e16b65cbe4e85a565aa331bd7546b89...1aafc6f0b20d7cd6f0939ea5370e9899e4914c93)
805
806## 0.10.2
807
808- Add typescript definitions
809
810[Diff](https://github.com/react-native-community/react-native-device-info/compare/f3967862711892615e7f51d49d0034ee134f3e3d...5b869cdd5e16b65cbe4e85a565aa331bd7546b89)
811
812## 0.10.1
813
814- Add `isPinOrFingerprintSet` method
815- Add support for RN > 0.40
816
817[Diff](https://github.com/react-native-community/react-native-device-info/compare/c843144ea872a79f4d53a53b32f72511fbfc8d8b...f3967862711892615e7f51d49d0034ee134f3e3d)
818
819## 0.10.0
820
821- Semver fix
822
823[Diff](https://github.com/react-native-community/react-native-device-info/compare/e8bfe5ea8d5f5414f2f97f35a5d02b611cbe39e3...c843144ea872a79f4d53a53b32f72511fbfc8d8b)
824
825## 0.9.8
826
827[Diff](https://github.com/react-native-community/react-native-device-info/compare/668996c64e23f477fc8156cdc43a49198b4fdd20...e8bfe5ea8d5f5414f2f97f35a5d02b611cbe39e3)
828
829## 0.9.7
830
831Several bugfixes and detecting if device is a tablet
832
833## 0.9.3
834
835adds support for Brand information e.g. apple, htc, etc
836
837## 0.9.1
838
839adds support for the iPhone SE and new iPad Pro
840
841## 0.9.0
842
843adds support for device country and changes the iOS device name to match Apple branding
844
845## 0.8.4
846
847don't use destructuring
848
849## 0.8.3
850
851removes the default bluetooth permission
852
853## 0.8.2
854
855change deployment target to iOS 8
856
857## 0.8.1
858
859removes unnecessary peerDependencies
860
861## 0.8.0
862
863tweaks how device locale works on Android. If it's available it will use the toLanguageTag that is more inline with iOS. (See #14)
864
865## 0.7.0
866
867adds two new parameters, Device Locale and User Agent.
868
869## 0.5.0
870
871adds a new parameter; Device Id. On iOS this is the hardware string for the current device (e.g. "iPhone7,2"). On Android we use the BOARD field which is the name of the underlying board, e.g. "goldfish". The way that the module gets the device model on iOS has also changed to be based on the Device Id; now instead of getting a generic product family e.g. "iPhone", it will return the specific model e.g. "iPhone 6".