Patch Changes
-
#4660
fd28acaThanks @DylanPiercey! - A Tags child updating on its own no longer removes the content a stateless Class API parent rendered on the server. -
#4660
fd28acaThanks @DylanPiercey! - Class API content that a Tags template renders now updates in place on its Class parent's later rerenders, so Class components inside it keep their state, and it reads the realout.globalin a production build. A Class template that takes no input also renders as a native tag'scontent, as a Tags template does. -
#4652
f85b66dThanks @DylanPiercey! - A tag named by an import or variable that a migrator or transformer adds now compiles the same as one the template declares, instead of failing with "Unable to find entry point" or rendering a Tags API template without interop. -
#4660
fd28acaThanks @DylanPiercey! - On a page with Class API components, a Tags<define>, attribute tag or template module namespace (import * as Child from "./child.marko") rendered through a dynamic tag no longer fails withInvalid dynamic tag valueor remounts on the first update after resume, and an attribute tag with no content renders the dynamic tag's body as it does without them. -
#4661
c1f0681Thanks @DylanPiercey! - A Class API attribute tag passed to a Tags parent keeps its body ascontentbeside nested attribute tags, so spreading or rendering it no longer fails with "TherenderBodyattribute cannot be a function". -
#4660
fd28acaThanks @DylanPiercey! - On a page with Class API components, a Tags template renders a Class parent's content or attribute tag body wherever it renders content, through a native tag spread (<div ...input.foo/>),content=or a dynamic tag; a dynamic tag also renders one forwarded through a Class component. These previously rendered nothing or failed withInvalid dynamic tag value. -
#4663
296f719Thanks @DylanPiercey! - The Class API interop layer loads from its own@marko/runtime-tags/dom/compat.featand@marko/runtime-tags/html/compat.featentries instead of the maindomandhtmlentries, so only pages that mix in Class API components load it, and the server and development runtimes of a Tags-only app no longer include it.markonow depends on the exact@marko/runtime-tagsversion it ships with; an earliermarkocannot load this layer from a newer@marko/runtime-tags, so upgrade both together. -
#4660
fd28acaThanks @DylanPiercey! - A Class API component no longer throwsCannot read properties of null (reading 'firstChild')when it rerenders a Tags child that renders its content followed by another Tags child. -
#4657
ea7bcc8Thanks @DylanPiercey! - Read a template's input and return types fromMarko.Templatealone, rather than also from a member that only the language tools' generated types define, and type the result of a Marko 5 template'smountwith its return type. -
Updated dependencies [
8719e0b,1885815,0905a25,5c837ed,5567818,5d9472e,fd28aca,f8ce4c7,1b49ca4,49f6b7a,64835e1,fd28aca,fd28aca,296f719,3bc26a9,fcb6837,8289fb4,b3d8818,8719e0b,fd28aca,ea7bcc8]:- @marko/runtime-tags@6.4.12
- @marko/compiler@5.42.18