Releases: oxyplot/oxyplot
v2.2.0
What's Changed
- Fix placement of BarSeries labels when stacked (#1979) by @VisualMelon in #1980
- refactor: Added nullable annotations to Annotations classes of Core library. by @HavenDV in #1935
- Issue1982 by @VisualMelon in #1983
- Update OxyPlot.ImageSharp to target latest ImageSharp packages by @VisualMelon in #1934
- Double.Nan Linq.Min InvalidOperationException fix for #1991 by @rlamp in #1992
- Add MinimumMajorIntervalCount and MaximumMajorIntervalCount Axis Properties (#24) by @VisualMelon in #1712
- Update net40 and net45 to net462 by @VisualMelon in #1985
- Fix CategoryAxis.ItemSource when not associated with a BarSeries by @VisualMelon in #1912
- Issue1924 by @VisualMelon in #1997
- Add example to Show/Hide Legend (#1470) by @garydev10 in #1977
- Fix for logarithmic axis for LinearBarSeries (#740) by @FabianNitsche in #1942
- Fix font weight not being applied in ImageSharp. Issue #2006 by @IzStriker in #2007
- Add BarSeries.LabelAngle property (#1870) by @VisualMelon in #1998
- Fix HitTest when IsLegendVisible is false (#1975) by @VisualMelon in #1999
- Add example and fix for incorrect final tick on category axis (#1971) by @VisualMelon in #2000
- Fix incorrect coloring of TwoColorLineSeries by @VisualMelon in #2002
- Add CodeQL workflow by @jorgectf in #2009
- Make consistent BaseValue and BaseLine across BarSeries, LinearBarSeries, and HistogramSeries by @VisualMelon in #2001
- Improve Project Files by @mattico in #1937
- Update SkiaSharp to v2.88.3 by @Jonarw in #2013
- Add PathAnnotation.TextBackground properties (#1900) by @VisualMelon in #1913
- Add LabelAngle and LabelPlacement to IntervalBarSeries (#2027) by @jmorgan-habs in #2028
- Fix TileMapAnnotation example by @VisualMelon in #2032
- Add supports HiDPI for winforms examples by @rstm-sf in #1597
- VectorSeries by @VisualMelon in #1672
- Remove unused LabelColor property (#2030) by @VisualMelon in #2031
- close #2038 BarSeries hit test issue fixed by @belucha in #2039
- Bump SkiaSharp from 2.88.3 to 2.88.6 in /Source/OxyPlot.SkiaSharp by @dependabot in #2041
- Implement LogarithmicColorAxis by @Jonarw in #2049
- Bump SixLabors.ImageSharp from 2.1.4 to 2.1.7 in /Source/OxyPlot.ImageSharp by @dependabot in #2068
- Fix documentation for HeatMapRenderMethod by @VisualMelon in #2066
- Bump SixLabors.ImageSharp from 2.1.7 to 2.1.8 in /Source/OxyPlot.ImageSharp by @dependabot in #2073
- fix #2061 by @Jonarw in #2089
- Replace .NET 7 targets by .NET 8 by @Jonarw in #2090
- Modify some of the examples to make them deterministic by @Jonarw in #2091
- Bump SkiaSharp to 2.88.8 by @Jonarw in #2092
- Bump SixLabors.ImageSharp from 2.1.8 to 2.1.9 in /Source/OxyPlot.ImageSharp by @dependabot in #2093
- Remove references to AppVeyor by @objorke in #2095
- Bump ImageSharp.Drawing to 1.0.0 by @VisualMelon in #2099
- Update changelog for 2.2.0 by @VisualMelon in #2101
New Contributors
- @rlamp made their first contribution in #1992
- @garydev10 made their first contribution in #1977
- @IzStriker made their first contribution in #2007
- @jorgectf made their first contribution in #2009
- @jmorgan-habs made their first contribution in #2028
- @belucha made their first contribution in #2039
- @dependabot made their first contribution in #2041
Full Changelog: v2.1.2...v2.2.0
v2.1.2
OxyPlot 2.1.2
Small release, with the main purpose of making important bug-fixes available for the WPF provision, and removing a dependency on an insecure version of System.Drawing.Common
Added
- Add LineThickness property to TrackerControl (#1831)
- Add properties for
MinimumSegmentLength
to series and annotations (#1853) - Add fractal examples for PolygonAnnotation and PolylineAnnotations (#1853)
- Add
AxisPreference
toPlotManipulator
- Add VisualStudioToolsManifest.xml to add components to the Visual Studio Designer toolbox (#1446)
Changed
- Change default
MinimumSegmentLength
to2
and remove limits for series and annotations with simple geometry (#1853) - Improve performance of
StairStepSeries
, particularly when zoomed in and X is monotonic or when consecutive points have equal Y components StairStepSeries
renders a horizontal line when a point with a valid X component and invalid Y component follows a valid point- Update version of System.Drawing.Common
Fixed
- WPF - OxyPlot doesn't render inside a Popup (#1796)
- Odd behavior of zooming of Logarithmic axis in Cartesian plot (#1825)
- SkiaSharp.WPF - OxyPlot doesn't render inside an ElementHost (#1800)
- NullReference in SkiaSharp WPF renderer if UIElement has no PresentationSource (#1798)
- WPF DPI Regression (#1799)
- Code generation for escape sequences in strings (#1824)
- Axes not always honoring AbsoluteMinimum/AbsoluteMaximum and/or MinimumRange/MaximumRange properties (#1812)
- WindowsForms tracker no longer clipping outside PlotView boundaries (#1863)
- Histogram now rendering properly when using logarithmic Y axis (#740)
- Fix ExampleLibrary build errors in certain code pages (#1890)
Full changelog from 2.1.0: v2.1.0...v2.1.2
Note: there is no version 2.1.1
v2.1.0
OxyPlot 2.1
The primary goal of the 2.1 release is make the new SkiaSharp provisionals available: most users will be required to make code modifications if they wish to target 2.1. While this looks like a point release, there are some significant breaking changes in the API: some components have been removed, and others have been deprecated, but it should be fairly easy to port any code. Due to API changes, the 2.0 'Platform' libraries (e.g. OxyPlot.WPF
and OxyPlot.WindowsForms
) will not work with OxyPlot.Core
2.1, and will need to be updated: you cannot mix 2.0 and 2.1 binaries. Further details on compatability will be provided below: OxyPlot.WPF
in particular has undergone significant changes.
We intend to provide 2.1 releases for OxyPlot.Avalonia
, OxyPlot.Gtk
, OyxPlot.Xamarin
, and OxyPlot.Windows
in time.
.NET Versions
-
Support for .NET Framework 4.0 has been re-introduced for
OxyPlot.WindowsForms
andOxyPlot.WPF
. See #1452.Some APIs have been updated to support readonly collections. See #1600.
-
Support for .NET Core 3.0 has been removed; libraries now target .NET Core 3.1 instead. See #1488.
-
Core packages are now provided for .NET Standard 2.0 in addition to .NET Standard 1.0. See #1668.
Significant breaking changes (deprecated, removed, moved, or renamed functionality that was not just a bug)
-
Legend functionality has been overhauled. The many
Legend
prefix properties have been removed fromPlotModel
. See #644.The same legend properties that previously appeared in
PlotModel
are supported in a newLegend
class, along with additional functionality. ThePlotModel.Legends
collection allows the inclusion of multiple legends on one plot.Hidden series are now shown in the legend by default, and visibility can be toggled by clicking on the legend entry. This new behaviour can be disabled by setting
Legend.ShowInvisibleSeries = false
. See #1763 -
The
OxyPlot.Wpf.Plot
class and its associated components have been moved toOxyPlot.Contrib.Wpf
library. A release of this library will be made soon to go with the 2.1 release. The codebase - which allows plot models to be defined in XAML as an alternative to using aPlotModel
bound to aPlotView
- will no longer be supported as part of the main library, but continues to function for the time being. In future, and issues with these components should be directed to the OxyPlot-Contrib repository, where we will continue to welcome community code submissions. See #1399.In order to make existing code work, it will be necessary to add a reference to the
OxyPlot.Contrib.Wpf
nuget package (once it is released), and XAML namespace references will changed to"http://oxyplot.org/wpf/contrib"
. This changes does not affect code using thePlotView
component, which remains inOxyPlot.WPF
. -
OxyPlot.Wpf
has been split intoOxyPlot.Wpf
andOxyPlot.Wpf.Shared
. The former depends on the latter, and is essential for all functionality. -
Various events on plot elements have been marked as obsolete. It is better to customise the
PlotController
to seperate that logic from the plot elements themselves, and to avoid issues with conflicting events. See #111.These events will not be removed in the near future, and you can continue to use them for the time being where necessary.
-
ColumnSeries
has been removed. You should replace any usage ofColumnSeries
withBarSeries
. See #1402. -
CandleStickAndVolumeSeries
is obsolete. Consider combining seperateCandleStickSeries
andVolumeSeries
. See #1661. -
ErrorColumnSeries
has been renamed toErrorBarSeries
for consistency. See #1402. -
OxyPlot.PdfExporter
andOxyPlot.Pdf.PdfExporter
are obsolete. Consider the newOxyPlot.SkiaSharp.PdfExporter
as an alternative. See #1527. -
Exporter APIs have been simplified and made more consistent. Use
PlotModel.Background
to change the background color of export graphics. -
Reporting functionality has been moved to the
OxyPlot.Reporting
package. The code resides in the Oxyplot-Reporting repository. See #1403. -
Various
RenderingExtensions
methods have been removed. See #1661. -
The default color palette for color axes has been changed from 'Jet' to 'Viridis'. See #1505.
-
Axis.DesiredSize
is replaced withAxis.DesiredMargin
. See #1562
New features and functionality
-
OxyPlot.SkiaSharp.WPF
provides an alternativePlotView
for the WPF platform which uses the SkiaSharp library for immediate-mode rendering. This package targets .NET Core 3.1 and .NET Framework 4.5 and has native dependencies. -
OxyPlot.SkiaSharp
provides cross-platform JPEG, PNG, PDF, and SVG exporters based on the SkiaSharp library. The PDF exporter in particular provides a better alternative to the now obsoleteOxyPlot.Pdf
provision. This package targets .NET Standard 1.3 and .NET Framework 4.5 and has native dependencies. -
OxyPlot.ImageSharp
provides JPEG and PNG exporters based on a beta realease of the ImageSharp library. This is not an efficient implementation, and lacks full unicode support, but is a managed-only cross-platform option for raster graphics. This package targets .NET Standard 1.3. -
Screen-Space axis margins. See #1623.
-
ExtrapolationLineSeries
added, which allows you to declare regions of the data-space which are extrapolated data. See #1740.
Pervasive fixes
OxyPlot.Core.Drawing
now shares its implementation withOxyPlot.WindowsForms
.- Most X/Y Series and Annotations now support 'transposed' axes, where the
XAxis
is vertical and theYAxis
horizontal. - Clipping has been consolidated across plot components, providing a more consistent user experiance.
An issue-by-issue changelog can be found the changelog. See also the comparison between v2.0.0 and v2.1.0.
Notes for developers
Despite the previous suggestion that only bug-fixes would be kept after the 2.1.0-Preview1 release, we've decided that the new functionality is compartmentalised enough that it's simpler to publish the develop branch as-is.