0.81.0 - 2026-02-04
- deprecate
<SafeAreView> - remove many deprecated
@obj - upgrade to
@rescript/react@0.14.1andreact@19.1forreact-native@0.80
0.78.1 - 2025-11-07
- add
submitBehaviorprop on TextInput - refactor View props to avoid conflict with other libs (flash-list, legend-list)
0.78.0 - 2025-08-15
- upgrade to
@rescript/react@0.14andreact@19forreact-native@0.78
0.77.4 - 2025-06-25
- Fix ScrollView onContentSizeChange params #837 by @cknitt
0.77.3 - 2025-04-28
- Add missing props for ScrollView #834 by @Freddy03h
automaticallyAdjustKeyboardInsetsautomaticallyAdjustsScrollIndicatorInsetsonScrollAnimationEndonScrollToToppersistentScrollbarinvertStickyHeadersdisableIntervalMomentumdisableScrollViewPanResponderStickyHeaderComponent
0.77.2 - 2025-03-14
- Add missing props for Image and Modal #831 by @namenu
- add
resizeMultiplierImage prop - add
backdropColorandnavigationBarTranslucentModal props
- add
0.77.1 - 2025-03-05
- Use record for separatorComponentProps #829 by @cknitt
0.77.0 - 2025-02-20
- 0.77 changes #828 by @Freddy03h
- add
display: contentsstyle - add
mixBlendModeandisolationstyles - add
boxSizingstyle - add
outlineColor,outlineOffset,outlineStyleandoutlineWidthstyles
- add
0.76.0 - 2025-02-02
- 0.76 changes #826 by @Freddy03h
- add
boxShadowandfilterstyles - update to rescript 11.1
- remove unnecessary trailing unit
- add
0.75.0 - 2025-01-17
- 0.75 changes #818 by Freddy03h
- change
gap,columnGapandrowGaptype tosize - change
translateXandtranslateYtransform type tosize - remove
UIManagershowPopupMenuanddismissPopupMenu - remove
PushNotificationIOS
- change
- Js.Promise.t -> promise #819 by @cknitt
- Js.Dict.t -> dict #822 by @cknitt
- Get rid of Js.t #823 by @cknitt
- Remove deprecated functions #824 by @cknitt
- deprecate other @obj #825 by Freddy03h
0.74.2 - 2024-12-10
- Fix transformOrigin #821 by Freddy03h
- more precise type for transformOrigin
- fix transformOrigin keywords not handled on array syntax
0.74.1 - 2024-10-31
0.74.0 - 2024-10-20
- 0.74 changes #815 by Freddy03h
- add
space-evenlytoalign-content - add
statictoposition PushNotificationIOSis deprecated
- add
- Fix onScrollToIndexFailedParams #814 by @cknitt
0.73.1 - 2024-08-16
0.73.0 - 2024-08-15
- Upgrade to rescript 11 38cc49d by Freddy03h
- upgrade to rescript 11, @rescript/react 12 and jsx 4
- use record props for component to avoid repetition
@objfunctions as deprecatededgeInsetsas deprecated- convert ActivityIndicator Size type to variant
- binding to Animated components instead of recreating them
- Fix Keyboard bindings 9380611 by ashishsingh101
- Remove deprecated stuff from PlatformColors 8daff8b by @cknitt
- Remove modules that were removed from React Native 1153b72 by @cknitt
- add transformOrigin 1d00148 by Freddy03h
- add maintainVisibleContentPosition in scrollview ba62517 by Yummy-sk
0.72.0 - 2023-08-04
- Remove deprecated Slider, DatePickerIOS & ProgressViewIOS 82dc6e1 by @MoOx
- Add VirtualizedList
onStartReached/onStartReachedThresholdprops d69aa1e by @MoOx - Add Appearance
setColorSchememethod 878f426 by @MoOx - Add Style
borderBlockColorborderBlockEndColor`borderBlockStartCo… a12bade by @MoOx - Add Style
borderEndEndRadius``borderEndStartRadius`borderStartEndRadi… 66b5cbd by @MoOx - Add Style margin & padding CSS logical props c91f345 by @MoOx
- Add various Android accessibility roles values 7057d79 by @MoOx
0.71.1 - 2023-04-24
Remove package.json engine section to avoid Yarn installation issue.
0.71.0 - 2023-04-24
This release requires @rescript/react 0.11.0 or later. It contains various breaking changes to match React Native 0.71.
You can see changelog by comparing 0.71 to 0.70
Contributors
0.70.0 - 2022-11-01
This release requires ReScript 10.0.0 or later. It contains various breaking changes.
Breaking Changes
_endis nowend(not a reserved word anymore) 92e3c6f by @cknitt- Camel cased polymorphic variants &
_prefixed props when possible have been changed to reflect React Native original naming convention. Things like#plainText,#boxNoneetc have been changed to what they should be (#"plain-text",#"box-none"etc) 6495093 & 6495093 by @cknitt & 4360933 by @MoOx - Because a limitation with ReScript that doesn't handle correctly numeric string as polymorphic variant,
fontWeightis now an abstract type. This means thatstyle(~fontWeight=#_600, ())now becomesstyle(~fontWeight=FontWeight._600, ())44885db by @cknitt @stringusage have been removed when possible. This means types that were inlined in bindings are now common. 6495093 by @cknittPlatform.osnow use polymorphic variant.if Platform.os === Platform.androidbecomesif Platform.os === #android. Be careful: if used in a switch, you will lose metro bundler optimisation ! b189fbc & 9964b13 by @cknittPlatformColorhave been rewritten. Lots of deprecation & polymorphic variants changes (eg: for android, instead of#background_darkuse#"@android:color/background_dark") 036566e by @MoOxAppearancenow returnsoption<t>instead ofJs.Null.t<t>thanks to@nullable91f0a67 by @cknitt- Deprecated
Style.ptunit as been removed (usedpinstead (density pixel)) 3df0fcf by @cknitt
Others changes
- Most object types created using externals can now be created using objects with optional fields. This means that things like
ActionSheetIOS.showActionSheetWithOptions(ActionSheetIOS.shareOptions(~url,(), /*...*/)can be writtenActionSheetIOS.showActionSheetWithOptions({url}, /*...*/). Previous@objexternal helpers will be deprecated in the future, and then removed. Note thatStyle.style()now have a replacementStyle.s()that accepts an object with optional keys ! e606a03 by @cknitt - Lots of
react-native-web@0.17View props have been added bee39e5 by @MoOx - Added
Style.emptyto avoidStyle.arrayOption(so you can write things likeStyle.array([style1, condition ? style2 : Style.empty])) 762049d by @cknitt
0.69.1 - 2022-10-05
0.69.0 - 2022-10-04
Breaking changes
- Update
PushNotificationIOS.checkPermissionsto include iOS 10+ notification settings 14212c0 by @MoOx
New bindings
- Add
dismissActionSheetmethod toActionSheetIOS7e42b63 by @MoOx - Add
accessibilityLanguageprop to all the available components a210356 by @MoOx - Add
soundNameoption for local push notifications inPushNotificationIOS4f04d77 by @MoOx - Create
HitSlop&Rectmodule (don't use them directly yet, wait for 0.70 release...) 394bd60 by @MoOx
0.68.1 - 2022-04-20
0.68.0 - 2022-04-16
- Add
Animated.Colornode a761012 by @MoOx - Add option to supply
platformConfigto NativeAnimated ff931ea by @MoOx - Add
TextInputsetSelectionmethod 32c12da by @MoOx - Add
accessibilityLabelledByAndroid View prop 35306c3 by @MoOx - Add
AccessibilityInfo.isAccessibilityServiceEnabled4fb9319 by @MoOx
0.67.1 - 2022-04-16
0.67.0 - 2022-03-08
This changes are just to follow React Native 0.67 changes.
- Add
ACCESS_MEDIA_LOCATIONpermission to PermisionsAndroid library 5338327 by @MoOx - Added
cancelButtonTintColorprop forActionSheetIOSto change only the text color of the cancel button 42dd7ee by @MoOx - Add missing
Keyboard.removeListener05a5656 by @MoOx - Remove
#highand#balancedas values forandroid_hyphenationFrequencyonTextd73c6d7 by @MoOx - Remove
DatePickerAndroid31549b1 by @MoOx
0.66.1 - 2021-12-06
0.66.0 - 2021-10-25
Breaking changes
- Remove Picker & PickerIOS (Use https://github.com/react-native-picker/picker & https://github.com/rescript-react-native/picker instead) 9e45fcd by @MoOx
- Update
TextInputautoCompleteTypeprop toautoCompleteee307e6 by @MoOx - Change
TextInputautoCompleteprop values (add more & change some to quoted polymorphic variants)) 21e802d by @MoOx
New features
- Add
#togglebuttontoaccessibilityRoleprop 0b4688b by @MoOx - Add
accessibilityRole#tabbarvalue 7c8f283 by @MoOx - Add
Buttonaccessible,accessibilityActions&onAccessibilityActionprops 484e344 by @MoOx - Add
PermissionsAndroidbluetoothAdvertisepermission e1ca5e5 by @MoOx - Add
PlatformColoriOS missing standard colors 92e7d77 by @MoOx - Add
Pressableforegroundoption for ripple config for Android 9bd7499 by @MoOx - Add
TextaccessibilityActions&onAccessibilityActionsprops 9b52e53 by @MoOx
0.65.0 - 2021-10-18
Notable changes
rescriptpackage is now replacingbs-platform.- Several
removeEventListenercalls were removed or deprecated in React Native 0.65. You might have to update your code to reflect this. Check the full list below (or just follow compilation warnings/errors).
Breaking changes
- Use
rescript@^9.1.4instead ofbs-platform@as a peerDependency a2ae907 by @MoOx - Replace
EventSubscription.tso you can call.remove()onEventSubscription.tinstead of->EventSubscription.remove()71399ce by @MoOx - Remove
NativeEventEmitter.removeSubscriptionin favor ofremove()on subscription itself df060f9 by @MoOx - Remove
KeyboardremoveAllListenersandremoveListener(you should useremoveon listener itself) 2091cb3 by @MoOx - Remove
AppState.removeEventListener. Instead, use theremove()method on the listener itself 84284e8 by @MoOx - Remove
NativeEventEmitter.Subscriptionin favor of just calling.remove()method on listeners. 0e4bb2d by @MoOx - Change
Dimensions.addEventListener(now returns anEventSubscription.tso you can callremove()on listener directly ) 1131382 by @MoOx
Deprecations
- Deprecate
AccessibilityInfo.removeEventListenerin favor ofremovemethod on the listener itself 44f4465 by @MoOx - Deprecate
EventEmitter#removeSubscriptionin favor ofremove()on subscription itself a771dc8 by @MoOx - Deprecate
Linking.removeEventListener. Instead, callremove()on the listener itself 4b98e2b by @MoOx
New features
- Add
AccessibilityInfo.getRecommendedTimeoutMillisa90fe94 by @MoOx - Add
Appearance.addChangeListener2cda177 by @MoOx - Add
ButtonaccessibilityStateprop 7573c50 by @MoOx - Add
Color.processColormethod 0c880f8 by @MoOx - Add
DynamicColorIOShighContrastLight&highContrastDarkoptional values (with newDynamicColorIOS.dynamicColor()since they are optional) cc4132b by @MoOx - Add
PressableonBlurandonFocusprops 575a634 by @MoOx - Add
PressableonHoverInandonHoverOutreact-native-web 0.16 props e625be2 by @jfrolich - Add
Pressableunstable_pressDelayprop 3d3bf2b & 0117e3e by @jfrolich - Add
PushNotificationIOS.getAuthorizationStatusmethod ffc2f0c by @MoOx - Add
RefreshControlsizeoption 5678d16 by @MoOx - Add
stickyHeaderHiddenOnScrollprops toScrollView& friends d981203 by @MoOx - Add
TextonPressIn&onPressOutprops 536ea0e by @MoOx - Add
TouchableHighlight&TouchableOpacityreact-native-web 0.16 View prop fbf9571 by @jfrolich
0.64.3 - 2021-05-02
🚨 Minor Breaking changes for React Native Web users only
- Remove
rel&targetView props - Add React Native Web
hrefAttrsprop for 0.16
0.64.2 - 2021-03-20
Ooopsy. Actually this release contains .res/.resi files.
0.64.1 - 2021-03-20
reason-react-native->rescript-react-nativepeerDependencieschanged to"@rescript/react": "^0.10.0""bs-platform": "^9.0.0"
0.64.0 - 2021-03-19
Breaking Changes
- Removed
CheckBox76ef45c by @MoOx ImageLoadEvent.source.urlis nowImageLoadEvent.source.urice21b74 by @MoOx- Remove
UIManager.playTouchSound(useSoundManager.playTouchSoundinstead) cd03cfb by @MoOx Pressable_is nowPressable(to benefit of the full benefit of Pressable, following deprecation notice in 0.63.3) 421962f by @MoOx- Changed
ActionSheetIOSdestructiveButtonIndexto accept array instead of just int (as RN acceptsint | array<int>) 81f4f18 by @MoOx - Changed
ImageuriSourceheadersto beJs.Dict.t(string)ca786f9 by @MoOx
Added
- Added
PlatformColoriOSclearcolor b813ee9 by @MoOx + b9e33c7 - Added
Textandroid_hyphenationFrequencyprop 1864063 by @MoOx - Added
TextdataDetectorTypesprop 635066c by @MoOx - Added
Textdisabledprop 635066c by @MoOx - Added
TextmaxFontSize…Multiplierprop 635066c by @MoOx - Added
TextnativeIDprop 635066c by @MoOx - Added
TextonTextLayoutprop 635066c by @MoOx - Added
Textgesture responder props 635066c by @MoOx - Added
TextInputonPressIn&onPressOut13b8e7f by @MoOx - Added
NativeEventEmitter.listenerCounte88e336 by @MoOx - Added
ActionSheetIOSdisabledButtonIndices74af1ab by @MoOx
0.63.5 - 2021-03-10
Fix & change Android PlatformColor binding to use built-in selector #737 by @diaozheng999
- Fixed
PlatformColor.Android.getAttr: now use"?android:attr/*instead of"?attr/* - Added
PlatformColor.Android.get{x}(x being an integer from 2 to 7) so you can use@android:color&@?android:attrin the same call, asPlatformColoraccepts multiple arguments as fallbacks. - Added
PlatformColor.unsafeGet{x}(x being an integer from 2 to 7) that allow you to pass unsafe values (string, which can be useful for user defined values).
Also:
- Added
PlatformColor.Android.get - Added
PlatformColor.Ios.get{x}like Android PlatformColor.IOSis deprecated in favor ofPlatformColor.IosPlatformColor.Android.unsafeGetis deprecated in favor ofPlatformColor.unsafeGet
0.63.4 - 2021-02-24
Fixed measure & measureInWindow functions types #736 by @Freddy03h
0.63.3 - 2021-02-19
Added Pressable with child function and interaction states (as Pressable_) #735 by @Freddy03h
0.63.2 - 2020-11-20
Breaking change, sorry: Reverting ActivityIndicator size as polymorphic variant so we can keep the exact option.
0.63.1 - 2020-11-17
Fix npm description
0.63.0 - 2020-11-06
Breaking changes
- ⚠️ Changed minimal versions required #722 by @cknitt
- ReScript / bs-platform 8.2
- rescript-react 0.9.1
- Switched solution to avoid warnings being throw as errors b5038e9 by @MoOx with the help of @Freddy03h and @bobzhang in #718 This will help to avoid issue if ReScript introduce new warning that caused in the past impossibility to use our bindings (eg: ReScript 8.2 bs.string annontations).
- Switch to polymorphic variants instead of abstract types where possible #724 #727 by @cknitt
- Removed superfluous bs.string attributes #723 by @cknitt This change shouldn't impact your code if you are using ReScript 8.2 as required.
- Accessibility changes for react-native 0.63 #728 by @cknitt
- Removed
accessibilityComponentType - Removed
accessibilityTraits. - Added
AccessibilityActionEvent - Added
onAccessibilityAction. - Added
Accessibility.actionInfo(already there, but broken - missing unit to terminate argument list). - Note that
Accessibility.rolewas actually already up to date (except for the value "switch" which we can't add because it's a keyword). Feel free to open an issue if you needswitchvalue.
- Removed
- Removed
Global.unstable_enableLogBox#718 by @gedeagas This is now enabled by default in React Native 0.63. See addedLogBoxbindings for more options. - Removed
tintColorprop from Switch component #714 by @gedeagas
Fixes
New Features
- Added
DynamicColorIOS#717 by @celsobonutti Note that there is only 2 keys (lightanddark) but React Native documentation mention they might be more in the future, without saying if they will be mandatory or not. If you want to protect yourself, you might want to make your own factory. In any case, we can still deprecate themakebinding & create a new external binding with optional keys. So don't worry too much. - Added
PlatformColorbinding #730 by @rifaldhiaw - Added
PermissionsAndroid.accessBackgroundLocation#729 by @cknitt + b8392e3 by @MoOx - Added
LogBox#711 by @idkjs - Added
accessibilityActionsprop #713 by @gedeagas - Added
Pressable#712 by @gedeagas - Added
AppStatevaluesunknownandextension(iOS) #726 by @cknitt
Misc
- ReScript branding has been adopted in various places in all the repos of our organisation.
- More futur proof "files" patterns for npm (in case of interop files) 1a3b677 by @MoOx
- Simplify package.json files section a9cacbd by @MoOx
0.62.3 - 2020-08-07
- Stop blocking compilation because of ReScript warnings (emitted as errors) #708 by @jfrolich
This is to ensure ReScript 8.2 compatibility & avoid similar problem in the future.
0.62.2 - 2020-07-27
0.62.1 - 2020-07-27
- Fixed View props for all components that use them (stay in sync) e5adee0 by @MoOx
- Removed TabBarIOS (removed since RN 0.59) 13991e0 by @MoOx
- Internal: removed duplicated code source in md files (website will produce the same result - no manual syncing required) 1524b87 by @MoOx
0.62.0 - 2020-07-20
The release we all have been waiting for (thanks for you patience)!
Huge thanks to @sgny which handled most of the
changes directly related to react-native 0.62.
tl;dr: this release includes
- breaking changes related to
rescript-react@0.8 - breaking changes related to
bs-platform@7(say bye to most##accessors in favor of.) - breaking changes related to
react-native@0.62(say bye to removed components)
So in order to upgrade to this release you need to upgrade all this dependencies
at the same time. Be sure to respect
peerDependencies
before reporting issue.
🚀 Upgrades & 💥 Breaking changes
- Upgraded rescript-react to 0.8.0 (#689) by @jfrolich
See https://rescript-lang.org/blog/rescript-react-0-8-0 for more informations - Upgraded to bs-platform 7.3.0 (#631) by @idkjs (#666) by @Arnarkari93 (#674) (#693) (#690) (#694) by @sgny (#695) by @cknitt
We have convertedJs.tobjects to records where possible (we had to skipped objects that rely on[@bs.meth]). This means ou will have to change a lot of##notation to just a dot (.) to access properties.
See https://rescript-lang.org/blog/whats-new-in-7-pt1 for more informations - Removed some methods for FlatList, ScrollView, SectionList, VirtualizedList and VirtualizedSectionList (#680) by @sgny
These components are interrelated in the sense of being based on each other and inheriting props, however, applicable methods are not inherited quite so consistently. We removed unavailable methods from each component. - Removed
accessibilityStatesprop (#656) by @sgny - Removed
TextInputonTextInputandselectionStateprops (#658) by @sgny - Animated: setting
useNativeDriverprop is required (#655) by @sgny - Handle deprecated or removed components and APIs (#668) by @sgny
- Removed components:
ToolbarAndroid,ViewPagerAndroid,WebView - Removed APIs:
AlertIOS,CameraRoll,GeoLocation,ImageEditor,NetInfo,TimePickerAndroid - Some others components that have been deprecated in RN regarding "Lean Core" initiative have been documented as such and will be removed in future releases.
- Removed components:
- Deprecated
Style.list&Style.listOptionfor future bs-platform 8.0.0 compatibility (#700) by @MoOx
⛑ Fixes
- Fixed
DatePickerIOSminuteIntervaltype (int, not string) (#648) by @idkjs - Fixed
Animated.ValueXY.getTranslateTransform(value)binding (#675) by @benadamstyles - Fixed
Global.hermesInternal(#703) by @fa7ad - Fixed
TouchableNativeFeedback.Background.canUseNativeForegroundtype (#704) by @phamhoaivu911
🚀 Additions
- Added support for callback refs (#684) by @cknitt
- Added
unstable_enableLogBox(#692) by @MoOx - Added
Appearancemodule (#654) (#662) (#677) by @sgny - Added Modal
statusBarTranslucentprop (#660) by @sgny - Added missing accessibility props to
Touchable*components (#659) by @sgny - Added
accessibilityStateprop and constructor for related object (#657) by @sgny - Added
DevSettingsmodule (#661) (#664) by @sgny - Added
fadingEdgeLengthprop to FlatList, ScrollView, SectionList etc (#663) by @sgny - Added
accessibilityValueprop (#665) - Added mouse event for
react-native-web(#646) by @Naturalclar - Added
onMouseEnter,onMouseLeaveprops for View, Text, TextInput and more web props, press-event, href and target (#650) by @jfrolich - Updated Linking documentation (#673) by @sgny
- Updated Event documentation (#672) by @sgny
0.61.1 - 2020-01-26
🚀 Additions
- Add
NativeEventEmitter#642 by @cknitt - New abstract type for Android Date/TimePicker
action#640 by @cknitt - Add
accessibilityRoleweb values andarialLevelweb props (#639 by @Naturalclar
⛑ Fixes
- Fix
autoCompleteTypeprop forTextInputcomponent (previously incorrectly namedautoComplete) (#639 by @Naturalclar - Resolves all ReScript / BuckleScript inferred name warnings (#628 by @idkjs
0.61.0 - 2019-11-20
💥 Breaking change
- Change type for
DrawerLayoutAndroiddrawerPositionprop #626 by @sgny.
You need to replaceDrawerLayoutAndroid.left&DrawerLayoutAndroid.rightby [](https://github.com/`) ` left&`right.
🚀 New bindings
- Add
SoundManager+ deprecateUIManager.playTouchSound#616 by @sgny - Add
useWindowDimensionshook #615 by @sgny - Add
touchSoundDisabledprop toButtonand all Touchable components #627 by @stuartkeith
0.60.1 - 2019-10-28
Probably the latest release for React Native 0.60. We will focus on 0.61.
💥 Breaking changes (minor)
Sorry, a mix of bugfixes & changes! This should be easy to handle for you.
- Add constructor for section type in
VirtualizedSectionList#614 by @sgny - Add
SectionList/VirtualizedSectionListsection data as parameterized type #618 by @jfrolich
⛑ Fixes
- Fix
AppState(now returnunit) #568 by @cknitt - Fix
Animated.eventtype so it can be used inAnimated.ScrollViewonScrollprops (& similar) #584 by @MoOx - Fix missing
[@bs.meth]in methods ofEvent,BackHandler&NetInfo#621 by @cknitt - Fix
ScrollViewscrollToItem,scrollToIndexandscrollToOffset#569 by @benadamstyles - Fix
WebviewcontentInsetprop #607 by @cem2ran - Fix
WebViewevent types & add missing fields #608 by @cem2ran
🚀 New bindings
- Add
AccessibilityInfo#587 by @sgny - Add
Alert.prompt#617 by by @fhammerschmidt - Add
Animated.SectionListandAnimated.FlatList#600 by @sgny + #623 by @jfrolich - Add lots of
AppRegistrymethods #567 by @sgny + #560 by @cknitt - Add
Global.__DEV__#609 by @sgny - Add
Global.hermesInternal#613 by @MoOx - Add
YellowBox#562 by @cknitt
📖 Documentation
We improved some part of the missing docs, thanks to contributions of @sgny,
@idkjs, @fhammerschmidt & @MoOx and maybe others we forgot to mention (but
git log doesn't)
0.60.0 - 2019-06-17
✨ Initial release for this new React Native bindings!
See https://rescript-react-native.github.io/en/blog/2019-06-17-hello-reason-react-native/ for more information.