PackageTrack
Sign in Get early access

flutter_cache_manager

Generic cache manager for flutter. Saves web files on the storages of the device and saves the cache info using sqflite.

3.4.2 3.5M downloads/mo #179 most downloaded on pub.dev Baseflow/flutter_cache_manager

What this package is like to depend on

Last release 1 months ago

21 Jul 2026

Ships unpredictably

gaps range from 8 days to 1.9 years

Nearly every release is documented

notes for 42 of 44 stable releases

Nothing withdrawn

no release was ever pulled

9 years old

59 releases · first in 2017

1 release in the last 12 months

see the full history below

Release timeline

59 releases · Dec 2017 to Jul 2026
2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 59
  1. 3.4.2 21 Jul 2026

    Nothing published for this version

  2. 3.4.1 13 Aug 2024
    Release notes
    • Target js_interop for Wasm support
    Open source →
  3. 3.4.0 31 Jul 2024
    Release notes

    What's Changed

    New Contributors

    Full Changelog: v3.3.0...v3.4.0

    Open source →
    Release notes
    • [Bugfix] For a previously cached file that got removed on the server, now evicts that file on 404 and notifies listeners.
    • Allow to override ifNoneMatchHeader
    • Get cache total size
    • Export File System
    • Expose memoryCacheContainsKey method from cache_store
    • Updates dependencies
    Open source →
  4. 3.3.3 23 Jul 2024
    Release notes
    • Updates dependencies (#457)
    Open source →
  5. 3.3.2 25 Apr 2024
    Release notes

    Update Dart SDK constraint

    Open source →
    Release notes
    • Updates dependencies to their latest versions.
    Open source →
  6. 3.3.1 03 Jul 2023
    Release notes
    • Support Dart 3.0.0 for http ^1.0.0 and file ^7.0.0
    • Update example
    • Add topics
    Open source →
  7. 3.3.0 29 Nov 2021
    Release notes
    • Added option to manage the log level. Doesn't print failed downloads by default anymore. You can set it like this:
    CacheManager.logLevel = CacheManagerLogLevel.verbose;
    
    Open source →
  8. 3.2.0 27 Nov 2021
    Release notes
    • [Bugfix] getSingleFile now downloads a new file before completing as the outdated file might have been deleted.
    Open source →
  9. 3.1.3 05 Nov 2021
    Release notes
    • Disabled resizing of cached gifs as this was broken.
    Open source →
  10. 3.1.2 17 Jun 2021
    Release notes
    • removeFile function now completes after the file is removed from disk and not earlier (#323)
    • Image resizing doesn't block ui anymore and doesn't use image package but existing Flutter components (#319)
    Open source →
  11. 3.1.1 03 Jun 2021
    Release notes
    • Move File to separate file. You can add it using the following import:
    import 'package:flutter_cache_manager/file.dart' as cache_file;
    
    Open source →
  12. 3.1.0 28 May 2021
    Release notes
    • Export File from package file (#302)
    • Bugfix for eTag on Flutter Web (#304)
    • Bugfix for loading multiple images simultaneously (#315)
    Open source →
  13. 3.0.2 10 May 2021
    Release notes
    • Include rxdart 0.27 as possible dependency
    Open source →
  14. 3.0.1 29 Mar 2021
    Release notes
    • Include file 6.0.0 as possible dependency
    Open source →
  15. 3.0.0 27 Mar 2021
    Release notes
    • Bug fix on removing a relatively new file from cache
    • Migration to nullsafety.
    Open source →
  16. 3.0.0-nullsafety.3 26 Mar 2021 pre-release
    Release notes
    • Add null-check on id in removeFile
    Open source →
  17. 3.0.0-nullsafety.2 22 Mar 2021 pre-release
    Release notes
    • Fix sqflite warning
    Open source →
  18. 3.0.0-nullsafety.1 02 Mar 2021 pre-release
    Release notes
    • Bug fix for NonStoringObjectProvider.
    Open source →
  19. 3.0.0-nullsafety.0 25 Feb 2021 pre-release
    Release notes
    • Migration to nullsafety.
    Open source →
  20. 2.1.2 09 Mar 2021
    Release notes
    • Update dependencies
    • Bug fix for JsonCacheInfoRepository when file is corrupted.
    Open source →
  21. 2.1.1 14 Jan 2021
    Release notes
    • Update minimal dependency sqflite
    • Small fix for non-existing directory (PR #264)
    Open source →
  22. 2.1.0 21 Dec 2020
    Release notes
    • Added ImageCacheManager with support for image resizing.
    • Upgrade dependencies.
    Open source →
  23. 2.0.0 16 Oct 2020
    Release notes
    • Restructured the configuration of the CacheManager. Look at the ReadMe for more information.
    • Added queueing mechanism for downloading new files. By default, the cache manager downloads a maximum of 10 files at the same time.
    • Moved SQFlite database file from sqflite database path to application support directory.
    • Add putFileStream to add an external file to the cache.
    • Add option to use a key to get files from the cache which can be different from the url.
    • Added JsonCacheInfoRepository for Windows and Linux.
    • BREAKING CHANGE Creating a CacheManager now requires a Config object, see the readme for complete example.
    • BREAKING CHANGE Renamed maxAgeCacheObject to stalePeriod
    • BREAKING CHANGE Custom CacheInfoRepository need to include a key and some extra methods.
    • BREAKING CHANGE A CacheInfoRepository is now assumed to allow multiple connections, which means you can call 'open' multiple times and the repo keeps track on the number of connections.
    Open source →
  24. 2.0.0-beta.1 10 Oct 2020 pre-release
    Release notes
    • Reintroduced BaseCacheManager interface for backwards compatibility.
    • Renamed putExistFile to putFileStream. This is equally efficient, but more clear in what it does.
    Open source →
  25. 2.0.0-beta 01 Oct 2020 pre-release
    Release notes
    • Added option for a key different from the url.
    • Added a new CacheInfoRepository: JsonCacheInfoRepository, which is not used by default on the existing platforms, but can be used on any.
    • Added support for Windows and Linux using the JsonCacheInfoRepository by default.
    • Added support for adding an existing file.
    • BREAKING CHANGE Creating a CacheManager now requires a Config object, see the readme for complete example.
    • BREAKING CHANGE Renamed maxAgeCacheObject to stalePeriod
    • BREAKING CHANGE Custom CacheInfoRepository need to include a key and some extra methods.
    • BREAKING CHANGE A CacheInfoRepository is now assumed to allow multiple connections, which means you can call 'open' multiple times and the repo keeps track on the number of connections.
    Open source →
  26. 1.4.2 10 Sep 2020
    Release notes
    • Compatibility with Flutter version 1.22.
    Open source →
  27. 1.4.1 14 Jun 2020
    Release notes
    • Bugfix: CacheManager returned a file that didn't exist when the file was removed by the OS (or any other external system) while the app was active. This also prevented the CacheManager to redownload the file (PR #190).
    Open source →
  28. 1.4.0 04 Jun 2020
    Release notes
    • Allow cleaning of memory cache (PR #183).
    • Bugfix: Cleaning doesn't want to delete a file twice anymore (PR #185).
    Open source →
  29. 1.3.0 28 May 2020
    Release notes
    • Basic web support. (At least it downloads the file for you.)
    • Support for the following mimetypes:
      • application/vnd.android.package-archive (apk)
      • audio/x-aac (aac)
      • video/quicktime (mov)
    Open source →
  30. 1.2.2 16 Apr 2020
    Release notes
    • Support for RxDart 0.24.x
    Open source →
  31. 1.2.1 14 Apr 2020
    Release notes
    • Fixed optional parameters in the Content-Type header (#164).
    Open source →
  32. 1.2.0 10 Apr 2020
    Release notes
    • Added getFileStream to CacheManager
      • getFileStream has an optional parameter 'withProgress' to receive progress.
      • getFileStream returns a FileResponse which is either a FileInfo or a DownloadProgress.
    • Changes to FileFetcher and FileFetcherResponse:
      • FileFetcher is now replaced with a FileService which is a class instead of a function.
      • FileServiceResponse doesn't just give magic headers, but concrete implementation of the needed information.
      • FileServiceResponse gives a contentStream instead of content for more efficient handling of the data.
      • FileServiceResponse contains contentLength with information about the total size of the content.
    • Changes in CacheStore for testability:
      • CleanupRunMinInterval can now be set.
      • Expects a mockable directory instead of a path.
    • Added CacheInfoRepository interface to possibly replace the current CacheObjectProvider based on sqflite.
    • Changes in WebHelper
      • Files are now always saved with a new name. Files are first saved to storage before old file is removed.
    • General code quality improvements
    Open source →
  33. 1.1.3 17 Oct 2019
    Release notes
    • Use try-catch in WebHelper so VM understands that errors are not uncaught.
    Open source →
  34. 1.1.2 16 Oct 2019
    Release notes
    • Better error handling (really better this time).
    • Fix that oldest files are removed, and not the newest.
    • Fix error when cache data exists, but file is already removed.
    • await on putFile
    Open source →
  35. 1.1.1 23 Jul 2019
    Release notes
    • Changed error handling back to throwing the error as it is supposed to be.
    Open source →
  36. 1.1.0 13 Jul 2019
    Release notes
    • New method to get fileinfo from memory.
    • Better error handling.
    Open source →
  37. 1.0.0 27 Jun 2019
    Release notes
    • Keep SQL connection open during session.
    • Update dependencies
    Open source →
  38. 0.3.2 06 Mar 2019
    Release notes
    • Fixed image loading after loading failed once.
    Open source →
  39. 0.3.1 27 Feb 2019
    Release notes
    • Added method to clear cache
    Open source →
  40. 0.3.0 18 Feb 2019
    Release notes
    • Complete refactor of library
    • Use of SQFlite instead of shared preferences for cache info
    • Added the option to use a custom file fetcher (for example for firebase)
    • Support for AndroidX
    Open source →
  41. 0.3.0-beta.3 11 Feb 2019 pre-release

    Nothing published for this version

  42. 0.3.0-beta.2 06 Feb 2019 pre-release

    Nothing published for this version

  43. 0.3.0-beta.2+1 06 Feb 2019 pre-release

    Nothing published for this version

  44. 0.3.0-beta.1 30 Jan 2019 pre-release

    Nothing published for this version

  45. 0.3.0-beta 30 Jan 2019 pre-release

    Nothing published for this version

  46. 0.3.0-alpha.2 24 Nov 2018 pre-release

    Nothing published for this version

  47. 0.3.0-alpha.1 24 Nov 2018 pre-release

    Nothing published for this version

  48. 0.3.0-alpha 18 Nov 2018 pre-release

    Nothing published for this version

  49. 0.2.0 13 Oct 2018
    Release notes
    • Fixed library compatibility issue
    Open source →
  50. 0.2.0+1 12 Nov 2018

    Nothing published for this version

  51. 0.1.2 30 Aug 2018
    Release notes
    • Fixed library compatibility issue
    • Improved some synchronization
    Open source →
  52. 0.1.1 27 Apr 2018
    Release notes
    • Fixed some issues when file could not be downloaded the first time it is trying to be retrieved.
    Open source →
  53. 0.1.0 14 Apr 2018
    Release notes
    • Fixed ConcurrentModificationError in cache cleaning
    • Added optional headers
    • Moved to Dart 2.0
    Open source →
  54. 0.1.0-rc.1 24 Mar 2018 pre-release

    Nothing published for this version

  55. 0.0.4 31 Jan 2018
    Release notes
    • Fixed issues with cache cleaning
    Open source →
  56. 0.0.4+1 16 Feb 2018
    Release notes
    • Fixed nullpointer when non-updated file (a 304 response) has no cache-control period.
    Open source →
  57. 0.0.3 08 Jan 2018
    Release notes
    • Fixed relative paths on iOS.
    Open source →
  58. 0.0.2 29 Dec 2017
    Release notes
    • Did some refactoring and made a useful readme.
    Open source →
  59. 0.0.1 28 Dec 2017
    Release notes
    • Extracted the cache manager from cached_network_image
    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