diff --git a/CHANGELOG.md b/CHANGELOG.md index 769a048..aa75804 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,8 +4,27 @@ All notable changes to this project will be documented in this file. ## [Unreleased] +## [0.8.1] — 2026-05-16 + ### Fixed +- **Extended-const initializer / offset truncation** (LS-A-11, UCA-M-6, + H-1 / H-2 / H-3.3). Two const-expression parsers in meld-core read + only the first operator and discarded the rest, silently truncating + any wasm 2.0 `extended-const` expression. A data / element segment + with offset `(i32.const 5)(i32.const 10) i32.add` landed at offset 5 + instead of 15; a global initialized to `(i32.const 100)(i32.const 23) + i32.add` (intended 123) was emitted as 100. Affected + `segments.rs::parse_const_expr_with_value` (data + element offsets) + and `merger.rs::convert_init_expr` (global initializers). Fix + introduces shared `fold_extended_const_i32` / + `fold_extended_const_i64` helpers that walk all operators with a + small stack-machine interpreter (i32/i64 add/sub/mul with wrapping + semantics) and return the folded scalar. Regression pinned by 6 + tests covering all three arithmetic ops and the single-const + passthrough. Surfaced by the post-v0.8.0 Mythos delta-pass sweep on + the remaining 8 Tier-5 files (the protocol introduced in #151). + - **Resource graph + merger key-matching bugs** (LS-A-17, LS-A-18, LS-A-19; UCA-F-2 / UCA-M-9). Four sites in `meld-core` either dropped the interface dimension of `(component, interface, resource_name)` tuples diff --git a/Cargo.lock b/Cargo.lock index 1c2ea48..25c3195 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1370,7 +1370,7 @@ checksum = "4facc753ae494aeb6e3c22f839b158aebd4f9270f55cd3c79906c45476c47ab4" [[package]] name = "meld-cli" -version = "0.8.0" +version = "0.8.1" dependencies = [ "anyhow", "clap", @@ -1385,7 +1385,7 @@ dependencies = [ [[package]] name = "meld-core" -version = "0.8.0" +version = "0.8.1" dependencies = [ "anyhow", "bitflags", diff --git a/Cargo.toml b/Cargo.toml index 9af4e7b..2e992cf 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,7 +10,7 @@ exclude = [ ] [workspace.package] -version = "0.8.0" +version = "0.8.1" authors = ["PulseEngine "] edition = "2024" license = "Apache-2.0"