Patch Changes
-
#4058
a9a95c3Thanks @rturnq! - Fix<if>/<for>as the only child of a custom tag whose name shadows a native element (egtags/menu.marko) borrowing that tag's node marker; the content crashed when re-rendered on the client because the marker lives in the parent's scope. -
#4055
d8973d8Thanks @DylanPiercey! - Make the server runtime tree-shakable:patchDynamicTag, the generator prototype patch, and the serializer's well-known tables are no longer module-import side effects, so bundlers can drop unused SSR runtime (a bare static-page SSR bundle drops ~4.7 kB minified / ~1.6 kB brotli). -
#4062
cfa45f2Thanks @rturnq! - Fix a custom tag's returned value not reaching a later tag's variable in the browser when an earlier tag returns synchronously during setup (eg<child/value/>feeding<Wrapper/wrapped=value/>). -
#4048
121d28cThanks @DylanPiercey! - Report lazy module load failures in development: a loader script error or a
rejected chunk import now logs a diagnostic (and records the dead channel)
instead of leaving server-rendered content silently inert. Production
output is unchanged. -
#4053
13a4d9cThanks @DylanPiercey! -<try>boundaries with a<@catch>now share their parent's abort signal, so a consumer disconnecting mid-stream stops pending<await>regions under the try instead of leaving them rendering into a dead stream. Disconnects never fire the@catchcontent.