Skip to content

Releases: callstack/react-native-paper

Release 6.0.0-alpha.0

15 Jun 21:40
v6.0.0-alpha.0
ece0e1a

Choose a tag to compare

Release 6.0.0-alpha.0 Pre-release
Pre-release

6.0.0-alpha.0 (2026-06-15)

Bug Fixes

  • animated-fab: correct Android shadow/content stacking (#4903) (db27e5a)
  • docs: resolve docs build and icon issues (490a502)
  • dynamic theme broken deep merge when using PlatformColor (8720eac)
  • MD3: update color schema and tokens (#4900) (709325e)
  • resolve RN 0.85 web warnings and upgrade Expo SDK 56 (#4958) (3381515)
  • ripple not showing (#4897) (f39da66)

Features

BREAKING CHANGES

  • fab: The FAB API has been redesigned for MD3 with no
    deprecation aliases.
  • AnimatedFAB and AnimatedFABProps are removed. Use FAB.Extended
    for the icon + label FAB.
  • FAB.Group and FABGroupProps are removed. Use FAB.Menu instead.
  • The legacy FAB props (mode, small, color, label, uppercase,
    customSize, animated) are removed. Use variant, size,
    containerColor, and contentColor instead; for a labeled FAB switch
    to FAB.Extended.
  • New exported types: FABExtendedProps, FABMenuProps,
    FABMenuItemProps, FABMenuTriggerProps, FABVariant, FABSize.

#4959

  • Lint, typescript, existing and new tests pass
  • manual visual inspection on all platforms
  • TextInput has been rewritten for Material Design 3. The public API, adornments, variant naming, and styling overrides have changed. See the migration section below for required updates.

Summary

Replaces the Paper 5.x TextInput with a new MD3-aligned implementation. The component name stays TextInput, but most props and composition patterns have changed.

The new TextInput supports filled and outlined variants, floating labels, supportingText, a built-in character counter, prefix / suffix, leading/trailing startAccessory / endAccessory render props, a custom render prop for masked inputs, and improved accessibility. Colors and layout follow the theme; per-prop color overrides for outlines and underlines were removed.

What changed

Before (v5) After (v6)
mode="flat" variant="filled" (default)
mode="outlined" variant="outlined"
left / right element props startAccessory / endAccessory render props
TextInput.Affix prefix / suffix strings, or custom accessories
HelperText below the field supportingText on the field
label as string or ReactNode label as string only
dense, contentStyle, outlineStyle, underlineStyle removed β€” use style and theme
textColor, underlineColor, activeUnderlineColor, outlineColor, activeOutlineColor removed β€” use style and theme
disabled blocked interaction disabled blocks interaction; use editable={false} for read-only fields that can still be focused

Still supported

  • TextInput.Icon β€” use inside startAccessory / endAccessory
  • render β€” swap the native input (e.g. masked inputs)
  • selectionColor and cursorColor β€” inherited from React Native TextInput props
  • ref β€” exposes TextInputHandles (focus, blur, clear, isFocused, setNativeProps, setSelection); clear() also syncs internal state and label animation

What was removed

  • TextInput.Affix
  • HelperText as the recommended companion for text fields (use supportingText instead)
  • mode, left, right
  • dense, contentStyle, outlineStyle, underlineStyle
  • textColor, underlineColor, activeUnderlineColor, outlineColor, activeOutlineColor

Migration

Import stays the same:

import { TextInput, type TextInputProps } from 'react-native-paper';

Variant

// Before (v5)
<TextInput mode="flat" label="Email" />
<TextInput mode="outlined" label="Password" />

// After (v6)
<TextInput variant="filled" label="Email" />
<TextInput variant="outlined" label="Password" />

Icons and adornments

left / right element props become startAccessory / endAccessory render functions. Spread the props TextInput passes in β€” they include layout style, plus error, disabled, and multiline.

// Before (v5)
<TextInput
  label="Search"
  value={text}
  onChangeText={setText}
  left={<TextInput.Icon icon="magnify" />}
  right={<TextInput.Affix text={`${text.length}/80`} />}
/>

// After (v6)
<TextInput
  label="Search"
  value={text}
  onChangeText={setText}
  startAccessory={(props) => <TextInput.Icon {...props} icon="magnify" />}
  endAccessory={(props) => (
    <TextInput.Icon {...props} icon="close" onPress={() => setText('')} />
  )}
/>

Replace TextInput.Affix with prefix / suffix for inline text, or a custom endAccessory:

// Before (v5) β€” affix as trailing adornment
<TextInput
  right={<TextInput.Affix text="/100" />}
  maxLength={100}
/>

// After (v6) β€” prefix/suffix and/or counter
<TextInput
  prefix="$"
  suffix="/100"
  maxLength={100}
  counter
/>

Note: prefix and suffix are shown only when the label is floated (field focused or has a value).

Supporting text and errors

// Before (v5)
<>
 ...
Read more

Release 5.15.3

26 May 15:46
v5.15.3
7f3803c

Choose a tag to compare

5.15.3 (2026-05-26)

Bug Fixes

  • animated-fab: correct Android shadow/content stacking (#4903) (bf20edb)
  • progress-bar: preserve fill border radius while animating progress (#4950) (bf880da)

Release 5.15.2

08 May 11:30
v5.15.2
16a69a7

Choose a tag to compare

5.15.2 (2026-05-08)

Bug Fixes

  • fix portals, dialogs & modals not correctly positioned on react native 0.85 (#4906) (2fea2cd)

Release 5.15.1

14 Apr 13:17
v5.15.1
8b6b5e5

Choose a tag to compare

5.15.1 (2026-04-14)

Bug Fixes

  • docs: syntax highlighting (#4857) (8a1c86a)
  • fix Menu briefly flashes on first open (#4876) (ad744ff)
  • Menu: defer unmounting Portal until hide animation finishes (#4845) (78b2d75)
  • replace deprecated absoluteFillObject for react native 0.85 compat (#4890) (febd0c2)

Release 5.15.0

04 Feb 09:07

Choose a tag to compare

5.15.0 (2026-02-04)

Bug Fixes

Features

  • replace generic iPhone icon with official Apple App Store logo SVG (#4850) (341218a)

Release 5.14.5

20 May 11:09

Choose a tag to compare

5.14.5 (2025-05-20)

Bug Fixes

Release 5.14.4

15 May 12:19

Choose a tag to compare

5.14.4 (2025-05-15)

Bug Fixes

  • add container prop and improve flex/layout handling (#4742) (12ce89d)

Release 5.14.3

13 May 13:07

Choose a tag to compare

5.14.3 (2025-05-13)

Bug Fixes

  • revert transformOrigin use from TextInput (5d0c779) - previously added transformOrigin was breaking both outlined and flat input's label in various cases, so had to remove it completely. I will check what else we can do bring back the support for it.

Release 5.14.2

13 May 11:18

Choose a tag to compare

5.14.2 (2025-05-13)

Bug Fixes

  • fix error on width change of AnimatedFAB when label is empty string (#4729) (e395271)
  • remove findNodeHandle (#4731) (5138e4c)
  • update rn version for InputLabel translation (#4730) (aae6e42)

Release 5.14.1

08 May 11:07

Choose a tag to compare

5.14.1 (2025-05-08)

Bug Fixes

  • support react-native 0.77.0
  • support @react-native-vector-icons 12.x
  • segmented buttons rtl layout (#4719) (170bffe)
  • fix Surface styling when flex set (#4634) (3c75257)
  • hitslop passed to touchable (#4678) (895de4b)
  • allow to override hitSlop (#4717) (2559198)
  • use transformOrigin to fix label position flickering in RN 0.73 (#4521) (eb27d4a)