Skip to content

v0.3.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.


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.

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

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)

Section titled “TanStack Query Bridge (@pulse-js/tanstack)”

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


  • @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