Skip to content

Releases: SyedSohaib456/react-native-fieldflow

FieldFlow v1.3.0 Declarative Autofocus, Imperative Control & Performance Boost

20 Apr 21:58

Choose a tag to compare

🚀 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 chainIndex dependencies 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.
  • Focusable export: 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

18 Apr 22:08

Choose a tag to compare

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 native scrollToEnd() 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 on keyboardDidShow).
  • Targeted Accessory Fields (isAccessoryField): Inputs nested inside the accessory toolbar are now safely excluded from viewport layout shift calculations via isAccessoryField={true}, permanently resolving "Error measuring text field" warnings.
  • Polished Default Padding: extraScrollPadding now intelligently defaults to 140 to 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.timing for bulletproof consistency across platforms.

📖 Documentation Overhaul

  • Transformed the README.md to 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-view to 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

17 Apr 07:03

Choose a tag to compare

🛠 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 the keyboardAccessoryView could 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 next
    • focusing next field
    • automatic-focus
  • README Enhancements
    Replaced the “SEO Features” section with a clearer 🚀 Core MVP Features section.


📦 Packaging

  • Media Assets Included in npm
    Added the media/ 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

16 Apr 14:43

Choose a tag to compare

🛠 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)
    Removed requestAnimationFrame from 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 unnecessary Animated.timing with setValue for animatedMargin on iOS, avoiding redundant JS-thread work.

  • Platform-Specific Behavior

    • iOS: Instant layout updates for smoother feel
    • Android: Retains Animated.timing for proper spacer animation
  • Corrected Accessory Layout Timing
    Ensures applyKeyboardClosedLayout runs:

    • After animation completes on Android
    • Immediately after layout snap on iOS
  • Effect Dependency Fix
    Added keyboardAccessoryView and keyboardAccessoryViewMode to useEffect dependencies 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

16 Apr 12:49

Choose a tag to compare

🛠 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

16 Apr 11:02

Choose a tag to compare

🛠 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

15 Apr 19:48
330d3ef

Choose a tag to compare

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 keyboardAccessoryView prop 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 native Animated drivers for accessory sync.

📦 Installation

npm install react-native-fieldflow

FieldFlow v1.0.0: High-Performance Form Flow & Keyboard Avoidance

11 Apr 21:49
96cbc7e

Choose a tag to compare

🚀 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, and dismissKeyboardOnTap.
  • Lightweight: Zero external dependencies (only peer dependencies for Reanimated if used).

📦 Installation

npm install react-native-fieldflow