Releases: SyedSohaib456/react-native-fieldflow
FieldFlow v1.3.0 Declarative Autofocus, Imperative Control & Performance Boost
🚀 FieldFlow v1.3.0 — Declarative Autofocus, Imperative Control & Performance Overhaul
This major feature and stability release introduces declarative form behavior, imperative external control, and a fully optimized focus-chaining engine, eliminating boilerplate while dramatically improving performance and cross-platform reliability.
🔥 What's New
Declarative Autofocus (autofocusFirst, autofocusDelay)
Eliminate manual useEffect + setTimeout focus hacks entirely. FieldFlow now automatically detects and focuses the first valid input, with a configurable delay to ensure reliable keyboard appearance across iOS and slow navigation transitions.
Imperative Form Controller (useFieldFlowController)
New hook that enables external control of form behavior without prop drilling or refs. Trigger submit, focusFirst, or focusNext from headers, tab bars, or any external UI layer with full type-safe control.
Performance-First Focus Registry (O(N) initialization)
Replaced legacy reactive registration system with a batched microtask queue. Form initialization is now linear and significantly faster, eliminating unnecessary re-renders and improving large form performance.
Smart Scroll Engine Upgrade
scrollInputIntoView now intelligently detects keyboard state and prevents initial tap jitter, ensuring smooth, stable scroll behavior on first focus across platforms.
React Hook Form Compatibility Fix (Focus-on-Error)
Fixed broken ref forwarding in the previous architecture—React Hook Form’s focus-on-error now works out-of-the-box without manual wiring.
🛠 Stability & Fixes
- Fixed return key label inconsistency on initial render
- Resolved infinite re-render loop caused by legacy registry updates
- Improved accessory field lifecycle handling (
isAccessoryField) - Removed stale
chainIndexdependencies from focus tracking logic - Fixed broken forwarded refs across custom input components
- Eliminated unnecessary layout recalculation during focus transitions
📦 New API Additions
chatMode: Optimized mode for chat-style UIs that bypasses padding calculations and uses native scroll anchoring for stable message positioning.Focusableexport: Enables third-party or custom components (masked inputs, custom UI libraries) to participate seamlessly in FieldFlow’s focus chain.
📖 Documentation Improvements
- Updated README with clearer architecture flow for focus chaining
- Added real-world usage patterns for imperative controller hooks
- Expanded examples for chat-based and form-heavy layouts
- Improved migration guidance from v1.2.0 to v1.3.0
⬆️ Upgrade Notes
This is a non-breaking minor release. Upgrading from 1.2.0 → 1.3.0 is fully seamless and requires no code changes. All new performance and stability improvements are applied automatically at runtime.
v1.2.0: Chat Mode & Zero-Jitter Android Tracking
This major stability and performance release introduces true, zero-config WhatsApp-style chat capabilities and completely overhauls our Android keyboard tracking engine for buttery-smooth cross-platform parity.
🔥 What's New
- Chat Mode (
chatMode={true}): Bypass standard scroll-padding computations entirely for messaging views. Automatically hooks into nativescrollToEnd()to pin list content securely above the keyboard with zero JS-thread layout thrashing. - Zero-Jitter Android Accessory Tracking: Completely eliminated Android layout "popping" by adopting a two-phase native synchronization pattern (silent pre-position on
keyboardWillShow+ animated transition onkeyboardDidShow). - Targeted Accessory Fields (
isAccessoryField): Inputs nested inside the accessory toolbar are now safely excluded from viewport layout shift calculations viaisAccessoryField={true}, permanently resolving "Error measuring text field" warnings. - Polished Default Padding:
extraScrollPaddingnow intelligently defaults to140to accommodate larger mobile keyboards out-of-the-box. - Native Worklet Deprecation: Deprecated complex JS-thread Reanimated worklets for the accessory view, falling back to pure native
Animated.timingfor bulletproof consistency across platforms.
📖 Documentation Overhaul
- Transformed the
README.mdto feature high-fidelity side-by-side MP4 comparisons highlighting our focus chaining and accessory view smoothness. - Expanded the Comparison section to accurately contrast with alternative module-heavy competitors (
keyboard-controller) to highlight FieldFlow's lightweight, pure Reanimated topology. - Added
11-accessory-viewto the example app to demonstrate a full cross-platform Chat composer.
Upgrade Notes:
This is a non-breaking minor release. Upgrading from 1.1.5 is seamless and automatically applies the new Android performance enhancements without codebase changes!
FieldFlow v1.1.5: Fix Android Keyboard Accessory View Overlap
🛠 FieldFlow v1.1.5
This release fixes an Android keyboard accessory view issue while also improving documentation, packaging, and overall discoverability.
✨ Fixes
-
Fixed Android Accessory View Overlap
Resolved an issue where thekeyboardAccessoryViewcould appear partially or fully hidden behind the keyboard. -
Corrected Layout Measurement
Ensures the accessory view height is properly accounted for and always visible above the keyboard. -
Improved Cross-Platform Consistency
Aligns Android behavior more closely with iOS for reliable accessory rendering.
✨ Improvements
-
MVP-Focused Positioning
Updated package description to clearly highlight:- Zero-config focus chaining
- "Ref to next" automation
- Automatic field-to-field navigation
-
Improved Search Keywords
Added targeted keywords:ref to nextfocusing next fieldautomatic-focus
-
README Enhancements
Replaced the “SEO Features” section with a clearer 🚀 Core MVP Features section.
📦 Packaging
-
Media Assets Included in npm
Added themedia/folder to the package bundle. -
Fixed Image Rendering
Switched to absolute GitHub URLs for reliable image loading (logo + architecture). -
Synced Documentation
Root and package READMEs are now fully aligned.
📌 Notes
- No API changes
- Fully backward compatible
- Recommended update for Android users using
keyboardAccessoryView
FieldFlow v1.1.3: Scroll Timing Fixes & Keyboard Performance Improvements
🛠 FieldFlow v1.1.3
This release refines keyboard dismissal behavior, fixes scroll timing issues, and improves platform-specific performance. It also introduces a new optional scroll reset feature.
✨ Fixes & Improvements
-
Immediate Scroll Reset (No Frame Delay)
RemovedrequestAnimationFramefrom the scroll reset flow.
scrollTo({ y: 0, animated: false })now runs instantly on keyboard hide for precise synchronization. -
Removed Double Scroll Animation
Eliminated the extra animated scroll (animated: true) that previously stacked with keyboard dismissal. -
iOS Performance Optimization
Replaced unnecessaryAnimated.timingwithsetValueforanimatedMarginon iOS, avoiding redundant JS-thread work. -
Platform-Specific Behavior
- iOS: Instant layout updates for smoother feel
- Android: Retains
Animated.timingfor proper spacer animation
-
Corrected Accessory Layout Timing
EnsuresapplyKeyboardClosedLayoutruns:- After animation completes on Android
- Immediately after layout snap on iOS
-
Effect Dependency Fix
AddedkeyboardAccessoryViewandkeyboardAccessoryViewModetouseEffectdependencies to prevent stale listeners.
🆕 New
-
resetScrollOnKeyboardHide(optional)
Automatically scrolls the form to the top when the keyboard closes./** * After the keyboard hides, scroll the form `ScrollView` back to the top (`y: 0`). * Use for short forms; leave false for long scrollable content. * @default false */ resetScrollOnKeyboardHide?: boolean;
FieldFlow v1.1.2: Keyboard Accessory Animation Fix
🛠 FieldFlow v1.1.2
This patch release fixes an issue introduced in v1.1.1 where the keyboard accessory animation was not properly synced with the keyboard.
✨ Fixes
-
Corrected Animation Sync
Fixed timing inconsistencies so the keyboard accessory now moves in perfect alignment with the system keyboard. -
Resolved Visual Glitch on Dismiss
Addressed an issue where the accessory appeared to fade without fully translating off-screen. -
Improved Overall Smoothness
Ensures consistent behavior across both show and hide transitions.
📌 Note
If you're using v1.1.1, it's recommended to upgrade to this version for the correct animation behavior.
FieldFlow v1.1.1: Keyboard Accessory Refinements & Animation Sync Fixes
🛠 FieldFlow v1.1.2
Fixes an issue in v1.1.1 where the keyboard accessory animation was not correctly synced.
- Corrected animation behavior and timing
- Ensures smooth and consistent accessory transitions
If you're using v1.1.1, it's recommended to upgrade.
FieldFlow v1.1.0: Cross-Platform Accessory Views & Advanced Demo Suite
FieldFlow v1.1.0: Cross-Platform Accessory Views & Advanced Demo Suite
🚀 FieldFlow v1.1.0
The latest release of FieldFlow brings cross-platform accessory support, enhanced scroll padding, and an extensive interactive showcase app.
✨ Key Features
- Cross-Platform Accessory View: Introduce the new
keyboardAccessoryViewprop to render reliable, consistent UI elements directly above the keyboard on both iOS and Android. Animated in perfect sync using exact keyboard event durations. - Robust Demo Suite: A comprehensive 11-screen interactive showcase app demonstrating core concepts, advanced UI layouts, and deep hook behaviors.
- Enhanced Scroll Padding: Much smoother and highly refined scroll adjustment logic for avoiding frame drops when jumping between fields.
- Optional Reanimated Support: Smart fallback to JS-driven
Animated.timing. Uses Reanimated for the primary scroll spacer if available in the host project, while relying on robust nativeAnimateddrivers for accessory sync.
📦 Installation
npm install react-native-fieldflowFieldFlow v1.0.0: High-Performance Form Flow & Keyboard Avoidance
🚀 FieldFlow v1.0.0
The initial release of FieldFlow, a high-performance, primitive-based keyboard management and form flow library for React Native.
✨ Key Features
- Smart Scroller: High-performance scrolling primitives that track focused inputs.
- Keyboard Avoidance: Seamless spacer logic with standard easing for a native feel.
- Input Chaining: Automatic focus transitions between fields using the "Next" keyboard button.
- New Feature Toggles: Control behavior with props like
autoScroll,chainEnabled, anddismissKeyboardOnTap. - Lightweight: Zero external dependencies (only peer dependencies for Reanimated if used).
📦 Installation
npm install react-native-fieldflow