Skip to content

Releases: callstack/react-native-paper

Release 6.0.0-alpha.0

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

Choose a tag to compare

@satya164 satya164 released this 15 Jun 21:40
v6.0.0-alpha.0
ece0e1a

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

Choose a tag to compare

@satya164 satya164 released this 26 May 15:46
v5.15.3
7f3803c

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

Choose a tag to compare

@satya164 satya164 released this 08 May 11:30
v5.15.2
16a69a7

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

Choose a tag to compare

@satya164 satya164 released this 14 Apr 13:17
v5.15.1
8b6b5e5

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

Choose a tag to compare

@lukewalczak lukewalczak released this 04 Feb 09:07

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

Choose a tag to compare

@lukewalczak lukewalczak released this 20 May 11:09

5.14.5 (2025-05-20)

Bug Fixes

Release 5.14.4

Choose a tag to compare

@lukewalczak lukewalczak released this 15 May 12:19

5.14.4 (2025-05-15)

Bug Fixes

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

Release 5.14.3

Choose a tag to compare

@lukewalczak lukewalczak released this 13 May 13:07

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

Choose a tag to compare

@lukewalczak lukewalczak released this 13 May 11:18

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

Choose a tag to compare

@lukewalczak lukewalczak released this 08 May 11:07

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)