Patch Changes
-
#3364
3327f22Thanks @DylanPiercey! - Fix<script>content escaping only handling</script. A body containing<!--followed by<scriptput the HTML tokenizer in the script-data double-escaped state, where the real</script>no longer closes the element and the rest of the page is swallowed into it.<scriptand<!--now receive the same\x3Cescape, and the escaped remainder preserves its original case. -
#3371
b41967cThanks @DylanPiercey! - Fix static-->inside<html-comment>being written unescaped: SSR markup closed the comment early (leaking the rest as visible text) and the client template parsed into extra nodes, crashing hydration walks. Static comment text now gets_escape_comment's transform at compile time in both output targets. -
#3375
d7e5ad1Thanks @DylanPiercey! - Report a compile error when an<option>nested within a<select>that has avalueattribute is missing its ownvalueattribute or usesselected. The select'svalueonly matches options by theirvalueattributes, so these silently rendered with no selection applied. -
#3363
f520a70Thanks @DylanPiercey! - Fix an SSR crash (TypeError: Cannot read properties of null (reading 'id')) when a long string first serialized as a promise/stream/async-generator settled value was reused in a later flush. Such strings now claim their dedup binding eagerly, matching how object values on that path already behave. -
#3361
a8cfae7Thanks @DylanPiercey! - Fix a partially-consumed sync generator resuming as an async generator, which broke client-sidefor..of/spread over the resumed value (noSymbol.iterator).