The first weeks after 2.0.0 were focused on one thing: working through the issue backlog that built up during the long
beta / rc cycle. These four patch releases bring the project to its lowest open-issue count in years — more than 40
reported issues fixed across every supported platform, with no behavioral changes to the public API shipped in 2.0.0.
If you're on 2.0.0 you can drop 2.0.4 straight in: same APIs, same defaults, just fewer bugs.
Highlights:
- Long-standing rendering fixes on Avalonia, WPF, WinUI, MAUI, Blazor, WinForms and Mac Catalyst — each platform had
at least one pinned report cleared in this round. - A handful of chart-engine corrections that were hard to reach without the breadth of the 2.0 redesign:
stacked-series z-index baseline, gauge tight-bounds collapse, axis pin preserved under zoom, null-gap line rendering
on inserts/resize, mixed-sign stacking, a MinSeparators floor, granular pan/zoom flags, and runtime AnimationsSpeed
propagation. - New cross-platform regression coverage in tests/SnapshotTests/ and tests/UITests/ (Factos) so the harder-to-test
bugs — z-order, theme inheritance, pointer-capture loss, tab/scroll mount cycles — won't regress silently.
Fixes
Core / chart engine
- #1419 — Multi X-axis InLine axes overlap
- #1511 — HeatSeries fractional-step auto-sizing
- #1533 — Sections freeze on fast drag (Scaler infinity leak)
- #1576 — Lost-capture leaves drag armed (WPF / Avalonia / WinUI / Uno-Skia)
- #1826 — Null Labels crash & silent throttler swallow
- #1847 — NaN / Infinity handling (docs, recipes, snapshot tests)
- #1856 — Visual / VisualElement ZIndex honored
- #1923 — Stacked-series ZIndex baseline (replaces the 1000 - Position workaround)
- #1926 — Runtime AnimationsSpeed mutations propagate without recreating series
- #1957 — Mobile pan vs. tooltip conflict (5 px pan-engagement deadzone)
- #1970 — Zombie shapes after Values shrink (regression coverage)
- #1978 — DrawMarginFrame.Fill drawn under series
- #2054 — Invisible-series legend NRE
- #2064 — Line marker inherits user Stroke
- #2071 — MinSeparators floor for sparse axes
- #2124 — DrawnLabelVisual.Label read-only getter
- #2131 — PieChart gauge collapse on tight bounds (two rounds: max-value clamp + pushout-bounds split)
- #2132 / #2083 — Null-gap line rendering on inserts and resize
- #2152 / #2073 — Stacker correctness for mixed positive / negative values
- #2159 — Zoom no longer overwrites pinned MinLimit / MaxLimit
- #2165 — RectangleHoverArea hit-test with negative width / height
- #2175 / #2119 — Granular PanX / PanY / ZoomX / ZoomY flags + NoFit honored
- #2216 — Ticker DisposeTicker null-deref hardening
GeoMap
- #962 — Series swap no longer blanks shared lands
- #1417 — Detach / reattach lifecycle (tab and scroll mount cycles)
- #1426 — Custom GeoJSON import (Polygon / MultiPolygon, non-string properties, missing keys)
Avalonia
- #1864 — Wheel events incorrectly marked Handled
- #1986 — Chart blank in ScrollViewer / TabControl when data arrives off-screen
- #2006 — TaskCanceledException flood while zooming
- #2008 — Gauge theme overrides XAML CornerRadius=0
WPF
- #1981 — DataTemplate bindings swallowed on first render
- #2029 — TabControl scale-doubling on re-mount
WinUI
- #2004 — RequestedTheme not honored
WinForms
MAUI
- #1436 — Mac Catalyst hover after click
- #1523 — Extended-display scale on iOS / Mac
- #1725 — Apple chart disposal leak
- #2185 — Stale Microsoft.Maui.Controls.Compatibility dependency removed
Blazor
- #957 — UseGPU honored without losing the multi-chart WebGL default
- #1993 — Canvas overflowing fixed-height wrappers
- #2229 — error LVC0001 guard for missing wasm-tools workload
RTL / text shaping
- #1229 — Mixed RTL+LTR text shaping (regression coverage on top of the fix already on master)
Thanks to everyone who reported, repro'd, and reviewed
Full Changelog: 2.0.0...2.0.4