GitPedia
Flipkart

Flipkart/recyclerlistview

High performance listview for React Native and web!

30 Releases
Latest: 1y ago
Version 4.2.34.2.3Latest
naqvitalhanaqvitalhaΒ·1y agoΒ·March 15, 2025
GitHub

πŸ“‹ What's Changed

  • Check react version to solve ref problem by @naqvitalha in https://github.com/Flipkart/recyclerlistview/pull/792
  • Full Changelog: https://github.com/Flipkart/recyclerlistview/compare/4.2.2...4.2.3
Version 4.2.24.2.2
naqvitalhanaqvitalhaΒ·1y agoΒ·March 13, 2025
GitHub

πŸ“‹ What's Changed

  • Fix: Update ref handling in StickyContainer for React 19 compatibility by @naqvitalha in https://github.com/Flipkart/recyclerlistview/pull/791
  • Full Changelog: https://github.com/Flipkart/recyclerlistview/compare/4.2.1...4.2.2
Version 4.2.14.2.1
ananyachandra14ananyachandra14Β·2y agoΒ·June 17, 2024
GitHub

πŸ“‹ What's Changed

  • Bugfix(layoutSize) fix item not render after initial data size is empty by @shawnchendev in https://github.com/Flipkart/recyclerlistview/pull/781
  • Implement `getNativeScrollRef` by @j-piasecki in https://github.com/Flipkart/recyclerlistview/pull/776

✨ New Contributors

  • @shawnchendev made their first contribution in https://github.com/Flipkart/recyclerlistview/pull/781
  • @j-piasecki made their first contribution in https://github.com/Flipkart/recyclerlistview/pull/776
  • Full Changelog: https://github.com/Flipkart/recyclerlistview/compare/4.2.0...4.2.1
Version 4.2.04.2.0
naqvitalhanaqvitalhaΒ·3y agoΒ·October 13, 2022
GitHub

πŸ“‹ What's Changed

  • Increase tolerance inside layout manager by @naqvitalha in https://github.com/Flipkart/recyclerlistview/pull/744
  • Full Changelog: https://github.com/Flipkart/recyclerlistview/compare/4.1.4...4.2.0
Version 4.1.44.1.4
naqvitalhanaqvitalhaΒ·3y agoΒ·September 29, 2022
GitHub

πŸ“‹ What's Changed

  • Fix stable id extra compute and proptypes by @naqvitalha in https://github.com/Flipkart/recyclerlistview/pull/743
  • Full Changelog: https://github.com/Flipkart/recyclerlistview/compare/4.1.3...4.1.4
Version 4.1.34.1.3
naqvitalhanaqvitalhaΒ·3y agoΒ·August 3, 2022
GitHub

πŸ“‹ What's Changed

  • [#731] Only call _forceSizeUpdate when non-deterministic rendering is used by @kevin-kp in https://github.com/Flipkart/recyclerlistview/pull/734

✨ New Contributors

  • @kevin-kp made their first contribution in https://github.com/Flipkart/recyclerlistview/pull/734
  • Full Changelog: https://github.com/Flipkart/recyclerlistview/compare/4.1.2...4.1.3
Version 4.1.24.1.2
naqvitalhanaqvitalhaΒ·3y agoΒ·August 3, 2022
GitHub

πŸ“‹ What's Changed

  • Npe fix by @naqvitalha in https://github.com/Flipkart/recyclerlistview/pull/737
  • Full Changelog: https://github.com/Flipkart/recyclerlistview/compare/4.1.1...4.1.2
Version 4.1.14.1.1
naqvitalhanaqvitalhaΒ·3y agoΒ·July 12, 2022
GitHub

πŸ“‹ What's Changed

  • Fix arbitrary stop calls on JS item animator by @naqvitalha in https://github.com/Flipkart/recyclerlistview/pull/728
  • Full Changelog: https://github.com/Flipkart/recyclerlistview/compare/4.0.1...4.1.1
Version 4.0.14.0.1
naqvitalhanaqvitalhaΒ·3y agoΒ·July 5, 2022
GitHub

πŸ“‹ What's Changed

  • fix: optional chaining for clearAll by @hirbod in https://github.com/Flipkart/recyclerlistview/pull/725

✨ New Contributors

  • @hirbod made their first contribution in https://github.com/Flipkart/recyclerlistview/pull/725
  • Full Changelog: https://github.com/Flipkart/recyclerlistview/compare/4.0.0...4.0.1
Version 4.0.04.0.0
naqvitalhanaqvitalhaΒ·3y agoΒ·June 30, 2022
GitHub

πŸ“‹ What's Changed

  • Added bring to focus functionality by @anirudhagarwal365 in https://github.com/Flipkart/recyclerlistview/pull/585
  • Making RLV render stack wait for pending offset by @ananyachandra14 in https://github.com/Flipkart/recyclerlistview/pull/604
  • Update README.md by @bobychaudhary in https://github.com/Flipkart/recyclerlistview/pull/672
  • Item container override by @naqvitalha in https://github.com/Flipkart/recyclerlistview/pull/675
  • Undefined index while rendering sticky by @naqvitalha in https://github.com/Flipkart/recyclerlistview/pull/674
  • Adding capability to set final offset after progressive list view updates by @naqvitalha in https://github.com/Flipkart/recyclerlistview/pull/685
  • Plv render after first draw by @naqvitalha in https://github.com/Flipkart/recyclerlistview/pull/688
  • Expose scrollable nodes by @naqvitalha in https://github.com/Flipkart/recyclerlistview/pull/690
  • + 14 more

πŸ“‹ API Changes

  • `optimiseForInsertDeleteAnimations` is a no-op. Please use `prepareForLayoutAnimationRender` instead
  • `bringToFocus` API now reads `windowShift` from `applyWindowCorrection` output to correct its target offset

✨ New Contributors

  • @anirudhagarwal365 made their first contribution in https://github.com/Flipkart/recyclerlistview/pull/585
  • @bobychaudhary made their first contribution in https://github.com/Flipkart/recyclerlistview/pull/672
  • @ElviraBurchik made their first contribution in https://github.com/Flipkart/recyclerlistview/pull/695
  • @fortmarek made their first contribution in https://github.com/Flipkart/recyclerlistview/pull/700
  • Full Changelog: https://github.com/Flipkart/recyclerlistview/compare/3.0.5...4.0.0
Version 3.3.0-beta.23.3.0-beta.2Pre-release
naqvitalhanaqvitalhaΒ·4y agoΒ·June 10, 2022
GitHub

πŸ“‹ What's Changed

  • Handled pending resize observer updates by @naqvitalha in https://github.com/Flipkart/recyclerlistview/pull/720
  • Full Changelog: https://github.com/Flipkart/recyclerlistview/compare/3.3.0-beta.1...3.3.0-beta.2
Version 3.3.0-beta.13.3.0-beta.1Pre-release
naqvitalhanaqvitalhaΒ·4y agoΒ·June 10, 2022
GitHub

πŸ“‹ What's Changed

  • Add resize detection on RNW mode by @naqvitalha in https://github.com/Flipkart/recyclerlistview/pull/719
  • Full Changelog: https://github.com/Flipkart/recyclerlistview/compare/3.2.0-beta.4...3.3.0-beta.1
Version 3.2.0-beta.43.2.0-beta.4Pre-release
naqvitalhanaqvitalhaΒ·4y agoΒ·April 13, 2022
GitHub

πŸ“‹ What's Changed

  • Fix no op set state by @naqvitalha in https://github.com/Flipkart/recyclerlistview/pull/706
  • Added prop to suppress bounded size exception by @naqvitalha in https://github.com/Flipkart/recyclerlistview/pull/709
  • remove unnecessary force refresh by @naqvitalha in https://github.com/Flipkart/recyclerlistview/pull/710
  • Remove no data warning by @naqvitalha in https://github.com/Flipkart/recyclerlistview/pull/711
  • Full Changelog: https://github.com/Flipkart/recyclerlistview/compare/3.2.0-beta.2...3.2.0-beta.4
Version 3.2.0-beta.23.2.0-beta.2Pre-release
naqvitalhanaqvitalhaΒ·4y agoΒ·April 1, 2022
GitHub

πŸ“‹ What's Changed

  • Forcing size change in renderer if onLayout is missing by @naqvitalha in https://github.com/Flipkart/recyclerlistview/pull/705
  • Full Changelog: https://github.com/Flipkart/recyclerlistview/compare/3.2.0-beta.1...3.2.0-beta.2
Version 3.2.0-beta.13.2.0-beta.1Pre-release
naqvitalhanaqvitalhaΒ·4y agoΒ·March 30, 2022
GitHub

πŸ“‹ What's Changed

  • Added bring to focus functionality by @anirudhagarwal365 in https://github.com/Flipkart/recyclerlistview/pull/585
  • Making RLV render stack wait for pending offset by @ananyachandra14 in https://github.com/Flipkart/recyclerlistview/pull/604
  • Update README.md by @bobychaudhary in https://github.com/Flipkart/recyclerlistview/pull/672
  • Item container override by @naqvitalha in https://github.com/Flipkart/recyclerlistview/pull/675
  • Fix undefined index while rendering sticky by @naqvitalha in https://github.com/Flipkart/recyclerlistview/pull/674
  • Adding capability to set final offset after progressive list view updates by @naqvitalha in https://github.com/Flipkart/recyclerlistview/pull/685
  • `ProgressiveListView` should render after first onLayout by @naqvitalha in https://github.com/Flipkart/recyclerlistview/pull/688
  • Expose scrollable nodes by @naqvitalha in https://github.com/Flipkart/recyclerlistview/pull/690
  • + 7 more

πŸ“‹ API Changes

  • `optimiseForInsertDeleteAnimations` is a no-op. Please use `prepareForLayoutAnimationRender` instead
  • `bringToFocus` API now reads `windowShift` from `applyWindowCorrection` output to correct its target offset

✨ New Contributors

  • @anirudhagarwal365 made their first contribution in https://github.com/Flipkart/recyclerlistview/pull/585
  • @bobychaudhary made their first contribution in https://github.com/Flipkart/recyclerlistview/pull/672
  • @ElviraBurchik made their first contribution in https://github.com/Flipkart/recyclerlistview/pull/695
  • @fortmarek made their first contribution in https://github.com/Flipkart/recyclerlistview/pull/700
  • Full Changelog: https://github.com/Flipkart/recyclerlistview/compare/3.0.5...3.2.0-beta.1
Version 3.0.53.0.5
naqvitalhanaqvitalhaΒ·5y agoΒ·January 25, 2021
GitHub

✨ New Features:

  • Server Side Rendering support. `layoutSize` prop introduced that can be passed on the server. This value will be used for first render and frame skip that happens on normal client rendering to measure size is avoided.
  • `onItemLayout` callback added. Can report when an item layout changes. First call can also be used as a proxy to determine when atleast one item has been rendered on screen. The callback doesn't report the layout however, it can be queried from RLV ref.
  • `alwaysStickyFooter` prop available to make the last sticky footer item remain at the end of the screen.

πŸ› Bug Fixes:

  • OffsetY compute fix for first sticky render
  • Fixed incorrect reference to `this.props` instead of `newProps` while updating `onVisibleIndicesChanged` callback
Version 3.0.5-beta.13.0.5-beta.1Pre-release
naqvitalhanaqvitalhaΒ·5y agoΒ·January 6, 2021
GitHub

✨ New Features:

  • Server Side Rendering support. `layoutSize` prop introduced that can be passed on the server. This value will be used for first render and frame skip that happens on normal client rendering to measure size is avoided.
  • `onItemLayout` callback added. Can report when an item layout changes. First call can also be used as a proxy to determine when atleast one item has been rendered on screen. The callback doesn't report the layout however, it can be queried from RLV ref.
  • `alwaysStickyFooter` prop available to make the last sticky footer item remain at the end of the screen.

πŸ› Bug Fixes:

  • OffsetY compute fix for first sticky render
  • Fixed incorrect reference to `this.props` instead of `newProps` while updating `onVisibleIndicesChanged` callback
Version 3.0.1-beta.13.0.1-beta.1Pre-release
naqvitalhanaqvitalhaΒ·6y agoΒ·May 11, 2020
GitHub

πŸ“‹ Changes

  • New prop `layoutSize` added. Use this to pass a size that can be used to render RLV in the first frame itself. This can also enable SSR. If you want RLV to use the right size after mount set `canChangeSize` to `true`.
Version 3.0.03.0.0
arunreddy10arunreddy10Β·6y agoΒ·February 18, 2020
GitHub

πŸ’₯ Breaking Changes:

  • `distanceFromWindow` is deprecated and removed, use applyWindowCorrection instead.

✨ New Features:

  • Recyclerlistview has now been moved to react 16 however, it still remains compatible with older versions of react.
  • Moved GridLayoutProvider into recylerlistview. [Refer this](https://github.com/muskeinsingh/recyclerlistview-gridlayoutprovider) while we update samples.
  • You can now do `import { GridLayoutProvider } from "recyclerlistview"` (recommended)
  • `renderStickyContainer` introduced in StickyContainer, used to provide custom styling options for StickyObjects.
  • `applyWindowCorrection` introduced, used to provide correctional values for the visible window bound for RecyclerListView.
  • `renderContentContainer` provided to wrap the list items inside a custom component for custom use cases.

πŸ“¦ Improvements:

  • #387 Compat component to maintain compatibility across react version.

πŸ› Bug Fixes:

  • #400 Fix zero height start or end being prevented from inflating.
  • #401 Fix breaks if layout provider and data providers are changed in the same pass.
Version 2.0.122.0.12
naqvitalhanaqvitalhaΒ·6y agoΒ·August 22, 2019
GitHub

πŸ’₯ Breaking Changes:

  • onVisibleIndexesChanged deprecated. Use onVisibleIndicesChanged instead.
  • Lot of internal changes. Test well before shipping.

✨ New Features:

  • ProgressiveListView with dynamic render ahead.
  • Sticky items added. Wrap your RecyclerListView component with StickyContainer and pass header and footer indices to stick the items to the top or bottom.
  • Support for debugging of difference in cell dimension.
  • `forceRerender` now available for custom use cases on web

πŸ“¦ Improvements:

  • https://github.com/Flipkart/recyclerlistview/pull/272 Support IE11 window scroll offset
  • https://github.com/Flipkart/recyclerlistview/pull/257 Building process simplified
  • https://github.com/Flipkart/recyclerlistview/pull/237 Layout type check for computed layouts
  • https://github.com/Flipkart/recyclerlistview/pull/231 OnRecreateParams added in default export
  • https://github.com/Flipkart/recyclerlistview/pull/213 Optional anchoring
  • https://github.com/Flipkart/recyclerlistview/pull/216 Removed all binds
  • https://github.com/Flipkart/recyclerlistview/pull/212 Removed requestAnimationFrame polyfill
  • https://github.com/Flipkart/recyclerlistview/pull/196 Accomodating content insets and content container paddingΒ in row calculations

πŸ› Bug Fixes:

  • https://github.com/Flipkart/recyclerlistview/pull/299 Import was not from web
  • https://github.com/Flipkart/recyclerlistview/pull/301 Build Fix
  • https://github.com/Flipkart/recyclerlistview/pull/238 Add styles when using useWindowScroll={true}
  • https://github.com/Flipkart/recyclerlistview/pull/223 Fix scroll value issue when scrollOffset is less than distance
  • https://github.com/Flipkart/recyclerlistview/pull/219 Fix for scroll to offset api
  • https://github.com/Flipkart/recyclerlistview/pull/210 Stuck animator fix
  • https://github.com/Flipkart/recyclerlistview/pull/193 Fix missing onLayout
  • Other misc fixes
Version 2.0.10-beta.12.0.10-beta.1Pre-release
naqvitalhanaqvitalhaΒ·6y agoΒ·July 31, 2019
GitHub

πŸ› Bug Fixes:

  • Common debounce method removed
  • Scroll inconsistencies due to `distanceFromWindow` fixed
  • RelayoutReqIndex matches with dataProvider length now
  • `forceRerender` method added to enforce renders if required
  • Sticky header related bug fixes
Version 2.0.0-beta.32.0.0-beta.3Pre-release
ananyachandra14ananyachandra14Β·7y agoΒ·February 11, 2019
GitHub

πŸ’₯ Breaking Changes:

  • onVisibleIndexesChanged deprecated. Use onVisibleIndicesChanged instead.
  • Lot of internal changes. Test well before shipping.

✨ New Features:

  • ProgressiveListView with dynamic render ahead.
  • Sticky items added. Wrap your RecyclerListView component with StickyContainer and pass header and footer indices to stick the items to the top or bottom.
  • Support for debugging of difference in cell dimension.

πŸ“¦ Improvements:

  • https://github.com/Flipkart/recyclerlistview/pull/272 Support IE11 window scroll offset
  • https://github.com/Flipkart/recyclerlistview/pull/257 Building process simplified
  • https://github.com/Flipkart/recyclerlistview/pull/237 Layout type check for computed layouts
  • https://github.com/Flipkart/recyclerlistview/pull/231 OnRecreateParams added in default export
  • https://github.com/Flipkart/recyclerlistview/pull/213 Optional anchoring
  • https://github.com/Flipkart/recyclerlistview/pull/216 Removed all binds
  • https://github.com/Flipkart/recyclerlistview/pull/212 Removed requestAnimationFrame polyfill
  • https://github.com/Flipkart/recyclerlistview/pull/196 Accomodating content insets and content container paddingΒ in row calculations

πŸ› Bug Fixes:

  • https://github.com/Flipkart/recyclerlistview/pull/299 Import was not from web
  • https://github.com/Flipkart/recyclerlistview/pull/301 Build Fix
  • https://github.com/Flipkart/recyclerlistview/pull/238 Add styles when using useWindowScroll={true}
  • https://github.com/Flipkart/recyclerlistview/pull/223 Fix scroll value issue when scrollOffset is less than distance
  • https://github.com/Flipkart/recyclerlistview/pull/219 Fix for scroll to offset api
  • https://github.com/Flipkart/recyclerlistview/pull/210 Stuck animator fix
  • https://github.com/Flipkart/recyclerlistview/pull/193 Fix missing onLayout
Version 1.4.0-beta.51.4.0-beta.5Pre-release
naqvitalhanaqvitalhaΒ·8y agoΒ·June 6, 2018
GitHub

πŸ“¦ Improvements

  • Stable Id support: Adds `getStableId(index: number): string` as second param in `DataProvider` constructor. Significantly improves re-rendering on data set changes. Enables add/remove animations.
  • New prop `optimizeForInsertDeleteAnimations` forcefully unmounts removed items to kick in layout animations. Without it RLV prefers reusing the cell later. This prop requires stable ids.
  • Externalised Layout Provider: You can write your own and pass it in the same prop to RLV e.g, if you want masonry with recycling you can write it and open source yourself :)
  • SSR Fixes to allow server builds
  • `onRecreate` prop added which triggers a callback in case of context preservation passing necessary info like `lastOffset` for more optimizations in app logic.
  • Improved warning in case of missing RLV bounds
  • Warning if mounted without any data

πŸ› Bug Fixes

  • https://github.com/Flipkart/recyclerlistview/issues/178
  • https://github.com/Flipkart/recyclerlistview/issues/172 Only warning for now, in next major version we'll start throwing exceptions in case RLV is mounted without data.
Version 1.3.41.3.4
naqvitalhanaqvitalhaΒ·8y agoΒ·May 1, 2018
GitHub

πŸ“‹ Changes

  • Fixed broken links in documentation
  • Formatting changes to `README`
Version 1.3.31.3.3
naqvitalhanaqvitalhaΒ·8y agoΒ·May 1, 2018
GitHub

πŸ“‹ Changes

  • Adjustment to default `renderAheadOffset` on `web`
  • Incremental loading/View type change sample added (Expo demo 1)
  • Documentation around performance
Version 1.3.21.3.2
naqvitalhanaqvitalhaΒ·8y agoΒ·April 19, 2018
GitHub

πŸ› Bug Fixes:

  • Fixed type for `externalScrollView` prop
  • Added new prop `scrollViewProps` for better typescript support, it proxies all given props to the internal ScrollView
Version 1.3.11.3.1
naqvitalhanaqvitalhaΒ·8y agoΒ·March 22, 2018
GitHub

πŸ“¦ Improvements

  • RNW mode doesn't import `Animated` by default leading to reduced bundle sizes.
  • RNW mode now uses `transforms` to position and shift items leading to better performance, almost identical to `/web` mode.
Version 1.3.01.3.0
naqvitalhanaqvitalhaΒ·8y agoΒ·March 11, 2018
GitHub

✨ New Features:

  • ItemAnimator interface added, customize to your will how RLV handles layout changes. Allows you to modify animations that move cells. You can do things like smoothly move an item to a new position when height of one of the cells has changed. StableId work is in progress which will further strengthen this. Works on all supported platforms.

πŸ“‹ Changes:

  • Default flex direction is being optimized on pure web version to match React Native. This will lead to more consistent ports. Can be a breaking change for some use cases. Please test before upgrading.
  • Performance improvements on web and react-native-web version.
  • In case of non deterministic rendering `DefaultItemAnimator` is used to shift items from estimated positions to actual. This looks better and avoids the need to skip frames while layout settles down. This also improves load time by atleast 2 frames.

πŸ› Bug Fixes

  • Missing `scrollTo` method on web fixed.
Version 1.2.61.2.6
naqvitalhanaqvitalhaΒ·8y agoΒ·January 9, 2018
GitHub

πŸ› Bug Fixes

  • Fixed issues with onVisibleIndexesChanged callback #98, #83
  • Changing layout provider will now force cell re-render
Version 1.2.21.2.2
naqvitalhanaqvitalhaΒ·8y agoΒ·December 2, 2017
GitHub

πŸ“¦ Improvements

  • Significant reduction in layout thrashing while having `forceNonDeterministicRendering={true}`. This will greatly improve the performance for lists having non deterministic and variable heights.
  • New prop `extendedState` is now added where all extra data that list items depend on can be passed. Changing this object will re-render all items. Make sure `shouldComponentUpdate` is also defined in your item.