responsive_flex_list 1.4.0
responsive_flex_list: ^1.4.0 copied to clipboard
Responsive Flutter list, grid, and masonry layouts with animations, separators, custom breakpoints, and RTL-aware behavior for mobile, desktop, and web.
1.4.0 02 Jun 2026 #
Migration Notes #
- Raised the minimum SDK versions to Dart
>=3.6.0and Flutter>=3.27.0. - Renamed
cacheExtenttoscrollCacheExtentto match Flutter'sCustomScrollViewAPI. ReplacecacheExtent: ...withscrollCacheExtent: .... - Updated default breakpoint ranges. Desktop now starts at
1024px, large desktop at1440px, and extra-large desktop at1920px.
Fixes #
Breakpoints
- Fixed matching so each range now uses consistent lower-bound behavior.
- Fixed extra-large desktop handling across resolution,
copyWith,mergeWith, equality,hashCode, andtoString.
Context Helpers
- Updated size helpers to use the latest
ResponsiveConfig.breakpoints. - Corrected desktop boundary checks for
context.isDesktop,context.isLargeDesktop, andcontext.isExtraLargeDesktop.
Pinterest Masonry
- Fixed child caching when
cacheChildrenchanges after the first build. - Prevented unnecessary cache rebuilds caused by inline
itemBuilderclosures. - Fixed cache updates when item counts increase or decrease.
Scroll Cache
- Fixed
scrollCacheExtentforwarding across standard, separator, masonry, and round-robin layouts.
Performance #
- Improved Pinterest masonry caching so cached children are preserved across normal parent rebuilds.
1.3.0 13 Mar 2026 #
- Feature: Added
ResponsiveFlexGridDelegatesupport toResponsiveFlexList. This allows centralized configuration of column counts, spacing, and item dimensions. - Deprecation: Deprecated individual parameters (
childAspectRatio,mainAxisExtent,crossAxisSpacing,mainAxisSpacing,minCrossAxisCount,maxCrossAxisCount,crossAxisCount) inResponsiveFlexListconstructors in favor ofgridDelegate. - Improvement: Enhanced
ListsRowBuilderto intelligently applyAspectRatioormainAxisExtentfrom the delegate.
1.2.0 02 Mar 2026 #
- Feature: Added
minCrossAxisCountandmaxCrossAxisCountproperties to all responsive widgets. This allows defining explicit column boundaries across different screen sizes. - Breaking Change: Removed generic type
<T>fromResponsiveFlexList,ResponsiveFlexMasonry, and all related widgets and layouts. This simplifies the API and improves maintainability. - Breaking Change: Replaced
List<T> itemswithint itemCountin all builder-style constructors. Note: A deprecateditemsparameter is retained for backward compatibility during migration. - Breaking Change: Updated
ItemBuildersignature to a simplifiedWidget Function(BuildContext context, int index)without generics. Access your data using the provided index. - Internal: Optimized performance by calculating stagger limits dynamically within the build phase.
- Improvement: Refactored animation stagger logic to be dynamic based on the actual column count. This ensures consistent full-screen animation coverage even when using custom column boundaries.
- Improvement: Updated all internal layout engines to support the new pattern.
1.1.0 01 Feb 2026 #
- Breaking Change: Updated
ItemBuilder<T>signature fromWidget Function(T item, int index)toWidget Function(BuildContext context, int index). This change provides access to the build context for more advanced widget building. Users can access items from the parent list using theindexparameter. - Enhancement: Updated all layout implementations (RoundRobinLayout, MasonryInstagramLayout, NotLazyPinterestListWidget, ListsRowBuilder) to support the new ItemBuilder signature.
- Documentation: Updated README with examples demonstrating the new ItemBuilder usage pattern.
- Tests: Updated all test cases to reflect the new ItemBuilder signature.
1.0.1 10 Jan 2026 #
- Updated README with clearer usage instructions
- Improved example app to demonstrate correct package usage
1.0.0 09 Jan 2026 #
- Breaking Change: Updated
ItemBuilder<T>signature to use non-nullableT. Users may need to remove null checks or explicit?from their item builder functions. - Feature: Made
ResponsiveConfig.initoptional. The package now falls back toBreakpoints.defaultBreakpointsif not initialized. - Cleanup: Updated example app, tests and documentation to reflect the new, simpler initialization flow.
0.1.0 27 Oct 2025 #
- initial release