Coralite v0.33.0 Released

Coralite v0.33.0 has arrived, delivering a streamlined context architecture overhaul, V1 API standardization, and new features like reactive properties and performance benchmarking. This release also marks a transition of the framework's license to MPL-2.0.

Context Architecture Overhaul and V1 API #

We have simplified the internal and external component APIs to improve developer experience and optimize execution. Localized component and plugin execution contexts are now pruned to essential properties: properties, page, root, module, id, and renderContext. Framework utilities have been removed from the global scope of component scripts. Instead, they are now exposed via synthetic ESM modules (coralite, coralite/plugins, and coralite/utils).

Additionally, we have standardized the defineComponent syntax. The term values (and legacy tokens) has been renamed to properties, ensuring a consistent model for passing and evaluating component attributes.

javascript
Code copied!
  import { defineComponent } from 'coralite';
  
  export default defineComponent({
    properties: {
      greeting: 'Hello, World!'
    },
    script(context) {
      const { properties } = context;
      console.log(properties.greeting);
    }
  });

Reactive Properties and Attribute Synchronization #

This release introduces native support for reactive properties. Components can now dynamically evaluate properties and automatically synchronize their values back to the DOM attributes. This provides a clean, predictable bridge between server-rendered markups and client-side hydrations.

High-Performance Micro-Benchmarks and Refactored Plugins #

To prevent performance regressions, Coralite v0.33.0 integrates a new micro-benchmarks suite using mitata. This suite tracks performance patterns in separate V8 isolates for processes like AST cloning, plugin state merging, and token interpolation.

The plugin hook architecture has also been refactored. Rather than mutating shared state in-place, hooks now return clean state patches that the engine safely merges. Additionally, a new _triggerPluginAggregateHook handles flattening array collections from plugins cleanly, improving overall reliability.

Licensing Transition to MPL-2.0 #

To better support community collaboration and enterprise adoption, Coralite and its associated packages are transitioning their license from AGPL-3.0 to the Mozilla Public License 2.0 (MPL-2.0).

Breaking Changes #

How to Upgrade #

To upgrade to the latest version, update your project dependencies:

bash
Code copied!
  npm install coralite@0.33.0
bash
Code copied!
  npm install coralite-scripts@0.33.0

Related posts

More blog posts

Start Building with Coralite!

Use the scaffolding script to get jump started into your next project with Coralite

Copied commandline!