PackageTrack
Sign in Get early access

easy_refresh

A flutter widget that provides pull-down refresh and pull-up load.

3.5.1 44K downloads/mo #1546 most downloaded on pub.dev xuelongqy/flutter_easy_refresh

What this package is like to depend on

Last release 2 months ago

14 Jun 2026

Ships unpredictably

gaps range from 2 weeks to 1.9 years

Nearly every release is documented

notes for 42 of 43 stable releases

Nothing withdrawn

no release was ever pulled

4 years old

43 releases · first in 2022

2 releases in the last 12 months

see the full history below

Release timeline

43 releases · Jul 2022 to Jun 2026
2023 2024 2025 2026
Release Pre-release

Releases

latest 43
  1. 3.5.1 14 Jun 2026
    Release notes
    • FIX: Use withAlpha instead of withValues (https://github.com/xuelongqy/flutter_easy_refresh/issues/911).
    Open source →
  2. 3.5.0 23 Mar 2026
    Release notes
    Open source →
    Release notes
    • FIX: material clamping spring (#885) (#620).
    • FIX: mode unchange when not released (#894).
    • FIX: secondary page.
    • FIX: effective scroll position.
    • FIX: footer mode (#905).
    • FIX: clamping animation controller (#907).
    • FEAT: easy paging.
    • FEAT: update rive.
    • FEAT: update readme.
    • FEAT: workspace.
    • BREAKING FEAT: Added EasyRefresh.isNested parameter to determine whether to handle NestedScrollView. In versions 3.4.0 and earlier, no setting is required.
    • FIX: Adjust the Flutter version, Flutter >=3.10.0.
    Open source →
    Release notes
    • FEAT: easy paging.
    Open source →
    Release notes
    • FIX: material clamping spring (https://github.com/xuelongqy/flutter_easy_refresh/issues/885) (https://github.com/xuelongqy/flutter_easy_refresh/issues/620).
    • FIX: mode unchange when not released (https://github.com/xuelongqy/flutter_easy_refresh/issues/894).
    • FIX: secondary page.
    • FIX: effective scroll position.
    • FIX: footer mode (https://github.com/xuelongqy/flutter_easy_refresh/pull/905).
    • FIX: clamping animation controller (https://github.com/xuelongqy/flutter_easy_refresh/issues/907).
    • FEAT: easy paging.
    • FEAT: update rive.
    • FEAT: update readme.
    • FEAT: workspace.
    • BREAKING FEAT: Added EasyRefresh.isNested parameter to determine whether to handle NestedScrollView. In versions 3.4.0 and earlier, no setting is required.
    • FIX: Adjust the Flutter version, Flutter >=3.10.0.
    Open source →
    Release notes

    v3.5.0 Latest

    Latest

    Compare

    Choose a tag to compare

    Open source →
  3. 3.4.0 14 May 2024
    Release notes
    • breaking: Flutter >=3.7.0, dart >=2.19.0. Remove some unnecessary compatibility, please update the Flutter version in time, or use the previous version.
    • fix: Scroll bar adaptation for unknown platforms #825.
    • feat: Add BoxDecoration to ClassicHeader and ClassicFooter, Thanks GiampaoloGabba for PR#822.
    • fix: Compatible with Flutter3.22.0.
    Open source →
    Release notes
    • breaking: Flutter >=3.7.0, dart >=2.19.0. Remove some unnecessary compatibility, please update the Flutter version in time, or use the previous version.
    • fix: Scroll bar adaptation for unknown platforms #825.
    • feat: Add BoxDecoration to ClassicHeader and ClassicFooter, Thanks GiampaoloGabba for PR#822.
    • fix: Compatible with Flutter3.22.0.
    Open source →
    Release notes

    3.4.0

    Compare

    Choose a tag to compare

    Open source →
  4. 3.3.5 19 Apr 2024
    Release notes
    • fix: Material style performance optimization #814.
    • fix: Issue during build when IndicatorStateListenable rebinds IndicatorNotifier #607.
    Open source →
    Release notes

    3.3.5

    Compare

    Choose a tag to compare

    Open source →
  5. 3.3.5+1 24 Apr 2024
    Release notes
    • fix: Indicator properties cannot be updated #818.
    Open source →
    Release notes

    3.3.5+1

    Compare

    Choose a tag to compare

    Open source →
  6. 3.3.4 29 Dec 2023
    Release notes
    • fix: EasyPaging.itemBuilder type inference #762.
    • fix: Event notification after dispose #726.
    • fix: Using refreshOnStart, onRefresh may not be triggered #789.
    • fix: Using refreshOnStart, scrolling to the bottom when the Header is visible cannot trigger loading #787.
    Open source →
    Release notes

    3.3.4

    Compare

    Choose a tag to compare

    Open source →
  7. 3.3.3 13 Dec 2023
    Release notes
    • fix: When start on refresh, interrupted by loading #785.
    • feat: Use Flutter default scroll bar #775.
    Open source →
    Release notes

    3.3.3

    Compare

    Choose a tag to compare

    Open source →
  8. 3.3.3+1 13 Dec 2023
    Release notes
    • fix: All styles are lost.
    Open source →
    Release notes

    3.3.3+1

    Compare

    Choose a tag to compare

    Open source →
  9. 3.3.2 18 May 2023
    Release notes
    • fix: BezierIndicator.spinBuilder doesn't work.
    • feat: Add BezierIndicator.spinInCenter.
    • feat: Add BezierIndicator.onlySpin #689.
    • feat: Add support for ScrollPhysics.toleranceFor.
    • feat: After failure, continue to scroll to trigger the task #718.
    • feat: [EasyRefresh] noMoreRefresh -> canRefreshAfterNoMore, noMoreLoad -> canRefreshAfterLoad
    • fix: Use canRefreshAfterNoMore or canRefreshAfterLoad, abnormal NoMore status.
    • feat: EasyRefreshController.finishRefresh and EasyRefreshController.finishLoad add force parameter.
    • feat: Add EasyRefresh.triggerAxis, specifies the direction of the trigger.
    Open source →
    Release notes

    3.3.2

    Compare

    Choose a tag to compare

    Open source →
  10. 3.3.2+1 18 May 2023
    Release notes
    • fix: Compatible with versions below Flutter3.10 #722.
    Open source →
    Release notes

    3.3.2+1

    Compare

    Choose a tag to compare

    Open source →
  11. 3.3.2+2 25 Oct 2023
    Release notes
    • feat: All kind of pointer device are supported by default #777.
    Open source →
  12. 3.3.2+3 10 Nov 2023

    Nothing published for this version

  13. 3.3.2+4 10 Nov 2023
    Release notes
    • fix: IndicatorNotifier._onCanProcess. Null check operator used on a null value #782, #774.
    Open source →
  14. 3.3.1 17 Feb 2023
    Release notes
    • fix: Avoid an endless loop caused by multiple ListViews nested, Thanks LinXunFeng for PR#681.
    • fix: FooterNotifier.callTask use callRefreshOverOffset, Thanks AWarmHug for PR#680.
    • fix: NestedScrollView resize error #666.
    Open source →
  15. 3.3.1+1 14 Apr 2023
    Release notes
    • fix: Increase the priority of ClassicIndicator.pullIconBuilder #674.
    • fix: fit parameter is invalid #708.
    Open source →
  16. 3.3.1+2 27 Apr 2023
    Release notes
    • fix: Secondary click event hit area #688, Thanks notbucai for PR#714.
    Open source →
    Release notes

    3.3.1+2

    Compare

    Choose a tag to compare

    Open source →
  17. 3.3.0 29 Jan 2023
    Release notes
    • fix: Compatible with Flutter 3.7.
    Open source →
  18. 3.3.0+1 01 Feb 2023
    Release notes
    • fix: Removed compatibility code for list height changes #646, #671.
    Open source →
  19. 3.2.2 10 Jan 2023
    Release notes
    • fix: Compatible with Flutter2.8.1 and below #619.
    • perf: Pub scores.
    Open source →
  20. 3.2.2+1 11 Jan 2023
    Release notes
    • fix: CupertinoActivityIndicator renamed to avoid conflicts.
    Open source →
  21. 3.2.2+2 16 Jan 2023
    Release notes
    • fix: The indicator does not retract when the height of the list changes #618.
    Open source →
  22. 3.2.1 06 Jan 2023
    Release notes
    • fix: Footer's maxOverOffset property does not work.
    • fix: When maxOverOffset is 0, list scrolling loses inertia.
    • fix: When there is no task, the mode still changes #608.
    • fix: HapticFeedback does not work when triggerWhenReach is true.
    Open source →
  23. 3.2.0 30 Dec 2022
    Release notes
    • feat: EasyRefreshController add headerState, footerState #635.
    • feat: Add triggerWhenRelease and triggerWhenReleaseNoWait #593.
    • fix: Error when using NotLoadFooter with clamping. Thanks Pwuts for PR#659.
    • feat: Add maxOverOffset #590.
    Open source →
  24. 3.2.0+1 03 Jan 2023
    Release notes
    • fix: When clamping, triggerWhenRelease is true causing the indicator to be stuck.
    • feat: Material indicator support triggerWhenRelease.
    Open source →
  25. 3.1.0 21 Dec 2022
    Release notes
    • feat: Add paging widget [EasyPaging].
    Open source →
  26. 3.0.5 27 Nov 2022
    Release notes
    • fix: [EasyRefreshController.callRefresh] and [EasyRefreshController.callLoad] add force #633 #642. Thanks percival888 for PR#639.
    • fix: When the height changes when callTask causes the list not to rebound.
    • feat: Add [EasyRefresh.scrollBehaviorBuilder] and [EasyRefresh.defaultScrollBehaviorBuilder]. Thanks laiiihz for PR#614.
    Open source →
  27. 3.0.5+1 12 Dec 2022
    Release notes
    • fix: Clamping refresh, causing Material3 AppBar to change color.
    Open source →
  28. 3.0.4 01 Aug 2022
    Release notes
    • fix: ScrollMetrics.minScrollExtent != 0.0, offset calculation error.
    • feat: Supported [ScrollView.center] #581.
    Open source →
  29. 3.0.4+1 01 Aug 2022
    Release notes
    • fix: [NestedScrollView.viewportDimension] should use outer's #582.
    • fix: Notify UI to update when indicator property changes #582.
    Open source →
  30. 3.0.4+2 09 Aug 2022
    Release notes
    • fix: [refreshOnStart] safe area #586.
    Open source →
  31. 3.0.4+3 31 Oct 2022
    Release notes
    • feat: When the content of the list is not full, the infinite scroll does not cross the bounds #588.
    Open source →
  32. 3.0.4+4 06 Nov 2022
    Release notes
    • fix: Type 'SpringDescription' not found #638.
    Open source →
  33. 3.0.3 31 Jul 2022
    Release notes
    • fix: processedDuration == Duration.zero, can't rebound #572.
    • fix: [clamping] may not have rebound animation.
    • fix: Indicator overflow #575.
    • fix: BezierCircleHeader drop overflow.
    • feat: Supported NestedScrollView.
    • feat: Supported ScrollController trigger events.
    Open source →
  34. 3.0.3+1 31 Jul 2022
    Release notes
    • docs: NestedScrollView example.
    Open source →
  35. 3.0.2 14 Jul 2022
    Release notes
    • feat: Indicator add [triggerWhenReach] #348. Trigger immediately when reaching the [triggerOffset].
    • feat: CupertinoIndicator support horizontal.
    Open source →
  36. 3.0.2+1 15 Jul 2022
    Release notes
    • fix: [viewportDimension] changes may trigger loading.
    Open source →
  37. 3.0.2+2 18 Jul 2022
    Release notes
    • fix: ClassicIndicator transition animation.
    • fix: NotRefreshHeader and NotLoadFooter [position] causes tree structure changes.
    Open source →
  38. 3.0.1 11 Jul 2022
    Release notes
    • fix: Use notifyListeners after ChangeNotifier disposed. Thanks laiiihz for PR#555.
    • feat: ClassicHeader、ClassicFooter add IconThemeData. Thanks Lay523 for PR#562.
    • feat: ClassicIndicator add [progressIndicatorSize] and [progressIndicatorStrokeWidth].
    • feat: Add CupertinoIndicator.
    • fix: finishLoad asset #563.
    Open source →
  39. 3.0.1+1 12 Jul 2022
    Release notes
    • fix: CupertinoActivityIndicator radius == 0.
    Open source →
  40. 3.0.0 07 Jul 2022
    Release notes

    New version

    Framework rewrite, stronger refresh widget.

    • Supports all scrollable widgets.
    • Physics scope, no longer limited to child types.
    • Adjustable scroll parameters, infinite possibilities for the indicator.
    • Safe area support.
    • Indicator position setting.
    Open source →
  41. 3.0.0+1 07 Jul 2022
    Release notes
    • fix: .pubignore
    Open source →
  42. 3.0.0+2 07 Jul 2022
    Release notes
    • fix: Scores
    Open source →
  43. 3.0.0+3 08 Jul 2022
    Release notes
    • fix: dart >=2.13.0.
    • fix: The screen is not full, [infinite] can not reset.
    • feat: HeaderLocator and FooterLocator add [clearExtent].
    • feat: Add OverrideFooter and OverrideHeader.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive