diff --git a/.rustme/config.ron b/.rustme/config.ron index 27197e5..1898778 100644 --- a/.rustme/config.ron +++ b/.rustme/config.ron @@ -33,7 +33,7 @@ Configuration( ), "src-base": ( default: "https://github.com/khonsulabs/okaywal/blob/main", - release: "https://github.com/khonsulabs/okaywal/blob/v0.0.0", + release: "https://github.com/khonsulabs/okaywal/blob/v0.3.0", ), "logmanager-trait": ( default: "https://khonsulabs.github.io/okaywal/main/okaywal/trait.LogManager.html", diff --git a/CHANGELOG.md b/CHANGELOG.md index 43dce8e..def2622 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## v0.3.0 + +### Added + +- `WriteAheadLog::checkpoint_active()` is a new function that checkpoints the + currently stored data, regardless of whether the configured thresholds are + met. This function returns after the active file has been rotated and the + checkpointing thread has been notified of the file to checkpoint. Thanks to + @blakesmith for implementing this in [#11][11] + +[11]: https://github.com/khonsulabs/okaywal/pull/11 + ## v0.2.0 ### Breaking Changes diff --git a/Cargo.toml b/Cargo.toml index a018eaa..de38acf 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "okaywal" -version = "0.2.0" +version = "0.3.0" license = "MIT OR Apache-2.0" edition = "2021" description = "An okay Write-Ahead Log implementation" @@ -13,12 +13,12 @@ rust-version = "1.58" [dependencies] parking_lot = "0.12.1" crc32c = "0.6.3" -flume = "0.10.14" +flume = "0.11.0" tracing = { version = "0.1.36", optional = true } [dev-dependencies] tempfile = "3.3.0" -fastrand = "1.8.0" +fastrand = "2.0.1" [workspace] members = ["benchmarks", "xtask"] diff --git a/src/tests.rs b/src/tests.rs index 224e166..b0eec07 100644 --- a/src/tests.rs +++ b/src/tests.rs @@ -199,7 +199,7 @@ fn multithreaded() { let wal = wal.clone(); let written_entries = original_entries.clone(); threads.push(std::thread::spawn(move || { - let rng = fastrand::Rng::new(); + let mut rng = fastrand::Rng::new(); for _ in 1..10 { let mut messages = Vec::with_capacity(rng.usize(1..=8)); let mut writer = wal.begin_entry().unwrap();