Skip to content

Releases: webqit/quantum-js

v3.0.27

15 Nov 03:34
Compare
Choose a tag to compare

Introducing Stateful JS

We're now in our third generation! And this is the best yet of this expedition! Look what we've done:

Name Change

  • Name: We have rebranded from Reflex Functions to Stateful JS. This change reflects two key aspects of the project: Mental Model and Scope.

Expanded Scope

  • Scope: Stateful JS is no longer confined to being just a function-level feature; it has evolved into a comprehensive program-level feature. Explore the updated documentation to see the expanded capabilities.

Core Revamp

  • Core: The entire core of Stateful JS has been rewritten from the ground up, transitioning from a compile-time magic to a more dynamic runtime extension for JavaScript. While our core shares some similarities with the concept of signals, we maintain our distinct identity. Stay tuned for an upcoming blog post for a deep dive into the core changes.

New Capabilities

  • New Features: Stateful JS now introduces powerful features, including reactive early returns, streaming returns, reactive break and continue statements, live iterations with for...of and for...in, and full support for module scripts. Enjoy the flexibility of working with import and export statements in real-time.

Enhanced API

  • API Evolution: We've moved beyond the concept of manual state management via a reflect() method. Stateful JS is now entirely self-driven, automatically reflecting changes. This major leap forward is made possible by embracing the Observer API.

We're excited about the possibilities these changes unlock and are eager to see how Stateful JS v3.0.0 enhances your development experience. As always, feel free to explore the documentation for in-depth insights and details.

Happy coding with Stateful JS!

v2.1.86

15 Nov 03:08
Compare
Choose a tag to compare

Introducing Reflex Functions

We're in our second generation here and so much has changed since v1!

  • Name: We've now renamed to Reflex Functions - from Subscript Functions.
  • API: We've now moved away from managing state statically via a static .thread() method. State management is now made possible by a reflect() function returned on each call to a Reflex Function.
  • No more support features like live inspector for now, as we couldn't keep that in sync with the evolution of the core project.
  • And most importantly, we're now a very sophisticated compiler at heart! Reflex Functions is a lot of powerful compile time heuristics at play
  • We've now introduced the idea of a lighter build of Reflex Functions - called Reflex Functions Lite - while has its compiler loaded asynchronously and into a Web Worker! This will help improve the loading performance outlook for Reflex-based applications.

v2.1.30

13 Oct 07:01
Compare
Choose a tag to compare

Introducing Subscript Functions

The project up to this version:

  • Name: Functions are called Subscript Functions (a.k.a. Reactive Contexts). Conversely, future versions are planned to be called Graph Functions.
  • Runtimes: Functions are objects with static state (i.e.: runtime state is bound to the function object itself, refreshed on each call). Conversely, future versions are planned to be constructors with instance-based state (i.e.: runtime state is bound to a new implicit instance of the function, created on each call).
  • API: Function object have a .thread() method for graph-based execution. Conversely, future versions are planned to return the equivalent of the .thread() method from the constructor.