Changelog

Version-by-version changes for Rho format spec + @rho/md library. Synced with GitHub Releases.


Versioning

@rho/md library v0.x is pre-stable — any minor version may be spec-breaking.

v1.0 onward follows strict SemVer:

  • patch (1.0.x): bug fixes; spec unchanged
  • minor (1.x.0): new capabilities, backward-compatible
  • major (2.0.0): may break

v0.6 — SVG scenes (2026-05-08)

New

  • ✨ SVG scene capability — write declarative SVG animations with template svg:
    • Mini DSL expressions evaluate inside SVG attributes
    • Built-in SVG sanitizer (strips <script> / event attributes / external URLs)
    • Pair with timer for physics simulations / geometric animations
  • 15 capabilities total

Examples

Spring, pendulum, planetary orbits, circuit diagrams — see Examples gallery.

Breaking changes

None.


v0.5 — Timer animation (2026-04-22)

New

  • ✨ Timer control — auto-stepping value, drives animations
    • 4 modes: loop / pause / once / pingpong
    • Pairs with chart / SVG for live animation
    • Typical frame rate ~20 Hz

Bug fixes

  • Fixed vega-lite chart color anomaly in dark theme

Breaking changes

None.


v0.4 — Computed values (2026-03-15)

New

  • ✨ computed derived values — computed name = expression
    • Mini DSL expressions: + - * / pow sqrt sin cos pi etc.
    • Ternary cond ? a : b
    • Topological sort handles dependencies automatically
    • Reusable across templates / charts
  • ✨ Float accumulation fix — template output formatting precision improvements

Breaking changes

None.


v0.3 — Inner processor + nested DSL (2026-02-25)

New

  • ✨ Nested DSL fully working — layout containing callout, stepper containing interact, any composition
  • ✨ registerInnerPlugin / registerAllInnerPlugins API (integrators must call)
  • ✨ STL syntax highlighting — ```stl 6-color token highlighting

Breaking changes

⚠️ Integrators must call registerAllInnerPlugins() — otherwise nested DSLs aren't recognized. Existing integrations need to add this line.


v0.2 — Shared state (namespace) (2026-02-10)

New

  • ✨ namespace — multiple interact blocks share variables
  • ✨ Cross-block computed — derived values can reference across namespace blocks
  • ✨ Modal width option — small / medium / large / full

Breaking changes

None.


v0.1 — Spec formalization (2026-01-28)

New

  • ✨ HTML output standardization — all DSLs emit unified class naming (.rho-callout / .rho-layout-grid / .rho-tab / etc.)
  • ✨ CSS variables — theming via CSS variables
  • ✨ Dark theme support

Breaking changes

⚠️ Class names changed from .markview-* to .rho-* — custom CSS needs updating.


v0.0 — Initial release (2026-01-15)

First release

  • ✨ 5 static capabilities: Callout / Layout / Annotate / Timeline / STL syntax
  • ✨ 7 interactive capabilities: Tabs / Stepper / Modal / Interact text / Interact + Vega-Lite / Shared state (basic) / Nested DSL (basic)
  • ✨ Plain-text fallback design principle established
  • ✨ PolyForm Noncommercial 1.0 license decision (formally applied in v0.6)

12 capabilities total (v0.6 added computed / timer / svg = 15).


Preview

Next steps in Roadmap.

Main planning:

  • v0.7: Audio / video embed (slider + native HTML5 media)
  • v0.8: Accessibility enhancement (ARIA / keyboard nav improvements)
  • v0.9: Performance optimization + lazy hydration default
  • v1.0: Stable API guarantee + conformance test pack

See also