Repository navigation
[ci] release - #4473
Merged
Merged
[ci] release#4473
Conversation
github-actions
Bot
force-pushed
the
changeset-release/main
branch
18 times, most recently
from
October 22, 2026 16:21
5ff2e2b to
22fb113
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
12 times, most recently
from
October 25, 2026 03:02
6a5ef2c to
6a7b291
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
13 times, most recently
from
October 29, 2026 18:11
9f0772d to
66a0493
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
October 29, 2026 18:47
66a0493 to
ecd97c3
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
5e8b7d8Thanks @DylanPiercey! - A tag imported in astatic,serverorclientstatement (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
134baa7Thanks @DylanPiercey! - Strip the type imports ofstatic,serverandclientstatements 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
f30aee7Thanks @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
376775fThanks @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
7f51d13Thanks @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
b92c3d6Thanks @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@catchbody 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@catchbody 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
b612f41Thanks @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
a5d21e5Thanks @DylanPiercey! - Shrink the client runtime's template walker and<id>helper.#4520
d22a438Thanks @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 throwsrender[Signal] is not a functionwhen the client renders that body. The tag renders its template directly, so the<const>is no longer kept or serialized for it.#4498
80e5dc5Thanks @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 functionon 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
89a4443Thanks @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
89a4443Thanks @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 functionon 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
7b2b68eThanks @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
3209e8bThanks @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
c32cd08Thanks @DylanPiercey! - A template loaded with theloadimport 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
526ac6dThanks @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 throwsCannot read properties of undefined (reading 'ClosureScopes:…')when it renders in the browser, or when a resumed page creates the inner call later.#4534
0187618Thanks @DylanPiercey! - Attaching an event handler no longer checks the element before delegating its event type, since delegation already registers each type once.#4491
6b9e9efThanks @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
9c3ad57Thanks @DylanPiercey! - Server runtime error messages are no longer shipped in production builds.#4540
f191277Thanks @DylanPiercey! - Reuse a signal directly for a setup that only forwards to it, instead of wrapping it in another function.#4537
468ce62Thanks @DylanPiercey! - Reading$signalin a server render reports through a debug-only runtime helper, so production server output no longer carries its error message.#4499
b223f05Thanks @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 functionon 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
5e6feb8Thanks @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
1ab43ecThanks @DylanPiercey! - Drop an unused field from the inline walker runtime, saving four bytes of HTML per interactive page.Updated dependencies [
5e8b7d8,134baa7]:marko@5.39.47
Patch Changes
#4529
c32cd08Thanks @DylanPiercey! - A template loaded with theloadimport 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.Updated dependencies [
f30aee7,376775f,7f51d13,b92c3d6,b612f41,a5d21e5,d22a438,80e5dc5,89a4443,89a4443,7b2b68e,3209e8b,c32cd08,526ac6d,0187618,6b9e9ef,9c3ad57,5e8b7d8,f191277,468ce62,134baa7,b223f05,5e6feb8,1ab43ec]: