wechat_assets_picker
An image picker (also with videos and audio) for Flutter projects based on WeChat's UI, with full support for customization.
10.1.3
57K downloads/mo
#1405 most downloaded on pub.dev
fluttercandies/flutter_wechat_assets_picker
What this package is like to depend on
Last release 1 months ago
19 Jul 2026
Ships fairly regularly
a new release about every 2 months
Nearly every release is documented
notes for 144 of 146 stable releases
2 versions withdrawn
withdrawn after publishing
6 years old
184 releases · first in 2020
5 releases in the last 12 months
see the full history below
Release timeline
184 releases · Apr 2020 to Jul 2026Releases
latest 60 of 184-
10.1.319 Jul 2026Release notes
Open source →What's Changed
Fixes
- Fix picker and viewer selection syncing when selecting the last allowed asset.
- Fix Live Photo controllers completing initialization after the asset changes or the preview is disposed.
- Fix iCloud videos showing a black frame in the preview between
LocallyAvailableBuildercompleting andVideoPlayerController.initialize()finishing; a loading indicator now displays for the whole preparation window. - Fix
VideoPageBuildercontinuing to initialize and play a video after the widget was disposed or the previewed asset was swapped mid-load, which could leave iCloud videos playing audio in the background after the picker was closed. - Fix single-select mode where the grid UI stops refreshing and no other asset can be selected after selecting an asset from the preview page.
- Fix the viewer displaying a selectable action for unselected assets after reaching the maximum selection count.
New Contributors
- @jelly-dd made their first contribution in #763
- @LittleJamie made their first contribution in #760
Full Changelog: v10.1.2...v10.1.3
Release notes
Open source →Fixes
- Fix picker and viewer selection syncing when selecting the last allowed asset.
- Fix Live Photo controllers completing initialization after the asset changes or the preview is disposed.
- Fix iCloud videos showing a black frame in the preview between
LocallyAvailableBuildercompleting andVideoPlayerController.initialize()finishing; a loading indicator now displays for the whole preparation window. - Fix
VideoPageBuildercontinuing to initialize and play a video after the widget was disposed or the previewed asset was swapped mid-load, which could leave iCloud videos playing audio in the background after the picker was closed. - Fix single-select mode where the grid UI stops refreshing and no other asset can be selected after selecting an asset from the preview page.
- Fix the viewer displaying a selectable action for unselected assets after reaching the maximum selection count.
-
10.1.203 May 2026Release notes
Open source →What's Changed
Fixes
- Fix
assetGridItemSemanticIndexreturning a 0-based index, causing screen readers to announce assets as "Image 0, Image 1, ..." instead of "Image 1, Image 2, ...".
Improvements
- Add doc declaration about
android.permission.READ_MEDIA_VISUAL_USER_SELECTED.
New Contributors
- @luomo-pro made their first contribution in #754
- @HualiangLI made their first contribution in #750
Full Changelog: v10.1.1...v10.1.2
Release notes
Open source →Fixes
- Fix
assetGridItemSemanticIndexreturning a 0-based index, causing screen readers to announce assets as "Image 0, Image 1, ..." instead of "Image 1, Image 2, ...".
Improvements
- Add doc declaration about
android.permission.READ_MEDIA_VISUAL_USER_SELECTED.
- Fix
-
10.1.105 Mar 2026Release notes
Open source →What's Changed
Fixes
- Fix selection syncing between the picker and the viewer.
Full Changelog: v10.1.0...v10.1.1
-
10.1.024 Dec 2025Release notes
Open source →What's Changed
Fixes
- Refactor drag selection to work across all pages globally.
- Fix "Bad state: No element" crash in
onAssetsChangedwhen paths list is empty.
Full Changelog: v10.0.0...v10.1.0
Release notes
Open source →Fixes
- Refactor drag selection to work across all pages globally.
- Fix "Bad state: No element" crash in
onAssetsChangedwhen paths list is empty.
-
10.0.022 Nov 2025Release notes
Open source →What's Changed
Breaking changes
- Migrate to Flutter 3.27 and drop support for previous Flutter versions.
- Make delegate respect generic types as much as possible.
This is a breaking change for users who use custom delegates and providers.
See the migration guide for more details. - Remove deprecated methods.
New features
- Support multiple append/prepend specials items.
Full Changelog: v9.8.0...v10.0.0
Release notes
Open source →Breaking changes
- Migrate to Flutter 3.27 and drop support for previous Flutter versions.
- Make delegate respect generic types as much as possible. This is a breaking change for users who use custom delegates and providers. See the migration guide for more details.
- Remove deprecated methods.
New features
- Support multiple append/prepend specials items.
-
9.8.015 Aug 2025Release notes
Open source →Note
Be aware of potential minor theme changes since the base theme has taken place in the picker's theme.
What's Changed
Improvements
- Improve themes by inheriting the base theme rather than standalone constructors.
Fixes
- Enabling using the package on Flutter 3.35.
Full Changelog: v9.7.0...v9.8.0
Release notes
Open source →[!NOTE] Be aware of potential minor theme changes since the base theme has taken place in the picker's theme.
Improvements
- Improve themes by inheriting the base theme rather than standalone constructors.
Fixes
- Enabling using the package on Flutter 3.35.
-
9.7.012 Aug 2025Release notes
Open source →What's Changed
Improvements
- Allows to specify the fallback text delegate through
assetPickerTextDelegateFromLocale.
Full Changelog: v9.6.0...v9.7.0
Release notes
Open source →Improvements
- Allows specifying the fallback text delegate through
assetPickerTextDelegateFromLocale.
- Allows to specify the fallback text delegate through
-
9.6.008 Aug 2025Release notes
Open source →What's Changed
New features
- Expose more route settings.
Users will now be able to control the route settings for the picker and viewer. - Add Persian (Farsi) language support. (Thanks to @Ho3einTahan)
Improvements
- Improve how
MediaQueryis being listened. - Stop enabling drag to select when
maxAssets == 1. - Extract
DefaultAssetPickerProvider.init.
Fixes
- Fix semantics with the close button.
- Fix
selectPredicatenot being called when selecting the video asset under the WeChat Moment mode. - Manually dispose memory leak objects.
New Contributors
- @gavinliu made their first contribution in #692
- @Ho3einTahan made their first contribution in #608
- @guspan-tanadi made their first contribution in #694
- @zeqinjie made their first contribution in #709
Full Changelog: v9.5.1...v9.6.0
Release notes
Open source →New features
- Expose more route settings. Users will now be able to control the route settings for the picker and viewer.
- Add Persian (Farsi) language support. (Thanks to @Ho3einTahan)
Improvements
- Improve how
MediaQueryis being listened. - Stop enabling drag to select when
maxAssets == 1. - Extract
DefaultAssetPickerProvider.init.
Fixes
- Fix semantics with the close button.
- Fix
selectPredicatenot being called when selecting the video asset under the WeChat Moment mode. - Manually dispose memory leak objects.
- Expose more route settings.
-
9.5.122 May 2025Release notes
Open source → -
9.5.019 Feb 2025Release notes
Open source →What's Changed
New features
- Support drag to select.
Fixes
- Fixes semantics issues.
New Contributors
- @WeiJun0507 made their first contribution in #660
Full Changelog: v9.4.2...v9.5.0
-
9.4.219 Dec 2024Release notes
Open source →Improvements
- Add Traditional Chinese language text delegate. (Thanks to @Gasol)
- Improves the default sort conditions on Android.
-
9.4.121 Nov 2024Release notes
Open source →Improvements
- Improves the default sort conditions.
Fixes
- Fixes selecting when reached the max asset limit in the preview.
-
9.4.008 Nov 2024Release notes
Open source →Improvements
- Allows
extended_image: ^9.0.0.
Fixes
- Allows assets changing when no path previously.
- Allows
-
9.3.317 Oct 2024 -
9.3.208 Oct 2024Release notes
Open source →Improvements
- Adapt the file type getter from the image provider to get a precise file type in grid.
- Adds the identifier for grid item's semantics.
- Improves preview page back button.
-
9.3.126 Sep 2024Release notes
Open source →Improvements
- Do not mute the Live Photo during the preview.
Fixes
- Fix the GIF indicator's layout.
- Fix the directionality with the reverted grid item.
-
9.3.024 Sep 2024Release notes
Open source →New features
- Add explicit Live Photos indicator for assets.
Improvements
- Make Live Photos gesture consistent when scaling and panning.
- Integrate
LocallyAvailableBuilderwith thumbnail options to improve the thumbnail loading speed. - Use
visibility_detectorand scroll observer to improve media playing experiences.
Fixes
- Fix the bottom actions bar display conditions.
-
9.2.215 Sep 2024 -
9.2.116 Aug 2024Release notes
Open source →- Improve changes when limited on iOS.
- Use
LocallyAvailableBuilderin the grid to provide better user awareness.
-
9.2.001 Aug 2024Release notes
Open source →New features
- Introduce
AssetsChangeCallbackandAssetsChangeRefreshPredicateto help users act according to asset changes. - Add
shouldAutoplayPreviewto the picker config.
Fixes
- Raise detailed negative range error.
- Fix viewer confirm button predication.
- Enlarge GIF gradients.
- Fix potential paths assets count unexpected merging behaviors.
- Introduce
-
9.1.020 Jun 2024Release notes
Open source →Improvements
- Support limited permission displays on Android.
- Improves the limited overlay padding on Android.
- Adds permission request lock for the picker state.
- Speeding up by splitting asset loading into separate steps.
- Speeding up using
AdvancedCustomFilterrather thanFilterOptionGroupby default.
Fixes
- Fix reverted index when previewing assets on Android.
- Requests with the correct options with the picker.
-
9.0.407 Jun 2024Release notes
Open source →Fixes
- Fix the app bar of the viewer that is not animating.
- Fix loading when no assets are in the path.
- Reset the has more to load flag between path switching.
-
9.0.309 Apr 2024 -
9.0.215 Mar 2024 -
9.0.107 Mar 2024Release notes
Open source →Fixes
- Fix the current asset in the picker viewer.
Improvements
- Improve code formatting.
-
9.0.027 Feb 2024Release notes
Open source →Breaking changes
- Migrate to Flutter 3.16, and drop supports for previous Flutter versions.
- Bump
photo_managerto v3.x. - Export
photo_manager_image_provider. - Integrate
PermissionRequestOptionfor callers.
Improvements
- Adapt
ThemeDatausages. - Use
wechat_picker_library. - Make the first asset count not blocking loads.
Fixes
- Fix unhandled child semantics with the app bar title.
- Fix styles around the app bar and other widgets.
- Fix previewing selected assets' behavior.
- Use
PermissionRequestOptionas much as possible. - Raise more errors for non-synced paths.
- Fix the experience with
shouldRevertGrid.
-
9.0.0-dev.209 Dec 2023 pre-releaseNothing published for this version
-
9.0.0-dev.107 Dec 2023 pre-releaseNothing published for this version
-
8.9.0-dev.116 Nov 2023 pre-releaseNothing published for this version
-
8.8.128 Dec 2023 withdrawnNothing published for this version
-
8.8.1+128 Dec 2023Nothing published for this version
-
8.8.016 Nov 2023Release notes
Open source →New features
- Add Korean language support. (Thanks to @LIMMIHEE)
Improvements
- Use
viewAssetin the preview button.
Fixes
- Fix disposed provider throwing error when fetching assets. (#493)
-
8.7.111 Sep 2023 -
8.7.017 Aug 2023Release notes
Open source →Breaking changes
- Migrate to Flutter 3.13, and drop supports for previous Flutter versions.
-
8.6.317 Aug 2023 -
8.6.201 Aug 2023Release notes
Open source →Improvements
- Add
appBarPreferredSizein the picker delegate to help with padding calculations. - Improve the performance with
MediaQuerycallers.
- Add
-
8.6.126 Jul 2023Release notes
Open source →Improvements
- Remove
needTitlefor image filter options.
Fixes
- Fix hit test when previewing videos.
- Remove
-
8.6.023 Jul 2023Release notes
Open source →Breaking changes
- Use
TargetPlatformfor theisAppleOSmethod in delegates, which relies on aBuildContext.
New features
- Sync all UI details from WeChat 8.3.x. (#458)
- Add Turkish language text delegate. (Thanks to @cevheri).
- Allow to confirm 0 assets if there are selected assets previously. (#461)
Improvements
- Silent part of thumbnail request exceptions.
Fixes
- Fix semantics interactions for video preview. (#458)
- Be able to update the items builder page. (#417)
- Use
-
8.5.011 May 2023Release notes
Open source →Breaking changes
- Migrate to Flutter 3.10, and drop supports for previous Flutter versions.
-
8.4.311 May 2023Release notes
Open source →New features
- Add Vietnamese language text delegate. (Thanks to @nploi).
Improvements
- Expand
FilterOptionGrouptoPMFilter. (#436)
-
8.4.211 Apr 2023Release notes
Open source →Fixes
- Avoid clearing selected assets when disposing the provider. (#428)
-
8.4.124 Mar 2023Release notes
Open source →Fixes
- Call
AssetPickerProvider.disposewhen disposing the builder delegate. (#421)
- Call
-
8.4.007 Feb 2023Release notes
Open source →Breaking changes
- Migrate to Flutter 3.7, and drop supports for previous Flutter versions.
-
8.3.206 Feb 2023Release notes
Open source →Fixes
- Use
Completerand more accurate conditions to avoid duplicate load assets whenAssetPickerConfig.pageSizeis smaller than a complete page. (#407)
- Use
-
8.3.102 Jan 2023Release notes
Open source →New features
- Add
didUpdateViewerandinitAnimationsin theAssetPickerViewerBuilderDelegate. (#403) - Add insta_assets_picker as a custom delegate example. (#403)
- Add
-
8.3.1+103 Jan 2023 -
8.3.027 Dec 2022Release notes
Open source →New features
- Add
indexargument toselectAssetin theAssetPickerBuilderDelegate. (#399)
Improvements
- Improve UI details in the
AssetPickerAppBar. (#400)
- Add
-
8.2.009 Dec 2022Release notes
Open source →New features
- Allow overrides
viewAssetin theAssetPickerBuilderDelegate. (#391)
Fixes
- Correct behaviors when the access is limited on iOS. (#392)
- Allow overrides
-
8.1.408 Nov 2022 -
8.1.312 Oct 2022Release notes
Open source →Improvements
- Bump
photo_managerto explicitly remove the requirements ofrequiredLegacyExternalStorage.
- Bump
-
8.1.204 Oct 2022 -
8.1.121 Sep 2022 -
8.1.019 Sep 2022Release notes
Open source →New features
- Upgrade
photo_managerfor Android 13. (#365)
Improvements
- Improve
BuildContextusages to obtain the correct directionality for the assets grid. (#359) - Provide a better condition to the confirm button to make sure it displays correctly in all cases on iOS/macOS. (#359)
- Improve
bottomActionBarinDefaultAssetPickerBuilderDelegate. (#359)
Fixes
- Fix invalid path sort. (#364)
- Upgrade
-
8.0.230 Aug 2022 -
8.0.128 Aug 2022 -
8.0.013 Aug 2022Release notes
Open source →To know more about breaking changes, see [Migration Guide][].
New features
- Introduce
PathWrapperin delegates to improve the overall loading speed. (#338) - Allow using
Keyduring picking. (#339) - Add
initializeDelayDurationforDefaultAssetPickerProvider. (#341) - Prevent race conditions with paths. (#342)
- Expose
sortPathsByModifiedDate. (#343)
Fixes
- Unify indicator usage to avoid accidental indicator switching. (#344)
- Introduce
-
8.0.0-dev.220 Jul 2022 pre-releaseNothing published for this version
-
8.0.0-dev.105 Jul 2022 pre-releaseNothing published for this version
-
7.3.402 Aug 2022Nothing published for this version
-
7.3.301 Aug 2022 withdrawnNothing published for this version