Releases

Release Notes

kScript release history: features, fixes, and breaking changes, listed newest first with anchor links into full entries.

All notable changes to kScript are recorded here. Releases are sorted with the latest first.

Latest release

v2.1.0 — Plotting refresh

May 2026 · New plotPriceLabel builtin, glow and lineStyle kwargs across chart-shape plots, and opacity controls on shapes and text.

Full notes →

All releases

VersionDateHighlightsBreaking changes
v2.1.0May 2026plotPriceLabel builtin, glow halo on chart-shape plots, lineStyle (solid/dashed/dotted), opacity on plotShape/plotTextNone (additive within v2)
v2.0.0Sep 2025Per-bar execution model, kwargs, stronger compiler, dedicated data subscriptions, scalars from indicators, func + loops, extended plotsYes (relative to v1; see Migration (v1 vs v2))

v2.1.0 — May 2026

Plotting refresh: a new per-bar label builtin and richer styling kwargs across the existing chart-shape plots.

Added

  • plotPriceLabel(price, text?, type?, position?, ...) — per-bar decorative label anchored at a price level. Three visual modes:
    • "callout" (default): text box with a leader line and dot
    • "simple": centered text box
    • "icon-only": SVG path or image URL, with iconSize, anchorX, anchorY controls
    • Text styling kwargs: color, backgroundColor, fontFamily, fontWeight (clamped 100–800), size (clamped 1–30), opacity (clamped 0–1)
    • tooltip for hover text (supports \n for line breaks)
    • icon-only URLs support animated GIFs and WebP, so labels can render looping or animated icons
  • glow kwarg on plotLine, plotBar, plotCandle, plotShape, and plot — soft halo around the stroke. true enables a default blur in the series color; a number sets the blur radius in pixels (clamped 0–30, 0 disables).
  • lineStyle kwarg on plotLine and plot"solid" (default), "dashed", or "dotted". No effect on bar / candle / point types.
  • opacity kwarg on plotShape — overall element opacity (0–1, clamped).
  • fontWeight and opacity kwargs on plotText — text weight 100–800 (clamped, rounded to nearest 100) and overall opacity 0–1 (clamped).

Changed

  • plotShape shape catalog clarified"circle", "triangle", "cross", and "diamond" are all supported. The reference previously documented circle-only.

Reference

  • Plotting — full parameter tables, including the new entries.
  • This release is backward-compatible within v2; no migration required.

v2.0.0 — September 2025

Major release of kScript v2 on the Kiyotaka platform: new execution model, language features, and standard library—with intentional breaking differences from v1 for long-term ergonomics and performance.

Added

  • Per-bar execution with clear phases for initialization, calculation, and plotting—see Execution model.
  • Keyword arguments on builtins for clearer, order-independent calls (Keyword arguments).
  • func user-defined functions and for / while loops (with the documented var restrictions) (User functions).
  • Dedicated data subscriptions: ohlcv(...), trades(...), orderbook(...) replacing the generic v1-only source(...) pattern in v2 docs.
  • Reverse index access on time series (ts[0] = latest bar) as described in the v1→v2 transition material.
  • Extended plotting: plotCandle, plotShape, and richer styling kwargs alongside existing line/bar plots (Plotting).

Changed

  • Technical indicator helpers now resolve to scalar values per bar instead of returning full composite series that required manual alignment in typical v1 usage.
  • Compiler performs stronger static analysis (syntax, scope, types) so more issues surface at edit time rather than at runtime.
  • OHLCV field access standardized via accessors such as ohlcvTs.close, ohlcvTs.volume, etc.

Fixed

  • Class of issues where v1 scripts could run without obvious errors yet mis-align series or misuse full-series returns; v2’s model and compile checks reduce this failure mode.

Breaking changes

  • Scripts written for kScript v1 are not source-compatible with v2 without migration (execution model, subscriptions, indicator return shapes, and keyword-only ergonomics). Use the v1 vs v2 migration guide together with this entry when porting.
  • Removal of reliance on buildTimeseries / mergeTimeseries / matchTimestamp-style manual alignment in favor of engine-driven per-bar evaluation for typical indicators.