Skip to content

Releases: foyer-rs/foyer

v0.20.1

27 Oct 15:31
483b13e

Choose a tag to compare

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

Full Changelog: v0.20.0...v0.20.1

v0.20.0

23 Sep 09:26
95949a3

Choose a tag to compare

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

New Contributors

  • @Copilot made their first contribution in #1140

Full Changelog: v0.19.2...v0.20.0

v0.19.2

02 Sep 06:00
a664be1

Choose a tag to compare

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_engine specified.

What's Changed

Full Changelog: v0.19.1...v0.19.2

v0.19.1

22 Aug 08:42
238fa02

Choose a tag to compare

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 serde for properties.

What's Changed

Full Changelog: v0.19.0...v0.19.1

v0.18.1

16 Aug 14:20
263e7b1

Choose a tag to compare

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

Full Changelog: v0.18.0...v0.18.1

v0.19.0

14 Aug 07:48
a4331a9

Choose a tag to compare

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/enable when feature tracing is 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

13 Jul 04:24
fa04556

Choose a tag to compare

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 Arc inside foyer implementation to be compatible with more features. fetch() doesn't requires keys to be Clone anymore.
  • 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 make system.
  • 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

Thank you, @KarinaMilet . 🥰

Full Changelog: v0.17.4...v0.18.0

v0.17.4

27 Jun 07:36
5bc01ab

Choose a tag to compare

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> as DefaultHasher to make hash results consistent across runs.

What's Changed

Full Changelog: v0.17.3...v0.17.4

v0.17.3

22 May 06:09
8f723b9

Choose a tag to compare

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 for std::hash::BuilderHasherDefault<ahash::AHaser>) as the default hasher to guarantee hash algorithm stable across runs.

What's Changed

Full Changelog: v0.17.2...v0.17.3

v0.17.2

14 May 07:39
da590b1

Choose a tag to compare

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

Full Changelog: v0.17.1...v0.17.2