aai agency logo
OG Components Docs

RELEASE HISTORY

Changelog

New capabilities, fixes, and migration notes for @aai-agency/og-components.

AUG 19, 2026CURRENT

0.6.0 · One Chart API

Breaking chart migration

What is breaking

The canonical single-panel contract is now Chart. It requires an explicit kind="line" or kind="bar", so rendering is independent from whether a series is actual or forecast. Use ChartGroup for composed analysis.

LineChart, ProductionChart, and DeclineCurve, plus the legacy fluidType and curveType fields, remain functional in 0.6.0. They are deprecated, so migrate new work to Chart and the focused /chart export.

Migration map

BeforeUse nowAction
LineChartChart kind="line"Pass the same TimeSeries[] and add the required visual kind.
ProductionChartChart kind="line"Pass the same TimeSeries[] to the series prop.
DeclineCurveChart kind="line" + forecastMove segment configuration under forecast and pass annotations directly.
fluidTypeassociatedTypeUse optional semantic metadata without coupling identity to oil and gas.
curveTypeseriesTypeMark each series as actual or forecast.
Built-in varianceDerived bar chartSelect stable source IDs and register the result as its own series.
Independent chart zoomChartGroup time windowShare X navigation while keeping each panel's Y controls local.

Chart migration

A single series contract now covers plain plots, forecast editing, and grouped analysis.

BEFORE

tsx
import {
  LineChart,
} from "@aai-agency/og-components/line-chart";

<LineChart
  series={series}
  forecast={{ seriesId: "oil.actual", initialSegments: segments }}
  annotations={annotations}
/>

0.6.0

tsx
import {
  Chart,
  ChartGroup,
} from "@aai-agency/og-components/chart";

// Plain, annotated, or interactively forecasted series
<Chart
  kind="line"
  series={series}
  forecast={{
    seriesId: "oil.actual",
    initialSegments: segments,
  }}
  annotations={annotations}
/>

// Rendering is independent from actual/forecast series semantics
<Chart kind="bar" series={series} />

// Synchronized line, bar, and derived panels
<ChartGroup series={series} charts={charts} />

Identify every series

Stable IDs determine composition and derivation. Type and association describe a series; neither replaces its identity.

tsx
const series = [
  {
    id: "oil.actual",
    seriesType: "actual",
    associatedType: "oil",
    label: "Oil actual",
    color: "#18181b",
    unit: "BBL/d",
    frequency: "monthly",
    data,
  },
  {
    id: "oil.forecast",
    seriesType: "forecast",
    associatedType: "oil",
    label: "Oil forecast",
    color: "#71717a",
    unit: "BBL/d",
    frequency: "monthly",
    data: forecastData,
  },
];

Release details

  • Chart is now the canonical single-panel surface and requires kind="line" or kind="bar".
  • ChartGroup composes synchronized line and bar panels over an ID-addressable series registry.
  • Actual and forecast remain ordinary TimeSeries entries; chart kind only selects the renderer.
  • The focused @aai-agency/og-components/chart export is now the recommended import path.
  • Derived panels declare sourceSeriesIds and an explicit derivation instead of depending on a chart-specific variance mode.
  • Grouped panels share time, cursor, and annotations while retaining independent Y axes and display controls.
  • LineChart, ProductionChart, and DeclineCurve remain functional but deprecated for a deliberate migration.
Complete repository changelog

Earlier releases

0.5.2Aug 19, 2026Added synchronized ChartGroup composition, native-resolution navigation, formatting, and presentation controls.
0.4.1Jun 16, 2026Corrected nested interactive controls in AssetDetailCard.
0.4.0Jun 16, 2026Added composable AssetDetailCard slots for application-specific content.
0.3.0Jun 16, 2026Added one-click field copying throughout AssetDetailCard.
0.2.0May 7, 2026Introduced the original decline-curve forecast editor and sample data.
0.1.0Apr 2, 2026Established the agent-ready component library and playground.