diff --git a/Cargo.lock b/Cargo.lock index 044962b..2a44faf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -275,7 +275,7 @@ checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f" [[package]] name = "rusty_alloc" -version = "2.2.3" +version = "2.2.4" dependencies = [ "libc", "loom", @@ -286,14 +286,14 @@ dependencies = [ [[package]] name = "rusty_alloc-api" -version = "2.2.3" +version = "2.2.4" dependencies = [ "rusty_alloc", ] [[package]] name = "rusty_alloc-bench" -version = "2.2.3" +version = "2.2.4" dependencies = [ "libloading", "rusty_alloc", @@ -302,14 +302,14 @@ dependencies = [ [[package]] name = "rusty_alloc-ffi" -version = "2.2.3" +version = "2.2.4" dependencies = [ "rusty_alloc", ] [[package]] name = "rusty_alloc-override" -version = "2.2.3" +version = "2.2.4" dependencies = [ "rusty_alloc", "rusty_alloc-ffi", @@ -317,7 +317,7 @@ dependencies = [ [[package]] name = "rusty_alloc-wasm" -version = "2.2.3" +version = "2.2.4" dependencies = [ "rusty_alloc", ] diff --git a/Cargo.toml b/Cargo.toml index dabf768..c9a6676 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -132,7 +132,7 @@ members = [ # different files that never got the section. Fixed here, in both, and # verified by extracting the packaged `.crate` before publishing rather than # checking the live page afterwards. -version = "2.2.3" +version = "2.2.4" edition = "2024" # MSRV. Declared for the first time in 1.0.1 because this release genuinely # needs it: `asm!` label blocks (`asm_goto`, stable 1.87) carry the free path's diff --git a/crates/rusty_alloc/CHANGELOG.md b/crates/rusty_alloc/CHANGELOG.md index e902283..e02f0d1 100644 --- a/crates/rusty_alloc/CHANGELOG.md +++ b/crates/rusty_alloc/CHANGELOG.md @@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [2.2.4](https://github.com/Remade-With-Rust/rusty_alloc/compare/rusty_alloc-v2.2.3...rusty_alloc-v2.2.4) - 2026-10-08 + +### Semver note (read before upgrading) + +`rusty_alloc::heap::Heap` gained three public fields (`large_cache`, +`large_freed`, `deferred_due`). Every field of `Heap` is public, so code that +builds a `Heap` with a struct literal must add them; `cargo-semver-checks` +reports this as a breaking change. It ships as a patch deliberately: `Heap` +is allocator state that callers create with `Heap::new()`, and every known +consumer (spacedb, rusty_alloc_default, rusty_zstd) compiles unchanged. If +you build `Heap { .. }` yourself, start from `Heap::new()` instead. + ### Fixed - **Freed model memory no longer stays stranded after a loader thread diff --git a/crates/rusty_alloc_api/Cargo.toml b/crates/rusty_alloc_api/Cargo.toml index f92e533..40772bb 100644 --- a/crates/rusty_alloc_api/Cargo.toml +++ b/crates/rusty_alloc_api/Cargo.toml @@ -14,7 +14,7 @@ readme = "README.md" [dependencies] # A published crate needs a VERSION alongside the path: the path is what the # workspace builds against, the version is what crates.io resolves. -rusty_alloc = { path = "../rusty_alloc", version = "2.2.3", default-features = false } +rusty_alloc = { path = "../rusty_alloc", version = "2.2.4", default-features = false } [features] # Mirrors the core's (P3, docs/plans/small-metal.md). Default-on, so every