3.7.0 is the receivability release. Semiotic already had chart recommendation, chart interrogation, and native annotations; this version tightens the question that comes after "can an agent make a chart?" The chart now has to explain itself to a reader, expose a traversable structure, carry annotation provenance, and give agents safer ways to repair or vary a proposal. Full release notes are onGitHub.
Reader Grounding
The core accessibility and agent-readable surfaces are now explicit APIs.auditAccessibility() andformatAccessibilityAudit() grade chart configs against Chartability-style heuristics. describeChart() produces a layered description, buildReaderGrounding() bundles description, intent, and structure, andbuildNavigationTree(), AccessibleNavTree, anduseNavigationSync() expose a chart as a WAI-ARIA tree that can stay synchronized with canvas focus.
The docs now surface that same intelligence on chart pages through at-a-glance grounding panels, with dedicated references foraccessibility audit,chart descriptions,structured navigation, andagent-reader grounding.
Annotations Become Design Objects
Annotations moved from "things the chart can draw" toward "things the chart can help place, explain, filter, and defend."autoPlaceAnnotations now composes collision-aware placement, curved connector routing, density budgets, progressive disclosure, responsive shedding, redundant association cues, cohesion modes, audience-aware amount, and defensive notes. Per-annotationemphasis establishes hierarchy, and provenance confidence supplies a stable reading order when hierarchy is not explicit.
AnnotationProvenance and AnnotationLifecyclecarry actor, evidence, confidence, stable identity, freshness, editorial status, and supersession metadata. The helpersapplyAnnotationLifecycle, applyAnnotationStatus, and filterAnnotationsByStatus keep visual treatment, descriptions, and structured navigation aligned on the current set of notes. The new docs sections forannotation design guidanceandprovenance and lifecycleshow the intended workflow.
Agent Workflows
The AI surface gets more useful when an authoring session is treated as a session instead of one prompt. enableConversationArc(),useConversationArc(), summarizeArc(), durable sinks, and replay helpers expose an opt-in event stream for suggestions, interrogation, navigation, export, and annotation-status changes.Conversation Arc is the place to start if you want to persist that context.
Variant discovery and repair also moved into the public surface.proposeVariant() emits registered variants, conservative heuristic transforms, and same-intent cross-family alternatives;evaluateVariantProposal() scores fit, novelty, risk, rubric deltas, and audience bias. repairChartConfig() critiques a proposed chart choice and returns safer alternatives for agent retry loops. MCP exposes both workflows through proposeChartVariantsand repairChartConfig. The docs forvariant discovery and repaircover the full path.
A Value Entry Point
BigNumber ships undersemiotic/value as the catalog's focal-value answer: a KPI, scorecard, or headline number with formatting, thresholds, comparison, target, staleness, push-buffer, and slot APIs. It intentionally renders no chart family itself; trendSlot and chartSlotlet consumers compose a sparkline, donut, scatterplot, or custom element without pulling those bundles into semiotic/value.
Docs And Gates
The docs now use the same intelligence APIs the package exports. TheChoose a Chart front door ranks the catalog by dataset, intent, and audience, then proposes reshapes that unlock charts a flat profile cannot already fit. Playground state is shareable in the URL, live examples copy the real rendered props instead of display stubs, and llms.txt is generated from the chart catalog.
Release quality gates now check docs coverage, prop-table drift, playground control drift, generated LLM docs, capability coverage, and a broader SSR/CSR visual parity matrix. The goal is boring but important: the hand-authored docs should stay aligned with the canonical chart registry.
Fixes Worth Calling Out
- Default tick and axis font size moved from 10px to 12px so shipped defaults clear the Chartability legibility floor.
- Hook-order regressions across loading, empty, and data transitions were fixed across the HOC catalog.
- Animated network charts no longer crash when parents pass fresh inline function props on each render.
- Annotation rendering now handles callout circles and rectangles consistently, including connector disable, opacity, and dash metadata.
linkedHover={{ mode: "series" }} resolves series identity automatically, with seriesField as the override.
Upgrade Notes
Most of 3.7.0 is additive. The main visible change is typography: default tick and axis labels are now 12px, so visual snapshots and tight chart layouts may shift. If you need the previous look, settheme.typography.tickSize or--semiotic-tick-font-size.
If you consume the AI schema programmatically, update expectations to version 3.7.0 and 47 chart schemas. The annotation lifecycle and status helpers only filter or restyle notes when you opt into those helpers, and the hook-order and network fixes are intended to remove crashes without changing the public prop contracts.