Yashima 0.3.0
Yashima 0.3.0 focuses on smoother SwiftUI and scrolling-list integrations while keeping Yashima's core boundary as a general local artifact cache.
Highlights:
- Added
YCache.Options.uiLifecyclefor SwiftUIList,LazyVGrid,.task(id:), and other caller-lifetime-bound workloads. - Updated
optionalValue,optionalJPEG, andoptionalPNGso miss generation participates in single-flight sharing and cancellation. - Preserved the rule that
nil,CancellationError, and thrown failures are not stored as cache entries. - Added documentation for video thumbnails, PhotoKit thumbnails, SwiftUI lifecycle usage, and small Codable derived values.
- Clarified when to use
uiLifecycleversus the default shared producer behavior for detail, background, and export work. - Kept AVFoundation, PhotoKit, SwiftUI, and app-specific producers outside Yashima core.
Storage metadata schema is unchanged, so existing 0.2.x cache entries remain compatible.
For Swift Package Manager users, use .upToNextMinor(from: "0.3.0") while Yashima remains pre-1.0.