unstale

npm / react-native-keyboard-controller

react-native-keyboard-controller

What changed in react-native-keyboard-controller 1, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.

3 breaking18 new APIs and options3 performance5 behavior and defaults77 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.1.1 on npm

react-native-keyboard-controller 1106 changes

Breaking changes 3

  • The Android onConfigurationChanged parameter is now non-nullable, clarifying the callback’s parameter type for developers.

    1.21.9release notes

  • Toggling the module on or off no longer modifies edge-to-edge mode by default on Android.

    1.21.5release notes

  • Makes scrollRectToVisible a no-op on iOS.

    1.21.0release notes

New APIs and options 18

  • Added the rounded prop to KeyboardEffects.

    1.22.3release notes

  • A new component lets you customize the keyboard background, including disabling translucency, applying brand colors, removing the default backdrop, and recreating the Siri / Apple Intelligence-style effect on iOS.

    1.22.0release notes

  • Exposes keyboardWindow on iOS.

    1.21.14release notes

  • Adds an onContentInsetChange callback to KeyboardChatScrollView.

    1.21.7release notes

  • Adds an onEndVisible callback to KeyboardChatScrollView.

    1.21.7release notes

  • KeyboardChatScrollView supports freeze as a SharedValue.

    1.21.6release notes

  • Adds a mode prop to KeyboardAwareScrollView.

    1.21.4release notes

  • Adds the ClippingScrollView component.

    1.21.0release notes

  • Adds the automaticOffset prop for KeyboardAvoidingView.

    1.21.0release notes

  • Adds the blankSpace prop to KeyboardChatScrollView.

    1.21.0release notes

  • Adds the extraContentPadding prop to KeyboardChatScrollView.

    1.21.0release notes

  • Introduces a new chat-oriented scroll view component.

    1.21.0release notes

  • Adds the KeyboardToolbar.Group component.

    1.21.0release notes

  • Adds the ScrollViewWithBottomPadding component.

    1.21.0release notes

  • Adds the useCombinedRef hook to logically separate the code.

    1.20.7release notes

  • Adds the ability to sync focused input layout from JavaScript.

    1.20.0release notes

  • Adds a compatibility-layer hook corresponding to the useAnimatedKeyboard hook from react-native-reanimated.

    1.20.0release notes

  • Adds KeyboardBackgroundView to the Android turbo package for React Native versions below 0.74.

    1.19.6release notes

Performance 3

  • Skips per-frame scrollTo when the scroll view is detached.

    1.22.7release notes

  • Optimized the component's performance.

    1.21.1release notes

  • Improves KeyboardAwareScrollView performance.

    1.21.0release notes

Behavior and default changes 5

  • Adds support for NestedScrollView in KeyboardAwareScrollView.

    1.22.5release notes

  • On Android, keyboard control is requested only when the keyboard will change its position.

    1.22.2release notes

  • KeyboardToolbar passes touches through.

    1.21.6release notes

  • Adds native detection of rounded keyboards.

    1.21.4release notes

  • Uses contentInset for KeyboardAwareScrollView.

    1.21.0release notes

Fixes and other changes 77

  • Clears focus when dismiss is called while the keyboard is already hidden.

    1.22.7release notes

  • Accounts for non-edge-to-edge window offset.

    1.22.7release notes

  • Fixes a crash with reanimated 4.7+.

    1.22.7release notes

  • Fixes compatibility with react-navigation@8.x and Activity.

    1.22.6release notes

  • Fixes incorrect scrolling when the keyboard layout changes.

    1.22.6release notes

  • Clamps the scroll target at 0 when the view shrinks.

    1.22.6release notes

  • Fixes a memory leak in FocusedInputObserver on Android.

    1.22.5release notes

  • Fixes compatibility with Reanimated 4.6.0 in KeyboardChatScrollView.

    1.22.5release notes

  • Fixes KeyboardExtender recycling on iOS.

    1.22.4release notes

  • Fixes stuck subsequent animations caused by a stale keyboardLayoutGuide.

    1.22.4release notes

  • Skips the explicit kotlin-android plugin when AGP 9 built-in Kotlin is enabled.

    1.22.4release notes

  • Restores compatibility with Reanimated 3.0.

    1.22.4release notes

  • Keeps the StatusBar proxy alive on React Native 0.87.

    1.22.4release notes

  • Restores compatibility with old turbo packages.

    1.22.4release notes

  • Fixed an IllegalStateException on Android.

    1.22.3release notes

  • Fixed overscroll during interactive dismissal on iOS when using KeyboardChatScrollView.

    1.22.3release notes

  • Added compatibility with react-native-strict-api.

    1.22.3release notes

  • Focused input events inside Modal now use the propagation view surfaceId.

    1.22.3release notes

  • Fixed an iOS crash in onTextChangedHandler caused by an unpaired UTF-16 surrogate.

    1.22.3release notes

  • Fixes compatibility with reanimated bundle mode.

    1.22.2release notes

  • Fixes flaky behavior on iOS versions earlier than 16.

    1.22.1release notes

  • Fixes operation with OTP inputs.

    1.22.1release notes

  • Reconciles frozen chat keyboard padding.

    1.21.14release notes

  • Supports NestedScrollView in ClippingScrollViewDecoratorView.

    1.21.14release notes

  • Resets isInteractive when an interactive gesture ends without animateToFinish.

    1.21.14release notes

  • Fixes infinite recursion in forwardingTarget, preventing crashes.

    1.21.13release notes

  • Fixes a null-pointer exception in removeTextChangedListener, preventing crashes.

    1.21.13release notes

  • The first animatedProps evaluation in KeyboardChatScrollView and KeyboardAwareScrollView no longer emits contentOffset {0,0}.

    1.21.12release notes

  • Closing a Modal on Android no longer triggers undesired scrolling in KeyboardAwareScrollView.

    1.21.12release notes

  • Fixes KeyboardChatScrollView becoming non-scrollable when blankSpace is big.

    1.21.12release notes

  • Opening system windows on Android no longer causes stale animated values.

    1.21.12release notes

  • Adds the missing themedContext getter to prevent compilation errors on RN 0.87.

    1.21.11release notes

  • Fixes iOS builds.

    1.21.10release notes

  • Fixes missing scroll animation when switching between inputs.

    1.21.10release notes

  • Fixed a crash when KeyboardChatScrollView unmounts.

    1.21.10release notesrelease notes

  • Avoids illegal states on Android that could cause crashes.

    1.21.8release notes

  • Fixes a crash on Catalyst.

    1.21.8release notes

  • A crash in viewPositionInWindow is resolved.

    1.21.7release notes

  • Fixes inverted KeyboardChatScrollView breaking maintainVisibleScrollPosition.

    1.21.6release notes

  • Closes the keyboard even when it is partially visible.

    1.21.6release notes

  • Fixes scrolling up when the keyboard type changes.

    1.21.4release notes

  • Fixes a memory leak when the Activity restarts.

    1.21.4release notes

  • Fixed re-focusing after keyboard dismissal using a hardware button.

    1.21.3release notes

  • KeyboardExtender now respects UIDesignRequiresCompatibility.

    1.21.3release notes

  • Fixed a conflict between RefreshControl and KeyboardAwareScrollView or KeyboardChatScrollView.

    1.21.3release notes

  • Fixes a regression after optimization.

    1.21.2release notes

  • Removes the extra +1 padding.

    1.21.2release notes

  • Fixes the view collapsing to zero height inside auto-sizing parents.

    1.21.2release notes

  • Fixes scroll adjustment when extraContentPadding changes by a large amount.

    1.21.2release notes

  • Fixed the “could not find view for tag” warning in the component.

    1.21.1release notes

  • Fixes an access-before-initialization error.

    1.21.0release notes

  • Fixes non-working interactive keyboard dismissal.

    1.21.0release notes

  • Makes KeyboardAvoidingView more precise.

    1.21.0release notes

  • Fixes the KeyboardAvoidingView types union.

    1.21.0release notes

  • Fixes loss of ref identity in KeyboardAwareScrollView.

    1.21.0release notes

  • Automatically detects the top border of KeyboardAwareScrollView.

    1.21.0release notes

  • Fixes the enabled prop behavior for KeyboardStickyView on the Fabric architecture.

    1.21.0release notes

  • Handles broken measureInWindow behavior.

    1.21.0release notes

  • Addresses memory leaks on Android.

    1.21.0release notes

  • Fixes an incorrect onInteractive event when the keyboard is closed on iOS 26+ with an attached KeyboardGestureArea.

    1.21.0release notes

  • Fixes incorrect selection coordinates on focus.

    1.21.0release notes

  • Fixes compatibility with RN 0.70.

    1.20.7release notes

  • Dispatches did events manually on iOS, fixing incorrect animation on iOS 26 when cross fade transitions are enabled.

    1.20.6release notes

  • Fixed compilation errors when building on Windows.

    1.20.5release notes

  • Fixes navigation in iOS hybrid apps, improving stability on iOS 26.

    1.20.4release notes

  • Conditional code in KeyboardAvoidingView is now iOS specific.

    1.20.3release notes

  • Fixed a wrong super call in OverKeyboardView.

    1.20.3release notes

  • Fixes the wrong onEnd event on Samsung devices when the keyboard is shown after interactive dismissal.

    1.20.2release notes

  • Avoids undesired reloadInputViews during keyboard dismissal.

    1.20.2release notes

  • Fixes continuous warnings caused by the dependencies array changing size between renders when using KeyboardAwareScrollView.

    1.20.1release notes

  • Fixes a type mismatch for the dismiss method.

    1.20.0release notes

  • Fixes over-scrolling when bottomOffset changes dynamically.

    1.19.6release notes

  • Fixed the non-working onMove handler on iOS 26 in dev builds.

    1.19.5release notes

  • Fixes the non-working release version on iOS 26.

    1.19.4release notes

  • Matches StatusBar and edge-to-edge interoperability according to the latest spec.

    1.19.4release notes

  • Avoids calls that caused a crash in certain conditions.

    1.19.3release notes

  • Attaches the keyboard tracking view in advance and only when the window has changed, resolving a critical issue introduced in 1.19.1.

    1.19.2release notes