This is the log of notable changes to the Expo client that are developer-facing. Package-specific changes not released in any SDK will be added here just before the release. Until then, you can find them in changelogs of the individual packages (see packages directory).
- Removed “info”, “save” and “pin” functionalities from persistent notification shown in notification tray while developing an experience via Expo client on Android. (#10333, #10334 by @sjchmiela)
- Removed support for
androidShowExponentNotificationInShellAppproperty in app manifest (it was responsible for enabling persistent development notification in standalone apps). (#10335 by @sjchmiela)
- Set mIntentUri from intent in DetachActivity.onCreate to fix Linking.getInitialURL in Android standalone apps (#10535 by @esamelson)
- Only update the splash screen when it receives update configuration values on iOS (#10512 by @brentvatne)
- Only update the splash screen when it receives update configuration values on Android (#10522 by @esamelson)
- Show helpful error message when expo-cli responds with an incompatible project on iOS (#10508 by @esamelson)
- Show helpful error message when expo-cli responds with an incompatible project on Android (#10511 by @esamelson)
- Pass experience properties correctly to turbo modules (#10504 by @esamelson)
- Fix splash screen in standalone app builds for Android (#10519 by @bbartec)
- Fix splash screen
hideAsyncwarnings in client (#10294 by @bbartec) - Fix EXDisabledRedBox not overriding RCTRedBox, this caused a redbox to appear above the Expo client specific UI when failing to load a published app (#10498 by @sjchmiela)
- Fix reading splash image from the android.splash config (#10494 by @bbartec)
- Remove the large notification icon from managed apps, because there is no mechanism to set it yet (#10492 by @lukmccall)
- Fix the app icon is always added as a notification icon (#10471 by @lukmccall)
expo-updatesUpdates.reloadAsyncnot supported in development (#10310 by @esamelson)- Support absolute
assetUrlOverride(#10337 by @esamelson) - Handle
./inassetUrlOverride(#10342 by @esamelson)
- Updated
@react-native-community/datetimepickerfrom2.4.0to3.0.0. (#9543, #9706 by @sjchmiela) - Updated
@react-native-community/netinfofrom5.9.2to5.9.6. (#9564, #9737 by @sjchmiela) - Updated
@react-native-community/pickerfrom1.6.0to1.6.6. (#9533, #9737 by @sjchmiela) - Updated
@react-native-community/segmented-controlfrom1.6.1to2.1.1. (ae45e23, #9534, #9737 by @sjchmiela) - Updated
@react-native-community/sliderfrom3.0.0to3.0.3. (#9532 by @sjchmiela) - Updated
@react-native-community/viewpagerfrom3.3.0to4.1.6. (#9535, #9737 by @sjchmiela, #9807 by @bbarthec) - Updated
react-native-reanimatedfrom1.9.0to1.13.0. (#9608, #9738 by @sjchmiela) - Updated
react-native-safe-area-contextfrom3.0.2to3.1.4. (#9548, #9737 by @sjchmiela) - Updated
react-native-screensfrom2.9.0to2.10.1. (#9611 by @sjchmiela) - Updated
react-native-webviewfrom9.4.0to10.7.0. (#9549, #9737 by @sjchmiela, #9803 by @bbarthec)
- Removed GCM entirely from the Android client and standalone apps since the server APIs have been shut down. (#6071, #9735 by @esamelson)
expo- The
SplashScreenandUpdatesmodule exports have been removed in favor of theexpo-splash-screenandexpo-updatespackages. You'll need to install and import from the individual packages if you use either module.
- The
@unimodules/react-native-adapter- Deprecate
RCTDeviceEventEmitterin favor of the renamedDeviceEventEmitter. (#8826 by @EvanBacon)
- Deprecate
expo-analytics-amplitude- Upgraded native Amplitude iOS library from
4.7.1to6.0.0. This removes the IDFA code that was previously included with the Amplitude library.disableIDFAoption forAmplitude.setTrackingOptionsis removed. If you would like to collect the IDFA, you must be in the bare workflow. (#9880 by @bbarthec)
- Upgraded native Amplitude iOS library from
expo-analytics-segment- Upgraded Segment Analytics iOS to 4.0.4. This removes the IDFA code that was previously included with the Segment library. If you would like to collect the IDFA, you must be in the bare workflow or use SDK < 39. (#9606 by @cruzach).
- The
optionsargument forSegment.aliasnow accepts context configuration as well as integration configuration. Previously, this expected just theintegrationsconfiguration. (#9606 by @cruzach). The expected format now is:
expo-barcode-scannerexpo-battery- Added support for FULL state on web. (#8937 by @EvanBacon)
expo-camera- Fix bug where
barCodeTypesneeded to be defined on web. (#9630 by @EvanBacon) - Fix bug where camera would sometimes not start on web desktop. (#9630 by @EvanBacon)
- Deleted
CaptureOptionsin favor ofCameraPictureOptions(#9558 by @EvanBacon) - Added camera permissions declarations to
AndroidManifest.xmlon Android. (#9224 by @bycedric)
- Fix bug where
expo-facebook- All methods and platforms now return times in JS
Dateobjects instead of seconds. (#7101 by @evanbacon) - Error code
E_CONF_ERRORhas been replaced withERR_FACEBOOK_MISCONFIGURED. (#7101 by @evanbacon) - Some instances of the error code
E_NO_INITin the client have been replaced withERR_FACEBOOK_UNINITIALIZED. (#7101 by @evanbacon) - Some instances of the error code
E_FBLOGIN_ERRORin the client have been replaced withERR_FACEBOOK_LOGIN. (#7101 by @evanbacon) initializeAsyncnow accepts a single argument of typeFacebookInitializationOptions, previously this method accepted two arguments:appId: string&appName: string. (#7101 by @evanbacon)
- All methods and platforms now return times in JS
expo-gl- This version requires at least version 0.63.0 of React Native. It may crash when used with older versions. (#7948 by @wkozyra95)
expo-image-pickerexpo-localizationLocalization.regionchanged fromundefined | stringtonull | stringon web to match iOS. (#8824 by @EvanBacon)
expo-location- Add
scopefield in returned value to indicate whether background permissions are granted. Addandroid.accuracyfield to determine whethercoarseorfinelocation permission is granted. (#9446 by @mczernek) getLastKnownPositionAsyncno longer rejects when the last known location is not available – now it returnsnull. (#9251 by @tsapeta)- Removed the deprecated
enableHighAccuracyoption ofgetCurrentPositionAsync. (#9251 by @tsapeta) - Removed
maximumAgeandtimeoutoptions fromgetCurrentPositionAsync– it's been Android only and the same behavior can be achieved on all platforms on the JavaScript side. (#9251 by @tsapeta) - Made type and enum names more consistent and in line with our standards — they all are now prefixed by
Location. The most common ones are still accessible without the prefix, but it's not the recommended way. (#9251 by @tsapeta) geocodeAsyncandreverseGeocodeAsyncno longer falls back to Google Maps API on Android. (#9444 by @tsapeta)
- Add
expo-media-libraryexpo-screen-orientation- Now the module will keep the lock active when the app backgrounds. (#8727 by @lukmccall)
expo-permissions- Fixed motion permission bug on web. (#9670 by @EvanBacon)
- Added support for
experiments.turboModulesflag inapp.json/app.config.jsallowing developers to enable Turbo Modules on iOS. (#9908 by @sjchmiela) expo-ads-facebook- Add
onErrorproperty to components created withwithNativeAdthat lets you get notified of errors that might occur when the native SDK tries to fetch ads. (#8662 by @sjchmiela)
- Add
expo-ads-admob- Added
isAvailableAsync. (#9690 by @EvanBacon) - Delete
prop-typesin favor of TypeScript. (#8677 by @EvanBacon)
- Added
@unimodules/react-native-adapter- Remove
prop-types(#8681 by @EvanBacon) - Add
Platform.isDOMAvailableto detect web browser environments. (#8645 by @EvanBacon) - Add
Platform.select()method to switch values between platforms. (#8645 by @EvanBacon) - Upgrade to
react-native-web@~0.12. (#9023 by @EvanBacon)
- Remove
expo-app-auth- Change
unimodulePeerDependenciestopeerDependencies - Remove
fbjsdependency
- Change
@unimodules/core- Expo modules applying
unimodules-core.gradlenow automatically depend onunimodule-test-coreproject in Android test flavors if thesrc/testdirectory exists in the module project. (In packages published to NPM the directory should not be present, so there's no need to change anything in users' projects.) (#8881 by @mczernek) - App delegates can now handle background URL session events via
application:handleEventsForBackgroundURLSession:completionHandler:method on iOS. (#8599 by @lukmccall)
- Expo modules applying
expo-auth-session- Added missing
peerDependencies. (#8821 by @EvanBacon) - Remove
fbjsdependency. (#8821 by @EvanBacon) - Created
ResponseType.IdTokenfor id_token responses. (#8719 by @EvanBacon) authorizationEndpointandtokenEndpointare now optional. (#8736 by @EvanBacon)- Added exchange, refresh, and revoke token request methods. (#8051 by @EvanBacon)
- Remove
assertin favor ofinvariant. (#8934 by @EvanBacon) - Create built-in
providers/googlefor easy Google auth. (#9361 by @EvanBacon) - Create built-in
providers/facebookfor easy Facebook auth. (#9361 by @EvanBacon)
- Added missing
expo-assetexpo-av- [av] Delete
prop-typesin favor of TypeScript. (#8679 by @EvanBacon) - [av] Directly import
createElementfromreact-native-webfor RNW v12 support. (#8773 by @EvanBacon)
- [av] Delete
expo-barcode-scanner- Added constants on web. (#4166 by @EvanBacon)
- Delete
prop-typesin favor of TypeScript. (#8678 by @EvanBacon) BarCodeScanneris now returning barcode's bounding box on iOS. (#8865 by @lukmccall)
expo-battery- Remove
fbjsdependency. (#8822 by @EvanBacon)
- Remove
expo-branch- Updated
react-native-branchvendored code to 5.0.0-rc.1, upgraded underlying Branch SDKs, seereact-native-branch's changelog for full list of changes. (#9625 by @sjchmiela)
- Updated
expo-blur- Delete
prop-typesin favor of TypeScript. (#8676 by @EvanBacon) - Convert Android and web to class components. (#8856 by @EvanBacon)
- Delete
expo-brightness- Add permissions for web. (#9671 by @EvanBacon)
- Create
isAvailableAsyncmethod. (#9668 by @EvanBacon)
expo-calendarcreateCalendarAsyncnow uses default calendar for givenentityTypeifsourceIdparameter (iOS only) is not provided. (#8570 by @tsapeta)- Create isAvailableAsync method. (#9641 by @EvanBacon)
- Add permissions for web. (#9671 by @EvanBacon)
expo-camera- Added support for QR scanning on web. (#4166 by @EvanBacon)
- Remove
fbjsdependency - Delete
prop-typesin favor of TypeScript. (#8680 by @EvanBacon) - [camera] Directly import
createElementfromreact-native-webfor RNW v12 support. (#8773 by @EvanBacon)
expo-contacts- Added
isAvailableAsync()method for guarding against web usage. (#9640 by @EvanBacon) - Add permissions for web. (#9671 by @EvanBacon)
- Added
expo-facebook- Added method to get Facebook authentication state. (#7101 by @evanbacon)
- Added method to log out of Facebook
logOutAsync(). (#7101 by @evanbacon)
expo-gl- Full rewrite of expo-gl-cpp, migration to JSI. (#7948 by @wkozyra95)
- Introduced compatibility with Hermes, however you should treat this feature as unstable so use it with Hermes at your own risk. (#7948 by @wkozyra95)
- Enable stencil buffer on Android (#9928 by @wkozyra95)
expo-image-picker- Added support for the limited
CAMERA_ROLLpermission on iOS 14. (#9423 by @lukmccall) - Added
videoMaxDurationoption tolaunchCameraAsync()to configure video recording duration limit. (#9486 by @barthap) - Added a way to handle results when activity was killed by the android. (#9697 by @lukmccall)
- Added support for the limited
expo-linear-gradient- Remove
prop-types(#8681 by @EvanBacon)
- Remove
expo-localization- Added doc blocks for everything. (#8824 by @EvanBacon)
- Added support for SSR environments. (#8824 by @EvanBacon)
Localization.isRTLdefaults tofalsein node environments. (#8824 by @EvanBacon)
expo-location- Added missing
altitudeAccuracyto the location object on Android (requires at least Android 8.0). (#9251 by @tsapeta) - Improved support for Web — added missing methods for requesting permissions and getting last known position. (#9251 by @tsapeta)
- Added
maxAgeandrequiredAccuracyoptions togetLastKnownPositionAsync. (#9251 by @tsapeta) - Google Maps Geocoding API can now be used on all platforms with the new
useGoogleMapsoption. (#9444 by @tsapeta) - Added
district,subregionandtimezonevalues to reverse-geocoded address object. (#9444 by @tsapeta)
- Added missing
expo-media-library- Added
optionstogetAssetInfoAsync(), which allows specifying whether to download the asset from network in iOS. (#9405 by @jarvisluong) - Added support for the limited
CAMERA_ROLLpermission on iOS 14. (#9423 by @lukmccall) - Add permissions for web. (#9671 by @EvanBacon)
- Added
expo-screen-captureexpo-notifications- Added support for including foreign (non-
expo-notifications-created) notifications ingetPresentedNotificationsAsyncon Android. (#8614 by @sjchmiela) - Added
IosAuthorizationStatus.EPHEMERAL, an option that maps toUNAuthorizationStatusEphemeralfor compatibility with iOS 14. (#8938 by @ide) - Added support for custom large icon on the Android. (#9116 by @lukmccall)
- Added
stickyproperty, which defines if notification can be dismissed by swipe. (#9351 by @barthap) - Added Notification categories functionality to allow for interactive push notifications on Android and iOS! (#9015 by @cruzach)
- Added support for channels to local notifications. (#9385 by @lukmccall)
- Added permissions support for web. (#9576 by @EvanBacon)
- Added support for including foreign (non-
expo-random- Add a synchronous version of
getRandomBytesAsynccalledgetRandomBytes. (#9750 by @brentvatne)
- Add a synchronous version of
expo-secure-store- Create
isAvailableAsyncmethod. (#9668 by @EvanBacon)
- Create
expo-speechexpo-permissions- Add
usePermissionshook to simplify permission handling. (#8788 by @bycedric) - Added support for the limited
CAMERA_ROLLpermission on iOS 14. (#9423 by @lukmccall)
- Add
expo-web-browser- Added
lockedstate toopenBrowserAsync. (#9254 by @EvanBacon) - Add
secondaryToolbarColor(Android) flag forWebBrowser(#8615 by @jdanthinne))
- Added
- When debugging JS remotely console logs are now displayed only in the browser console (instead of both in the browser and CLI console). (#8807 by @sjchmiela)
expo-auth-session- Added custom
Platform.isDOMAvailablepending@unimodules/react-native-adapterupdate. (#8934 by @EvanBacon)
- Added custom
expo-assetexpo-background-fetch- Added some safety checks to prevent
NullPointerExceptionson Android. (#8864 by @mczernek) - Usage fails correctly on web. (#9661 by @EvanBacon)
- Added some safety checks to prevent
expo-av- Allow playing media files embedded as resources in an Android APK. (#8936 by @esamelson)
- Fix stability issues when changing source and/or useNativeControls on iOS. (#9381 by @IjzerenHein)
- Fix stability issue due to player-item observers not cleaned up on iOS. (#9350 by @IjzerenHein)
- Fix audio recording not working after reload app in iOS. (#9283 by @IjzerenHein)
- Fix native fullscreen events not emitted on iOS. (#9323 by @IjzerenHein)
- Fix duplicate full-screen will-dismiss event on iOS. (#9366 by @IjzerenHein)
- Fix mem-leak when unmounting Video component on iOS. (#9379 by @IjzerenHein)
- Fix audio not resumable when app is in background on iOS (react-native-music-control usage). (#9363 by @IjzerenHein)
- Fix posterStyle warning. (#9384 by @IjzerenHein)
- Fix audio-session not de-activated after unloading sound on iOS. (#9365 by @IjzerenHein)
- Fix debugger break in XCode when removing observations. (#9334 by @IjzerenHein)
- Removed unused and potentionally unsafe call on iOS. (#9436 by @IjzerenHein)
- Fix onReadyForDisplay not emitted for HLS streams/m3u8 files on iOS. (#9443 by @IjzerenHein)
- Fix progress events when no playback is active on Android. (#9545 by @IjzerenHein)
- Fix Video resizeMode not updated on Android. (#9567 by @IjzerenHein)
- Fix Video source always reloaded when changing props on Android. (#9569 by @IjzerenHein)
- Fix blank Video after unlocking screen. (#9586 by @IjzerenHein)
- Fix exception on Android when loading invalid Video source. (#9596 by @IjzerenHein)
- Fix Audio prepareToRecordAsync after it failed once on iOS. (#9612 by @IjzerenHein)
- Improve error-messages on iOS. (#9618 by @IjzerenHein)
expo-barcode-scanner- Fixed scanner throwing
NullPointerExceptionwhen barcode type isn't recognized on Android. (#9006 by @lukmccall)
- Fixed scanner throwing
expo-calendar- Fix
Calendar.getEventsAsynccrashing whenrecurrenceRulesare incorrect. (#8760 by @lukmccall) - Fixed
Calendar.createEventAsynccrashing whenalarmswere set orendTimeZonewas null. (#9269 by @barthap)
- Fix
expo-camera- Fix QR scanning on Android and iOS. (#9741 by @EvanBacon)
- [web] Fix bug where swapping cameras caused screen to flicker (#9558 by @EvanBacon)
- [web] Fix bug where swapping cameras doesn't persist camera settings (#9558 by @EvanBacon)
expo-contacts- Fixed
getContactByIdnot resolving promise when contact with provided id doesn't exist on Android. (#8976 by @lukmccall) - Fixed
addContactAsyncreturning incorrect id on Android. (#8980 by @lukmccall) - Fixed
updateContactAsynccreating a new contact on Android. (#9031 by @lukmccall) - Fixed
updateContactAsyncnot returning a contact id on iOS. (#9031 by @lukmccall) - Fixed bug, where sorting contacts by
firstNameorlastNamecould cause crash on Android. (#9582 by @barthap)
- Fixed
expo-deviceexpo-document-picker- Fixed
getDocumentAsynccrashing when picking a folder on iOS. (#8930 by @lukmccall) - Fixed iOS bug, where it could be impossible to select only videos. (#9720 by @barthap)
- Fixed
expo-error-recoveryexpo-file-system- Fix background URL session completion handler not being called. (#8599 by @lukmccall)
- Fix compilation error on macOS Catalyst (#9055 by @andymatuschak)
- Fixed
uploadAsyncnative signature on Android. (#9076 by @lukmccall) - Fixed
uploadAsyncthrowingDouble cannot be cast to Integeron Android. (#9076 by @lukmccall) - Fixed
getInforeturning incorrect size when provided path points to a folder. (#9063 by @lukmccall) - Fixed
uploadAsync()returning empty response on iOS. (#9166 by @barthap) - Added docs about Android permissions and removed old storage permission. (#9447 by @bycedric)
expo-gl- Delete
prop-typesin favor of TypeScript. (#8675 by @EvanBacon) - Fix crashes on iOS14 caused by different integer representation in the new JSC. (#9226 by @wkozyra95)
- Fix bug preventing GLView from rendering in SSR environments. (#9691 by @EvanBacon)
- Delete
expo-google-app-auth- Fix bug where user cancel on iOS threw an error instead of returning dismissed event. (#8685 by @EvanBacon)
expo-fontexpo-image-picker- Fixed downsizing cropped image, when
allowsEditingwastrue. (#9316 by @barthap) - Return array of
ImagePickerResultwhenallowsMultipleSelectionis set totrueon Web. (#9402 by @isthaison)
- Fixed downsizing cropped image, when
expo-linear-gradient- Renamed type export
LinearGradienPointtoLinearGradientPoint. (#8673 by @EvanBacon)
- Renamed type export
expo-localizationLocalization.regionnow returnsnullwhen a partiallocaleis defined by the browser on web. (#8824 by @EvanBacon)
expo-local-authenticationexpo-mail-composerexpo-location- Added some safety checks to prevent
NullPointerExceptionsin background location on Android. (#8864 by @mczernek) - Add
isoCountryCodetoAddresstype and reverse lookup. (#8913 by @bycedric) - Fix geocoding requests not resolving/rejecting on iOS when the app is in the background or inactive state. It makes it possible to use geocoding in such app states, however it's still discouraged. (#9178 by @tsapeta)
- Fixed different types being used on Web platform. (#9251 by @tsapeta)
getLastKnownPositionAsyncno longer requests for the current location on iOS and just returns the last known one as it should be. (#9251 by @tsapeta)- Fixed
getCurrentPositionAsyncnot resolving on Android when the lowest accuracy is used. (#9251 by @tsapeta) - Fixed
LocationGeocodedAddresstype to reflect the possibility of receivingnullvalues. (#9444 by @tsapeta)
- Added some safety checks to prevent
expo-media-library- Handled the crash when calling
getAssetInfoAsyncon a slow motion video on iOS. (#8802 by @jarvisluong) - Fixed
getAssetsAsync()andgetAssetInfoAsync()location issues on Android Q. (#9315 by @barthap) - Fixed
getAssetsAsynccrashes when given invalidaftervalue on Android. (#9466 by @barthap) - Fixed validation for input arguments of
getAssetsAsync. (#9538 by @barthap) - Fixed bug, where
getAssetsAsyncdid not reject on error on Android. (#9538 by @barthap) - Fixed
getAlbumsAsync(),getAlbum()and media change listener crashing on Android 10. (#9666 by @barthap) - Fixed handling albums without name on Android. (#9787 by @barthap)
- Handled the crash when calling
expo-payments-stripe- Upgraded
Stripepod on iOS to fix compatibility with Xcode 11.4. Now you can also customize the version ofStripepod installed by setting$StripeVersionvariable in yourPodfile. (#8594 by @sjchmiela) - Fixed misuse of the native module that caused an unhandled Promise being rejected when
cancelApplePayRequestAsyncwas called. (#8864 by @sjchmiela)
- Upgraded
expo-notifications- Fixed
getExpoPushTokenAsyncrejecting whengetDevicePushTokenAsync'sPromisehasn't fulfilled yet (and vice versa). Probably also added support for calling these methods reliably with Fast Refresh enabled. (#8608 by @sjchmiela) - Fixed compatibility with
expo-permissionsbelow9.0.0(the duplicate symbols problem). (#8753 by @sjchmiela) - Fixed total incompatibility with the web platform – calling unsupported methods will now throw a readable
UnavailabilityError. (#8853 by @sjchmiela) - Fix notifications not being displayed after five minutes of phone inactivity on Android. (#9287 by @mczernek)
- Include
content-type: application/jsonwhen requesting an Expo push token (#9332 by @ide) - Export
NotificationPermissions.typesto makeNotifications.IosAuthorizationStatusavailable. (#8747 by @brentvatne) - Fixed remote notifications ignoring the
channelIdparameter. (#9080 by @lukmccall) - Fixed malformed data object on iOS. (#9164 by @lukmccall)
- Fixed case where iOS notification category would not be set on the very first call to
setNotificationCategoryAsync. (#9515 by @cruzach) - Fixed notification response listener not triggering in the managed workflow on iOS when app was completely killed (#9478 by @cruzach)
- Fixed notifications being displayed when
shouldShowAlertwasfalseon Android. (#9563 by @barthap) - Fixed
Application Not Respondingoccurring in the Google Play Console. (#9792 by @lukmccall)
- Fixed
expo-screen-orientation- Fix
ScreenOrientation.getOrientationAsyncreturning a wrong value when the application is starting. (#8727 by @lukmccall)
- Fix
expo-secure-store- Fix incorrect security attribute applied when using the flag WHEN_UNLOCKED_THIS_DEVICE_ONLY on iOS (#9264 by @cjthompson)
expo-sensors- Ensure browser globals
DeviceMotionEventandDeviceOrientationEventexist before attempting to read from them. (#9236 by @evanbacon) - Fixed bug with low Barometer resolution on iOS. (#9441 by @barthap)
- Ensure browser globals
expo-sharingexpo-speechexpo-permissions- Ensure browser globals
DeviceMotionEventandDeviceOrientationEventexist before attempting to read from them. (#9236 by @evanbacon) - Fixed
askAsyncrejecting withpermission cannot be null or emptyin the bare workflow. (#8910 by @lukmccall) - Fixed
getPermissionsAsyncreturning incorrect status in the Expo Client app on iOS. (#9060 by @lukmccall) - Remove require cycle for
usePermissionshook. (#9219 by @EvanBacon)
- Ensure browser globals
expo-sqliteexpo-smsexpo-store-review- [store-review] Fix doc blocks. (#8714 by @EvanBacon)
- Implemented native In-App Review for Android. (#9607 by @spezzino)
expo-task-managerexpo-web-browser- Fix native Android dependencies used in tests - Kotlin and testing libraries. (#8881 by @mczernek)
- Removed unncecessary Android dependencies. (#9538 by @barthap)
- Fixed
openAuthSessionAsynccrashing when cancelled on iOS. (#9722 by @barthap) - Improve error message when something goes very wrong while loading an app in Expo client (#10239 by @brentvatne)
- Updated
react-nativefrom0.61.4to0.62.2. (#8310, #8542 by @sjchmiela) - Updated
react-native-screensfrom2.2.0to2.9.0. (#8434 by @sjchmiela) - Updated
react-native-shared-elementfrom0.5.6to0.7.0. (#8427 by @IjzerenHein) - Updated
react-native-reanimatedfrom1.7.0to1.9.0. (#8424 by @sjchmiela) - Updated
react-native-safe-area-contextfrom0.7.3to3.0.0. (#8459, #8479, #8549 by @brentvatne and @tsapeta) - Updated
@react-native-community/datetimepickerfrom2.2.2to2.4.0. (#8476 by @tsapeta) - Updated
react-native-webviewfrom8.1.1to9.4.0. (#8489 by @tsapeta) - Updated
react-native-svgfrom11.0.1to12.1.0. (#8491 by @tsapeta) - Updated
react-native-mapsfrom0.26.1to0.27.1. (#8495 by @esamelson) - Updated
@react-native-community/netinfofrom5.5.1to5.9.2. (#8499 by @esamelson) - Updated
@react-native-community/masked-viewfrom0.1.6to0.1.10. (#8499 by @esamelson)
react-native-view-shotis no longer installed by default, install it withexpo install react-native-view-shot. (#7950 by @evanbacon)- The AR module has been removed from the
expopackage. See https://expo.fyi/deprecating-ar for more information. (#8442 by @sjchmiela) - Importing
Linkingfromexpopackage is now deprecated. Useexpo-linkingmodule instead. (#8659 by @tsapeta) expo-batteryexpo-camera- The base64 output will no longer contain newline and special character (
\n,\r) on Android. (#7841 by @jarvisluong)
- The base64 output will no longer contain newline and special character (
expo-file-systemFileSystem.downloadAsyncandFileSystem.DownloadResumablework by default when the app is in background too — they won't reject when the application is backgrounded. (#7380 by @lukmccall)FileSystem.downloadAsyncandFileSystem.DownloadResumablewill reject when invalid headers dictionary is provided. These methods accept onlyRecord<string, string>. (#7380 by @lukmccall)FileSystem.getContentUriAsyncnow returns a string. (#7192 by @lukmccall)
expo-image-manipulator- The base64 output will no longer contain newline and special character (
\n,\r) on Android. (#7841 by @jarvisluong)
- The base64 output will no longer contain newline and special character (
expo-image-picker- The base64 output will no longer contain newline and special character (
\n,\r) on Android. (#7841 by @jarvisluong)
- The base64 output will no longer contain newline and special character (
expo-print- The base64 output will no longer contain newline and special character (
\n,\r) on Android. (#7841 by @jarvisluong)
- The base64 output will no longer contain newline and special character (
expo-secure-store- The base64 output will no longer contain newline and special character (
\n,\r) on Android. (#7841 by @jarvisluong)
- The base64 output will no longer contain newline and special character (
expo-sensorsDeviceMotion.addListeneremits events withrotationRatein degrees instead of radians on all platforms. (#7876 by @evanbacon)DeviceMotion.addListeneremits events withrotationRatein the form of alpha = x, beta = y, gamma = z on all platforms. (#7876 by @evanbacon)
expo-permissions- Removed support for fetching notifications-related permissions (they have been moved to
expo-notificationspackage). You no longer will be able to callgetAsyncoraskAsyncwith.NOTIFICATIONSor.USER_FACING_NOTIFICATIONSwithout havingexpo-notificationspackage installed. (#8486 by @sjchmiela)
- Removed support for fetching notifications-related permissions (they have been moved to
- Initial release of
expo-screen-capture🥳 - Initial release of
expo-notifications🥳 - Added
@react-native-community/segmented-controlin version1.6.1. (#8038 by @marchenk0va and #8441 by @tsapeta) - Added
@react-native-community/sliderversion3.0.0. (#8451 by @brentvatne) - Added
@react-native-community/pickerversion1.6.0. (#8451 by @brentvatne) - Added
@react-native-community/async-storagesupport for version1.11.0. (@react-native-community/async-storage#368) expo-apple-authentication- Add 'Sign up with Apple' option (available as of iOS 13.2). (#7471 by @IjzerenHein)
expo-file-system- Add
FileSystem.uploadAsyncmethod. (#7380 by @lukmccall) - Add ability to read Android
rawanddrawableresources inFileSystem.getInfoAsync,FileSystem.readAsStringAsync, andFileSystem.copyAsync. (#8104 by @esamelson)
- Add
expo-face-detector- Added support for overriding the iOS Firebase SDK version in the bare workflow. (#7141 by @IjzerenHein)
expo-firebase-analytics- Add
setDebugModeEnabledfor enabling DebugView on the Expo client. (#7796 by @IjzerenHein)
- Add
expo-gl- Improved logging and added some more logging options. (#7550 by @tsapeta)
- Add WebP format as an option when taking GL snapshots (Android only). (#7490 by @pacoelayudante)
expo-local-authentication- Added support for
promptMessage,cancelLabelanddisableDeviceFallbackon Android. (#8219 by @diegolmello) - Added iris local authentication type for Android. (#8431 by @bycedric)
- Added support for
expo-sms- Add
attachmentsas an optional parameter tosendSMSAsync. It can be used to provide an attachment along with the recipients and message arguments. (#7967 by @thorbenprimke)
- Add
expo-sensorsDeviceMotion.addListeneremits events withintervalproperty. (#7876 by @evanbacon)
expo-web-browserexpo-camera- Added exports for TypeScript definitions: CameraType, ImageType, ImageParameters, ImageSize, CaptureOptions, CapturedPicture (#8457 by @jarvisluong)
expo-permissions- If permission is not recognized, show the correct expo package to link. ([#8546])(expo#8046) by @jarvisluong
- Fixed
androidNavigationBar.hiddenconfiguration not remaining applied after backgrounding & foregrounding the app. (#7770 by @cruzach) @unimodules/core- Fixed error when serializing a
Mapcontaining anull(#8153 by @sjchmiela) - Fixed a rare undetermined behavior that may have been a result of misuse of
dispatch_once_ton iOS (#7576 by @sjchmiela) - Fixed error when serializing a
Mapcontaining aBundle(#8068 by @sjchmiela) - Fixed unused variable warnings in
UMAppDelegateWrapper(#8467 by @sjchmiela) - Fixed a bug in
UMAppDelegateWrapperwhen it's used with Swift. (#8526 by @EvanBacon)
- Fixed error when serializing a
expo-av- Fix unable to call presentFullScreenPlayer twice. (#8343 by @IjzerenHein)
- Fixed multiplied callbacks in
expo-avafter replaying (#7193 by @mczernek) - Fixed
Plaback.loadAsync()return type. (#7559 by @awinograd) - Fixed the adaptive streaming for exoplayer on android. (#8380 by @watchinharrison)
expo-auth-session- Fix
AuthSession.getDefaultReturnUrl()returning wrong URL while using release channels. (#7687 by @lukmccall)
- Fix
expo-brightness- Fixed
Brightness.requestPermissionsAsyncthrowingpermission cannot be null or emptyerror on Android. (#7276 by @lukmccall)
- Fixed
expo-calendar- Fixed
Calendar.getCalendarsAsyncrequiring not needed permissions on iOS. (#7928 by @lukmccall) - Fix
recurrence ruleandeventparsing. (#7527 by @lukmccall)
- Fixed
expo-constants- Fixed
uuid's deprecation of deep requiring (#8114 by @actuallymentor)
- Fixed
expo-contacts- Fix
Contacts.presentFormAsyncpre-filling. (#7285 by @abdelilah & @lukmccall)
- Fix
expo-firebase-analytics- Fix no events recorded on the Expo client when running on certain Android devices. (#7679 by @IjzerenHein)
- Fix
setAnalyticsCollectionEnabledthrowing an error. - Fixes & improvements to the pure JS analytics client. (#7796 by @IjzerenHein)
- Fixed logEvent in
expo-firebase-analyticsfor Android. logEvent's optional properties parameter was causing a NPE on Android when not provided. (#7897 by @thorbenprimke) - Fixes
parseEventandparseUserPropertyto allow numeric characters in the name parameter. (#8516 by @thorbenprimke)
expo-font- Fixed timeout on Firefox #7420
expo-glexpo-keep-awake- Fixed
KeepAwake.activateKeepAwakenot working with multiple tags on Android. (#7197 by @lukmccall)
- Fixed
expo-image-picker- Fixed exception when calling
ImagePicker.getCameraPermissionsAsyncon Web. (#7498 by @IjzerenHein) - Skip asking for camera permissions on web with
ImagePicker.getCameraPermissionsAsync. (#8475 by @EvanBacon)
- Fixed exception when calling
expo-localization- Fixed
Localization.localethrowing an exception on the iOS simulator. (#8193 by @lukmccall)
- Fixed
expo-media-library- Added missing image loader for
MediaLibraryin bare workflow. (#8304 by @tsapeta) - Fixed
MediaLibrarynot compiling with theuse_frameworks!option in the bare React Native application. (#7861 by @Ashoat) - Flip dimensions based on media rotation data on Android to match
<Image>and<Video>as well as iOS behavior. (#7980 by @Ashoat)
- Added missing image loader for
expo-permissions- Fix permissions in the headless mode. (#7962 by @lukmccall)
- Fixed
permission cannot be null or emptyerror when asking forWRITE_SETTINGSpermission on Android. (#7276 by @lukmccall) - Fixed a rare undetermined behavior that may have been a result of misuse of
dispatch_once_ton iOS (#7576 by @sjchmiela) - Fixed
Permissions.NOTIFICATIONSwas granted even if notifications were disabled. (#8539 by @lukmccall)
expo-screen-orientation- Fixed
ScreenOrientation.addOrientationChangeListenerpayload to match docs. (#7774 by @awinograd) - Fixed
ScreenOrientation.lockAsyncto properly convert to web platform equivalent of chosen lock. (#7774 by @awinograd)
- Fixed
expo-sensors- All sensors use more precise gravity
9.80665instead of9.8. (#7876 by @evanbacon)
- All sensors use more precise gravity
expo-web-browser- Fix
WebBrowsersendingdismissbefore opening. (#6743 by @LucaColonnello)
- Fix
unimodules-app-loader- Fixed
appLoaderRegisteredForNameto not only check if a loader class name is in the cache for the provided name but also verifies that the cached and current class name match. When migrating from managed to bare, the class name cache needs to be updated. (#8292 by @thorbenprimke)
- Fixed
expo-local-authentication@unimodules/react-native-adapter- Made it possible for SSR (node) environments that don't bundle using platform extensions to work without resolving native code. (#8502 by @EvanBacon)
expo-background-fetchexpo-sqlite- Fixed support for using
expo-sqliteon Web (#8518 by @sjchmiela)
- Fixed support for using
expo-task-manager
- Updated
react-native-shared-elementfrom0.5.1to0.5.6. (#7033 by @IjzerenHein) - Updated
@react-native-community/netinfofrom4.6.0to5.5.0. Some deprecated methods have been removed in this version, make sure to check outNetInfodocs for available API. (#7095 by @tsapeta) - Updated
@react-native-community/datetimepickerfrom2.1.0to2.2.2. (#7119 by @tsapeta) - Updated
react-native-gesture-handlerfrom1.5.1to1.6.0. (#7121 by @tsapeta) - Updated
@react-native-community/masked-viewfrom0.1.5to0.1.6. - Updated
@react-native-community/viewpagerfrom2.0.2to3.3.0. - Updated
react-native-reanimatedfrom1.4.0to1.7.0. - Updated
react-native-svgfrom9.13.3to11.0.1. - Updated
react-native-view-shotfrom3.0.2to3.1.2. - Updated
react-native-webviewfrom7.4.3to8.1.1. - Updated
react-native-appearancefrom0.2.1to0.3.3. (#7250 by @tsapeta) - Updated
react-native-safe-area-contextfrom0.6.0to0.7.3. - Updated
react-native-screensfrom2.0.0-alpha.12to2.2.0🎉. (#7183 by @tsapeta, (#7201 @bbarthec), (#7215 @LinusU)
- Android push notifications: your Google API key specified in
google-services.jsonmust allow access to the Cloud Messaging API if you have restricted your API key to access only specific APIs. In the Google Cloud console, browse to APIs & Services -> Credentials. Find the API key that is associated with your app and click the pencil icon to edit it. Under "API restrictions", if the key is restricted, add "Firebase Installations API" and "Cloud Messaging" to the set of allowed APIs and save the changes. (Technical note: Google changed the underlying Firebase Cloud Messaging library incom.google.firebase:firebase-messaging:20.1.2to depend on the Firebase Installations API, which applies API key restrictions. See Google's notes here and here.) expo-app-authRemove SSL features from unsafe connection builder. (#7187 by @evanbacon)expo-constantsConstants.deviceNamenow only returns the possible Browser name and doesn't fallback to engine or OS name. (#6809 @evanbacon)expo-constantsConstants.platform.webnow only returns theua(user agent string). (#6809 @evanbacon)expo-cryptoRemoved support for the MD2 and MD4 hashing algorithms in the Expo client and standalone apps. (#6464 @sjchmiela)- Enriched
androidStatusBarconfiguration inapp.json. (#6506 @bbarthec) - Extended
androidNavigationBar.visibleconfiguration inapp.json. To keep the same behavior as before, change yourandroidNavigationBar.visiblefield fromfalsetoleanback. (#7049 @cruzach) expo: RemovedAuthSessionfrom theexpopackage and extracted intoexpo-auth-sessionunimodule. (#6989 by @lukmccall)expo: RemovedScreenOrientationfrom theexpopackage and extracted intoexpo-screen-orientationunimodule. (#6760 by @lukmccall)expo: UpdatedLinking.makeUrlto create URLs that follow the URI specification. Making a hostless URL will result in the formatmyapp:///path/into/app(#6781 by @cruzach)- Removed
Orientation.PORTRAITandOrientation.LANDSCAPEfromScreenOrientationin favor of their more specific versions. (#6760 by @lukmccall) LocalAuthentication.authenticateAsyncwill now display Android's UI component to prompt the user to authenticate. (#6846 by @LinusU)StatusBaron Android hasdark-contentby default to match iOS. (#7317 @bbarthec)- All native Facebook API calls made in the Expo Client app on iOS are made with the Expo Client's own Facebook App ID. (#7931 by @cruzach)
- Fixed loading images for manipulation in
expo-image-loader. (#7417 by @mczernek) - Added support for video mirroring with
expo-camera. (#7016 by @scandinaro) - Added support for badge numbers. (#4562 by @jaulz)
expo-task-managersupports bare workflow. (#6828 by @mczernek)- Add support for
expo-firebase-core. (#7013 by @IjzerenHein) - Add support for
expo-firebase-analytics. (#7017 by @evanbacon and @IjzerenHein) - Add
MailComposer.isAvailableAsyncmethod. (#6552 by @evanbacon) - Add
showInRecentsoption to theAuthSessions.startAsyncdetermining whether a browsed website should be shown as a separate entry in Android recent/multitasking view. (#6701 by @esamelson) - Replaced
FingerprintManagerwithBiometricPromptfromAndroidXinLocalAuthentication. (#6846 by @LinusU)
- Fixed parsing booleans in
SQLite(#7225 by @mczernek) - Fixed value reported by
FileSystem.getFreeDiskStorageAsync(was2^53 - 1, now is bytes available) (#6465 by @sjchmiela) - Added
setOnPlaybackStatusUpdatetoVideo.refs(#6213 by @mczernek) - Updated underlying Facebook SDK on Android to v5.12.1 (#6462 by @sjchmiela)
- Removed SpongyCastle (BouncyCastle repackaging) from among Android dependencies. (#6464 by @sjchmiela)
- Fixed fullscreen events on iOS for native controls. (#6504 by @mczernek)
- Fixed
Camera.takePictureAsync()not saving metadata on iOS. (#6428 by @lukmccall) - Fixed
KeyboardAvoidingViewin standalone Android builds. (#6506 @bbarthec) - Fixed a bug where
safariViewControllerDidFinishis not called if you close the webview with the "Swipe to dismiss" gesture. (#6581 by @axeldelafosse) - Fixed
FileSystem.downloadAsync()throwingNullPointerExceptionin rare failures on Android. (#6819 by @jsamr) MediaLibrary.saveToLibraryAsyncandMediaLibrary.createAssetAsyncwill throw an error when provided path does not contain an extension. (#7030 by @lukmccall)- Fixed
FileSystem.getTotalDiskCapacityAsync()incorrectly returning2^53 - 1instead of the actual total disk capacity. (#6978 by @cruzach) - Fixed
VideoThumbnails.getThumbnailAsynccrashing when the provided file is corrupted. (#6877 by @lukmccall) - Fixed
Linking.openSettingsis undefined. (#7128 by @lukmccall) - Fixed
Linking.sendIntentis undefined. (#7386 by @brentvatne) - Fixed
Camera.takePictureAsyncnot resolving promise when native camera isn't ready on iOS. (#7144 by @bbarthec) - Fixed NPE crash in GeofencingTaskConsumer when
mTaskis made null mid-execution. (#7147 by @briefjudofox) - Fixed
ImagePicker.launchCameraAsyncreloading the application on the OnePlus 7. (#7162 by @lukmccall) - Fixed the bare React Native application not compiling with the
use_frameworks!option. (#6503 by @lukmccall) - Fixed
AppRegistry.setWrapperComponentProviderin managed Expo apps. (#6530 by @serhiipalash) - Fixed
Facebook SDKnot being fully initialized. (#6527 by @sjchmiela) - Fixed
Batteryimport breaking on Web. (#6545 by @evanbacon) - Fixed the
RedBoxbeing covered by the notch on Android. (#6644 by @cruzach) - Fixed SSR support in
ErrorRecovery. (#6672 by @evanbacon) - Fixed
Linking.makeUrlandLinking.parsenot matching. (#6688 by @cruzach) - Fixed
StoreReview.requestReviewthrowingNullPointerExceptionin the bare workflow. (#6713 by @cruzach) - Fixed NDK not installing when running
yarn setup:native. (#6685 by @IjzerenHein) - Fixed
Linkingnot decoding query parameters. (#6774 by @cruzach) - Fixed
Contactsnot saving the year correctly. (#6744 by @tasn) - Fixed
Audio.setAudioModeAsyncparameter type. (#6833 by @mxhold) - Fixed
LocalAuthentication.authenticateAsyncresulting in theuser_cancelerror immediately on Android. (#6962 by @LinusU) - Fixed
Permissions.askAsynccrashing on devices with Android 21 and 22 in the bare workflow. (#6736 by @lukmccall) - Fixed
HeadlessAppLoadercrashing after the activity is killed. (#6879 by @tasn) - Fixed
fieldsparameter type inContacts.getContactByIdAsyncmethod. (#6910 by AryanJ-NYC) - Fixed
DocumentPicker.DocumentResulttype. (#7064 by @SimenB) - Fixed
Constants.installationIdbeingnullin the bare workflow after ejecting. (#6906 by @cruzach) - Fixed
Facebook.logInWithReadPermissionsAsyncmethod throwing error (undefined is not an object (evaluating '_ref.type')). by (#6527 by @sjchmiela) - Fixed some TypeScript types not being exported. (#7120 by @lukmccall)
- Fixed
TaskManager.defineTasklogging too many warnings and not working well with Fast Refresh. (#7202 by @tsapeta) - Added doc comments to
TaskManagerand exported more types. (#7202 by @tsapeta) - Fixed
Facebook.logInWithReadPermissionsAsyncredirecting to a blank white screen in the Expo Client app on iOS. (#7931 by @cruzach) - Fixed
Facebook.logInWithReadPermissionsAsyncresulting in the WebBrowser login modal remaining open after redirecting back to the app if selected "Sign in with Facebook app." (#7931 by @cruzach)
@react-native-community/netinfoupdated from3.2.1to4.6.0. (#6176 by @sjchmiela)react-native-branchupdated from3.1.1to4.2.1. (#6176 by @sjchmiela)react-native-gesture-handlerupdated from1.4.0to1.5.1. (#6127 by @tsapeta and 8b0e1b6 by @esamelson)react-native-mapsupdated from0.25.0to0.26.1. (#6176 by @sjchmiela)react-native-reanimatedupdated from1.3.0to1.4.0. (#6176 by @sjchmiela)react-native-svgupdated from9.9.5to9.13.3. (#6176 by @sjchmiela)react-native-view-shotupdated from2.6.0to3.0.2. (#6176 by @sjchmiela)react-native-webviewupdated from7.0.5to7.4.3. (#6176 by @sjchmiela)react-native-safe-area-contextupdated from0.5.0to0.6.0. (#6176 by @sjchmiela)react-native-screensupdated from1.0.0-alpha.23to2.0.0-alpha.12. (#6258 by @sjchmiela and #6357 by @tsapeta)
CameraRoll: RemovedCameraRollfromreact-nativecore, developers are encouraged to useexpo-media-libraryinsteadART: RemovedARTfromreact-nativecore, developers are encouraged to usereact-native-svginsteadjest-expo: RemovedmockPlatformIOS(),mockPlatformAndroid(),mockPlatformWeb(),describeCrossPlatform()in favor of platform specific presets likejest-expo/universal. (#5645 by @EvanBacon)expo: Removed Branch export fromexpo/Branch. (#6190 by @sjchmiela)expo: RemovedErrorRecoveryfrom theexpopackage and extracted intoexpo-error-recoveryunimodule. (#5357 by @lukmccall)expo: UpdatedLinking.parseto better handle non-expo URLs. URLs likemyapp://hello/worldare now parsed so thathellois the hostname andworldis the path, according to the URI specification; more info here. (#5179 by @koenpunt)expo-analytics-segment: Fixedenabledbehavior inverted on iOS. (#6242 by @sjchmiela)expo-facebook: Disabled autoinitialization of the Facebook SDK and added aninitializeAsyncmethod andautoinitapp.json setting. ([#5924] by @sjchmiela)expo-keep-awake: Removed deprecated methods and components. (#6006 by @EvanBacon)expo-location:Location.requestPermissionsAsync()is no longer being rejected when permissions were not granted. Instead it returnsPermissionsResponseobject, which is similar to the result ofPermissions.askAsync(Permissions.Location). (#5061 by @lukmccall)expo-store-review: ReplaceStoreReview.isSupportedmethod withStoreReview.isAvailableAsyncreturning promise instead of boolean. (#6195 by @danibonilha)expo-calendar: Methods creating or updating calendar events now reject when passedtimeZoneis invalid. (#6326 by @lukmccall)expo-screen-orientation: Removed deprecated methodsallow,allowAsync, anddoesSupportAsync. (#6007 by @EvanBacon)
- Added
MediaLibrary.saveToAssetsAsyncfunction that can work withoutCAMERA_ROLLpermission. (#5678 by @lukmccall) - Added
setTrackingOptionstoexpo-analytics-amplitudeto fine-tune what Amplitude can track. (#5877 by @amaurymartiny) - Added support for
Speech.getAvailableVoicesAsync()on Android. (#5887 by @Mitch528) - Added
@react-native-community/masked-viewin version0.1.5. (#6193 by @brentvatne) - Added
@react-native-community/viewpagerin version2.0.2. (#6198 by @brentvatne) - Added
@react-native-community/datetimepickerin version2.1.0. (#6087 by @tsapeta) - Added
canAskAgainandgrantedfields toPermissionsResponse. (#5061 by @lukmccall) - Added support for
react-native-appearanceon Android and Web. (#6162 by @bbarthec) - Added
Location.getLastKnownPositionAsyncto get the last known position of the device. (#6246 by @lukmccall) - Added support for complex recurrence rules for events and reminders on iOS. (#6300 by @tasn)
- Added
exifandbase64properties into the TypeScript definitions forImagePickerResultinexpo-image-picker. (#6311 by @kyletsang) - Added a
videoExportPresetfield toImagePickerOptions, which sets dimensions and compression algorithm for exported video on iOS. (#6046 by @lukmccall) - Added
nonceoption toexpo-apple-authentication. (#6404 by @brentvatne) - Added support for more permissions on web. (#6115 by @EvanBacon)
- Added better
Camerasupport across web browsers. (#6207 by @EvanBacon)
- Fixed
MediaPlayernot working on some Android devices (#6320 by @mczernek) - Fixed
Audio.setAudioModeAsyncto auto-fill with previously set values (falls back to default values) if not all fields are provided. (#5593 by @cruzach) - Fixed crash when
BarCodeScannerwas mounted more than 128 times. (#5719 by @geovannimp) - Fixed URI parsing in
expo-video-thumbnails. (#5711 by @lukmccall) - Fixed
MediaLibrarymethods crashing on Android 10. (#5905 by @lukmccall) - Fixed
MediaLibrary.getMomentsAsynccrashing iflocationNamesarray is null. (#5937 by @lukmccall) - Fixed
MediaLibrary.getAlbumsAsync()not getting albums in folders on iOS. (#5857 by @lukmccall) - Fixed unclosed http connections in
FileSystem.downloadAsyncmethod. (#5840 by @bbarthec) - Fixed
ImagePickerignoring orientation of the application. (#5946 by @lukmccall) - Fixed
Calendar.getCalendarsAsyncrejecting on iOS 13, whensource.nameis null. (#5994 by @lukmccall) - Fixed handling URI with no scheme in
ExpoFileSystem. (#5904 by @bbarthec) - Fixed
FileSystem#deleteAsyncin older Android SDKs. (#5923 by @bbarthec) - Fixed image cropping on Android in
expo-image-manipulator. (#5828 by @matiasmelendi) - Fixed type problem with
EXiOSOperatingSystemVersionstruct inexpo-gl-cpp. (#6063 by @crubier) - Fixed blinking
Camera.Constants.FlashMode.torchon iOS inCamera. (#6128 by @bbarthec) - Fixed race condition in
GoogleSignInon iOS. (#5872 by @vonovak]) - Fixed
Contacts.presentFormAsyncpre-filling, whenboolvalue was provided. (#5522 by @lukmccall) - Fixed crashes when the user tries to download a file through
react-native-webviewwithout granted storage permission on Android. (#5061 by @lukmccall) - Fixed
Permissions.getAsyncresult, which was inconsistent with iOS settings. (#5061 by @lukmccall) - Fixed scanning
PDF417andCode39inBarCodeScanneron iOS. (#5976 by @bbarthec) - Add missing
muteproperty inCamera.recordAsyncin the TypeScript definition. (#6192 by @wcandillon) - Warn when
Linking.makeUrlis called in Expo client and no scheme is present inapp.jsonin order to prevent standalone builds from crashing due to missing scheme. (#6277 by @brentvatne) - Fixed
keychainAccessibleoption not having any effect on iOS (SecureStoremodule) (#6291) by @sjchmiela - Fixed presentation style of
WebBrowsermodal on iOS 13+ (it is now presented fullscreen instead of a modal). (#6345) by @roothybrid7 - Fixed
expo-glcrashing an app when context initialization happens on remote JS context. (#6381 by @tsapeta) - Fixed memory leaks caused by
ImagePickermodule. (#6303 by @lukmccall) - Fixed Android scoped
FileSystemmigration. (#6367) - Fixed
ScreenOrientationcrashing on Edge. (#5913 by @EvanBacon) - Fixed
LinearGradientcolors on web. (#5843 by @EvanBacon) - Fixed
MediaLibrary.getAssetInfoAsync()not returninglocalUrifor videos. (#5806 by @lukmccall) - Fixed
Localizationconstants export in iOS simulator. (#5740 by @lukmccall) - Removed unnecessary
CameraRollpermissions check inImagePickeron iOS 11+. (#5822 by @lukmccall) - Fixed default value for
fallbackLabelinLocalAuthentication.authenticateAsync. (#5844 by @cruzach) - Fixed getting
Contactscontainers without specifying a predicate. (#6016 by @tasn) - Fixed vector icons in MS Edge by disabling font face observer. (#5961 by @EvanBacon)
- Fixed typings for
Calendar.getRemindersAsync(). (#6055 by @tasn) - Fixed
Cameracontinuing to run after being unmounted on web. (#6117 by @EvanBacon) - Fixed exceptions logged in the
AVmodule on Android. (#6099 by @danmaas) - Fixed crash when calling
Amplitude.setUserProperties()on Android. (#6174 by @sjchmiela) - Fixed methods for scheduling Notifications. (#5470 by @Szymon20000)
- Fixed unloading sounds in the
AVmodule on web. (#6214 by @rickiesmooth) - Add parital onFullscreenUpdate support to
AVmodule on web. (#6610 by @awinograd)
react-native-mapsupdated from0.24.0to0.25.0react-native-reanimatedupdated from1.1.0to1.2.0react-native-screensupdated from1.0.0-alpha.22to1.0.0-alpha.23react-native-svgupdated from9.5.1to9.9.2react-native-webviewupdated from5.12.0to7.0.5
FileSystem.documentDirectoryis under a new directory. If upgrading from SDK 32 or below, you must upgrade your app to SDK 33 or 34 first, before upgrading to SDK 35 and above in order to migrate app files. (#5381 by @Szymon20000)Google.logInAsync()now accepts aredirectUrlvalue for apps running in the Expo Client. Previously, it would ignore this, so if you are passing a value, make sure to follow the guidelines. (#4904 by @cruzach)- Google Mobile Ads now require
expo.[platform].config.googleMobileAdsAppIdconfiguration value present inapp.json. The value can be found by following the guide in this Google Support answer. (#5447 by @sjchmiela) - Replace
Localization.countryconstants withLocalization.regionand make it only available on iOS and Web (#4921 by @lukmccall) - Upgraded
FBSDK*Kittov5.4.1. This upgrade removed support for all login behaviors other thanbrowser. Possible motivations behind this change may be found here, here and here.behaviorparameter has been removed from TS type declaration and will not have any effect anymore (#5499 by @sjchmiela) - Removed contact's
notefield from being requested if requested fields are not provided. (#5601 by @tsapeta)
- Added
expo-networkunimodule that provides device's network information such as its IP address or airplane mode status. (#5533 by @ninjaachibi) - Added
expo-cellularunimodule that provides information about the user's cellular service provider. (#5098 by @vivianzzhu91) - Added
expo-batteryunimodule providing informations about the physical device's battery. (#4804 by @ninjaachibi and @vivianzzhu91) - Added
expo-apple-authenticationunimodule providing "Sign In with Apple" functionality. (#5421 by @matt-oakes, @vonovak, @bbarthec, @esamelson and @tsapeta) - Added
react-native-shared-elementto Expo client and standalone apps. (#5533 by @brentvatne) - Added an option which allows displaying notifications in foreground on iOS. (#4802 by @hesyifei)
- Added
lazyImportsoption inbabel-preset-expowhich allows lazy-initializing/inline-requiring packages. (#4685 by @hesyifei) - Added the possibility to get MediaLibrary assets from specific time range. (#5166 by @tsapeta)
- Added Next.js supports with Expo for Web. (#5275 by @hesyifei)
- Added support for serving non-personalized Google AdMob Ads. (#5323 by @sjchmiela)
- Added
react-native-safe-area-contextto Expo client and standalone apps. (#5446 by @sjchmiela) - Added supports for push notification in Expo for Web. (#4963 by @hesyifei)
- Added
Calendar.getDefaultCalendarAsyncmethod on iOS. (#5485 by @lukmccall) - Added
react-native-appearance@0.0.8.
- Fixed MediaLibrary assets' width and height were sometimes equal to 0. (#4935 by @lukmccall)
- Fixed location background mode was required to use geofencing. (#5198 by @tsapeta)
- Fixed
Calendar.createEventAsynccrashing with relativeOffSet due to invalid type conversion from double to integer. (#5134 by @vivianzzhu91) - Fixed
AppAuthModule.createOAuthServiceConfigurationtypo resulting in crashes whenregistrationEndpointis not specified in config. - Fixed occasional
"ViewManagerAdapter_*" was not found in the UIManagerbugs. (#5066 by @sjchmiela) - Fixed crashes when adding attachments with
MailComposer. (#5449 by @sjchmiela) - Fixed
ImagePicker.launchImageLibraryAsyncnot working on iOS 13. (#5434 by @tsapeta) - Fixed
ImageManipulator.manipulateAsyncnot working with local paths. (#5531 by @bbarthec) - Fixed
Camera#onBarCodeScannednot firing when added at first rendering (#5606 by @bbarthec) - Fixed background fetch calls throwing exceptions about mutating an array while being enumerated. (#5612 by @tsapeta)
react-native-gesture-handlerupdated from1.2.1to1.3.0react-native-branchupdated from2.2.5to3.1.1react-native-reanimatedupdated from1.0.1to1.1.0react-native-svgupdated from9.4.0to9.5.1react-native-webviewupdated from5.8.0to5.12.0@react-native-community/netinfoupdated from2.0.10to3.2.1
- Removed
promptMessageIOSstring argument fromLocalAuthentication.authenticateAsyncin favor of options object. (#4631 by @tsapeta) - Removed
Calendar.DEFAULTand replaced it withnull. (#4836 by @lukmccall)
- Added
fallbackLabeloption toLocalAuthentication.authenticateAsyncon iOS which allows to customize a title of the fallback button when the system doesn't recognize the user and asks to authenticate via device passcode. (#4612 by @changLiuUNSW) - added
nativemode for Android SplashScreen on standalone apps by @bbarthec (#4567) - added support for video recording in
ImagePicker.launchCameraAsync. (#4903 by @lukmccall) - added support for
ph://URLs toexpo-file-system(#5195 by @sjchmiela)
- fixed
BarCodeScannerblocking UI when defining custombarCodeTypeson iOS by @sjchmiela - fixed picking images over 2000px on Android by @bbarthec (#4731)
- fixed
Calendar.getEventsAsynccrashing ifcalendarIdis SQL keyword by @lukmccall (#4836) - fixed
BOOLinterpretation on 32-bit iOS devices by @lukmccall (#4862) - fixed AV rejecting to further load an asset once any loading error occured (#5105) by @sjchmiela)
- fixed AV resetting player whenever props changed (#5106) by @sjchmiela)
- fixed bar code scanning crash if the result couldn't be converted to string (#5183) by @sjchmiela)
- fixed camera crash in standalone apps (#5194) by @sjchmiela)
- updated
react-native-gesture-handlerto1.2.1by @mczernek (#4159) - updated
react-native-svgto9.4.0by @Szymon20000 and @mczernek (#3860, #4159) - updated
@react-native-community/netinfoto2.0.10by @sjchmiela (#4153) - updated
react-native-reanimatedto1.0.1by @dsokal (#4023) - removed deprecated
MediaViewandTriggerViewfromexpo-ads-facebookby @EvanBacon (#3539). You should useAdMediaView&AdTriggerViewinstead. - deprecated
Expo.Utilby @EvanBacon (#3539). You should useExpo.Updates&Expo.Localizationinstead. - removed use of
expolib_v1.okhttpin favor of regularokhttpdependency by @Szymon20000 (#3539) (an update toMainApplication.getOkHttpBuildermay be required when upgrading) - corrected behavior of splash screen image based on
resizeModein Android standalone apps (containandcoverwere handled contrary to what docs state) by @bbarthec (#3029) Speech.speakchanged option name fromvoiceIOStovoice. @Szymon20000 (#3423)- renamed
HaptictoHapticsand deprecatedHaptics.{notification, impact, selection}in favour ofHaptics.{notificationAsync, impactAsync, selectionAsync}@bbarthec (#3330) ImageManipulator.manipulateAsyncis now acceptingImageManipulator.FlipType.{Vertical, Horizontal}as flipping action parameter andImageManipulator.SaveFormat.{JPEG, PNG}as saving option @bbarthec (#3245)- removed
devKernelandprodKernelbuild flavors from Android ExpoKit projects (all Gradle commands become simply[verb](Debug|Release), e.g.installDebugorassembleRelease) by @esamelson (#3386) - renamed
IntentLauncherAndroidtoIntentLauncherand changed signature ofstartActivityAsyncmethod by @tsapeta (#3427) - fixed crash in
WebBrowser.openBrowserAsyncwhen there is no browser supportingcustomtabson Android by @mczernek (#3691) WebBrowser.openBrowserAsyncon Android resolves promise on opening Custom Tabs instead of on closing by @mczernek (#3691)WebBrowser.dismissBrowserthrowsUnavailabilityError@mczernek (#3691)- added
staysActiveInBackgroundaudio mode option that selects whether audio playback or recording should continue when the app is in background by @sjchmiela and @redpandatronicsuk (#3498) - renamed the
EncodingTypesattribute toEncodingTypein the FileSystem module docs to match changes in the source code by @sergeichestakov (#3997) - added a warning printed when attempting to store a value longer than 2048 bytes in the
SecureStore. (Since SDK35 it will throw an error.) @dsokal (#4084) - added
UMAppDelegateWrapperwhich allows easy integration between unimodules andAppDelegatecallbacks by @Szymon20000 (#3917) - changed
Constants.platform.ios.buildNumberandConstants.platform.android.versionCodetonullwhen running an app in Expo Client by @dsokal (#4203) - upgraded
react-native-mapsto0.24.2by @sjchmiela (#3389, #4158, ejected projects will need to addHAVE_GOOGLE_MAPS=1preprocessor definition toPodfile) - removed option
sortBy.idinexpo-media-libraryby @jkhales (#4221)
- updated
react-native-view-shotto2.6.0by @sjchmiela (#4175) - added
VideoThumbnailsAPI allowing you to thumbnail videos by @graszka22 (#3980) - upgraded
react-native-lottieto2.6.1by @sjchmiela (#4147) BarCodeScanneris now returning barcode's bounding box @Szymon20000 (#2904)- added method
Speech.getAvailableVoicesAsync()@Szymon20000 (#3423) - added
BackgroundFetchsupport for Android by @tsapeta (#3281) - incorporated
react-native-webview@5.4.6into Expo SDK by @sjchmiela (#3748) - added support for overriding MIME type in
IntentLauncherAndroid.startActivityAsyncfor Android by @rhunt4675 (#3300) - added
Location.enableNetworkProviderAsyncmethod to ask the user to turn on high accuracy location services by @tsapeta (#3273) - upgraded Facebook Audience Network SDK dependency to 5.1.1 (iOS) by @sjchmiela (#3394)
- upgraded Facebook Core- and LoginKit dependency to 4.40.0 by @sjchmiela (#3394)
- upgraded Facebook SDK dependency to 5.0.1 (Android) by @sjchmiela
- upgraded
react-native-webviewto5.8.1by @sjchmiela (#4146) - added Firebase integration to
expo-analytics-segmentby @sjchmiela (#3615) - added support for new arguments in
WebBrowser.openBrowserAsyncas described in the documentation by @mczernek (#3691) - added tags support in
KeepAwake.activateandKeepAwake.deactivateby @mczernek #3747 - added
deferredUpdatesIntervalanddeferredUpdatesDistanceoptions that defer background location updates by @tsapeta (#3548) - added
foregroundServiceoption to background location (Android Oreo and newer) by @tsapeta (#3837) - added support for picking animated GIFs with
ImagePickerby @sjchmiela (#3844) - added support for headers in
downloadAsyncmethod inFileSystemby @mczernek (#3911) - added support for custom poster styles in
Videoby @sjchmiela (#4165) - added
pausesUpdatesAutomaticallyoption to automatically pause background location updates based on theactivityTypeby @tsapeta (#4167) - added ability to load fonts by remote URI by @seekshiva (#2745)
- added support for 64 bit platforms by @wkozyra95 (#4565)
- fixed several windows compatibility issues with
expo-yarn-workspacesby @nattyrice - fixed several issues related to
expo-avby @Szymon20000 (#3539) Location.getCurrentPositionAsyncandLocation.watchPositionAsyncare now automatically asking for high accuracy location services by @tsapeta (#3273)- fix
Location.getCurrentPositionAsynchanging on simultaneous calls by @tsapeta (#3273) - fix
ImagePicker.launchImageLibraryAsyncandImageManipulator.manipulateAsyncin SDKs lower than 32 @bbarthec (#3159) - fix app crash when attempting to
console.log(Object.create(null))by @juangl (#3143) GoogleSignInOptions.offlineAccessis now correctedGoogleSignInOptions.isOfflineEnabled- fix
SMS.sendSMSAsynccrash on android for empty addresses list. Promise won't be rejected when there is no TELEPHONY feature on Android device, only when there is no SMS app by @mczernek (#3656) - fix MediaPlayer not working on Android. by @mczernek (#3768)
- fix big
OkHttpClientmemory usage on Android (reuse instances) by @sjchmiela (#4264) - fixed
Localization.isRTLalways beingtrueon iOS by @sjchmiela (#3792) - fixed adding/removing react children to
Camerapreview on Android by @bbarthec (#3904) - changed
FileSystemrequests timeout for downloading resumables from 10 seconds to 60 seconds on Android (now the timeout is 60s on both platforms) by @Szymon20000 (#3872) - removed unwanted downsampling of big images when using
ImageManipulatoron Android by @bbarthec (#3928) - fixed tablet splash always being shown in Expo Client if specified by @GfxKai (#3538)
- the
propertiesparameter ofSegment.screenWithPropertiesis now a{ [key: string]: any }, instead of astringby @juampi92 (#4053) - allow manipulating
http://andhttps://files usingImageManipulatoron iOS by @bbarthec (#3982) - providing
onPlaybackStatusUpdateproperty toVideodoesn't show a warning anymore by @sjchmiela (#4130) - calling
FileSystem.downloadAsyncwill now raise an error when a target local directory doesn't exist by @dsokal (#4142) - flush UI blocks when needed, which fixes eg.
Camera.takePicturenot resolving on iOS by @sjchmiela (#4125) - fixed
MediaLibrary.createAssetAsynccrashing when supplying local asset URIs withoutfile://protocol by @tsapeta (#4189) - fixed
EXC_BAD_ACCESScrashes on startup on iOS below 12.0 by @tsapeta (#4227) - fix
jest-expoJest executable not starting Node on Windows by @Artorp (#3477) - fixed crashes in
TaskManagerdue to jobs queue being full by @tsapeta (#4247) - allow console.log() function to log truncated large files instead of reporting a PayloadTooLargeError. @vivianzzhu91 (#4419)
- fixed sorting in
MediaLibrary.getAssetsAsyncby @ninjaachibi (#4420)
- deprecated
import { Font } from 'expo-font'in favor of individually named exports (import * as Font from expo-font) for better dead-export elimination potential. Upgrade@expo/vector-iconsif you get a warning about this. By @ide (264c17cd) - removed deprecated internal Expo modules (
Crypto,Fabric, andImageCropper), which were never part of the Expo API by @ide (#2880) - removed deprecated
Expo.FingerprintAPI, which has been renamed toExpo.LocalAuthenticationto reflect other forms of authentication (ex: FaceID) by @ide (24e94d5) - removed deprecated default export from the
expopackage. Instead ofimport Expo from 'expo', writeimport { A, B, C } from 'expo'orimport * as Expo from 'expo'. By @ide (#2865) - removed deprecated support for passing an array into
Font.loadAsync. This feature displayed a deprecation warning for several SDK versions so if you didn't see it, this change shouldn't affect you. - deprecated
enableHighAccuracyoption inLocationmodule in favor ofaccuracywhich gives much more options by @tsapeta (#2338) - removed support for deprecated
onBarCodeReadprop onCameracomponent by @Szymon20000 (#2820) (useonBarCodeScannedproperty) - updated underlying Stripe dependency to 8.1.0 on Android and 13.2.0 on iOS and updated
expo-payments-stripewith latest updates totipsi-stripe(up to 6.1.2) by @sjchmiela (#2766). This change dropped support for Bitcoin payments in SDK31. - removed
READ_SMSuse of permission on Android,SMS.sendSMSAsyncwill now always resolve with{ result: 'unknown' }by @esamelson (#2982) - upgraded Android build tools — Gradle to 4.10.2, Gradle plugin to 3.2.1 by @sjchmiela (
7292c27,d0c8b8d) - removed
run.shscript fromandroiddirectory in favor offastlane android startcommand by @nicknovitski (9301e95) - removed
minSdkapplication flavor from Android project (all Gradle commands in format[verb][minSdkFlavor]minSdk[remoteKernelFlavor]Kernel[buildType], eg.assembleDevMinSdkDevKernelDebugbecome[verb][remoteKernelFlavor]Kernel[buildType], eg.assembleDevKernelDebug) by @sjchmiela (3b5e158) - calling
Hapticmethods on Android will now raise an error instead of a warning by @EvanBacon (#2787)
- added locales on Android (
[ar, cs, de, es-rGT, fr, he, jt, ja, ko, nb, nl, pl, pt-rBR, ru-rRU, vi, zh, zh-rCN, zh-rTW]) inImagePicker.{launchImageLibraryAsync, launchCameraAsync}when using{ allowsEditing: true }option by @bbarthec (#2955) - added support for passing refs created by
React.createReftotakeSnapshotAsyncby @sjchmiela (#2771) - upgraded Gradle plugin (to 3.2.1) and its wrapper (to 4.10.2) by @sjchmiela (#2716)
- added new
TaskManagermodule that paves the way to background code execution by @tsapeta (#2338) - added API for background location updates by @tsapeta (#2338)
- added geofencing to
Locationmodule by @tsapeta (#2338) - added new
BackgroundFetchmodule (iOS only) by @tsapeta (#2338) - allowed Expo Jest preset to use TypeScript files by @dalcib (#2810)
- allowed selecting voice used by
Speechon iOS by @pyankoff (#2833) - removed obsolete assets from standalone apps by @sjchmiela (#2850)
- added support for notifications categories by @Szymon20000 and @sjchmiela (#2316, #2557)
- upgraded libraries:
react-native-gesture-handlerto1.0.12,react-native-screensto1.0.0-alpha.22,react-native-reanimatedto1.0.0-alpha.11by @tsapeta and @sjchmiela (#2977, #3078, #3172, #3232)
- fixed problem with rerendering SVG (updated
react-native-svgto8.0.10) by @Szymon20000 (#3019) - fixed wrong type casting in SQLite result @Szymon20000 (#3005)
- fixed sending multiple consecutive SMS messages on iOS @bbarthec (#2939)
- fixed GLView initialization with texture of size 0 on Android by @bbarthec (#2907)
- fixed app cache size blowing up when using
ImagePickerby @sjchmiela (#2750) - fixed compression in ImagePicker by @Szymon20000 (#2746)
- fixed
FileSystemforbidding access to external directories by @Szymon20000 (#2748, #2808) - upgraded Facebook SDK dependency to 4.39 by @Szymon20000 and @sjchmiela (#2710, #3243)
- fixed object not beign decycled when sending logs to remote console by @sjchmiela (#2598)
- unified linear gradient behavior across platforms by @sjchmiela (#2624)
- fixed device orientation not being used when recording videos by @flippinjoe (expo-camera#2)
- fixed handling
qualityoption passed toCamera.takePictureAsyncon Android properly by @Szymon20000 (#2692) - fixed resumable downloads on iOS by base64-encoding
resumeDataby @Szymon20000 (#2698) - fixed
Permissions.LOCATIONissue that wouldn't allow asking for it in a multi-permission call by @sjchmiela (304fe560) - fixed
onActivityResultnot being called on listeners registered toReactContextby @sjchmiela (#2768) - fixed fatal exception being thrown sometimes on Android when detecting barcodes by @sjchmiela (#2772)
- fixed
GLView.takeSnapshotAsynccrashing on Android ifframebufferoption is specified by @tsapeta (#2888) - fixed
onPlaybackStatusUpdatenot being called withdidJustFinish: truewhen playing with looping enabled on Android by @sjchmiela (#2923) - fixed bundle building/downloading progress indicator not showing in ejected apps by @sjchmiela (#2951, #2954)
- fixed
subscription.remove()not calling nativestopObserving()for universal modules by @ide (#2897) - fixed calendar ID being returned as integer instead of a string on Android (when calling eg.
Calendar.createCalendarAsync) by @Szymon20000 (#3004) - fixed wrong fling direction for inverted
ScrollViews on Android by @mandrigin (pulled in from React Native facebook/react-native@b971c5b) - fixed snapping Android
ScrollViews withpagingEnabledby @olegbl (pulled in from React Native facebook/react-native@0869e54) - fixed
Contactsfailing to add and remove contacts on Android by @tsapeta (#3017) - fixed
Permissions.CONTACTSnot asking for Android'sWRITE_CONTACTSpermission by @tsapeta (#3017)
- updated
react-native-mapsJS dependency to0.22.1by @sjchmiela (ebb536c)
- upgraded
react-native-gesture-handlerJS dependency to1.0.9by @brentvatne (ebb5cec)
- fix filtering out warnings about
requirecycles innode_modulesby @serhiipalash (aaf72bf) - fix
resizeModeprop ofVideocomponent by @ide (886b67d)
- pass
undefinedthrough forstartPointandendPointrather thannullinLinearGradientby @brentvatne (643969) - remove require cycle in AV by @ide (
18d54da)
- The default export from the expo package is deprecated in favor of named exports to pave the way for static analysis tools by @ide (#2387)
- remove default
user_friendspermission when authenticating withFacebookmodule by @EvanBacon (2ad86fad) - dropped iOS 9 support by @Szymon20000 (#2324)
- upgrade
react-native-svgto8.0.8by @sjchmiela and @esamelson (#2492) - upgrade React Native to
v0.57.1by @ide (series of commits, eg.250589) - change
translationfield toadTranslationin an ad object returned byFacebookAds.NativeAdViewby @ide (ece59aa) - refreshed, bug-free
LocalizationAPI by @EvanBacon (#2327) - drop Android 4.4 support by @bbarthec (#2367)
- upgrade underyling Facebook SDK native dependencies to
4.37.0by @sjchmiela (#2508) - upgrade
react-native-view-shotto2.5.0by @sjchmiela (#2518) - upgrade
react-native-mapsto0.22.1by @tsapeta and @sjchmiela (#2496, #2680) FacebookAds.TriggerableViewis nowFacebookAds.AdTriggerViewFacebookAds.MediaViewis nowFacebookAds.AdMediaView- The Speech API’s "onError" function is passed an
Errorinstead of a string - Flow types have been removed as we begin to migrate to TypeScript over the next few SDK releases
- Several Haptic enum types have been renamed: NotificationTypes → NotificationFeedbackType, ImpactStyles → ImpactFeedbackStyle
- Several AR enum types have been renamed: BlendShapes → BlendShape, FaceAnchorProps → FaceAnchorProp, PlaneDetectionTypes → PlaneDetection, WorldAlignmentTypes → WorldAlignment, EventTypes → EventType, AnchorTypes → AnchorType, AnchorEventTypes → AnchorEventType, FrameAttributes → FrameAttribute, TrackingStates → TrackingState, TrackingStateReasons → TrackingStateReason, TrackingConfigurations → TrackingConfiguration
Audio.Sound.createhas been renamed tocreateAsync- Upgrade Babel to
7.0.0by @ide (#2373)
- return permitted/declined permissions arrays when authenticating with
Facebookmodule by @EvanBacon (2ad86fad) - Base64 encoding support for
FileSystemby @EvanBacon (#2328) - video stabilization support in
Cameraby @n8 (#2241) - add support for asking for an authorization to always access location data by @sjchmiela (#2343)
- upgrade
react-native-gesture-handlerto1.0.8,react-native-reanimatedto1.0.0-alpha.10,react-native-screensto1.0.0-alpha.15by @brentvatne (eb2a463,9bf1754) - add
Segment.{get,set}EnabledAsyncfeature by @sjchmiela (#2412) - add an Android-only
timeoutoption toLocation.getCurrentPositionAsyncby @bbarthec (#2369) - add support for providing custom headers to send when requesting media source by @sjchmiela (#2431)
- add
Segment.aliassupport by @sjchmiela (#2440) - upgrade Android JSC to
r224109by @esamelson and @Kmakinator (#2437) - add
LocalAuthentication.supportedAuthenticationTypesmethod by @bbarthec (#2450) - add support for new Apple devices to
Constantsby @tsapeta (#2410)
- fix
react-native-svgtoDataURL()method throwing error (undefined is not an object (evaluating 'RNSVGSvgViewManager.toDataURL')) on Android by @sjchmiela (#2492) - fix nested traits and properties being stringified on Android in the Segment module, instead of being reported as objects by @sjchmiela (expo-analytics-segment#2, #2517)
- handle specified
behavioron Android when authenticating withFacebookby @EvanBacon (2ad86fad) - fix
MediaLibraryreturning stale assets fromgetAssetsAsyncby @Aasfga (#2106,09cba8d) - fix
Pedometer.watchStepCounterroring on Android by @Szymon20000 (#2147,dea2967) - fix Branch links not working when first opened on iOS by @AdamPD (#2158)
- asking for
Permissions.BRIGHTNESSno longer throwsAbstractMethodErrorexception on some Android devices by @bbarthec (#2342) - properly handle some screen orientation configurations (on iPhone X
PortraitUpsideDownis not supported) by changing syncScreenOrientation.allowmethod to asyncScreenOrientation.allowAsyncthrowing an error when trying to set an unsupported screen orientation configuration by @bbarthec (af2d7e3) - fix
Linking.getInitialURLreturning acustomschemed://URL instead of the one that really redirected to the application by @schneidmaster (#2352) - fix
FaceDetectorsettings not being applied on the first run by @sjchmiela (#2308) - update
cameraviewAAR for it to containgetCameraId()method by @sjchmiela (expo-camera#4, #2323) - fix rerendering of ads provided by
FacebookAdsmodule by @ide (85f2014) - fix a fatal exception being thrown when pausing a resumable download on iOS 12 by @sjchmiela (#2404)
- fix universal modules being initialized twice by @sjchmiela (#2417)
- fix media players refusing to redirect from a HTTPS URL to another HTTPS URL on Android by @sjchmiela (#2403)
- fix
SMS.sendSMSAsyncnot returning correct result on Android by @bbarthec (#2452) - fix barcode scanner not working on Pixel 2 by @alexshikov (#2081)
- fix “Font doesn't support automatic scaling” errors on iOS < 12 by @sjchmiela (#2480)
- fix missing “Orientation” tag in
ImagePickerEXIF data by @bbarthec (#2432) - fix
react-native-screenscompatibility with Expo by @tsapeta (#2509)