Releases: callstack/react-native-paper
Release 6.0.0-alpha.0
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
- add direction prop to PaperProvider and useLocale hook for RTL support (#4921) (01b1982)
- add DynamicTheme using PlatformColor (#4901) (ad9f3f0)
- add elevation tokens and fix Android dp spec bug (#4923) (2f8b840)
- add emphasized typescale and fix letter-spacing spec bugs (#4920) (c9f40e2)
- add motion tokens (spring, easing, duration) (57c06e1)
- add theme.shapes and cornersToStyle (#4919) (b88ec19)
- add theme.state opacity tokens and split theme types (#4917) (f998dff)
- checkbox: add error state via MD3 error tokens (e860605), closes #4937 #4949
- checkbox: modernize for md3 spec compliance (6405895), closes #4952
- fab: modernize FloatingActionButton to MD3 (2f5e55d)
- modernize Switch to MD3 (de574b5)
- react-native-reanimated as peer dependency (#4912) (9ded0ac)
- remove customRippleColor from components (#4899) (1369526), closes #4894
- rework TextInput component (#4909) (8b2b1eb), closes #79747 #6750A4 #1C1B1 #79747 #6750A4 #1C1B1 #6750A4 #6750A4
- v6: remove deprecated public API (3920cf0)
BREAKING CHANGES
- fab: The FAB API has been redesigned for MD3 with no
deprecation aliases.
AnimatedFABandAnimatedFABPropsare removed. UseFAB.Extended
for the icon + label FAB.FAB.GroupandFABGroupPropsare removed. UseFAB.Menuinstead.- The legacy FAB props (
mode,small,color,label,uppercase,
customSize,animated) are removed. Usevariant,size,
containerColor, andcontentColorinstead; for a labeled FAB switch
toFAB.Extended. - New exported types:
FABExtendedProps,FABMenuProps,
FABMenuItemProps,FABMenuTriggerProps,FABVariant,FABSize.
- Lint, typescript, existing and new tests pass
- manual visual inspection on all platforms
TextInputhas 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 insidestartAccessory/endAccessoryrenderβ swap the native input (e.g. masked inputs)selectionColorandcursorColorβ inherited from React NativeTextInputpropsrefβ exposesTextInputHandles(focus,blur,clear,isFocused,setNativeProps,setSelection);clear()also syncs internal state and label animation
What was removed
TextInput.AffixHelperTextas the recommended companion for text fields (usesupportingTextinstead)mode,left,rightdense,contentStyle,outlineStyle,underlineStyletextColor,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:
prefixandsuffixare shown only when the label is floated (field focused or has a value).
Supporting text and errors
// Before (v5)
<>
...Release 5.15.3
Release 5.15.2
Release 5.15.1
Release 5.15.0
Release 5.14.5
Release 5.14.4
Release 5.14.3
Release 5.14.2
Release 5.14.1
5.14.1 (2025-05-08)
Bug Fixes
- support
react-native0.77.0 - support
@react-native-vector-icons12.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)