Skip to content

Zenbu.js

v0.0.25 Feature

This release adds 2 notable features for engineering teams evaluating rollout.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

ReleasePort's take

Light signal
editorial:auto 11d

In Zenbu.js v0.0.25, `client.update(fn)` batches multiple mutations into a single commit.

Why it matters: Reduces state update overhead and race conditions for apps performing batched writes; the change triggers a warning if mutation paths exceed 64 segments.

Summary

AI summary

Multiple mutations inside client.update(fn) are now committed as a single update.

Changes in this release

Feature Medium

`vite.config.ts` can now live next to renderer code; closest config wins.

`vite.config.ts` can now live next to renderer code; closest config wins.

Source: llm_adapter@2026-05-23

Confidence: high

Feature Medium

Plugin views automatically inherit host app's theme tokens and dark-mode toggle.

Plugin views automatically inherit host app's theme tokens and dark-mode toggle.

Source: llm_adapter@2026-05-23

Confidence: high

Feature Medium

Multiple mutations inside `client.update(fn)` are committed as a single update.

Multiple mutations inside `client.update(fn)` are committed as a single update.

Source: llm_adapter@2026-05-23

Confidence: high

Bugfix Medium

Advice registered with `view: "*"` now applies to every concrete view.

Advice registered with `view: "*"` now applies to every concrete view.

Source: llm_adapter@2026-05-23

Confidence: high

Bugfix Medium

Advice with short module names matches full file path; ambiguous matches now throw.

Advice with short module names matches full file path; ambiguous matches now throw.

Source: llm_adapter@2026-05-23

Confidence: high

Bugfix Medium

Concurrent `useCollection` subscribers no longer interfere when one unmounts.

Concurrent `useCollection` subscribers no longer interfere when one unmounts.

Source: llm_adapter@2026-05-23

Confidence: high

Bugfix Medium

`useCollection` subscribes via `useSyncExternalStore`, eliminating inconsistent reads in React 18 concurrent mode.

`useCollection` subscribes via `useSyncExternalStore`, eliminating inconsistent reads in React 18 concurrent mode.

Source: llm_adapter@2026-05-23

Confidence: high

Bugfix Medium

`client.update(fn)` emits a warning when mutation traversal exceeds 64 path segments.

`client.update(fn)` emits a warning when mutation traversal exceeds 64 path segments.

Source: llm_adapter@2026-05-23

Confidence: low

Full changelog

Features

  • vite.config.ts can now live next to your renderer code (e.g. packages/app/vite.config.ts) instead of being required next to zenbu.config.ts. Closest config to the renderer entrypoint wins. ae129fc
  • Plugin views automatically inherit the host app's theme tokens. <View> iframes follow the host's dark-mode toggle and other theme changes without plugin-side code. 005deab
  • Multiple mutations inside one client.update(fn) are now committed as a single update. Subscribers see one new state, not one per mutation. 93589d8

Fixes

  • Advice registered with view: "*" was not being applied to concrete views. It now applies to every view as documented. 50d7e5b
  • Advice registered with a short module name (e.g. "App.tsx") is matched against the full file path. Ambiguous matches (two files with the same suffix) now throw instead of resolving non-deterministically. 319aa00 (@rakshit9)
  • Concurrent useCollection subscribers on the same collection no longer interfere. Previously, one consumer unmounting could drop data still in use by another. 491af2b
  • useCollection now subscribes via useSyncExternalStore, eliminating inconsistent reads under React 18 concurrent rendering. 93589d8
  • client.update(fn) emits a warning when mutation traversal exceeds 64 path segments, surfacing accidental cyclic or non-plain inputs. 0b0bc88

Contributors: @RobPruzan, @rakshit9

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track Zenbu.js

Get notified when new releases ship.

Sign up free

About Zenbu.js

All releases →

Related context

Beta — feedback welcome: [email protected]