Skip to content

Latest commit

 

History

History
427 lines (305 loc) · 39.4 KB

CHANGELOG.md

File metadata and controls

427 lines (305 loc) · 39.4 KB

Changelog of rescript-react-native

0.72.0 - 2023-08-04

  • Remove deprecated Slider, DatePickerIOS & ProgressViewIOS 82dc6e1 by @MoOx
  • Add VirtualizedList onStartReached / onStartReachedThreshold props d69aa1e by @MoOx
  • Add Appearance setColorScheme method 878f426 by @MoOx
  • Add Style borderBlockColor borderBlockEndColor `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

  • _end is now end (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, #boxNone etc 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, fontWeight is now an abstract type. This means that style(~fontWeight=#_600, ()) now becomes style(~fontWeight=FontWeight._600, ()) 44885db by @cknitt
  • @string usage have been removed when possible. This means types that were inlined in bindings are now common. 6495093 by @cknitt
  • Platform.os now use polymorphic variant. if Platform.os === Platform.android becomes if Platform.os === #android. Be careful: if used in a switch, you will lose metro bundler optimisation ! b189fbc & 9964b13 by @cknitt
  • PlatformColor have been rewritten. Lots of deprecation & polymorphic variants changes (eg: for android, instead of #background_dark use #"@android:color/background_dark") 036566e by @MoOx
  • Appearance now returns option<t> instead of Js.Null.t<t> thanks to @nullable 91f0a67 by @cknitt
  • Deprecated Style.pt unit as been removed (use dp instead (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 written ActionSheetIOS.showActionSheetWithOptions({url}, /*...*/). Previous @obj external helpers will be deprecated in the future, and then removed. Note that Style.style() now have a replacement Style.s() that accepts an object with optional keys ! e606a03 by @cknitt
  • Lots of [email protected] View props have been added bee39e5 by @MoOx
  • Added Style.empty to avoid Style.arrayOption (so you can write things like Style.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.checkPermissions to include iOS 10+ notification settings 14212c0 by @MoOx

New bindings

  • Add dismissActionSheet method to ActionSheetIOS 7e42b63 by @MoOx
  • Add accessibilityLanguage prop to all the available components a210356 by @MoOx
  • Add soundName option for local push notifications in PushNotificationIOS 4f04d77 by @MoOx
  • Create HitSlop & Rect module (don't use them directly yet, wait for 0.70 release...) 394bd60 by @MoOx

0.68.1 - 2022-04-20

  • Fix Animated eventOptions (platformConfig is optional) 8d128b9 by @MoOx

0.68.0 - 2022-04-16

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_LOCATION permission to PermisionsAndroid library 5338327 by @MoOx
  • Added cancelButtonTintColor prop for ActionSheetIOS to change only the text color of the cancel button 42dd7ee by @MoOx
  • Add missing Keyboard.removeListener 05a5656 by @MoOx
  • Remove #high and #balanced as values for android_hyphenationFrequency on Text d73c6d7 by @MoOx
  • Remove DatePickerAndroid 31549b1 by @MoOx

0.66.1 - 2021-12-06

0.66.0 - 2021-10-25

Breaking changes

New features

  • Add #togglebutton to accessibilityRole prop 0b4688b by @MoOx
  • Add accessibilityRole #tabbar value 7c8f283 by @MoOx
  • Add Button accessible, accessibilityActions & onAccessibilityAction props 484e344 by @MoOx
  • Add PermissionsAndroid bluetoothAdvertise permission e1ca5e5 by @MoOx
  • Add PlatformColor iOS missing standard colors 92e7d77 by @MoOx
  • Add Pressable foreground option for ripple config for Android 9bd7499 by @MoOx
  • Add Text accessibilityActions & onAccessibilityActions props 9b52e53 by @MoOx

0.65.0 - 2021-10-18

Notable changes

  • rescript package is now replacing bs-platform.
  • Several removeEventListener calls 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.4 instead of bs-platform@ as a peerDependency a2ae907 by @MoOx
  • Replace EventSubscription.t so you can call .remove() on EventSubscription.t instead of ->EventSubscription.remove()71399ce by @MoOx
  • Remove NativeEventEmitter.removeSubscription in favor of remove() on subscription itself df060f9 by @MoOx
  • Remove Keyboard removeAllListeners and removeListener (you should use remove on listener itself) 2091cb3 by @MoOx
  • Remove AppState.removeEventListener. Instead, use the remove() method on the listener itself 84284e8 by @MoOx
  • Remove NativeEventEmitter.Subscription in favor of just calling .remove() method on listeners. 0e4bb2d by @MoOx
  • Change Dimensions.addEventListener (now returns an EventSubscription.t so you can call remove() on listener directly ) 1131382 by @MoOx

Deprecations

  • Deprecate AccessibilityInfo.removeEventListener in favor of remove method on the listener itself 44f4465 by @MoOx
  • Deprecate EventEmitter#removeSubscription in favor of remove() on subscription itself a771dc8 by @MoOx
  • Deprecate Linking.removeEventListener. Instead, call remove() on the listener itself 4b98e2b by @MoOx

New features

  • Add AccessibilityInfo.getRecommendedTimeoutMillis a90fe94 by @MoOx
  • Add Appearance.addChangeListener 2cda177 by @MoOx
  • Add Button accessibilityState prop 7573c50 by @MoOx
  • Add Color.processColor method 0c880f8 by @MoOx
  • Add DynamicColorIOS highContrastLight & highContrastDark optional values (with new DynamicColorIOS.dynamicColor() since they are optional) cc4132b by @MoOx
  • Add Pressable onBlur and onFocus props 575a634 by @MoOx
  • Add Pressable onHoverIn and onHoverOut react-native-web 0.16 props e625be2 by @jfrolich
  • Add Pressable unstable_pressDelay prop 3d3bf2b & 0117e3e by @jfrolich
  • Add PushNotificationIOS.getAuthorizationStatus method ffc2f0c by @MoOx
  • Add RefreshControl size option 5678d16 by @MoOx
  • Add stickyHeaderHiddenOnScroll props to ScrollView & friends d981203 by @MoOx
  • Add Text onPressIn & onPressOut props 536ea0e by @MoOx
  • Add TouchableHighlight & TouchableOpacity react-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 & target View props
  • Add React Native Web hrefAttrs prop 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-native
  • peerDependencies changed to
    • "@rescript/react": "^0.10.0"
    • "bs-platform": "^9.0.0"

0.64.0 - 2021-03-19

Breaking Changes

  • Removed CheckBox 76ef45c by @MoOx
  • ImageLoadEvent.source.url is now ImageLoadEvent.source.uri ce21b74 by @MoOx
  • Remove UIManager.playTouchSound (use SoundManager.playTouchSound instead) cd03cfb by @MoOx
  • Pressable_ is now Pressable (to benefit of the full benefit of Pressable, following deprecation notice in 0.63.3) 421962f by @MoOx
  • Changed ActionSheetIOS destructiveButtonIndex to accept array instead of just int (as RN accepts int | array<int>) 81f4f18 by @MoOx
  • Changed Image uriSource headers to be Js.Dict.t(string) ca786f9 by @MoOx

Added

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:attr in the same call, as PlatformColor accepts 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.IOS is deprecated in favor of PlatformColor.Ios
  • PlatformColor.Android.unsafeGet is deprecated in favor of PlatformColor.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.role was 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 need switch value.
  • Removed Global.unstable_enableLogBox #718 by @gedeagas This is now enabled by default in React Native 0.63. See added LogBox bindings for more options.
  • Removed tintColor prop from Switch component #714 by @gedeagas

Fixes

  • Fixed VirtualizedListMethods.scrollToItemParams #715 by @cknitt

New Features

  • Added DynamicColorIOS #717 by @celsobonutti Note that there is only 2 keys (light and dark) 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 the make binding & create a new external binding with optional keys. So don't worry too much.
  • Added PlatformColor binding #730 by @rifaldhiaw
  • Added PermissionsAndroid.accessBackgroundLocation #729 by @cknitt + b8392e3 by @MoOx
  • Added LogBox #711 by @idkjs
  • Added accessibilityActions prop #713 by @gedeagas
  • Added Pressable #712 by @gedeagas
  • Added AppState values unknown and extension (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 [email protected]
  • breaking changes related to bs-platform@7 (say bye to most ## accessors in favor of .)
  • breaking changes related to [email protected] (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 converted Js.t objects 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 accessibilityStates prop (#656) by @sgny
  • Removed TextInput onTextInput and selectionState props (#658) by @sgny
  • Animated: setting useNativeDriver prop 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.
  • Deprecated Style.list & Style.listOption for future bs-platform 8.0.0 compatibility (#700) by @MoOx

⛑ Fixes

  • Fixed DatePickerIOS minuteInterval type (int, not string) (#648) by @idkjs
  • Fixed Animated.ValueXY.getTranslateTransform(value) binding (#675) by @benadamstyles
  • Fixed Global.hermesInternal (#703) by @fa7ad
  • Fixed TouchableNativeFeedback.Background.canUseNativeForeground type (#704) by @phamhoaivu911

🚀 Additions

  • Added support for callback refs (#684) by @cknitt
  • Added unstable_enableLogBox (#692) by @MoOx
  • Added Appearance module (#654) (#662) (#677) by @sgny
  • Added Modal statusBarTranslucent prop (#660) by @sgny
  • Added missing accessibility props to Touchable* components (#659) by @sgny
  • Added accessibilityState prop and constructor for related object (#657) by @sgny
  • Added DevSettings module (#661) (#664) by @sgny
  • Added fadingEdgeLength prop to FlatList, ScrollView, SectionList etc (#663) by @sgny
  • Added accessibilityValue prop (#665)
  • Added mouse event for react-native-web (#646) by @Naturalclar
  • Added onMouseEnter, onMouseLeave props 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

⛑ Fixes

  • Fix autoCompleteType prop for TextInput component (previously incorrectly named autoComplete) (#639 by @Naturalclar
  • Resolves all ReScript / BuckleScript inferred name warnings (#628 by @idkjs

0.61.0 - 2019-11-20

💥 Breaking change

  • Change type for DrawerLayoutAndroid drawerPosition prop #626 by @sgny.
    You need to replace DrawerLayoutAndroid.left & DrawerLayoutAndroid.right by [](https://github.com/`) ` left & `right.

🚀 New bindings

  • Add SoundManager + deprecate UIManager.playTouchSound #616 by @sgny
  • Add useWindowDimensions hook #615 by @sgny
  • Add touchSoundDisabled prop to Button and 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/VirtualizedSectionList section data as parameterized type #618 by @jfrolich

⛑ Fixes

  • Fix AppState (now return unit) #568 by @cknitt
  • Fix Animated.event type so it can be used in Animated.ScrollView onScroll props (& similar) #584 by @MoOx
  • Fix missing [@bs.meth] in methods of Event, BackHandler & NetInfo #621 by @cknitt
  • Fix ScrollView scrollToItem, scrollToIndex and scrollToOffset #569 by @benadamstyles
  • Fix Webview contentInset prop #607 by @cem2ran
  • Fix WebView event types & add missing fields #608 by @cem2ran

🚀 New bindings

📖 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.