cloud_media 0.0.2
cloud_media: ^0.0.2 copied to clipboard
A complete Firebase-native media management Flutter package.
Changelog #
All notable changes to CloudMedia will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.0.2 - 2026-06-05 #
Added #
- Web platform support with conditional imports and IndexedDB caching
- Video thumbnails via
flutter_video_thumbnail_plus - ML Kit background removal (Selfie Segmenter) with fallback chain
- Full
image_cropperintegration for cropping dialog - Complete editor screen with crop, rotate, flip, brightness, contrast, saturation, blur
- Video compression with H.264 encoding, resolution scaling, and progress streaming
- HEIC/HEIF to JPEG conversion, GIF support, MKV video, FLAC audio
- Background sync with WorkManager (Android) and BGTaskScheduler (iOS)
- New APIs:
compressVideo(),removeBackground(),edit(),deleteMany(),restoreMany(),pauseSync(),resumeSync(),getCacheSize(),updateMetadata()
Changed #
CloudMediaWatcher.watchUntil()now completes correctly on target statusMediaGridperformance improved with builder pattern and keep-alive- All Riverpod
StateProvidermigrated toNotifierProviderfor v3.x compatibility
Fixed #
isMediaSyncingProviderboolean access (was throwing on.when()call)syncStatusTextProvideruses.when()instead of.valueOrNullFilePickerstatic method usage for v12.x APIshare_plusAPI updated to v13 (ShareParams)- Memory leak in
CloudMediaWatchersubscriptions
Deprecated #
CloudMediaListExtensionmethods — useCloudMedia.list()directly with options
Removed #
LocalBackgroundRemovalProviderstub (replaced by ML Kit, kept as fallback)
Security #
- Download URLs expire after 7 days via Firebase Storage rules
- MIME type sniffing prevents extension spoofing
0.0.1 - 2026-06-05 #
Added #
- Core API:
pick(),list(),watch(),delete(),restore(),download(),share(),get(),sync(),initialize() - Media support: images (JPG, PNG, WebP), videos (MP4, MOV), audio (MP3, AAC, M4A), PDFs
- Automatic image compression to WebP @ 85% quality
- On-device thumbnails (200×200 WebP)
- Offline sync with
riverpod_offline_syncqueue - LRU disk cache (500MB, 30-day TTL)
- UI widgets:
CloudImage,CloudVideo,CloudAudio,CloudFile,MediaGrid,UploadProgress,SyncStatusIndicator - Screens:
MediaPickerScreen,ReviewScreen,MediaLibraryScreen,BackgroundRemovalScreen - Services: Firebase, upload, cache, compression, thumbnail, offline sync, permissions
- 13 typed exceptions for error handling
CloudMediaConfigwith 14 configurable options
Dependencies #
- Firebase (Core, Auth, Storage, Firestore): ^4.10.0–^6.5.0
- Image Picker, File Picker, Video Player, Audio Players
- Riverpod 3.x with offline sync
- Hive, Path Provider, Share Plus, Connectivity Plus
Supported Platforms #
- Android, iOS, macOS, Windows, Linux (fully supported)
- Web (partial — requires platform abstraction)
Known Limitations #
- Video compression pass-through only (resolved in 0.0.2)
- Video thumbnails not implemented (resolved in 0.0.2)
- Cropping dialog stub (resolved in 0.0.2)
- Background removal stub (resolved in 0.0.2)
- Editor screen stub (resolved in 0.0.2)
- Web platform requires conditional imports (resolved in 0.0.2)