Repository navigation
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 availableNew 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