flutter_svga_easyplayer 0.0.7
flutter_svga_easyplayer: ^0.0.7 copied to clipboard
A Flutter package for rendering SVGA animations with dynamic customization, smooth playback, cache control, and powerful EasyPlayer features.
Changelog #
All notable changes to this project will be documented in this file.
0.0.7 - 2026-04-21 #
🩹 Fixes #
- Cache-poisoning hardening: The parser now caches raw bytes only
after a successful decode, and if a cached entry fails to decode (e.g.
a previously poisoned entry) it is automatically evicted and re-fetched
once. This eliminates the recurring
Exception caught by SVGAEasyPlayer: Filter error, bad datalog that could appear when a CDN momentarily served a non-SVGA payload (HTML error page with 200 status, truncated file, redirect, etc.). - Precache payload validation:
SVGAPrecacheManagerverifies the zlib magic byte of each downloaded/loaded payload before writing to the cache. Bad responses are counted asfailedand never stored.
✅ Compatibility #
- Fully backward compatible. No public API changes.
0.0.6 - 2026-04-21 #
✨ New Features #
- Silent Precaching (
SVGAPrecacheManager): Pre-fetch a list of SVGA URLs or asset paths into the persistent cache at app startup so playback starts instantly the first time a user opens a screen that uses them.- Fire-and-forget API:
SVGAPrecacheManager.shared.precache([...]) - Optional
delayso precaching does not contend with startup traffic. - Configurable
concurrency(default 3) with per-URL deduplication. - Optional per-request
timeoutand per-entryonProgresscallback. skipIfCachedavoids re-downloading valid cache entries.cancel()stops further work without interrupting the player.
- Fire-and-forget API:
SVGACache.contains(source): Cheap async lookup to check whether a valid (non-expired) cache entry exists for a given URL orassets:key.
🛠 Improvements #
- Bumped
archiveto^4.0.9,audioplayersto^6.6.0, andlintsto^6.1.0inpubspec.yaml.
✅ Compatibility #
- Fully backward compatible. Existing
SVGAEasyPlayer,SVGAParser, andSVGACacheAPIs behave exactly as before — precaching just populates the same cache the parser already reads from on playback.
0.0.5 2025-12-3 #
🛠 Version Bump #
- Bumped version to 0.0.5
- Maintenance release, no breaking changes
- Updated dependencies in
pubspec.yaml
0.0.4 - 2025-12-03 #
🛠 Fixes & Improvements #
- Protobuf Compatibility: Fixed compatibility issues with
protobuf^6.0.0. - Audio Control: Added
isMuteproperty toSVGAEasyPlayerandSVGAAnimationControllerto allow muting audio. - Lint Fixes: Resolved analysis warnings in generated files.
0.0.3 - 2025-11-23 #
🛠 Version Bump #
- Bumped version to 0.0.3
- Maintenance release, no breaking changes
- Updated dependencies in
pubspec.yaml
0.0.2 - 2025-11-10 #
🛠 Version Bump #
- Bumped version to 0.0.2
- Maintenance release, no breaking changes
- Updated dependencies in
pubspec.yaml
0.0.1 - 2025-11-09 #
🎉 Initial Release #
This is the initial release of flutter_svga_easyplayer - a powerful Flutter package for rendering SVGA animations with advanced features.
✨ Features #
SVGAEasyPlayer Widget
- Simple API: Load and play SVGA animations with minimal code
- Multiple Sources: Support for both assets and network URLs
- Automatic Resource Management: Built-in controller and lifecycle handling
Playback Control
- Infinite Loop: Default continuous playback for loading indicators and backgrounds
- Play Once: Single playback with completion callback for splash screens and one-time animations
- Repeat N Times: Controlled repetition with completion callback for celebrations and notifications
- onFinished Callback: Execute code when animations complete
Cache System
- Global Cache: Intelligent caching system for better performance
- Per-Widget Control: Enable/disable caching on individual players
- Auto-Cleanup: Automatic cache removal on widget disposal
- Storage Management: Configurable cache size and expiration
Advanced Features
- Dynamic Content: Replace text, images, and add custom drawings
- Audio Playback: Integrated audio support within animations
- Performance Optimized: Efficient rendering and memory management
- Flexible Layout: BoxFit support for responsive designs
� Documentation #
- Comprehensive README with quick start guide
- Detailed playback modes documentation
- Cache control guide
- Quick reference cheat sheet
- Interactive example applications
🎮 Examples #
- Playback modes demonstration
- Cache control examples
- Global cache management
- Dynamic content samples
�️ Technical #
- Flutter SDK: >=3.8.1
- Dart SDK: >=3.0.0
- Platform Support: Android, iOS, Desktop, Web
- Dependencies: archive, http, protobuf, audioplayers, path_provider, crypto