Skip to content

Releases: beto-rodriguez/LiveCharts2

v2.0.0-beta.350

10 Aug 04:33
efbed07
Compare
Choose a tag to compare
v2.0.0-beta.350 Pre-release
Pre-release

v2.0.0-beta.350 (An intro to high performance)

This release adds multiple improvements required by the LiveChartsCore.BackersPackage assembly, it is another assembly (not available in NuGet yet) that improves the performance of the library, adds multiple pre-built themes and much more extra features, we are testing this package and soon will be available for everyone.

The performance buff of this assembly is huge, this is a GIF I recorded with a chart with 300 million points, yes 300,000,000, about 20 GB of RAM (I am out of RAM can not test more points) and everything is super smooth, (the GIF speed is in real time, I am just zooming and panning quickly)

.

This performance is expected when the library "freezes" the plot, I mean when the data is not changing anymore, but If the data changes it seems that we can handle less than 2 million.

There are still things to improve but this is definitely the way for the library, it is jut a binary search based algorithm but optimized for the case of the library, I compared the time it takes to add 10 million points to different structures, here is the code and the results (net 6 | Release):

image

It seems that the data structure is actually faster than lists, and really close to arrays, this was an unexpected result, I am so happy with it :)

But that was the time it took to build the data structure, when the data does not change, we do not need to build the structure again, we cache it and then we use it to find the points the user need as he/she/* interacts with the chart (zooming or panning), it takes on average less than 2 milliseconds to find a new set of points (yes it is virtualized, we are of course not drawing the 300 million in the screen).

There are still a couple of issues we need to solve before making this public and I hope that the performance keeps this high.

Oh and I forgot to mention, all you need to change in your code is one line, and all your charts will be boosted.

LiveCharts.Configure(config => config.AddBackersPackageAndDefaults());

So that's it, there are no new things in this release, but there it is required to keep working in the high performance package.

v2.0.0-beta.300

06 Jun 03:49
f32d85c
Compare
Choose a tag to compare
v2.0.0-beta.300 Pre-release
Pre-release

New Features

  • Cartesian series now have the DataLabelsTranslate property that let us align data labels with a lot of flexibility, for example:

.

  • We can now place PieSeries labels at the Outer position

.

Improvements

Column, row, stacked column an stacked row series have a lot of improvements. Now StackedColumn inherits from Column series and StackedRow inherits from Row series, this fixed multiple issues because the code was dirty and hard to maintain.

Also column and row series are easier to read now, now bars that share the same secondary coordinate are drawn together.

old versions:

.

now:

.

The Padding property is new in bar series, it indicates the distance to the next bar and replaces the GroupPadidng propeprrty.

Deprecated

ColumnSeries.GroupPadidng, RowSeries.GroupPadidng, StackedColumnSeries.GroupPadidng, StackedRowSeries.GroupPadidng are obsoletes and were replaced by ColumnSeries.Padidng, RowSeries.Padidng, StackedColumnSeries.Padidng, StackedRowSeries.Padidng properties.

issues fixed

#502 and #504 fixed an issue where gaps were not generate properly in the LineSeries.
#497 fixed and issue where gauges labels color was not changing according to the theme.
#503 fixed a bug where the line series was kept in the UI even when the data was cleared.
#391 Tooltips are now placed correctly when the legend is visible.

Full Changelog: v2.0.0-beta.240...v2.0.0-beta.300

v2.0.0-beta.240

20 May 18:34
9699892
Compare
Choose a tag to compare
v2.0.0-beta.240 Pre-release
Pre-release

Multiple issues fixed, #477, #470, #462, #286

What's Changed

Full Changelog: v2.0.0-beta.230...v2.0.0-beta.240

v2.0.0-beta.230

15 May 06:27
f46df80
Compare
Choose a tag to compare
v2.0.0-beta.230 Pre-release
Pre-release

Fixed an issue where unloading then loading the control again caused the control to behave unexpectedly.

#457

What's Changed

Full Changelog: beta.200...v2.0.0-beta.230

beta.220

02 May 05:11
0359e30
Compare
Choose a tag to compare
beta.220 Pre-release
Pre-release

This release introduces many new features: adds support for Uno Platform, a new web site, updates Maui to RC2,
adds support for Eto.Forms, improves drastically zooming and panning in touch devices (Uno, Maui and Xamarin).

Welcome Uno Platform

There was a step missing for LiveCharts2 to be a real cross platform library, LiveCharts2 is now in Uno Platform!

The LiveChartsCore.SkiaSharpView.Uno NuGet package provides 'ready-to-go' assemblies for Uno at UWP (10.0.18362), Wasm (net 6), Wpf (net 6), GTK (net 6) and Android (net 6). We keep working in the IOS, MacCatalyst and MacOS flavors.

New web site

You can now visit https://lvcharts.com/ to browse the samples, or to explore the assemblies in this repository.

Both (samples and API explorer) are generated automatically based on this repo, so feel free to create a PR in this repo to improve anything in the documentation.

Huge improvements to touch devices

In previous versions it worked in touch devices but it was using the same logic as desktop platforms, now zooming and panning feels natural in touch devices, you should now notice how the chart follows your fingers as you move the chart and it has also a cool bounce animation when you reach an edge, the following video was recorder in the Xamarin sample, but it is also implemented in Uno (Android) and Maui:

Untitled.3.mp4

Welcome Eto.Forms

Thanks to @rafntor for adding the Eto.Forms View and the samples.

Updated Maui to RC2

Now Maui package is updated and working with RC 2, notice there is an issue in Maui rc2 detecting gestures dotnet/maui#6553.

UWP package is obsolete now

The LiveChartsCore.SkiaSharpView.UWP will no longer receive new updates, instead it was replaced by LiveChartsCore.SkiaSharpView.Uno, just install the Uno package and everything will work as it used to, you also need to rename the namespaces from LiveChartsCore.SkiaSharpView.UWP to LiveChartsCore.SkiaSharpView.Uno.

Assemblies are not strong-named anymore

From MS docs and also GitHub:

For .NET Core and .NET 5+, strong-named assemblies do not provide material benefits. The runtime never validates the strong-name signature, nor does it use the strong-name for assembly binding.

Strong named assemblies will not be provided by the library anymore, but when you need strong named assemblies, I added the pack.ps1 file at the root of the repo, this tool helps you to build and pack the assemblies in the library, then it is up to you to strong name them.

Multiple fixed issues.

See the links to the prs bellow.

What's Changed

New Contributors

Full Changelog: beta.100...beta.200

beta.101

24 Jan 14:28
Compare
Choose a tag to compare
beta.101 Pre-release
Pre-release

Fixed an important memory leak, improved Avalonia, new event to handle the case where points overlap easily.

What's Changed

Full Changelog: beta.90...beta.100

Beta.90

05 Dec 23:57
01c263e
Compare
Choose a tag to compare
Beta.90 Pre-release
Pre-release

Highlights

  • The Maui package is now available on NuGet
  • Assemblies are now strong-named
  • Updated WinUI package to WindowsAppSdk 1.0
  • New events to detect when the pointed goes down or hovers over a point, checkout the samples/{ platform }/Events

down
click

What's Changed

New Contributors

Full Changelog: beta.80...beta.90

2.0.0-beta.80

21 Oct 17:37
Compare
Choose a tag to compare
2.0.0-beta.80 Pre-release
Pre-release

Blazor Web Assembly version

This release includes the Blazor WebAssembly package, we can now run LiveCharts in the browser using dotnet 6 rc2, it is an early version but most of the features are supported now.

WinUI version

The WinUI package was updated from PrjectReunion 0.8.0 to Microsoft.WindowsAppSDK experimental-1 package.

Maui version

Maui keeps evolving and changing a lot every in every preview, the development of this package is paused by now.

Fixed issues

  • Fixed UWP NuGet package installation issues #145.
  • Fixed WinUI NuGet package installation issues #192 #212
  • Fixed an issue where the series could disappear from the UI #235
  • Fixed a possible NRE, see #244 (@Maximilian-Renner)
  • Fixed an issue where tooltips were not fired in the accurate position (@wenya90)
  • Fixed an issue where charts were not saving as images #231 (@aspion-ae).
  • Improved maps, maps have a new API that enables animations and will support more shapes in a map, such as indicators and new series #197 #209 #224, there is some work to do there yet but this is a good start.

Breaking changes

Sadly the maps API has changed, it is a necessary change to build better maps, it is a small but breaking change, see #197 for more info.

Automatically generated release notes start here

What's Changed

New Contributors

Full Changelog: 2.0.0-beta.33...beta.80

beta.71

06 Sep 20:00
Compare
Choose a tag to compare
beta.71 Pre-release
Pre-release
  • Fixed multiple visibility issues #178
  • Fixed scaling canvas issues for UWP and WinUI #179

beta .70

02 Sep 21:42
Compare
Choose a tag to compare
beta .70 Pre-release
Pre-release
  • Polar charts are supported now
  • Fixed an issue where labels were not measured properly, it was affecting Gauges directly
  • Removed the dependency to System.Drawing namespace
  • Added IsVisible property to sections
  • Improved how the library applies themes
  • Fixed an issue in WPF when the update comes from another thread different from the UI thread
  • Added support for animations using key frames
  • Improved designer #164
  • Fixed multiple issue when adding/removing controls from the visual tree #133 #163 #162
  • #165 Load SkiaSharp fonts easier

Breaking changes

#158 Sadly this is the first release that has breaking changes, but the changes are minimal and might not apply for everyone using the library.

Any property of type System.Drawing.Color now should use LiveChartsCore.Drawing.LvcColor.
Any property of type System.Drawing.SizeF now should use LiveChartsCore.Drawing.LvcSize.
Any property of type System.Drawing.PointF now should use LiveChartsCore.Drawing.LvcPoint.