Skip to content

Releases: foyer-rs/foyer

v0.14.0

14 Jan 06:44
2e91826
Compare
Choose a tag to compare

Releases

crate version
foyer 0.14.0
foyer-common 0.14.0
foyer-memory 0.14.0
foyer-storage 0.14.0
foyer-bench 0.14.0

Changes

  • Insert disk cache on in-memory cache eviction, instead of double write on insertion.
  • Extrace multiple metrics backend support to crate mixtrics.

What's Changed

  • test(ci): temporarily disable lsan check by @MrCroxx in #823
  • test: add unit test to prevent batch insertion overflow by @MrCroxx in #821
  • test: add cargo-machete test in make fast and ci by @MrCroxx in #825
  • chore: update license header and happy 2025! 🎉 by @MrCroxx in #827
  • refactor: simplify record, restrict record's visibility by @MrCroxx in #826
  • chore: fix duplicated license header by @MrCroxx in #829
  • test(ci): remove lsan alone test on CI, for asan already integrated it by @MrCroxx in #831
  • refactor: make metrics related components dyn by @MrCroxx in #833
  • feat: impl eviction-time disk cache insertion by @MrCroxx in #830
  • perf: don't iter evicted entries with noop disk cache by @MrCroxx in #834
  • refactor: use crate mixtrics for various metrics support by @MrCroxx in #835
  • test: upgrade mixtrics, add metrics model test by @MrCroxx in #836
  • chore: update deps and update changelog by @MrCroxx in #837
  • chore: format toml with taplo and check fmt on CI by @MrCroxx in #838
  • chore: release foyer v0.14.0 by @MrCroxx in #839

Full Changelog: 0.13.1...v0.14.0

0.13.1

04 Dec 09:21
98294d1
Compare
Choose a tag to compare

Releases

crate version
foyer 0.13.1
foyer-common 0.13.1
foyer-memory 0.13.1
foyer-storage 0.13.1
foyer-bench 0.13.1

Changes

  • Refactor cache builders. name field requires Cow<'static, str> instead of &'static str for convenience.

What's Changed

  • doc: enable necessary features when building docs by @MrCroxx in #812
  • refactor: use Cow<'static, str> instead of &'static str by @MrCroxx in #814
  • chore: release foyer v0.13.1 by @MrCroxx in #815

Full Changelog: 0.13.0...0.13.1

0.13.0

03 Dec 06:44
54893fe
Compare
Choose a tag to compare

Releases

crate version
foyer 0.13.0
foyer-common 0.13.0
foyer-memory 0.13.0
foyer-storage 0.13.0
foyer-bench 0.13.0

Changes

  • Refine in-memory cache framework:
    • Allow "get"/"release"/"entry drop" to acquire read lock or lock-free if the algorithm allows.
    • Make most Eviction APIs safe, only acquire unsafe Rust while accessing algorithm managed per-entry state with UnsafeCell.
    • Replace the "reinsertion" design with release with real "release last ref" design.
    • Rename some APIs.
  • Refine metrics framework:
    • Replace metrics with customized metrics framework to support various metrics backend.
    • Implement built-in metrics exporter that adapts to crate prometheus/prometheus-client/opentelemetry.

What's Changed

  • feat: support no disk (mem only) for foyer bench by @MrCroxx in #773
  • feat: use equivalent to loose the key trait bounds by @MrCroxx in #774
  • refactor: use workspace lint rules for active crates by @MrCroxx in #776
  • chore: update metrics and ot deps by @MrCroxx in #782
  • chore: add warning when region count is smaller than expected by @MrCroxx in #784
  • feat: simplify foyer in-memory cache framework by @MrCroxx in #785
  • fix: fix insert ephemeral by @MrCroxx in #786
  • refactor: wrapper no/immutable/mutable op into Op by @MrCroxx in #788
  • chore: update default grafana view to a mroe compacted layout by @MrCroxx in #781
  • feat: introduce metrics framework for different metrics backend by @MrCroxx in #790
  • feat: introduce both opentelemetry 0.26 and 0.27 exporter by @MrCroxx in #793
  • feat: support in-memory cache online resize by @MrCroxx in #794
  • fix: fix lru high priority weight calculation by @MrCroxx in #797
  • doc: add example for export metrics with prometheus and hyper by @MrCroxx in #799
  • feat: support multiple foyer instance share the same prometheus by @MrCroxx in #801
  • refacor: give hybrid cache builder a default metrics registry type by @MrCroxx in #803
  • refactor: export metrics exporters in mod level by @MrCroxx in #804
  • feat: support prometheus-client metrics exporter by @MrCroxx in #805
  • chore: add slatedb as a show case by @MrCroxx in #709
  • chore: update "Other Examples" in readme by @MrCroxx in #806
  • chore: make clippy happy with rust 1.83.0 by @MrCroxx in #807
  • chore: upgrade hashbrown deps to 0.15 by @MrCroxx in #809
  • chore: upgrade deps by @MrCroxx in #810
  • chore: release foyer v0.13.0 by @MrCroxx in #811

Full Changelog: 0.12.2...0.13.0

0.12.2

11 Oct 02:54
0244d59
Compare
Choose a tag to compare

2024-10-11

Releases

crate version
foyer 0.12.2
foyer-common 0.12.2
foyer-intrusive 0.12.2
foyer-memory 0.12.2
foyer-storage 0.12.2
foyer-bench 0.12.2

Changes

  • Revert "Scale shards to 1 when there is not enough capacity". It would be useful sometimes. Just raise the warning.

What's Changed

  • fix: do not scale in shards when capacity is not enough, just warn by @MrCroxx in #769
  • chore: disable madsim test, just test build by @MrCroxx in #770
  • chore: release foyer v0.12.2 by @MrCroxx in #771

Full Changelog: 0.12.1...0.12.2

0.12.1

10 Oct 09:11
192d5b8
Compare
Choose a tag to compare

Releases

crate version
foyer 0.12.1
foyer-common 0.12.1
foyer-intrusive 0.12.1
foyer-memory 0.12.1
foyer-storage 0.12.1
foyer-bench 0.12.1

Changes

  • Downgrade hashbrown to 0.14 to fix build on nightly for projects using hashbrown < 0.15.
  • Fix build with madsim.
  • Refine small object disk cache.
  • Scale shards to 1 when there is not enough capacity.

What's Changed

Full Changelog: 0.12.0...0.12.1

0.12.0

09 Oct 06:13
cf53a60
Compare
Choose a tag to compare

Releases

crate version
foyer 0.12.0
foyer-common 0.12.0
foyer-intrusive 0.12.0
foyer-memory 0.12.0
foyer-storage 0.12.0
foyer-bench 0.12.0

Changes

  • Align the versions of all components to the same. 📣
  • Introduce small object disk cache. 🎉
  • Introduce mixed/large/small storage engine.
  • Refactor builders for the hybrid cache.
  • Introduce submit queue size threshold to prevent from channel piling up.
  • Support jeprof for foyer-bench.
  • Rename feature "mtrace" to "tracing".

What's Changed

  • chore: update license checker version by @MrCroxx in #739
  • feat: introduce small object disk cache by @MrCroxx in #658
  • chore: use workspace.package to manage crate meta by @MrCroxx in #740
  • feat: impl destroy for sodc by @MrCroxx in #744
  • refactor: refine device build by @MrCroxx in #745
  • feat: introduce submit queue size threshold by @MrCroxx in #749
  • bug: fix panic when serde as batching by @MrCroxx in #750
  • chore: fix typos with the lates typos checker by @MrCroxx in #752
  • feat: support jeprof for foyer-bench by @MrCroxx in #748
  • chore: refine cargo features and deps, rename feature mtrace to tracing by @MrCroxx in #754
  • refactor: refine runtime and tracing options by @MrCroxx in #756
  • chore: release 0.12.0 by @MrCroxx in #755

Full Changelog: 0.11.5...0.12.0

0.11.5

24 Sep 16:56
6ac0e83
Compare
Choose a tag to compare

2024-09-25

Releases

crate version
foyer 0.11.5
foyer-common 0.9.5
foyer-intrusive 0.9.5
foyer-memory 0.7.5
foyer-storage 0.10.5
foyer-bench 0.3.5

Changes

  • Fix panic on dropping the hybrid cache. #736

What's Changed

  • fix: hold runtime ref and handle to prevent spawn after shutdown by @MrCroxx in #736
  • chore: release foyer 0.11.5 by @MrCroxx in #737

Full Changelog: 0.11.4...0.11.5

0.11.4

24 Sep 07:39
5fe3957
Compare
Choose a tag to compare

Releases

crate version
foyer 0.11.4
foyer-common 0.9.4
foyer-intrusive 0.9.4
foyer-memory 0.7.4
foyer-storage 0.10.4
foyer-bench 0.3.4

Changes

  • Revert pre-serialization design. The insert latency and memory usage would be better for most cases.
  • Rename with_buffer_threshold to with_buffer_pool_size. The old method is kept but marked as deprecated.
  • Raise a warn when using DirectFileDevice on within a file system.

What's Changed

  • doc: fix a tiny broken link by @MrCroxx in #728
  • refactor: rename with_buffer_threshold to with_buffer_pool_size by @MrCroxx in #729
  • chore: warn if DirectFileDevice is used in a fs by @MrCroxx in #730
  • refactor: revert the pre-serialization and parallel buffer by @MrCroxx in #717
  • refactor: replace manual future enum with auto_enum by @MrCroxx in #732
  • chore: release foyer 0.11.4 by @MrCroxx in #733

Full Changelog: 0.11.3...0.11.4

0.11.3

20 Sep 05:31
a52da3a
Compare
Choose a tag to compare

2024-09-20

Releases

crate version
foyer 0.11.3
foyer-common 0.9.3
foyer-intrusive 0.9.3
foyer-memory 0.7.3
foyer-storage 0.10.3
foyer-bench 0.3.3

Changes

  • Fix panicked by io buffer pool alignment issue.

What's Changed

Full Changelog: 0.11.2...0.11.3

0.11.2

12 Sep 07:25
1bafdfa
Compare
Choose a tag to compare

2024-09-12

crate version
foyer 0.11.2
foyer-common 0.9.2
foyer-intrusive 0.9.2
foyer-memory 0.7.2
foyer-storage 0.10.2
foyer-bench 0.3.2

Changes

  • Support windows (for foyer only).
  • Bump rust toolchain to 1.81.0.
  • Expose in-memory cache builder and cache entry.
  • Reduce page fault and vec growth overhead.
  • Use bytes size for foyer-bench.
  • Fix install deps script.

What's Changed

New Contributors

Full Changelog: 0.11.1...0.11.2