github marko-js/marko marko@5.39.51

latest releases: @marko/compiler@5.42.18, @marko/runtime-tags@6.4.12
one hour ago

Patch Changes

  • #4660 fd28aca Thanks @DylanPiercey! - A Tags child updating on its own no longer removes the content a stateless Class API parent rendered on the server.

  • #4660 fd28aca Thanks @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 real out.global in a production build. A Class template that takes no input also renders as a native tag's content, as a Tags template does.

  • #4652 f85b66d Thanks @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 fd28aca Thanks @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 with Invalid dynamic tag value or 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 c1f0681 Thanks @DylanPiercey! - A Class API attribute tag passed to a Tags parent keeps its body as content beside nested attribute tags, so spreading or rendering it no longer fails with "The renderBody attribute cannot be a function".

  • #4660 fd28aca Thanks @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 with Invalid dynamic tag value.

  • #4663 296f719 Thanks @DylanPiercey! - The Class API interop layer loads from its own @marko/runtime-tags/dom/compat.feat and @marko/runtime-tags/html/compat.feat entries instead of the main dom and html entries, 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. marko now depends on the exact @marko/runtime-tags version it ships with; an earlier marko cannot load this layer from a newer @marko/runtime-tags, so upgrade both together.

  • #4660 fd28aca Thanks @DylanPiercey! - A Class API component no longer throws Cannot read properties of null (reading 'firstChild') when it rerenders a Tags child that renders its content followed by another Tags child.

  • #4657 ea7bcc8 Thanks @DylanPiercey! - Read a template's input and return types from Marko.Template alone, rather than also from a member that only the language tools' generated types define, and type the result of a Marko 5 template's mount with 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

Don't miss a new marko release

NewReleases is sending notifications on new releases.