Patch Changes
-
#4588
f843c14Thanks @DylanPiercey! - Fix a rest or renamed destructured value declared inside an attribute tag under<if>or<for>never being declared in the server output, which threw a ReferenceError when the template serialized it. -
#4601
f79a9b9Thanks @DylanPiercey! - Report a repeatedvalue=attribute on a core tag (<let>,<return>,<script>,<const>,<if>, …), or a repeatedvalueChange=on<let>or<return>, with one error that names the tag and links its docs, in place ofInvalid duplicate value attribute.or an error calling the attribute unsupported. -
#4593
b5b57c9Thanks @DylanPiercey! - Name thehtml-scripttag when a<script>body fails to parse as JavaScript (such as a JSON-LD block), and link that suggestion to thehtml-scriptreference. -
#4586
d8060f6Thanks @DylanPiercey! - Fix a<define>tag called with fewer arguments than it has params rendering differently in the browser: the params past the arguments are nowundefinedthere too, so their defaults apply, rather than the first holding an empty input object. -
#4583
60841bcThanks @DylanPiercey! - Update dependencies: the bundled Babel to 7.29.12,htmljs-parser5.20,@luxass/strip-json-comments2.0.2 and the bundledentities9 in the compiler,minimatch11 inmarkoc, andmagic-string1.magic-string1 ships only ESM, soengines.noderises to>=22.12.0, the first Node 22 release that canrequire()it. -
#4594
e9f7e74Thanks @DylanPiercey! - Fix a<script>,<lifecycle>, event handler or function passed to a child that reads several values computed from one source, such asinput.items.lengthand a<const>computed frominput.items: on a resumed page it recomputed the<const>from a source the server never wrote, throwing or readingNaN. It now reads the values the server wrote. -
#4585
ceeb985Thanks @DylanPiercey! - Fix a client crash when an expression reads a<const>both whole and through a member beside another value computed from the same source, as in${input.list.length + list.filter(fn).length + list.length}with<const/list=input.list/>. -
#4600
b73626bThanks @DylanPiercey! - Share one precomputedclasstable between elements whose toggles produce the same markup in server output, rather than declaring a copy per element. A spread on an element named by a template literal now enables only that element's control kind: a custom element no longer pulls in every controllable, and<input>stays controlled when a custom tag shares its name. -
#4599
88b13c4Thanks @DylanPiercey! - Fix compiling a call with an<if>directly in its content when the called tag leads back to the calling template: a tag calling itself overflowed the stack, and a cycle through another tag could build client code that threw as it loaded. -
Updated dependencies [
df57ab1,60841bc,7546ef9]:- @marko/compiler@5.42.16