Skip to content

EffectWeb 0.2.3

Choose a tag to compare

@DerpyCrabs DerpyCrabs released this 06 Sep 17:27
· 37 commits to main since this release

EffectWeb 0.2.3 improves compiler output and reduces the common program's runtime dependencies while preserving the full Effect command API.

  • Compile static DOM structures into reusable templates, with native construction for HTML parser edge cases.
  • Reduce snapshot closure allocations and redundant component prop caches while preserving snapshot semantics, Effect-returning events, and dynamic content lifetimes.
  • Publish program snapshots directly without a per-program Atom registry. Commands, streams, cancellation, subscriptions, and idle tracking remain supported.
  • Improve copied-array mutation diagnostics and DOM class/list updates.

The EffectWeb-only js-framework-benchmark rerun reduced Brotli size from 27.0 to 14.6 KiB. Median selection improved by 31% and clearing by 24%. Some CPU timings increased slightly. LocalChat's measured heap use fell about 26%; full-application timings remained sensitive to run order.

Validated with 181 unit tests, 37 framework browser tests, clean package installation, and regression suites for TeleVecha, Inbox, and LocalChat. The release workflow also builds and checks all five supported native compiler targets.

Runtime, compiler, Lucide, and native compiler packages are released together as 0.2.3. The runtime continues to require Effect 4.0.0-rc.112.