diff --git a/CHANGELOG.md b/CHANGELOG.md index ab16aaf..ce102ef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 3.2.0 - 2026-08-31 + - Added the typed `buttonStyle`, `containerStyle`, `faceHeight`, `autoWidth`, eventless `onLongPressAction`, accessibility text, and canonical `x` compatibility bridges without changing 3.1.0 legacy meanings. - Hardened callback freshness, cancellation, one-shot progress completion, teardown, Reduced Motion, large-text, RTL, and theme-transition ownership. - Added package-owned compatibility, lifecycle, sizing, accessibility, normalization, and theme regressions. @@ -12,3 +14,7 @@ - Hardened final label settlement with conservative physical-pixel fit and a generation-matched native text/layout acknowledgement before stable wrapping resumes. See [MIGRATION.md](./MIGRATION.md) for compatibility details and deferred major-version debt. + +This npm release also includes the size-transition work documented by the GitHub-only `v3.1.0` +release. The previous npm `latest` version was `3.0.2`; no different source is being backfilled as +`3.1.0`. diff --git a/MIGRATION.md b/MIGRATION.md index d23b3d2..f4f4bff 100644 --- a/MIGRATION.md +++ b/MIGRATION.md @@ -1,8 +1,8 @@ # Migration Guide -## From 3.1.0 to the engineering-hardening bridge +## From 3.1.0 to the 3.2.0 compatibility bridge -This pass preserves every 3.1.0 call site while exposing the shared Awesome Button vocabulary. It does not silently enable a new geometry mode. +Version 3.2.0 preserves every 3.1.0 call site while exposing the shared Awesome Button vocabulary. It does not silently enable a new geometry mode. | Existing API | Bridge API | Current behavior | Future major intent | | ------------------------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | @@ -39,4 +39,4 @@ This pass preserves every 3.1.0 call site while exposing the shared Awesome Butt React Native still retains its 3.1.0 direct geometry defaults and 100 ms press fallback. Other governed ports use the neutral 140 ms fallback. This remains explicit cross-platform debt rather than an implicit behavior change. -No package version or release is selected by this document. Review the checked-in API report and `CHANGELOG.md` before adopting the bridge. +Review the checked-in API report and `CHANGELOG.md` before adopting the 3.2.0 bridge. diff --git a/RELEASE_NOTES_3.2.0.md b/RELEASE_NOTES_3.2.0.md new file mode 100644 index 0000000..e4d54fb --- /dev/null +++ b/RELEASE_NOTES_3.2.0.md @@ -0,0 +1,42 @@ +# React Native Awesome Button 3.2.0 + +React Native Awesome Button 3.2.0 makes interaction, progress, sizing, and text transitions more +predictable while expanding the typed configuration and accessibility surface. + +## Highlights + +- Keeps callbacks current across rerenders while preserving transition-scoped release and progress + completion behavior. +- Strengthens cancellation, long-press replacement, one-shot progress completion, Reduced Motion, + large-text, RTL, and numeric validation behavior. +- Stabilizes auto-width growth and shrink choreography so labels settle without stale frames, + reversal, or overshoot. +- Adds typed `buttonStyle`, `containerStyle`, `faceHeight`, `autoWidth`, accessibility text, and the + canonical `x` compatibility bridge. +- Adds deterministic package, API-report, documentation-coverage, payload, and regression gates. + +## Compatibility + +- Existing 3.1.0 call sites and legacy aliases remain supported. Canonical bridge fields take + precedence when both forms are supplied. +- Legacy geometry defaults remain unchanged and are documented in `MIGRATION.md` as future + major-version debt. +- npm consumers upgrading from 3.0.2 also receive the size-transition improvements documented by + the GitHub-only v3.1.0 release; old source is not being republished as 3.1.0. + +## Verification + +- `yarn release:check` — passed. +- 12 Jest suites, 128 tests, and 2 snapshots — passed. +- TypeScript, lint, API Extractor, TSDoc coverage, generated builds, and npm payload validation — + passed. + +## Installation + +```sh +yarn add @rcaferati/react-native-awesome-button@3.2.0 +``` + +## Full Changelog + +See [v3.1.0...v3.2.0](https://github.com/rcaferati/react-native-awesome-button/compare/v3.1.0...v3.2.0). diff --git a/package.json b/package.json index e425fad..a0d4881 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@rcaferati/react-native-awesome-button", - "version": "3.1.0", + "version": "3.2.0", "packageManager": "yarn@4.5.1", "description": "React Native button component that renders a 60fps animated set of progress-enabled 3D buttons.", "main": "lib/commonjs/index",