github marko-js/marko @marko/runtime-tags@6.3.21

latest releases: @marko/compiler@5.41.6, @marko/compiler@5.41.5
3 hours ago

Patch Changes

  • #3557 e6da1fd Thanks @DylanPiercey! - Route a failed lazy input-signal chunk load to the surrounding <try>@catch boundary. Previously, when a lazy tag's input chunk rejected on its own (a network-level partial failure, e.g. deploy skew) while its setup chunk resolved, the branch was cloned but never inserted: the @placeholder stayed shown forever and @catch never fired. The rejection now drives the same boundary as a setup failure.

  • #3570 e91efd4 Thanks @DylanPiercey! - Fix Map/Set serialization silently dropping (Set) or corrupting (Map) a member that references an ancestor object — e.g. a back-reference or undirected-graph edge. Such members are now inserted after construction so the resumed collection is intact.

  • #3571 ee882c8 Thanks @DylanPiercey! - Serialize DataView so it can be read from content that updates in the browser. A DataView or typed array over a buffer that cannot be serialized (e.g. SharedArrayBuffer) is now reported as unserializable instead of emitting a malformed constructor call that broke the whole payload.

  • #3566 909d56d Thanks @DylanPiercey! - Serialize Intl formatters and Intl.Locale so they can be read from content that updates in the browser, instead of failing to serialize. Formatters are rebuilt from resolvedOptions(); note that Intl.DateTimeFormat reports a resolved month/weekday width that can differ from the requested one in some locales (ja, zh), so a rebuilt formatter may render those fields differently than the server did.

  • #3568 09ee04b Thanks @DylanPiercey! - Serialize Temporal values so they can be read from content that updates in the browser. Each type is rebuilt from its own string form, preserving calendar and time zone annotations along with nanosecond precision.

  • #3578 952dcae Thanks @DylanPiercey! - Fix template.render()'s async iterator (for await) silently dropping HTML chunks — truncating the streamed document with no error — when the consumer took longer than a flush tick between reads. Buffered chunks are now retained until the consumer reads them.

  • #3566 f0ff1bf Thanks @DylanPiercey! - Say why a value is being serialized in the Unable to serialize development error, so it reads as a requirement on values the browser references rather than an arbitrary restriction.

Don't miss a new marko release

NewReleases is sending notifications on new releases.