Skip to content

Commit 67873b4

Browse files
avrabeclaude
andauthored
chore: release v0.8.1 (#160)
Cuts v0.8.1 carrying the post-v0.8.0 Mythos delta-pass sweep on the 8 Tier-5 files unscanned at v0.8.0 cut time (per #151 gate scope). Ten loss scenarios closed across 6 fix PRs, all of them silent (no host trap, no validator rejection — wrong-by-construction outputs): - LS-A-11 (#152) — extended-const init/offset truncation in segments and global initializers. Folds (i32.const x)(i32.const y) i32.add instead of dropping operands after the first. - LS-A-12/13/14 (#153) — p3-async detection bugs: mixed-mode stackful mis-classification, stream-write over-count silently classified as Complete, future<stream<...>> mis-routed to stream_types via substring match. - LS-A-15 (#154) — HashMap.iter().find non-determinism at three sites; realloc and resource-rep/-new fallbacks now sort candidate keys. - LS-A-16 (#159) — wrapper dropped source canonical options for lifts; every export silently received the first lift's string encoding. - LS-A-17/18/19 (#156) — resource_graph definer purge and terminal- exporter pass ignored the iface dimension; merger dedup used ends_with(rn) where exact match was required (float / bigfloat suffix collision). - LS-A-20 (#157) — flags<N> canonical ABI silently modeled as Record<N x Bool>; new ComponentValType::Flags variant with explicit arms in every canonical-ABI helper. Also under Added: the Mythos delta-pass CI gate workflow (#151) that made this sweep observable at PR time, and the stackful async-lift cross-memory (ptr, len) return path that v0.8.0 had errored out on. Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
1 parent f21af39 commit 67873b4

3 files changed

Lines changed: 22 additions & 3 deletions

File tree

CHANGELOG.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,27 @@ All notable changes to this project will be documented in this file.
44

55
## [Unreleased]
66

7+
## [0.8.1] — 2026-05-16
8+
79
### Fixed
810

11+
- **Extended-const initializer / offset truncation** (LS-A-11, UCA-M-6,
12+
H-1 / H-2 / H-3.3). Two const-expression parsers in meld-core read
13+
only the first operator and discarded the rest, silently truncating
14+
any wasm 2.0 `extended-const` expression. A data / element segment
15+
with offset `(i32.const 5)(i32.const 10) i32.add` landed at offset 5
16+
instead of 15; a global initialized to `(i32.const 100)(i32.const 23)
17+
i32.add` (intended 123) was emitted as 100. Affected
18+
`segments.rs::parse_const_expr_with_value` (data + element offsets)
19+
and `merger.rs::convert_init_expr` (global initializers). Fix
20+
introduces shared `fold_extended_const_i32` /
21+
`fold_extended_const_i64` helpers that walk all operators with a
22+
small stack-machine interpreter (i32/i64 add/sub/mul with wrapping
23+
semantics) and return the folded scalar. Regression pinned by 6
24+
tests covering all three arithmetic ops and the single-const
25+
passthrough. Surfaced by the post-v0.8.0 Mythos delta-pass sweep on
26+
the remaining 8 Tier-5 files (the protocol introduced in #151).
27+
928
- **Resource graph + merger key-matching bugs** (LS-A-17, LS-A-18, LS-A-19;
1029
UCA-F-2 / UCA-M-9). Four sites in `meld-core` either dropped the
1130
interface dimension of `(component, interface, resource_name)` tuples

Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ exclude = [
1010
]
1111

1212
[workspace.package]
13-
version = "0.8.0"
13+
version = "0.8.1"
1414
authors = ["PulseEngine <https://github.com/pulseengine>"]
1515
edition = "2024"
1616
license = "Apache-2.0"

0 commit comments

Comments
 (0)