Skip to content

Releases: Tochemey/distcache

v0.4.0

01 Jan 19:56
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

✨ Highlights

  • New admin diagnostics server with JSON endpoints for peers and keyspace stats.
  • Warmup & hot key prefetching on cluster join/leave events.
  • Engine-level tracing/metrics (OpenTelemetry) around core operations.
  • Keyspace-level overrides for TTL, timeouts, max bytes, warm keys, and protection policies.
  • New GetMany API and runtime keyspace updates via UpdateKeySpace.

🚀 New Features

  • Admin diagnostics (admin package)
    • /peers and /keyspaces endpoints.
    • Keyspace snapshots include cache sizes and stats when available.
  • Warmup & hot keys (warmup package)
    • Hot key tracking and prefetch on join/leave.
    • Concurrency and timeout controls.
  • Batch operations
    • GetMany returns values in input order.
  • Dynamic keyspace updates
    • UpdateKeySpace recreates the group and can trigger warmup.
  • DataSource protection
    • Engine-level and per-keyspace rate limiting and circuit breaking.

⚠️ Breaking Changes / Migration

  • WithDataSourceProtector removed → use WithRateLimiter and WithCircuitBreaker.
  • Keyspace config now flows through main Config options (no KeySpaceConfigProvider).
    • Use WithKeySpaceMaxBytes, WithKeySpaceDefaultTTL, WithKeySpaceReadTimeout,
      WithKeySpaceWriteTimeout, WithKeySpaceWarmKeys, WithKeySpaceRateLimiter,
      WithKeySpaceCircuitBreaker.
  • Admin and warmup configs now live in dedicated packages:
    • admin.Config
    • warmup.Config

🧪 Quality

  • Added production-oriented tests for admin and warmup behavior.
  • Fixed race conditions in warmup tests and improved mock safety.

📌 Notes

  • WaitTimeout > 0 for rate limiting may return context.DeadlineExceeded when waiting exceeds the limit.
  • Admin endpoints should be protected (reverse proxy / ACLs) in production.

📚 Docs

  • README expanded with quick start, admin endpoint examples, warmup behavior, and precedence rules.

🔗 Pull Requests

  • refactor: enhance implementation with additional features by @Tochemey in #12

Full Changelog: v0.3.0...v0.4.0

v0.3.0

13 Dec 11:57
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

What's Changed

Full Changelog: v0.2.0...v0.3.0

v0.2.0

12 Feb 21:17
3703874

Choose a tag to compare

What's Changed

Full Changelog: v0.1.0...v0.2.0

v0.1.0

09 Feb 20:13
1c4e254

Choose a tag to compare

What's Changed

  • Initial Release contains all required functionalities to build a production-ready Read-Through cache system.

Pull Requests

New Contributors

Full Changelog: https://github.com/Tochemey/distcache/commits/v0.1.0