Telemetry off
Documentation

Documentation

18. v0.8.13 — Realtime chart performance & replay safety

Created
Aug 22, 2026
Updated
Aug 22, 2026

Released 2026-08-22. This patch keeps realtime and deep-history charts responsive while preserving exact Pine historical behavior. Follows v0.8.12.

Rollback: Production returned to v0.8.12 after optimized concurrent Pine panes could corrupt drawing state. The corrected reintroduction is v0.8.14.

Changed

  • Safe Pine tail updates no longer replay the full chart. Certified same-length final-bar revisions use Piner 0.13.0's persistent historical-tail runner. Strategies, request.security, appends, corrections, input/context changes, and unsupported cases still use exact full-history fallback behavior.
  • Large historical replays yield to the browser. Full fallback execution is time-sliced, cancellable, and generation-checked so pointer input, painting, and newer chart requests are not blocked by obsolete work.
  • Chart publication updates only proven-safe suffixes. Price, volume, native indicators, and ordinary Pine plots use conservative delta paths while structural or ambiguous changes continue through complete setData publication.

Fixed

  • Realtime stream lifecycle is transactional and abortable. Provider startup, retries, shared subscriptions, and teardown now propagate cancellation without leaking partially created streams or page-lifecycle handlers.
  • Binance finality and duplicate handling preserve real market transitions. An OHLCV-identical open-to-final aggregate is retained, multi-page history deduplication is linear, and complete-source aggregation cannot publish a candle as final prematurely.
  • Indicator results publish exactly once. Cooperative Pine results are handed directly to the chart without a second synchronous replay; alert/security callbacks publish only after successful chart writes, and a feed becoming empty clears previously rendered points.
  • Pane, replay, and AI work cannot cross ownership boundaries. Active-pane rows own global updates, stale generations cannot publish, closed AI surfaces do not build chart context, and inactive replay data cannot expose future bars.

Verification

  • Published @heyphat/piner@0.13.0 passed its 971-test suite, typecheck, format check, build, package/export smoke tests, and binary comparison against the npm artifact.
  • Fractal passed an isolated frozen clean install, public-package ESM/CJS export checks, the complete primary-tree suite (246 files and 1,800 tests), full TypeScript, lint with zero errors, and a telemetry-disabled production build generating 99 static pages.
  • Focused regressions cover incremental/full fallbacks, cancellation and generation safety, stream startup/teardown, Binance finality, pane ownership, replay/AI isolation, callback publication, and empty-feed clearing.
  • The accepted production trace contains no synchronous Pine historical replay during final publication; raw trace captures remain local-only, with hashes and derived metrics retained in the engineering notes.

Next steps

Back to the release list.

Next: Release Notes