Skip to content

Releases: rcaferati/react-native-awesome-button

v3.1.0

22 Apr 22:06
bbd0157

Choose a tag to compare

🎉 React Native Awesome Button 3.1.0

v3.1.0 is focused on size animation parity, auto-width behavior, and stronger validation coverage across the button system.

This release makes size changes feel more intentional and predictable while keeping the package aligned with the existing 3D press, progress, and theme behaviors.

✨ Highlights

  • 📏 Added size animation parity work across width and height transitions
  • 🔤 Improved auto-width label behavior for short/long text swaps
  • 🎬 Added explicit sizing demos in the example app
  • 🧪 Expanded test coverage around size behavior, interactions, and text transitions
  • 🧩 Continued tightening of the button state/animation pipeline

🚀 What’s New

📐 Animated size behavior

This release adds a dedicated size-behavior layer to better coordinate:

  • fixed width changes
  • auto-width growth
  • auto-width shrink timing
  • height transitions
  • text transition choreography during width changes

That means buttons now handle size updates more consistently when labels change, especially in auto-width flows.

🔁 Better auto-width transition flow

For string labels, v3.1.0 improves the grow/shrink choreography:

  • grow-first behavior when the next label needs more width
  • shrink-last behavior when the next label needs less width
  • instant opt-out support with animateSize={false}
  • coordinated text + width animation when textTransition is enabled

🧪 Validation & Coverage

This release expands automated coverage with stronger tests for:

  • size behavior
  • interactions
  • text transitions
  • auto-width scenarios
  • snapshot updates for the new rendering paths

📱 Demo App Updates

The example app now includes clearer sizing coverage, including:

  • auto width string change
  • animated with text transition
  • animated without text transition
  • instant opt-out
  • themed fixed size change

📦 Package

  • Package: @rcaferati/react-native-awesome-button
  • Version: 3.1.0

🙌 Notes

This release continues the push toward tighter cross-platform behavior and more predictable animation semantics without sacrificing the package’s visual identity.

If you are already using React Native Awesome Button, v3.1.0 is the release to pick up if your app depends on label changes, responsive sizing, or theme-driven size transitions.

v3.0.2

17 Apr 07:08
fcc2596

Choose a tag to compare

v3.0.2

This patch release hardens the progress button flow and fixes a race condition that could silently drop onPress(next) after a valid press.

Fixed

  • Fixed a progress-button race where parent rerenders during the deferred press window could prevent onPress(next) from being called
  • Fixed the stuck loading state caused by that dropped press callback
  • Added rollback handling when a deferred progress press becomes invalid mid-flight, such as when the button becomes disabled before dispatch
  • Preserved the recent gesture protections for blocked loading touches and fast retaps on non-progress buttons

Internal

  • Stabilized deferred press and press-out callbacks across rerenders
  • Kept debounce behavior intact while preventing accepted presses from being canceled by prop identity changes
  • Expanded regression coverage for:
    • parent rerenders during the deferred progress window
    • mid-flight invalidation of progress presses

v3.0.0

17 Apr 02:55
cfbf6ec

Choose a tag to compare

🎉 v3.0.0

Big release for React Native Awesome Button! 🚀

  • 📦 New package name: @rcaferati/react-native-awesome-button
  • ⚛️ Modernized for react >= 18.2.0
  • 📱 Updated for react-native >= 0.76.0
  • 🎨 Smooth themed variant transitions
  • 🔤 New textTransition label animation
  • ↔️ width="auto" support
  • ♿ Better accessibility defaults
  • 🧪 Stronger tests, typings, docs, and demo

🧭 Install

npm install @rcaferati/react-native-awesome-button

💥 Migration

If you were using the old package:

npm uninstall react-native-really-awesome-button
npm install @rcaferati/react-native-awesome-button

Update imports to:

import AwesomeButton, {
  ThemedButton,
  getTheme,
} from '@rcaferati/react-native-awesome-button';

Thanks to everyone who helped shape this release.

v1.4.2

18 Mar 15:04

Choose a tag to compare

Merge branch 'master' of github.com:rcaferati/react-native-really-awe…

v1.4.0

02 Mar 18:17

Choose a tag to compare

updage demo rnrab

v1.3.0

17 Feb 00:21

Choose a tag to compare

1.3.0

v1.1.0

16 Feb 19:16

Choose a tag to compare

1.1.0