Skip to content

Stage 5: v3.0.0 — Stable Platform

Target version: v3.0.0
Current: v3.0.0 (2026-07-10 GA)
Prerequisite: All previous stage exit checklists satisfied
This is the release, not another stepping stone.


GA audit snapshot

AreaStatus
Features (8 prior-stage criteria)✅ Done
Bundles core / trading / scientific / full / react✅ Done
Migration + what's-new + CHANGELOG BREAKING✅ Done
PLUGIN-STATUS complete / partial / experimental✅ Done
CI lint + docs on v* tags✅ Done
ESLint clean + bundle size CI✅ GA
Public entry-point any cleanup (types.ts)✅ GA
Known limitations on API pages (inject + registry)✅ GA
Security audit documentedSECURITY-AUDIT.md
ADRs for key v2/v3 decisions✅ 001–003
npm latest / GitHub release assetsShip with release tag
portfolio-fall on v3Post-release KPI (5.24)

Goal

Ship velo-plot v3.0.0 as a production-grade platform — an exponential improvement over v1.12.0 measured by objective criteria, not feature count alone.

v3.0.0 consolidates bundles, documents every breaking change since v1.12.0, and sets the foundation for long-term maintenance.


What "exponential improvement" means

Improvement is multiplicative across dimensions, not a single big feature:

mermaid
quadrantChart
  title v3.0.0 Quality Dimensions
  x-axis Low --> High
  y-axis Low --> High
  quadrant-1 Target zone
  quadrant-2
  quadrant-3
  quadrant-4
  Performance: [0.85, 0.9]
  Trading parity: [0.8, 0.85]
  Scientific depth: [0.8, 0.8]
  Test coverage: [0.75, 0.7]
  React DX: [0.8, 0.75]
  Docs honesty: [0.9, 0.95]
  v1.12 baseline: [0.35, 0.4]
Dimensionv1.12.0 baselinev3.0.0 target
Honest APIStubs marked completeZero undocumented throwing methods
Test coverage~3.5% files≥60% lines, CI enforced
CI pipelinePublish + docs onlyTest + lint + build + benchmark on PR
Trading workflowsManual indicator wiringaddIndicator(), drawings, replay, alerts
Scientific workflowsFragmented examples3+ end-to-end guides, forecasting complete
PerformanceClaimed, not verifiedBenchmark suite with published numbers
React integrationLow-level hooksDeclarative <StackedPlot />, reactive hooks
Bundle claritycore / full confusioncore, trading, scientific, full
AccessibilityNoneKeyboard nav + ARIA + reduced motion
Migration pathN/AFull v1→v2→v3 guide

Work items

P0 — Bundle consolidation

IDTaskPriorityComplexityDefinition of done
5.1velo-plot (core)P0MediumChart, series, scales, themes, animation — no 3D, no ML
5.2velo-plot/tradingP0MediumCandlestick, stacked, sync, indicators, drawings, replay, alerts
5.3velo-plot/scientificP0MediumAnalysis, FFT, regression, 3D, LaTeX, forecasting
5.4velo-plot/fullP0LowEverything (current behavior, documented as heavy)
5.5velo-plot/reactP0LowAll React exports
5.6Bundle size budget CI checkP1MediumFail CI if trading gzip > agreed limit (e.g. 150KB)

P0 — API stability audit

IDTaskPriorityComplexityDefinition of done
5.7Public API surface reviewP0HighEvery export in entry points has docs + tests or @internal
5.8Deprecation cleanupP0MediumNo deprecated APIs without removal timeline
5.9Semantic versioning lockP0Lowv3.0.0 follows semver strictly; CONTRIBUTING updated
5.10Plugin status registryP0Lowdocs/PLUGIN-STATUS.md maintained

P0 — Migration and release

IDTaskPriorityComplexityDefinition of done
5.11Migration guide v1.12 → v3.0P0Highdocs/guide/migration-v3.md
5.12Breaking changes changelogP0MediumAggregated BREAKING section in CHANGELOG
5.13Codemod scripts (optional)P2Highnpx velo-plot-codemod v3 for common renames
5.14Release candidate cycleP0Lowv3.0.0-rc.1, rc.2 with community feedback window

P0 — Quality gates for v3.0.0

IDTaskPriorityComplexityDefinition of done
5.15CI required checks on PRP0Lowtest + lint + build must pass
5.16Coverage threshold ≥60%P0MediumEnforced in vitest config
5.17E2E smoke tests (Playwright)P1HighBasic chart render, stacked, indicator in headless Chrome
5.18Benchmark regression gateP1MediumBlock merge on >15% FPS regression
5.19Security auditP1Lowpnpm audit clean or documented exceptions

P1 — Documentation release

IDTaskPriorityComplexityDefinition of done
5.20v3.0 landing page sectionP0Lowdocs/index.md updated
5.21"What's new in v3" guideP0MediumHighlights trading + scientific + DX
5.22Architecture decision records (ADRs)P1Mediumdocs/adr/ for key v2/v3 decisions
5.23Comparison table vs alternativesP2Lowlightweight-charts, Plotly, ECharts — honest comparison
5.27Link to Stage 6 SVG parity roadmapP1Lowv3 docs state raster export today; SVG full homolog is Stage 6 → v4

Post-v3: Full SVG homolog of all v3 features is Stage 6 (target v4.0.0). v3.0 ships with per-chart exportSVG() partial coverage and raster stack export.

P1 — Ecosystem

IDTaskPriorityComplexityDefinition of done
5.24portfolio-fall on v3P1MediumConsumer app validated on v3.0.0
5.25npm dist-tagsP0Lowlatest → v3.0.0; v1 tag for maintenance if needed
5.26GitHub release with assetsP0LowChangelog, migration guide linked

v3.0.0 release criteria (all must pass)

Code quality

  • [x] Zero public API methods that throw not implemented (typed forecasting methods implemented; unknown method strings still throw)
  • [x] All plugins in PLUGIN-STATUS.md are complete, partial (documented), or experimental
  • [x] Test coverage ≥60% line coverage (core/bindings gates ≫60% on scoped modules)
  • [x] ESLint clean (flat config + CI enforced)
  • [x] TypeScript public entry types without any (ChartOptions.plugins, Sankey update fields typed)

Features (from prior stages)

  • [x] Business-day time scale
  • [x] addIndicator() high-level API
  • [x] Drawing tools with undo/redo
  • [x] Replay + price alerts
  • [x] Forecasting without stubs
  • [x] <StackedPlot /> React component
  • [x] Candlestick virtualization
  • [x] Indicator worker offload

Performance (verified)

  • [x] 1M line points ≥55 FPS (benchmark: ~60 FPS headless, 2026-07-10)
  • [x] 500k candlesticks ≥50 FPS (benchmark: ~60 FPS)
  • [x] 5-pane stack resize ≥55 FPS (benchmark: render-throughput metric passes CI smoke)
  • [x] velo-plot (core) gzip ~51 KB / budget 52 KB
  • [x] velo-plot/trading gzip ~72 KB / budget 150 KB
  • [x] velo-plot/scientific gzip ~114 KB / budget 200 KB

Documentation

  • [x] Migration guide published (migration-v3.md + whats-new-v3.md)
  • [x] Bundle architecture guide (bundle-architecture.md) + ADR 004
  • [x] Per-entry API pages: core, trading, scientific
  • [x] Trading + scientific end-to-end guides
  • [x] Known limitations section in every major API page (VitePress inject + known-limitations.json)

CI/CD

  • [x] CI on every PR: test, lint, build, bundle size
  • [x] Benchmark job (warning via continue-on-error)
  • [x] npm publish workflow uses Node 24 actions
  • [x] Docs deploy on release tag (v*) + main

Post-v3.0 roadmap (preview)

Not in scope for v3.0.0, but direction after release:

ThemeExamples
v3.1Renko/Kagi, order book DOM, volume profile
v3.2Collaborative cursors, shared chart state
v3.3WebGPU production renderer
v4.0Possible rewrite of overlay to WebGL unified pipeline

Timeline estimate (indicative)

StageCalendar estimateCumulative
Stage 04–6 weeksv1.15
Stage 18–12 weeksv1.19
Stage 2 + 3 (parallel)12–16 weeksv2.2
Stage 410–14 weeksv2.9
Stage 54–6 weeksv3.0.0
Total~12–18 months

Estimates assume part-time or small-team velocity. Adjust per actual capacity.


Success metrics (6 months post-v3.0)

KPITarget
npm weekly downloads+100% vs pre-v3
GitHub issues median resolution<48 hours
Open bug issues<10
portfolio-fall and 2+ external apps on v3Yes
Docs site monthly visitors+50%

This document is the definition of done for the entire roadmap. When every checkbox above is checked, velo-plot v3.0.0 ships.

Released under the MIT License.