Skip to content

chore(deps): bump memcache from 0.20.0 to 0.21.0 - #49

Merged
NullSablex merged 2 commits into
masterfrom
dependabot/cargo/memcache-0.21.0
Aug 30, 2026
Merged

chore(deps): bump memcache from 0.20.0 to 0.21.0#49
NullSablex merged 2 commits into
masterfrom
dependabot/cargo/memcache-0.21.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 30, 2026

Copy link
Copy Markdown

Bumps memcache from 0.20.0 to 0.21.0.

Release notes

Sourced from memcache's releases.

v0.21.0

What's Changed

This release focuses on the experimental memcache::exp module. The low-level MetaClient from 0.20 is replaced by a high-level client whose verbs hide CAS tokens and leases from caller code. The stable memcache::Client is unchanged.

exp is still experimental and may break between minor versions. Pin the minor version if you depend on it:

[dependencies]
memcache = "0.21"

New high-level client: exp::Memcache and exp::AsyncMemcache

  • Blocking scenario client Memcache with verbs named for what you are doing: get, set, delete, counters, update (read, compare and swap, retry loop handled internally) and fetch (compute a missing value once, with dogpile protection via leases)
  • AsyncMemcache on tokio, behind the tokio feature, with the same verb set
  • Scenario layer built on plan / finish functions in the exp core so both clients share the same logic
  • Raw meta commands remain reachable through cache.meta()
  • Pre-connect builder: timeout, connect_timeout, max_idle, max_idle_age, max_connections, degrade, on_error, hash_function, router
  • Router trait for custom placement, with rendezvous hashing as the default
  • Failure policy (degrade) and an on_error observability hook
  • Keys accept anything AsRef<[u8]>; client_flags override on writes

Types

  • New Ttl, Freshness, Encode / Decode traits and a dedicated exp::Error type
  • Protocol layer now works on Ttl and raw byte values
  • New serde_json feature: serialize values to JSON via serde

Batches

  • run_batch reports per-operation results instead of a single outcome
  • Typed run_many batch entry point on both clients
  • Async batches exchange server groups concurrently, bounded by one deadline
  • Partial batch responses are order-checked and opaque tokens are verified

Connection handling

  • Idle connections are probed before reuse and dropped past max_idle_age
  • Per-server connection cap (max_connections) with token give-back on failure
  • Redial on stale connections, but not after a timeout
  • IO timeout applied as one deadline per exchange in both clients
  • Ambiguity attribution: errors distinguish whether a write was fully sent
  • Bounded VA length when parsing values
  • Routing uses the configured address rather than the resolved one

API renames

  • MetaClient replaced by Memcache / AsyncMemcache
  • get_touch renamed to get_and_touch

... (truncated)

Commits
  • 3be7531 🔖 Bump version to 0.21.0
  • 75d7871 📝 Add a Simplified Chinese version of the exp guide
  • 4849aef 📝 Split the exp guide into docs/exp.md and rework the README feature list
  • 1ee0b1b ✅ Add exp scenario layer integration tests and drop redundant unit tests
  • 62398f1 ♻️ Rename exp get_touch to get_and_touch
  • b4305f6 📝 Restructure the exp README section to match the Python client docs
  • 6af48ef 🐛 Fix exp review findings: bounded VA length, order-checked partial batches, ...
  • 1d0783b 📝 Document the exp scenario layer in the module docs and README
  • 57fc446 ✨ Harden the exp engine: idle age, connection cap, redial, ambiguity attribut...
  • b688d6e ♻️ Route exp keys through a Router trait with rendezvous hashing by default
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file minor Compatible new feature (minor bump) rust Pull requests that update rust code labels Aug 30, 2026
@dependabot
dependabot Bot requested a review from NullSablex as a code owner August 30, 2026 12:23
@dependabot dependabot Bot added minor Compatible new feature (minor bump) dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Aug 30, 2026
Bumps [memcache](https://github.com/aisk/rust-memcache) from 0.20.0 to 0.21.0.
- [Release notes](https://github.com/aisk/rust-memcache/releases)
- [Commits](aisk/rust-memcache@v0.20.0...v0.21.0)

---
updated-dependencies:
- dependency-name: memcache
  dependency-version: 0.21.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/cargo/memcache-0.21.0 branch from 3209c0e to 6bcc29a Compare August 30, 2026 20:13
@NullSablex
NullSablex merged commit 69c452d into master Aug 30, 2026
8 checks passed
@dependabot
dependabot Bot deleted the dependabot/cargo/memcache-0.21.0 branch August 30, 2026 20:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file minor Compatible new feature (minor bump) rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant