Blazor-ApexCharts 7.0.0 shipped on July 24, 2026 and moves the vendored ApexCharts.js core from 5.16.0 to 6.5.0, in both Blazor-ApexCharts (Server, WebAssembly, WinForms, WPF on .NET 8, 9 and 10) and Blazor-ApexCharts-MAUI (.NET 9). The C# API is otherwise additive, but four ApexCharts 6 behaviors are now on by default, so check the table below.

Key takeaways

  • ApexCharts 6.5 under the hood, surfaced as typed C# options, methods and events rather than JavaScript.
  • No key needed for any chart type or standard option, including the new canvas renderer, streaming, touch gestures, OS-aware themes (Theme.Follow = ThemeFollow.Os), extra easing curves and bar chart race.
  • Seven premium modules run in trial mode with an APEXCHARTS watermark until you apply an offline-validated key.
  • Four defaults changed: animated data updates, touch pinch and pan, smooth wheel zoom, heatmap behavior.

Which defaults changed?

Default changeReleaseWhat you will seeHow to reverse it
Dynamic data animation7.0.0Adding or removing points animatesChart.Animations.DynamicAnimation.Enabled = false
Touch pinch and pan7.0.0Two-finger pinch zooms; a flick pans with momentumChart.Zoom.Pinch = false, Chart.Pan.Inertia = false
Mouse-wheel zoom7.0.0Wheel zoom is smooth and anchored at the cursorNo option restores the old wheel zoom; Chart.Zoom.AllowMouseWheelZoom = false turns it off
Heatmap defaults7.0.0Tooltip above the cell, zoom off, y-labels thinned when they would not fitTooltip.FollowCursor = true, Chart.Zoom.Enabled = true; y-label thinning has no switch (it is skipped when a Y-axis label formatter is set)

Bar chart race

A horizontal bar chart that re-ranks over time, with each value label riding to its bar's new row and counting up to the new number. It needs no key: three option flags plus a series ordering.

<ApexChart TItem="Racer" Title="Bar chart race" Options="options">
    <ApexPointSeries TItem="Racer" Items="racers" Name="Score"
                     SeriesType="SeriesType.Bar"
                     ShowDataLabels="true"
                     XValue="@(e => e.Name)"
                     YValue="@(e => e.Value)"
                     OrderByDescending="e => e.Y" />
</ApexChart>

@code {
    private ApexChartOptions<Racer> options = new();

    protected override void OnInitialized()
    {
        options.Chart = new Chart
        {
            Animations = new Animations
            {
                DynamicAnimation = new DynamicAnimation { Enabled = true, Speed = 900 }
            }
        };
        options.PlotOptions = new PlotOptions { Bar = new PlotOptionsBar { Horizontal = true } };
        options.DataLabels = new DataLabels
        {
            Enabled = true,
            Animate = new DataLabelsAnimate { Enabled = true },
            CountUp = new DataLabelsCountUp { Enabled = true }
        };
    }
}

Mutate Value on a timer and call await chart.UpdateSeriesAsync(true): OrderByDescending re-ranks the bars, Animate slides the labels with them and CountUp tweens each number. Run it in the hosted demo; setup is in the Blazor charts docs, and How to Build a Bar Chart Race in JavaScript covers the mechanics.

Canvas renderer and streaming

Renderer.Auto keeps small charts on SVG and, above RendererThreshold marks, paints only the dense series layer to canvas, so axes, grid and tooltips stay crisp SVG. Chart.Streaming keeps a rolling window that trims old points as new ones arrive, so a long-running feed does not grow memory without bound.

options.Chart = new Chart
{
    Renderer = Renderer.Auto,   // Svg, Canvas, or Auto
    RendererThreshold = 2000,   // Auto switches to canvas above this many marks
    Streaming = new ChartStreaming { Enabled = true, MaxPoints = 50 }
};

// after render, read what actually ran:
string active = await chart.GetActiveRendererAsync();   // "svg" or "canvas"

Append with await chart.AppendDataAsync(newPoints) on your timer; once the window fills it scrolls at constant velocity. Both run in the hosted demo. For what moves to canvas and what does not, see Canvas Renderer (Strata).

Premium modules and license keys

The seven ApexCharts 6 interaction modules are typed options with typed methods and events. They work fully in trial mode, so you can build against them, but show an APEXCHARTS watermark until a key is applied.

ModuleKey API
Undo / RedoChart.History, UndoAsync / RedoAsync
PerspectivesChart.Perspectives, PerspectiveToUrlAsync
Linked Views & CrossfilterChart.Link, IApexChartService.RegisterCrossfilterAsync
InkChart.Ink, OnAnnotationEdited
MeasureChart.Measure, OnMeasured
Context MenuChart.ContextMenu
StoryboardStoryboardBindAsync, OnBeatChange
// Program.cs, application-wide (AddApexChartsMaui on MAUI)
builder.Services.AddApexCharts(o => o.LicenseKey = "APEX-...");

Or set Chart.License per chart, or call IApexChartService.SetLicenseAsync("APEX-...") at runtime. Keys validate offline, with no network call. Try the modules in the hosted demo.

Upgrading

dotnet add package Blazor-ApexCharts
  1. Check the four default changes against charts that update data, run on touch, zoom with the wheel or draw heatmaps.
  2. On MAUI, update Blazor-ApexCharts-MAUI to 7.0.0 as well.
  3. If you use a premium module, apply a key to remove the watermark.

The full change list is in the 7.0.0 GitHub release. Source is on GitHub and the package on NuGet.

The wrapper package itself stays MIT-licensed; the key covers the premium ApexCharts modules it now surfaces. See pricing for keys.

Frequently asked questions

Is Blazor-ApexCharts 7.0.0 a breaking upgrade from 6.x?

It is a major version because the core jumps from ApexCharts 5.16 to 6.5. The C# API is otherwise additive. What can change on screen is four ApexCharts 6 defaults: animated data updates, touch pinch and pan, smooth wheel zoom and new heatmap behavior. The defaults table lists the C# setting for each.

Why did my heatmap stop zooming after upgrading to Blazor-ApexCharts 7.0.0?

ApexCharts 6 turns heatmap zoom off by default, since zooming a fixed grid only distorts the cells. Opt back in with `Chart.Zoom = new Zoom { Enabled = true }`. The heatmap tooltip also sits above the hovered cell now; `Tooltip = new Tooltip { FollowCursor = true }` makes it trail the cursor again.

Does Blazor-ApexCharts 7.0.0 support .NET MAUI?

Yes. The release ships as Blazor-ApexCharts-MAUI too, targeting .NET 9 on Android, iOS, Mac Catalyst and Windows. Register it with `AddApexChartsMaui`, which takes the same `LicenseKey` option as `AddApexCharts`. The web package covers Blazor Server, WebAssembly, WinForms and WPF on .NET 8, 9 and 10.

How is Blazor-ApexCharts licensed?

Two licences apply: MIT for the NuGet wrapper, and the ApexCharts terms for the engine it loads. A premium module without a key still runs in full; the APEXCHARTS watermark only marks trial mode, so you can build against it before buying a key.