Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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.0.5"
version = "2.1.0"
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
Expand Down
31 changes: 18 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,19 +40,24 @@ does not offer.
measured on a XIAO ESP32-S3 at 240 MHz, both allocators built from one source.
It costs more RAM to get that (64 KiB vs 8 KiB); both numbers are below.

> **Status: `2.0.5`.** The API is frozen and changes follow semver. 2.0.1
> through 2.0.5 are patch releases: no public API moved. 2.0.2 halved the
> allocator's flash cost on a microcontroller and cut its gzipped wasm overhead
> by a third; 2.0.3 halved the flash cost again and took the static RAM cost
> from 3 KB to under 300 bytes; 2.0.4 makes a firmware's region whole segments
> with `prim::fixed::Region<N>` β€” unpadded by construction, the floor 64 KiB β€”
> and refuses a base that would silently cost a segment; 2.0.5 makes segments
> stride from that region's base, so it needs no segment alignment and the
> linker leaves no gap in front of it. Two notes for embedded consumers: 2.0.4
> moves what `good_region_size` / `region_for` / `MIN_REGION` return, and
> 2.0.5 reduces `Region`'s alignment to 16 bytes β€” `--cfg ra_aligned_region`
> restores the 2.0.4 layout (see
> [Embedded](#embedded-bare-metal-measured-on-silicon) and the CHANGELOG).
> **Status: `2.1.0`.** The API is frozen and changes follow semver. 2.0.1
> through 2.0.5 were patch releases; **2.1.0 is a minor because it ADDS public
> items and moves nothing** β€” `cargo-semver-checks` calls it API-compatible.
> 2.0.2 halved the allocator's flash cost on a microcontroller and cut its
> gzipped wasm overhead by a third; 2.0.3 halved the flash cost again and took
> the static RAM cost from 3 KB to under 300 bytes; 2.0.4 makes a firmware's
> region whole segments with `prim::fixed::Region<N>` β€” unpadded by
> construction, the floor 64 KiB β€” and refuses a base that would silently cost
> a segment; 2.0.5 makes segments stride from that region's base, so it needs
> no segment alignment and the linker leaves no gap in front of it; 2.1.0 names
> the large-allocation ceiling in the API and adds
> `--cfg ra_segment_size="256k"` for a firmware whose allocation unit is tens
> of kilobytes. Three notes for embedded consumers: 2.0.4 moves what
> `good_region_size` / `region_for` / `MIN_REGION` return; 2.0.5 reduces
> `Region`'s alignment to 16 bytes, and `--cfg ra_aligned_region` restores the
> 2.0.4 layout; and if you allocate at or above
> `prim::fixed::LARGEST_SHARED_ALLOC` (61,440 bytes by default) read
> [Embedded](#embedded-bare-metal-measured-on-silicon) before sizing a region.
>
> **What breaks, and why it is a major.** Two things, neither of which touches a
> consumer on default features: `default-features = false` now selects the
Expand Down
2 changes: 2 additions & 0 deletions crates/rusty_alloc/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [2.1.0](https://github.com/Remade-With-Rust/rusty_alloc/compare/rusty_alloc-v2.0.5...rusty_alloc-v2.1.0) - 2026-09-10

### Added

- **`--cfg ra_segment_size="256k"`, for a firmware whose allocation unit is
Expand Down
6 changes: 6 additions & 0 deletions crates/rusty_alloc_api/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [2.1.0](https://github.com/Remade-With-Rust/rusty_alloc/compare/rusty_alloc-api-v2.0.5...rusty_alloc-api-v2.1.0) - 2026-09-10

### Other

- release v2.1.0

## [2.0.5](https://github.com/Remade-With-Rust/rusty_alloc/compare/rusty_alloc-api-v2.0.4...rusty_alloc-api-v2.0.5) - 2026-09-09

### Other
Expand Down
2 changes: 1 addition & 1 deletion crates/rusty_alloc_api/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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.0.5", default-features = false }
rusty_alloc = { path = "../rusty_alloc", version = "2.1.0", default-features = false }

[features]
# Mirrors the core's (P3, docs/plans/small-metal.md). Default-on, so every
Expand Down
Loading