Skip to content

v0.0.4

Choose a tag to compare

@ZtaMDev ZtaMDev released this 17 Dec 03:59
· 69 commits to main since this release

Round v0.0.4 Release Notes

Performance Benchmarks

We have introduced a comprehensive automated benchmark suite comparing Round vs React. The results highlight Round's lightweight architecture:

  • Build Size: Round (~65KB) is >2x smaller than React (~140KB).
  • Build Speed: Round builds ~5x faster (~0.6s vs ~3s).
  • Runtime Creation: Round is 3x faster in DOM creation stress tests (~318 ops/sec vs ~104 ops/sec).
  • Reactivity: Signal updates clocked at ~135,000 ops/sec.

You can run these benchmarks locally using bun run bench.

Framework Optimizations

  • Optmized Bundle: The framework core, CLI, and Vite plugin are now bundled into a highly optimized, minified dist/ folder using a custom build pipeline.
  • Faster CLI: The round CLI executable is now significantly smaller and starts faster.

New Features

  • Custom Tag Whitelist: You can now configure allowed HTML/SVG tags in round.config.json via the htmlTags option (e.g., ["my-element"]), useful for Web Components or missing standard tags.
  • Declarative classList: Added support for the classList prop in createElement, allowing declarative and fine-grained reactive class toggling:
    <div classList={{ active: isActive(), 'text-bold': isBold }} />

Bug Fixes

  • CLI Graceful Exit: Fixed an issue where terminating the CLI with Ctrl+C caused an exit code 58 error. Now handles SIGINT/SIGTERM gracefully.
  • Namespace Conflict: Renamed internal runInContext to runInLifecycle to prevent collision with context API.
  • Template Import: Fixed round init generating a vite.config.js pointing to source files. It now correctly imports round-core/vite-plugin.
  • HTML/SVG Tags: Greatly expanded the standard whitelist of HTML and SVG tags.