NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #2959 most downloaded on crates.io
storage engine for foyer - Hybrid cache for Rust
Last release 29 days ago
09 Sep 2026
Ships unpredictably
gaps range from 9 days to 7 months
Rarely documented
notes for 13 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
68 releases · first in 2023
feat: export PieceRef so the Engine trait can be implemented downstream by @aandraca-amazon in #1330
Full Changelog: v0.22.5...v0.22.6
One column per month.
chore: use mea primitives over tokio::sync by @tisonkun in #1209
impl From<std::io::Error> for foyer::Error by @shikhar in #1215Spawner and foyer-tokio crate by @MrCroxx in #1229get_or_fetch API by @MrCroxx in #1264mea with asyncband by @mingcheng in #1313Full Changelog: v0.21.0...v0.22.5
Support selectively flushing matching entries from memory to storage with Cache::flush_if() and HybridCache::flush_if() . #1320
| crate | version |
|---|---|
| foyer | 0.22.4 |
| foyer-tokio | 0.22.4 |
| foyer-common | 0.22.4 |
| foyer-memory | 0.22.4 |
| foyer-storage | 0.22.4 |
| foyer-bench | 0.22.4 |
Features and enhancements:
Cache::flush_if() and HybridCache::flush_if(). #1320SieveConfig from the foyer prelude. #1285Throttle constructors and builder methods usable in const contexts. #1303Fixes:
Fix: Fix false positive hybrid cache miss metrics with HybridCache::get_or_fetch() API call.
| crate | version |
|---|---|
| foyer | 0.22.3 |
| foyer-tokio | 0.22.3 |
| foyer-common | 0.22.3 |
| foyer-memory | 0.22.3 |
| foyer-storage | 0.22.3 |
| foyer-bench | 0.22.3 |
HybridCache::get_or_fetch() API call.Full Changelog: v0.22.2...v0.22.3
chore: release foyer v0.22.2 by @MrCroxx in #1254
| crate | version |
|---|---|
| foyer | 0.22.2 |
| foyer-tokio | 0.22.2 |
| foyer-common | 0.22.2 |
| foyer-memory | 0.22.2 |
| foyer-storage | 0.22.2 |
| foyer-bench | 0.22.2 |
Full Changelog: v0.22.1...v0.22.2
foyer v0.22.0 was yanked due to an incorrect publish.
| crate | version |
|---|---|
| foyer | 0.22.1 |
| foyer-tokio | 0.22.1 |
| foyer-common | 0.22.1 |
| foyer-memory | 0.22.1 |
| foyer-storage | 0.22.1 |
| foyer-bench | 0.22.1 |
Note
foyer v0.22.0 was yanked due to an incorrect publish.
Important
Breaking Changes:
.with_runtime_options() and RuntimeOptions from the disk cache build. Use .with_spawner() and Spawner instead. At the same time, simplified the Runtime options that are no longer needed. #1229..Builder, and all items built by foyer are named ..Config. #1232Changes:
.with_runtime_options() and RuntimeOptions from the disk cache build. Use .with_spawner() and Spawner instead. At the same time, simplified the Runtime options that are no longer needed. #1229..Builder, and all items built by foyer are named ..Config. #1232madsim dependency when it is not needed.impl From<std::io::Error> for foyer::Error by @shikhar in #1215Spawner and foyer-tokio crate by @MrCroxx in #1229Full Changelog: v0.21.1...v0.22.1
Nothing published for this version
Fix: Fix false positive hybrid cache miss metrics with HybridCache::get_or_fetch() API call.
| crate | version |
|---|---|
| foyer | 0.21.2 |
| foyer-common | 0.21.2 |
| foyer-memory | 0.21.2 |
| foyer-storage | 0.21.2 |
| foyer-bench | 0.21.2 |
HybridCache::get_or_fetch() API call.Full Changelog: v0.22.1...v0.21.2
Implement From<std::Error> and From<bincode::Error> (if feature serde is enabled) for Error to simplify error handling.
| crate | version |
|---|---|
| foyer | 0.21.1 |
| foyer-common | 0.21.1 |
| foyer-memory | 0.21.1 |
| foyer-storage | 0.21.1 |
| foyer-bench | 0.21.1 |
From<std::io::Error> and From<bincode::Error> (if feature serde is enabled) for Error to simplify error handling.std::io::Error bincode::Errorfor Error by @MrCroxx in #1217Full Changelog: v0.21.0...v0.21.1
(The old get() API without disk cache request deduplication is deprecated.)
| crate | version |
|---|---|
| foyer | 0.21.0 |
| foyer-common | 0.21.0 |
| foyer-memory | 0.21.0 |
| foyer-storage | 0.21.0 |
| foyer-bench | 0.21.0 |
Important
Breaking Changes:
fetch() API is renamed to get_or_fetch(), and there are subtle changes in the arguments.get() API functions the same as the previous obtain(), and the obtain() API is removed because the naming is obscure.Features and Enhances:
get() API: Replace the old obtain() API, support memory and disk cache read, request deduplication, and other optimizations. (The old get() API without disk cache request deduplication is deprecated.)get_or_fetch() API: Replace the old fetch() API, support memory and disk cache read, automatic cache refill on cache miss, request duduplication, and other optimizations.get() (previously obtain()) and get_or_fetch() (previously fetch()) on the same key.get_or_fetch() API.Source and Age preprotities. Now, Source refer to where the entry comes from, e.g. memory cache, disk cache, or outer; Age refer to the generation the entry is in the disk cache.Error type. Use OpenDAL-like error definition.Code for bytes::Bytes without serde feature.Bug Fixes:
x86 targets.Testing:
foyer-bench.Full Changelog: v0.20.1...v0.21.0
Fix metrics "Disk Op Duration".
| crate | version |
|---|---|
| foyer | 0.20.1 |
| foyer-common | 0.20.1 |
| foyer-memory | 0.20.1 |
| foyer-storage | 0.20.1 |
| foyer-bench | 0.20.1 |
Full Changelog: v0.20.0...v0.20.1
Fix race condition (panic / deadlock) when there are concurrent disk cache write operations and fetch operations on the same key.
| crate | version |
|---|---|
| foyer | 0.20.0 |
| foyer-common | 0.20.0 |
| foyer-memory | 0.20.0 |
| foyer-storage | 0.20.0 |
| foyer-bench | 0.20.0 |
ephemeral.Full Changelog: v0.19.2...v0.20.0
Fix: Fix hybrid cache in-memory compatible mode conditional statement without io_engine specified.
| crate | version |
|---|---|
| foyer | 0.19.2 |
| foyer-common | 0.19.2 |
| foyer-memory | 0.19.2 |
| foyer-storage | 0.19.2 |
| foyer-bench | 0.19.2 |
io_engine specified.Full Changelog: v0.19.1...v0.19.2
Feature: Support serde for properties.
| crate | version |
|---|---|
| foyer | 0.19.1 |
| foyer-common | 0.19.1 |
| foyer-memory | 0.19.1 |
| foyer-storage | 0.19.1 |
| foyer-bench | 0.19.1 |
serde for properties.Full Changelog: v0.19.0...v0.19.1
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →