Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
expo-standard-web-crypto
Advanced tools
A partial implementation of the W3C Crypto API for Expo
This package provides a partial polyfill of the W3C Crypto API for Expo. Namely, Crypto#getRandomValues()
is implemented. See the W3C Crypto specification for the API documentation.
First follow the instructions for installing expo-crypto
, which is required by this package. Then install this package.
npm install expo-standard-web-crypto
There are two ways to use this package: you can import a Crypto
instance or you can globally define crypto
. Some code may expect the latter.
Importing a Crypto
instance:
import crypto from 'expo-standard-web-crypto';
Globally defining crypto
:
import { polyfillWebCrypto } from 'expo-standard-web-crypto';
polyfillWebCrypto();
// crypto is now globally defined
In either case, if your runtime environment already defines crypto
globally, this package uses that instance instead of providing its own.
Contributions are very welcome! Please refer to guidelines described in the contributing guide.
52.0.0 — 2024-11-08
react-native-svg
from 15.2.0
to 15.7.1
. (#31567 by @lukmccall)unimodules-app-loader
expo-web-browser
expo-video-thumbnails
expo-task-manager
expo-store-review
expo-sqlite
expo-secure-store
expo-sms
expo-speech
expo-sensors
expo-screen-capture
expo-sharing
expo-print
expo-screen-orientation
expo-network
expo-notifications
expo-modules-core
expo-media-library
expo-mail-composer
expo-location
expo-local-authentication
expo-localization
expo-linking
expo-keep-awake
expo-linear-gradient
expo-image-manipulator
expo-image-picker
READ_MEDIA_IMAGES
and READ_MEDIA_VIDEO
permissions. (#31902 by @aleqsio)quality
option has been changed from 0.2
to 1.0
for better performance and to match the most common expectation. (#30896 by @tsapeta)ImagePicker.MediaTypeOptions
have been deprecated. Use a single MediaType or an array of MediaTypes instead. (#30957 by @behenate)expo-gl
expo-face-detector
expo-image-loader
expo-haptics
expo-document-picker
expo-font
expo-device
expo-file-system
expo-contacts
expo-crypto
expo-constants
expo-clipboard
expo-cellular
expo-camera
expo-camera/legacy
. (#32173 by @alanjhughes)expo-calendar
expo-brightness
expo-battery
expo-blur
expo-background-fetch
expo-av
expo-asset
expo-apple-authentication
expo-application
expo-web-browser
dismissBrowser
function updated to return a promise. (#31210 by @nishan) (#31210 by @intergalacticspacehighway)expo-sqlite
@react-native-async-storage/async-storage
. (#31596, #31676 by @kudo)expo-secure-store
expo-sensors
expo-network
expo-notifications
expo-modules-core
onKeyDown
and onKeyLongPress
to ReactActivityHandler
on Android. (#28684 by @lukmccall)onUserLeaveHint
. (#32033 by @behenate)startObserving
and stopObserving
on the web. (#28953 by @aleqsio)EventEmitter
to the C++ implementation. (#28946 by @tsapeta)OnStartObserving
and OnStopObserving
can now be attached to a specific event. (#29012 by @lukmccall)SharedObject
from functions. (#30426 by @lukmccall)customizeRootView
in ExpoAppDelegateSubscriber
. (#30550 by @alanjhughes)toJSON
function on shared objects that includes dynamic properties defined in their prototype chain. (#30813 by @tsapeta)EitherTypeConverter
now can work with the Dynamic
class. (#31074 by @lukmccall)SharedRef
converter now checks the inner ref type. (#31441 by @lukmccall)expo.SharedRef
). (#31513 & #31706 by @lukmccall) (#31513, #31706 by @lukmccall)onStartListeningToEvent
and onStopListeningToEvent
to the SharedObject
. (#31385 by @lukmccall)nativeRefType
to SharedRef
. (#31776 by @lukmccall)kotlin.time.Duration
support. (#31858 by @lukmccall)CMTime
from CoreMedia
a convertible type. (#31967 by @tsapeta)expo-media-library
expo-location
expo-local-authentication
expo-linking
react-server
environments. (#31622 by @EvanBacon)getLinkingURL
function. (#29405 by @aleqsio)expo-linear-gradient
expo-image-manipulator
ImageManipulator.manipulate
and useImageManipulator
. (#32346 by @tsapeta)ImageManipulator.manipulate
and useImageManipulator
. (#32346, #32354 by @tsapeta)ImageManipulator.manipulate
and useImageManipulator
. (#32398 by @lukmccall)expo-image-picker
file
object from input for server uploads. (#31788 by @EvanBacon)expo-haptics
expo-font
expo-device
expo-file-system
File
and Directory
constructors. (#31467 by @aleqsio)exists()
function to a property. (#31522 by @aleqsio)parentDirectory
, extension
fields to the new file system module. (#31333 by @aleqsio)base64()
new file system module. (#31357 by @aleqsio)Paths.appleSharedContainers
to get the paths to the Apple App Groups shared containers. (#31525 by @IgorKhramtsov and @kudo) (#31525 by @IgorKhramtsov, @kudo)expo-constants
expo-camera
autoFocus
prop to allow setting the device focus mode. (#28650 by @alanjhughes)Android
, add support for setting the aspect ratio of the camera. (#29822 by @alanjhughes)Android
, support mirroring video when using front facing camera. Control mirroring with a prop. Deprecate mirror
option on takePictureAsync
and recordAsync
. (#30548 by @alanjhughes)active
prop to stop and start the camera session. Useful with navigation where the camera is can still be active on a previous screen. (#30802 by @alanjhughes)shutterSound
key to CameraPictureOptions
, allowing users to disable the camera shutter sound when invoking takePictureAsync
. (#31038) by @yuna5566 (#31038 by @yuna5566)expo-calendar
expo-av
expo-web-browser
expo-video-thumbnails
expo-task-manager
expo-store-review
expo-sqlite
NativeStatementBinding
. (#29937 by @lukmccall)<SQLiteProvider assetSource={{ assetId: require(...) }}>
database always being overwrite on iOS 16 and lower. (#29945 by @kudo)react
and react-native
peer dependencies for isolated modules. (#30483 by @byCedric)incremental_installation
mode in CocoaPods. (#30918 by @kudo)app.json
doesn't specify any plugin properties for expo-sqlite
. (#31672 by @kudo)SQLiteDatabase -> pathUtils -> SQLiteDatabase
require cycle warning from metro. (#31956 by @kudo)expo-secure-store
expo-secure-store
data. (#29943 by @behenate)expo-speech
expo-sensors
expo-screen-capture
ScreenCaptureModule
was crashing in the dev-client when going back to the home screen. (#29694 by @lukmccall)react
peer dependencies for isolated modules. (#30480 by @byCedric)expo-print
expo-screen-orientation
expo-network
java.lang.IllegalArgumentException: NetworkCallback was not registered
. (#30185 by @lukmccall)react
peer dependencies for isolated modules. (#30477 by @byCedric)expo-notifications
placeholder
instead of the actual user input (#27479 by @Victor-FT)useLastNotificationResponse
should have only one effect. (#30653 by @douglowder)channelId
into account when presenting notifications. (#31201 by @vonovak)createNotificationChannel
could return incorrect channel information (#32000 by @vonovak)ChannelAwareTrigger
not being presented (#31999 by @vonovak)PermissionStatus
as value, not as type (#31968 by @vonovak)react
and react-native
peer dependencies for isolated modules. (#30478 by @byCedric)NotificationTrigger
type (#32659 by @vonovak)expo-modules-core
No implementation found for com.facebook.jni.HybridData expo.modules.kotlin.jni.JavaScriptModuleObject.initHybrid
. (#29513 by @lukmccall)null
to Record
sometimes didn't work as expected. (#29508 by @lukmccall)ExpoRequestInterceptorProtocol
. (#29798 by @kudo)getPathPermissions
permission error for local path with spaces on iOS 16 and older. (#29958 by @kudo)addUIBlock
and executeUIBlock
on New Architecture mode. (#30030 by @kudo)RCTTriggerReloadCommandListeners
not found build error on iOS. (#30014 by @kudo)RNHeadlessAppLoader
class for New Architecture support. (#32146 by @chrfalch)null
to be null
instead of undefined
. (#31301 by @aleqsio)Enumerable
s did not correctly convert to JS values. (#30191 by @vonovak)uuid
mock in jest-expo
. (#29840 by @EvanBacon)getContext().getNativeModule(UIManagerModule.class)
in Bridgeless. (#29203 by @arushikesarwani94)PersistentFileLogSpec.swift
. (#28924 by @hakonk)Swift.Float
. (#29053 by @behenate)getName
of ModuleRegistryReadyNotifier.java
(#30358 by @WoLewicki)SharedObject
that was passed as an argument is returned, it no longer creates a new object. (#30231 by @lukmccall)expo.modules.kotlin.jni.tests.RuntimeHolder
class not found crash when R8 is enabled. (#30572 by @kudo)Class declares 0 type parameters, but X were provided
on Android when R8 is enabled. (#30659 by @lukmccall)CodedException.getCode()
crash when R8 is enabled. (#31392 by @kudo)Either
. (#31443 by @lukmccall)Missing class expo.modules.kotlin.types.ExperimentalJSTypeConverter$URIConverter
. on macOS host. (#31452 by @kudo)No space left on device
when saving persistent log. (#31583 by @RodolfoGS)AppContext
instance. (#31897 by @lukmccall)registerAdditionalModuleClasses
deadlock issue on old architecture mode. (#32209 by @kudo)EXAppDelegateWrapper
to fix crashes caused by deallocated RCTFabricSurface
. (#32233 by @tsapeta)ExpoRequestCdpInterceptor
. (#32289 by @kudo)use_frameworks!
. (#32358 by @kudo)expo-media-library
iOS
, add back image loader to handle ph://
and assets-library://
schemes. (#29747 by @alanjhughes)iOS
, getAssets crashed when result was is empty (#29969 by @vonovak)Android
, throw an error when deleting an asset was unsuccessful. (#29777 by @mathieupost)react-native
peer dependencies for isolated modules. (#30476 by @byCedric)Android
, adding an asset to an album containing another album would throw an exception. (#29777 by @nafeij) (#31027 by @Nafeij)expo-location
iOS
, fix an issue where if the user selects "Allow Once" for location permissions, we needed to request background permissions twice because the first time had effect. (#29272 by @alanjhughes)expo-local-authentication
expo-localization
regionCode
response on iOS. (#32081 by @aleqsio)react
peer dependencies for isolated modules. (#30474 by @byCedric)expo/config
to follow proper dependency chains. (#30501 by @byCedric)expo/config-plugins
to follow proper dependency chains. (#30499 by @byCedric)expo-linking
react
and react-native
peer dependencies for isolated modules. (#30473 by @byCedric)expo-keep-awake
expo-linear-gradient
expo-image-manipulator
iOS
correctly handle urls coming from the users photo library. (#28777 by @alanjhughes)expo-image-picker
expo/config-plugins
to follow proper dependency chains. (#30499 by @byCedric)expo-gl
textureRef
in EXGLCameraObject
. (#29092 by @hakonk)react
and react-native
peer dependencies for isolated modules. (#30468 by @byCedric)react-native-web
optional peer dependency for isolated modules. (#30689 by @byCedric)expo-document-picker
video/*
MIME Type not allowing to select videos with audio. (#29673 by @gabrieldonadel)expo-font
iOS
, store the font postscriptName
instead of fullName
which is what iOS
will use to register the font. (#29502 by @alanjhughes)iOS
, fix issues where fonts were removed when the app is backgrounded. (#30400 by @alanjhughes)useFonts
could previously attempt to set state on an unmounted component (#31143 by @vonovak)loadAsync()
will reject if font loading fails. (#31053 by @vonovak)react
peer dependencies for isolated modules. (#30467 by @byCedric)expo/config
to follow proper dependency chains. (#30501 by @byCedric)expo-file-system
getFreeDiskStorageAsync
returns result that's closer to the value reported by the system. (#29732 by @vonovak)EXFileSystemAssetLibraryHandler
. (#29091 by @hakonk)react-native
peer dependencies for isolated modules. (#30466 by @byCedric)expo-contacts
requestPermissionsAsync
promise throws when denying access to contacts on iOS. (#29529 by @jp1987)presentFormAsync
promise doesn't resolve when the form is closed on Android. (#29201 by @jp1987)presentContactPickerAsync
promise doesn't resolve when using the Android back button. (#29202 by @jp1987)react-native
peer dependencies for isolated modules. (#30465 by @byCedric)ContactQuery
id
field not accepting arrays. (#32651 by @behenate)expo-constants
expo-clipboard
expo-cellular
expo-camera
iOS
, fix ean13
barcodes not returning data. (#28674 by @alanjhughes)maxDuration
in CameraRecordingOptions
. (#28749 by @alanjhughes)iOS
, fix dead frames when switching from picture to video. (#28783 by @alanjhughes)iOS
, prevent a crash when rendering the view on a simulator. (#28911 by @alanjhughes)iOS
, fix incorrect orientation when taking pictures in landscape. (#28917 by @alanjhughes)iOS
, set previewLayer on scanner to get correct dimensions. (#28931 by @alanjhughes)Android
, correctly handle orientation when landscape pictures are rendered. (#28929 by @alanjhughes)web
, fix missing function "getCapabilities" in Firefox. (#28947 by @miso-belica)iOS
, return the correct orientation in the exif data. (#29681 by @alanjhughes)Android
, correct image orientation when exif
is set to true in takePictureAsync
. (#29712 by @alanjhughes)iOS
, fix calling takePicture
from the simulator. (#30103 by @alanjhughes)iOS
, fix touch interactions when using gesture handler. (#30338 by @alanjhughes)iOS
, correctly stop the session when the CameraView
is removed. (#30580 by @alanjhughes)scaleType
when the aspect ratio is set. (#30831 by @alanjhughes)pictureSize
. (#31093 by @alanjhughes)react
and react-native
peer dependencies for isolated modules. (#30462 by @byCedric)expo/config-plugins
to follow proper dependency chains. (#30499 by @byCedric)react-native-web
optional peer dependency for isolated modules. (#30689 by @byCedric)takePictureAsync
quality
option when set to 0. (#31587 by @davidavz)sublayers
on 0.75 and above on the new architecture. (#32194 by @alanjhughes)Actor
to ensure correct order of changes to the barcode scanners outputs. (#32353 by @alanjhughes)expo-calendar
iOS
, workaround a bug in iOS 15 where an invalid EKCalendarType
is returned in the calendar object when siri suggestions are enabled. (#28714 by @alanjhughes)getEventsAsync
to return events sorted by start date (#28353 by @demfabris)react-native
peer dependencies for isolated modules. (#30461 by @byCedric)expo-brightness
expo-battery
expo-blur
expo-auth-session
expo-av
shouldCorrectPitch
being ignored on web. (#28837 by @behenate)loadAsync()
promise never settled when given an invalid file uri (#30020 by @vonovak)react
and react-native
peer dependencies for isolated modules. (#30456 by @byCedric)react-native-web
optional peer dependency for isolated modules. (#30689 by @byCedric)NullPointerException
in the installJSIBindings
function. (#31464 by @lukmccall)expo-asset
expo-apple-authentication
expo-web-browser
Platform.Version
checks. (#31557 by @reichhartd)expo-video-thumbnails
MediaMetadataRetriever
is safely released. (#29015 by @lukmccall)expo-task-manager
TaskManagerTaskExecutor
. (#32557 by @Simek)expo-store-review
expo-sqlite
EventEmitter
instance. (#28946 by @tsapeta)@testing-library/react-hooks
with @testing-library/react-native
. (#30742 by @byCedric)@expo/dom-webview
. (#31662 by @kudo)enableCRSQLite
and show a warning if using this option. (#32117 by @kudo)expo-sqlite/async-storage
to expo-sqlite/kv-store
. (#32699 by @kudo)expo-secure-store
NativeModulesProxy
occurrences. (#31496 by @reichhartd)expo-sms
NativeModulesProxy
occurrences. (#31496 by @reichhartd)expo-speech
expo-sensors
EventEmitter
instance. (#28946 by @tsapeta)expo-screen-capture
EventEmitter
instance. (#28946 by @tsapeta)useScreenCapturePermissions
to usePermissions
in the example. (#30076 by @mrakesh0608)expo-module-scripts
. (#31915 by @reichhartd)expo-screen-orientation
EventEmitter
instance. (#28946 by @tsapeta)NativeModulesProxy
occurrences. (#31496 by @reichhartd)expo-notifications
interruptionLevel
. (#28921 by @lukmccall)expo-modules-core
ExpoFabricView
and remove the view wrapper for each native component. (#28829 by @kudo)Utilities
class for Expo Modules common tasks. (#29945 by @kudo)customizeRootView:
support to EXAppDelegateWrapper.createRCTRootViewFactory
. (#30245 by @kudo)Record
and Field
implementations (#31997 by @vonovak)process.env
type. (#31267 by @EvanBacon)async
extension for OkHttp requests. (#30841 by @aleqsio)sideEffects
to use src
folder. (#29964 by @EvanBacon)crypto
object for UUID. (#29828 by @EvanBacon)process.env.EXPO_OS
for Platform.OS
and Platform.select
, when available. (#29429 by @EvanBacon)EventEmitter
) from expo-modules-core/types
. (#28994 by @tsapeta)process
object declaration to global declaration. (#29745 by @tsapeta)src
folder as the Metro target. (#29702 by @tsapeta)pointer
property in the SharedRef
class to ref
for parity with Android. (#30061 by @tsapeta)noexcept
. (#30128 by @lukmccall)AppContext
(#30098 by @lukmccall)URLSessionSessionDelegateProxy
class. (#30173 by @kudo)Accept: text/event-stream
header to bypass streaming requests from ExpoNetworkInspectOkHttpInterceptors
. (#30219 by @kudo)@testing-library/react-hooks
with @testing-library/react-native
. (#30742 by @byCedric)RN_FABRIC_ENABLED
flag with RCT_NEW_ARCH_ENABLED
. (#31044 by @tsapeta)enumerated
function. (#31226 by @tsapeta)func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?)
open
. (#31398 by @abulenok)RuntimeContext.eval()
as JavaScriptRuntime.eval()
on iOS. (#31445 by @kudo)NativeModulesProxy
occurrences. (#31496 by @reichhartd)@expo/dom-webview
. (#31662 by @kudo)expo_patch_react_imports!
and align more stardard react-native project layout. (#31700 by @kudo)Either
type. (#31787 by @lukmccall)ExpoView
recycling from the New Architecture. (#31841 by @tsapeta)SharedObject.deallocate
to SharedObject.sharedObjectDidRelease
. (#31921 by @lukmccall)SharedObject
. (#31922 by @lukmccall)surfaceId
. (#32227 by @lukmccall)shouldUseAndroidLayout
flag to ExpoView
. (#32446 by @lukmccall)process
an interface. (#32464 by @tsapeta)ClassCastException
in headless app loader under the old architecture. (#32390 by @robertying)expo-media-library
expo-location
expo-localization
expo-linking
expo-module-scripts
. (#31915 by @reichhartd)expo-keep-awake
expo-image-manipulator
src
folder as the Metro target. (#30079 by @tsapeta)UIGraphicsImageRenderer
over UIGraphicsBeginImageContext
. (#30211 by @alanjhughes)expo-image-picker
expo-gl
expo-haptics
expo-font
@testing-library/react-hooks
with @testing-library/react-native
. (#30742 by @byCedric)NativeModulesProxy
occurrences. (#31496 by @reichhartd)expo-file-system
expo-contacts
iOS
18. (#29639 by @alanjhughes)expo-constants
Constants.appOwnership
. (#30021 by @amandeepmittal)NativeModulesProxy
occurrences. (#31496 by @reichhartd)expo-clipboard
EventEmitter
instance. (#28946 by @tsapeta)expo-module-scripts
. (#31915 by @reichhartd)expo-cellular
expo-camera
interval
from BarcodeSettings
. (#28760 by @alanjhughes)type
in BarCodeScanningResult
consistent. (#29421) by @alanjhughes) (#29421 by @alanjhughes) (#29421, #29421 by @alanjhughes, @alanjhughes)EventEmitter
instance. (#28946 by @tsapeta)pictureSize
prop. (#30195 by @alanjhughes)preferredVideoStabilizationMode
until is is fully supported. (#31514 by @alanjhughes)expo-brightness
expo-battery
expo-auth-session
index.ts
). (#28970 by @Simek)type
for describing the shape of objects. (#28970 by @Simek)expo-module-scripts
. (#31915 by @reichhartd)expo-av
expo-asset
expo-apple-authentication
iOS
18. (#29639 by @alanjhughes)EventEmitter
instance. (#28946 by @tsapeta)expo-sensors
expo-modules-core
expo-gl
expo-camera
expo-av
FAQs
A partial implementation of the W3C Crypto API for Expo
The npm package expo-standard-web-crypto receives a total of 9,202 weekly downloads. As such, expo-standard-web-crypto popularity was classified as popular.
We found that expo-standard-web-crypto demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.