Skip to content

[ci] release - #4473

Merged
DylanPiercey merged 1 commit into
mainfrom
changeset-release/main
Oct 29, 2026
Merged

DylanPiercey merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@marko/compiler@5.42.13

Patch Changes

  • #4486 5e8b7d8 Thanks @DylanPiercey! - A tag imported in a static, server or client statement (static import Card from "./card.marko", then <Card/>) resolves to that import again, instead of failing with "Local variables must be in a dynamic tag unless they are PascalCase".

  • #4492 134baa7 Thanks @DylanPiercey! - Strip the type imports of static, server and client statements where they are written, rather than moving every import of those statements out and back, which dropped what read them until the compiler crawled the template again.

@marko/runtime-tags@6.4.7

Patch Changes

  • #4476 f30aee7 Thanks @DylanPiercey! - Give every parameterless arrow in the client runtime, the client code the compiler generates (lazy loaders, setup and argument getters) and the inlined reorder runtime an unused parameter, which minifies a byte smaller (e=> instead of ()=>), so pages ship a few bytes less.

  • #4531 376775f Thanks @DylanPiercey! - A resumed <await> body no longer serializes a link to its owner scope: the branch marker <await> writes beside the body already gives resume the owner, as it does for <if> and <for>.

  • #4530 7f51d13 Thanks @DylanPiercey! - Content rendered inside an <await> body no longer ships for the client to create when only the await's promise could change it: a settled promise updates the body the await's owner made, and never creates it anew.

  • #4485 b92c3d6 Thanks @DylanPiercey! - A branch the client creates (an <if> or <for> body, a dynamic tag, an <await> body) runs its setup as it is created, before the values it receives, as a template does when it mounts; a <try> or @catch body still sets up in the queue, before its values, so an error it throws reaches the right <try>. A new row is built whole before it is inserted, a tag's variable reaches the tags after it once they are set up, and an error thrown while an @catch body renders its error reaches the enclosing <try> instead of escaping it. A loop row that throws while rendering no longer leaves the loop unable to update, and a class component rendering content from a tags <for> attribute tag gets the new loop values when they change.

  • #4481 b612f41 Thanks @DylanPiercey! - A client-rendered <style> whose placeholder reads a value from outside the control flow body that renders it keeps that declaration; it used to be dropped.

  • #4539 a5d21e5 Thanks @DylanPiercey! - Shrink the client runtime's template walker and <id> helper.

  • #4520 d22a438 Thanks @DylanPiercey! - A <const> that names a template, used as a tag name inside a <for> or <if> body (<const/type=Card/><for|i| of=items><${type}/></for>), no longer throws render[Signal] is not a function when the client renders that body. The tag renders its template directly, so the <const> is no longer kept or serialized for it.

  • #4498 80e5dc5 Thanks @DylanPiercey! - A page whose <define> body reads one of the page's functions under its params (inside <if=on>, say) no longer throws _resumed[registryId] is not a function on resume when another tag on the page is interactive. The server now writes the function only where a call can change the param in the browser.

  • #4472 89a4443 Thanks @DylanPiercey! - A <define> tag variable's value, and a recursive call's, now depends on what its call passes, as a custom tag's already did, rather than on the params of the content it renders. A variable computed only from input no longer makes the page resume what reads it.

  • #4472 89a4443 Thanks @DylanPiercey! - A page whose <define> tag variable is passed to a child tag, or read in an <if> or <for>, no longer throws _resumed[registryId] is not a function on resume: the variable's registration is written only when its value can change in the browser, where the page's module that registers it loads.

  • #4536 7b2b68e Thanks @DylanPiercey! - A <define> whose tag variable is never referenced no longer ships its content: the server stops building and serializing what it reads, and the client stops subscribing to it.

  • #4535 3209e8b Thanks @DylanPiercey! - A <for> row selector reads the row's key from its loop key slot, so the compiler no longer passes the key accessor.

  • #4529 c32cd08 Thanks @DylanPiercey! - A template loaded with the load import attribute renders where its import is part of a module cycle, including a template that loads itself: the server reads the template it loads as it renders, not when the importing module evaluates, where a cycle may not have evaluated it yet. A tag closing such a cycle no longer references the removed import on the client.

  • #4497 526ac6d Thanks @DylanPiercey! - A <define> that calls another <define> whose body reads a value of the template around them (<define/E>${input.x}</define><define/D><E/></define><D/>) no longer throws Cannot read properties of undefined (reading 'ClosureScopes:…') when it renders in the browser, or when a resumed page creates the inner call later.

  • #4534 0187618 Thanks @DylanPiercey! - Attaching an event handler no longer checks the element before delegating its event type, since delegation already registers each type once.

  • #4491 6b9e9ef Thanks @DylanPiercey! - Keep a __proto__ attribute as an own property of the input it builds, and keep integer keys too large for a number as strings.

  • #4533 9c3ad57 Thanks @DylanPiercey! - Server runtime error messages are no longer shipped in production builds.

  • #4540 f191277 Thanks @DylanPiercey! - Reuse a signal directly for a setup that only forwards to it, instead of wrapping it in another function.

  • #4537 468ce62 Thanks @DylanPiercey! - Reading $signal in a server render reports through a debug-only runtime helper, so production server output no longer carries its error message.

  • #4499 b223f05 Thanks @DylanPiercey! - A page that passes a child tag's returned function to another tag, or whose child reads the function it returns in a <script>, no longer throws _resumed[registryId] is not a function on resume. The page links the tag variable's registration only when its value can change in the browser, where the page's module that registers it loads.

  • #4521 5e6feb8 Thanks @DylanPiercey! - Fix a Tags page whose only client work is a Class API component that hydrates itself losing the input and body it passes that component: the page now initializes the Tags runtime, which resumes them.

  • #4538 1ab43ec Thanks @DylanPiercey! - Drop an unused field from the inline walker runtime, saving four bytes of HTML per interactive page.

  • Updated dependencies [5e8b7d8, 134baa7]:

    • @marko/compiler@5.42.13

marko@5.39.47

Patch Changes

@github-actions
github-actions Bot force-pushed the changeset-release/main branch 18 times, most recently from 5ff2e2b to 22fb113 Compare October 22, 2026 16:21
@github-actions
github-actions Bot force-pushed the changeset-release/main branch 12 times, most recently from 6a5ef2c to 6a7b291 Compare October 25, 2026 03:02
@github-actions
github-actions Bot force-pushed the changeset-release/main branch 13 times, most recently from 9f0772d to 66a0493 Compare October 29, 2026 18:11
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 66a0493 to ecd97c3 Compare October 29, 2026 18:47
@DylanPiercey
DylanPiercey merged commit 9095470 into main Oct 29, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant