Releases: KoichiroKAMADA/Yashima
Releases · KoichiroKAMADA/Yashima
Release list
Yashima 0.5.0
What's Changed
- Add
CacheKey.stableIdentifier, a key-only stable opaque string for external labels, auxiliary file names, and deduplication contexts that require a string. - Clarify that
stableIdentifieris not a storage entry identifier; effective cache entries are still keyed by bothCacheKeyandCacheCodec.identifier. - Update README installation examples and planning prompt text for the
0.5.0release line.
Validation
swift test- GitHub Actions
Swift Teston PR #16 - Tracked-file scan for common credential and local-path patterns
Yashima 0.4.0
What's Changed
- Added
CompressedDataCodec, an explicit LZFSE-compressedDatacodec for large text-like generated artifacts such as rendered HTML, JSON, manifests, and summaries. - Kept compression opt-in:
DataCodecremains uncompressed, and compressed entries use their own codec identity (compressed-data-lzfse-v1). - Updated README installation guidance to the
0.4.xrelease line. - Added test coverage for compressed data round-tripping, codec identity separation, and corrupted compressed payload handling.
Verification
swift testpassed with 99 tests.
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.
Yashima 0.2.0
Yashima 0.2.0 is the first public-ready release of Yashima, a Swift Concurrency-first local artifact cache for generated app artifacts.
Highlights:
- Async/await cache API with stable cache identity based on cache keys and codec identifiers.
- Memory and disk cache layers with configurable budgets and lifecycle operations.
- Single-flight request coalescing with cancellation-aware options for UI-bound workloads.
- Standard conveniences for images, Data, and Codable values built on the codec-based core.
- Yashima Preview Lab example app and stress runner for validating generated-artifact cache behavior.
- Public documentation, security policy, contribution guide, and Swift Package Manager installation guidance.
Yashima is already used in Tracer, an App Store location-recording app, for caching locally generated map and summary artifacts.