Skip to content

v0.3.0

Latest

Choose a tag to compare

@ZtaMDev ZtaMDev released this 08 Feb 20:50
· 3 commits to main since this release

v0.3.0 Universal Reactivity & DevTools 2.0

Release Date: February 8, 2026

v0.3.0 is the most significant update to Pulse.js since its inception. We've completely rebuilt the core engine to support Universal Proxy Reactivity, implemented a HMR-Stable Registry, and launched a brand new Agent-Client DevTools architecture.


Major Features

Proxy-Based Reactivity (pulse())

Pulse v3 moves away from explicit .set() and .get() calls for objects. The new pulse() function creates a deep reactive proxy that tracks property access automatically.

import { pulse } from "@pulse-js/core";

// Create a reactive object
const state = pulse({
  count: 0,
  user: { name: "Alice" },
  increment() {
    this.count++;
  },
});

// Mutate directly - it's reactive!
state.count++;
state.user.name = "Bob";
  • Deep Guard Inspection: See full dependency trees, execution status, and detailed failure reasons directly in the UI.

Normalized GuardReason

Evaluation failures now guarantee a structured GuardReason object. Simple strings or thrown errors are automatically wrapped, ensuring you can always safely access .code and .message in your UI.

const { reason } = usePulse(myGuard);
console.log(reason.code); // Always available
console.log(reason.message); // Always available

New Integrations

Astro Integration (@pulse-js/astro)

Pulse now native-supports Astro. Use Pulse state on the server during SSR and have it seamlessly hydrate on the client.

TanStack Query Bridge (@pulse-js/tanstack)

Easily bridge asynchronous remote state from TanStack Query into Pulse's reactive ecosystem using the new guardFromQuery selector.


📦 Package Versions

  • @pulse-js/core: 0.3.0
  • @pulse-js/tools: 0.3.0
  • @pulse-js/react: 0.3.0
  • @pulse-js/vue: 0.3.0
  • @pulse-js/svelte: 0.3.0
  • @pulse-js/astro: 0.3.0
  • @pulse-js/tanstack: 0.3.0