Skip to content

Releases: KoichiroKAMADA/Yashima

Yashima 0.5.0

Choose a tag to compare

@KoichiroKAMADA KoichiroKAMADA released this 29 Jun 09:12
db7af84

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 stableIdentifier is not a storage entry identifier; effective cache entries are still keyed by both CacheKey and CacheCodec.identifier.
  • Update README installation examples and planning prompt text for the 0.5.0 release line.

Validation

  • swift test
  • GitHub Actions Swift Test on PR #16
  • Tracked-file scan for common credential and local-path patterns

Yashima 0.4.0

Choose a tag to compare

@KoichiroKAMADA KoichiroKAMADA released this 23 Jun 04:38

What's Changed

  • Added CompressedDataCodec, an explicit LZFSE-compressed Data codec for large text-like generated artifacts such as rendered HTML, JSON, manifests, and summaries.
  • Kept compression opt-in: DataCodec remains uncompressed, and compressed entries use their own codec identity (compressed-data-lzfse-v1).
  • Updated README installation guidance to the 0.4.x release line.
  • Added test coverage for compressed data round-tripping, codec identity separation, and corrupted compressed payload handling.

Verification

  • swift test passed with 99 tests.

Yashima 0.3.0

Choose a tag to compare

@KoichiroKAMADA KoichiroKAMADA released this 22 Jun 10:43
a19c167

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.uiLifecycle for SwiftUI List, LazyVGrid, .task(id:), and other caller-lifetime-bound workloads.
  • Updated optionalValue, optionalJPEG, and optionalPNG so 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 uiLifecycle versus 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

Choose a tag to compare

@KoichiroKAMADA KoichiroKAMADA released this 22 Jun 04:27

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.