Releases: foyer-rs/foyer
Releases · foyer-rs/foyer
v0.20.1
Release
| 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 |
Changes
- Fix metrics "Disk Op Duration".
What's Changed
- fix: fix disk op duration metrics (#1169) by @MrCroxx in #1170
- chore: release foyer v0.20.1 by @MrCroxx in #1171
Full Changelog: v0.20.0...v0.20.1
v0.20.0
2025-09-23
Release
| 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 |
Changes
- Fix race condition (panic / deadlock) when there are concurrent disk cache write operations and fetch operations on the same key.
- Fix heap-use-after-free on dropping foyer cache / hybrid cache while there are still ongoing disk IOs.
- Remove property
ephemeral.
What's Changed
- chore: cherry-pick changelog of v0.19.0, bump main version by @MrCroxx in #1102
- chore: update changelog for v0.18.1 by @MrCroxx in #1106
- feat: support serde for properties by @MrCroxx in #1108
- chore: fulfill changelog by @MrCroxx in #1112
- docs: move website repo to subdir in this repo by @MrCroxx in #1124
- fix: fix website base url by @MrCroxx in #1125
- fix: fix foyer website logo by @MrCroxx in #1126
- docs: fix license check badge by @MrCroxx in #1130
- fix: fix ephemeral entry becomes ephemeral after access by @MrCroxx in #1123
- docs: update arch docs by @MrCroxx in #1132
- chore: update npm dependencies version by @MrCroxx in #1133
- docs: continue updating arch docs by @MrCroxx in #1134
- docs: update arch docs by @MrCroxx in #1135
- docs: update case study - RisingWave by @MrCroxx in #1136
- docs: update case study - RisingWave by @MrCroxx in #1137
- fix: HUAF in PsyncIoEngine during task cancellation by @Copilot in #1140
- docs: add arch and case study docs link in readme by @MrCroxx in #1146
- fix: fix issue 1121 panics on concurrent disk cache write & fetch by @MrCroxx in #1147
- refactor: restore raw waiter with std hashmap by @MrCroxx in #1148
- build: refine ci triggers (#1151) by @MrCroxx in #1152
- fix: fix enabling dev-dependencies features (#1154) by @MrCroxx in #1155
- chore: release foyer v0.20.0 by @MrCroxx in #1150
New Contributors
- @Copilot made their first contribution in #1140
Full Changelog: v0.19.2...v0.20.0
v0.19.2
Releases
| 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 |
Changes
- Fix: Fix hybrid cache in-memory compatible mode conditional statement without
io_enginespecified.
What's Changed
- fix: fix is_noop() logic in store.rs (#1113) by @MrCroxx in #1114
- chore: release foyer v0.19.2 by @MrCroxx in #1115
Full Changelog: v0.19.1...v0.19.2
v0.19.1
Releases
| 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 |
Changes
- Feature: Support
serdefor properties.
What's Changed
- feat: support serde for properties (#1108) by @MrCroxx in #1109
- chore: release foyer v0.19.1 by @MrCroxx in #1110
Full Changelog: v0.19.0...v0.19.1
v0.18.1
2025-08-16
Releases
| crate | version |
|---|---|
| foyer | 0.18.1 |
| foyer-common | 0.18.1 |
| foyer-memory | 0.18.1 |
| foyer-storage | 0.18.1 |
| foyer-bench | 0.18.1 |
Changes
- Fix: Compare checksum before large object disk cache entry serialization.
What's Changed
- fix: fix panic on decode corrupted header by @MrCroxx in #1097
- fix: fix panic on decode corrupted header (#1097) by @MrCroxx in #1103
- fix: fix panic on decode corrupted header (#1097) by @MrCroxx in #1104
Full Changelog: v0.18.0...v0.18.1
v0.19.0
Releases
| crate | version |
|---|---|
| foyer | 0.19.0 |
| foyer-common | 0.19.0 |
| foyer-memory | 0.19.0 |
| foyer-storage | 0.19.0 |
| foyer-bench | 0.19.0 |
Changes
- Refactor: Introduce new disk cache engine, io engine, io device abstraction.
- Feature: Introduce io_uirng based disk cache io engine.
- Feature: Support combine multiple devices for disk cache engine.
- Feature: Make disk cache write queue queryable.
- Feature: Support filter for in-memory cache.
- Fix: Remove
fastrace/enablewhen featuretracingis enabled. - Refactor: Rename large object disk cache engine to block engine.
- Refactor: Decouple block engine block size with device region size, remove device region size abstraction.
- Refactor: Refactor disk cache builder to provide more user-friendly and developer-friendly APIs.
- Refactor: Temporarily REMOVE small object disk cache engine and mixed disk cache engine. Plan to add them back in the refactored form in the next version.
What's Changed
- chore: bump to foyer v0.19.0-dev by @MrCroxx in #1067
- feat: introduce io engine abstraction by @MrCroxx in #1063
- chore: remove unreferenced files by @MrCroxx in #1068
- refactor: reorg modules by @MrCroxx in #1069
- refactor: introduce parition abstrction to device by @MrCroxx in #1070
- test: add unit test for aggregated devices by @MrCroxx in #1071
- feat: add iopoll for uring io engine and more tunable args by @MrCroxx in #1072
- refactor: refine region manager by @MrCroxx in #1074
- feat: add more tuning args for uring engine by @MrCroxx in #1076
- chore: add ZeroFS to user showcase by @MrCroxx in #1077
- test: support adding latency for cache miss in foyer-bench by @MrCroxx in #1079
- feat: introduce keeper to make disk cache write queue queryable by @MrCroxx in #1080
- refactor: remove device dependency in io engine by @MrCroxx in #1083
- refactor: refactor io stock with better abstraction by @MrCroxx in #1086
- refactor: rename LargeObjectEngine to BlockEngine by @MrCroxx in #1087
- refactor: replace admisstion/reinsertion pickers with filters by @MrCroxx in #1088
- feat: introduce estimated size filter by @MrCroxx in #1089
- chore: make clippy happy on Rust toolchain v1.89.0 by @MrCroxx in #1092
- docs: Adds AntTP to 'Projects Using Foyer' section of README.md by @traktion in #1091
- feat: support insert disposable entry to make api competiable in future by @MrCroxx in #1093
- feat: support filter for in-memory cache, rename old to storage filter by @MrCroxx in #1094
- refactor: expose in-memory and disk cache API by @MrCroxx in #1096
- fix: prioritize checksum comparison on deserialize by @MrCroxx in #1098
- fix: remove fastrace/enable when tracing is enabled by @MrCroxx in #1099
- chore: release foyer v0.19.0 by @MrCroxx in #1100
New Contributors
Full Changelog: v0.18.0...v0.19.0
v0.18.0
Releases
| crate | version |
|---|---|
| foyer | 0.18.0 |
| foyer-common | 0.18.0 |
| foyer-memory | 0.18.0 |
| foyer-storage | 0.18.0 |
| foyer-bench | 0.18.0 |
Changes
- Introduce SIEVE algorithm for in-memory cache eviction policy.
- Wrap key and value with
Arcinside foyer implementation to be compatible with more features.fetch()doesn't requires keys to beCloneanymore. - Expose internal foyer error types.
- Fix
delete()implementation for large object disk cache to prevent from phantom entries. - Remove unnecessary and confusing
with_flush()API. - Use "cargo xtask"-style for developing, yank
makesystem. - Bump MSRV to v1.82.0
What's Changed
- test: pass clippy test on latest stable toolchain by @MrCroxx in #1008
- test: add ut for large entry insertion by @MrCroxx in #1007
- refactor: refine disk cache engine builder by @MrCroxx in #1009
- fix: use BuilderHasherDefaultahash::AHahser as default hasher by @MrCroxx in #1012
- refactor: re-export BuildHasherDefault as DefaultHasher by @MrCroxx in #1013
- chore: bump foyer v0.17.3 (#1015) by @MrCroxx in #1017
- ci: remove cargo sort check since it conflicts with taplo by @MrCroxx in #1020
- feat: make clap support a separate feature, impl more by @MrCroxx in #1019
- fix: use open metrics naming, fix dashboard, upgrade mixtrics by @MrCroxx in #1024
- chore: switch mixtrics to release v0.2.0 by @MrCroxx in #1025
- feat: add interface to check is disk cache is enabled by @MrCroxx in #1027
- fix: make clippy happy with Rust v1.88.0 by @MrCroxx in #1028
- fix: use xxhash64 by default for consistent hash over runs by @MrCroxx in #1029
- ci: clear dir before each fuzzy test by @MrCroxx in #1031
- chore: cherry pick release v0.17.4 changelog (#1032) by @MrCroxx in #1034
- chore: refine dependencies and bump msrv to v1.82.0 by @MrCroxx in #1044
- feat: implement SIEVE eviction policy for foyer-memory by @KarinaMilet in #1041
- refactor: wrap hybrid cache field with Arc by @MrCroxx in #1048
- build: replace makefile ecosystem with cargo x-task eco by @MrCroxx in #1049
- build: complete yank makefile, update readme and pr template by @MrCroxx in #1050
- refactor: remove unnecessary and misleading
with_flush()API by @MrCroxx in #1052 - chore: fix some tiny typos by @MrCroxx in #1053
- fix: fix delete by recording tombstones in lodc indexer by @MrCroxx in #1054
- chore: downgrade no dedicated runtime log to info level, with hints by @MrCroxx in #1055
- feat: impl auto close for hybrid cache by @MrCroxx in #1056
- fix: move some storage metrics to store instead of each engine by @MrCroxx in #1057
- refactor: expose internal error for hybrid cache by @MrCroxx in #1060
- refactor: refine error downcast related API by @MrCroxx in #1061
- chore: release foyer v0.18.0 by @MrCroxx in #1065
New Contributors
- @KarinaMilet made their first contribution in #1041
Thank you, @KarinaMilet . 🥰
Full Changelog: v0.17.4...v0.18.0
v0.17.4
Releases
| crate | version |
|---|---|
| foyer | 0.17.4 |
| foyer-common | 0.17.4 |
| foyer-memory | 0.17.4 |
| foyer-storage | 0.17.4 |
| foyer-bench | 0.17.4 |
Changes
- Use
BuildHasherDefault<XxHash64>asDefaultHasherto make hash results consistent across runs.
What's Changed
- fix: use xxhash64 by default, make clippy happy with rust v1.88 by @MrCroxx in #1030
- test: pass clippy test on latest stable toolchain (#1008) (#1014) by @MrCroxx in #1032
Full Changelog: v0.17.3...v0.17.4
v0.17.3
Releases
| crate | version |
|---|---|
| foyer | 0.17.3 |
| foyer-common | 0.17.3 |
| foyer-memory | 0.17.3 |
| foyer-storage | 0.17.3 |
| foyer-bench | 0.17.3 |
Changes
- Use
DefaultHasher(alias forstd::hash::BuilderHasherDefault<ahash::AHaser>) as the default hasher to guarantee hash algorithm stable across runs.
What's Changed
- test: pass clippy test on latest stable toolchain (#1008) by @MrCroxx in #1014
- chore: release foyer v0.17.3 by @MrCroxx in #1015
Full Changelog: v0.17.2...v0.17.3
v0.17.2
Releases
| crate | version |
|---|---|
| foyer | 0.17.2 |
| foyer-common | 0.17.2 |
| foyer-memory | 0.17.2 |
| foyer-storage | 0.17.2 |
| foyer-bench | 0.17.2 |
Changes
- Fix disk cache return wrong entry on key hash collision.
What's Changed
- fix: fix return wrong entry on hash collision by @MrCroxx in #1004
- chore: release foyer v0.17.2 by @MrCroxx in #1005
Full Changelog: v0.17.1...v0.17.2