Skip to content

Pilates

v@pilates/[email protected] Breaking

This release includes breaking changes for platform teams planning a safe upgrade.

Published 11d CLI & Terminal
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

cli flex-layout flexbox headless layout-engine nodejs
+4 more
performance react tui typescript

Affected surfaces

breaking_upgrade

ReleasePort's take

Moderate signal
editorial:auto 4d

The `createStyleDirtier` callback no longer throws on nodes with all style inputs folded out; it now performs a silent no‑op. Pilates library version 2.0.0 is deprecated and must be upgraded directly to 2.0.1.

Why it matters: Pilates 2.0.0 deprecation requires immediate upgrade to 2.0.1; the `createStyleDirtier` bugfix prevents unexpected exceptions, improving stability for developers and SREs managing Pilates‑based layouts.

Summary

AI summary

Fixed over‑strict createStyleDirtier assertion that threw on nodes with only folded style inputs.

Changes in this release

Performance Medium

Pure‑TypeScript Pilates now beats WASM Yoga on all benchmark scenarios, including the structural‑mutation workload (1.7× faster).

Pure‑TypeScript Pilates now beats WASM Yoga on all benchmark scenarios, including the structural‑mutation workload (1.7× faster).

Source: llm_adapter@2026-05-30

Confidence: high

Deprecation High

Version 2.0.0 is deprecated; users must upgrade directly to 2.0.1.

Version 2.0.0 is deprecated; users must upgrade directly to 2.0.1.

Source: llm_adapter@2026-05-30

Confidence: high

Bugfix Medium

`createStyleDirtier` no longer throws on nodes with all style inputs folded out; now silent no-op.

`createStyleDirtier` no longer throws on nodes with all style inputs folded out; now silent no-op.

Source: llm_adapter@2026-05-30

Confidence: high

Full changelog

Patch over 2.0.0: fixes an over-strict markStyleDirty assertion exposed by phase 17's input fold; see 2.0.1 entry. 2.0.0 is deprecated; upgrade directly to 2.0.1.

2.0.1 — 2026-05-23

Fixed

  • createStyleDirtier's callback threw "node has no style inputs in this grammar" when called on a node whose every style input was folded out of the grammar as a default-valued constant (phase 17). The throw was over-strict — for such nodes, there is genuinely nothing to mark dirty, and the dirtier now treats missing entries the same as missing fields within an entry (silent no-op). Caught by the runtime-incremental fuzzer (seed 1005304606) post-publish of 2.0.0. Pinned as a regression test in style-dirty.test.ts.

2.0.0 — 2026-05-23

Pure-TypeScript Pilates now beats WASM Yoga on every bench scenario. The structural-mutation workload (append + remove a row per frame), the last benchmark Yoga held the lead on, flipped from a ~5× Pilates loss (~451µs) to a 1.7× Pilates win (~71µs) — entirely through algorithmic and data-structure changes in TypeScript. No native code, no WASM port.

Public calculateLayout API is byte-unchanged; this release is SemVer-major only because of the internal-API and memory-characteristic shifts (typed-array runtime, unbounded LayoutPool growth, per-property dirty bitmask, linear-recurrence main-axis positions, fold default-valued style inputs). Consumers using only the documented public API should upgrade with no code changes.

See CHANGELOG.md for full details and the per-scenario speedup tables.

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 Pilates

Get notified when new releases ship.

Sign up free

About Pilates

All releases →

Beta — feedback welcome: [email protected]