Skip to content

Latest commit

 

History

History
338 lines (287 loc) · 18.1 KB

CHANGELOG.md

File metadata and controls

338 lines (287 loc) · 18.1 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning v2.0.0.

Unreleased (2.1.1)

Changed

  • The exception classes are now sealed (should not break anything, since there never was any sense in extending them in the user code).
  • Avalonia: AvaloniaMathFontProvider::Instance is now read-only.

2.1.0 - 2023-07-15

Changed

  • AvaloniaMath is now based on (and thus compatible with) Avalonia 11.

Fixed

2.0.0 - 2023-06-11

Although a major release with certain formally breaking changes, these changes should hopefully not break any normal usage of the library (if the user code doesn't implement own IElementRenderer).

Changed

  • (Breaking!) Avalonia: rename AvaloniaBrushExtensions to AvaloniaExtensions.
  • (Breaking!) WPF: rename WpfBrushExtensions to WpfExtensions.
  • (Breaking!) IElementRenderer is now required to implement a new method, RenderLine (required for the new \cancel* commands).

Added

Fixed

1.1.0 - 2023-04-30

Fixed

Added

1.0.0 - 2023-02-07

Changed

  • The project has been renamed to XAML-Math. This doesn't change the NuGet package names (WpfMath and AvaloniaMath) and their contents (including namespaces of most entities), but changed the contents of the shared assembly.
  • (Breaking change.) WpfMath.Shared assembly was renamed to XamlMath.Shared:
    • a lot of types were migrated from WpfMath namespace to XamlMath,
    • all the internal XML file resources were migrated to the new namespace as well.
  • The XamlMath.Shared assembly has been extracted into a separately published NuGet package.
  • (Breaking change.) WPF-Math no longer supports .NET Framework 4.5.2, .NET Core 3.1, and .NET 5.0, because they are out of support by Microsoft. The only supported runtimes are:
    • .NET Framework 4.6.2 or later,
    • .NET 6.0 and later.
  • (Breaking change.) WpfMath.Colors.IColorParser::Parse now accepts IReadOnlyList instead of IEnumerable.
  • (Minor breaking change.) XamlMath.Colors.StandardColorParsers::Dictionary static public field is now readonly.
  • (Minor breaking change.) WpfMath.Rendering.WpfBrushFactory's constructor is now private.
  • (Minor breaking change.) WpfMath.Rendering.WpfBrushFactory::Instance static public field is now readonly.

Removed

  • (Breaking change.) Delete the TexRenderer class. Use extension methods from WpfMath.Rendering.WpfTeXFormulaExtensions and WpfMath.Rendering.TeXFormulaExtensions to replace its functionality in your code.

Added

  • Avalonia version is now available! Install the AvaloniaMath NuGet package to get it.

    It supports the following .NET variants:

    • .NET Framework 4.6.2 or later,
    • .NET Standard 2.0 or later,
    • .NET 6.0 or later.
  • Portable PDB packages are now published to NuGet.

0.13.1 - 2023-01-29

Fixed

0.13.0 - 2023-01-27

Changed

  • (Breaking change.) The library is now distributed in the form of two assemblies: WpfMath and WpfMath.Shared (as a future cross-platform core of the library).

    Both of the assemblies are still distributed in the same NuGet package.

    A lot of types were moved to WpfMath.Shared assembly (preserving their namespaces).

  • (Breaking change.) It is no longer recommended to create instances of TexEnvironment using the public constructor. Use WpfMath.Rendering.WpfTeXEnvironment::Create instead.

  • (Breaking change.) It is no longer recommended to create instances of TexFormulaParser using public constructors. Use WpfMath.Parsers.WpfTeXFormulaParser::Instance instead.

  • (Breaking change.) WPF-specific WpfMath.Rendering.IBrush has been replaced with WpfMath.Rendering.IBrush in most of the public interfaces. Use WpfMath.Rendering.WpfBrushExtensions to convert back and forth to the WPF type.

  • (Breaking change.) WpfMath.Rendering.IElementRenderer has been updated:

    • RenderGlyphRun has been replaced with RenderCharacter method (not reliant on any WPF-specific types),
    • RenderRectangle now receives an instance of a new WpfMath.Rendering.Rectangle type (decoupled from WPF).
  • WpfMath.TexRenderer is now obsolete. Consult the documentation on new recommended ways to perform custom rendering. There are new extension methods in two classes (WpfMath.Rendering.WpfTeXFormulaExtensions and WpfMath.Rendering.TeXFormulaExtensions) that are the main way to render formulae now.

  • (Breaking change.) WpfMath.TexFormnula::GetRenderer is gone. Create a TexRenderer using constructor (obsolete) or use the aforementioned extension methods instead.

Added

  • WpfMath.CharInfo: a new public type to work with a font character. Use WpfMath.Fonts.WpfCharInfoEx::GetGlyphRun if you need to get a System.Windows.Media.GlyphRun from it.
  • WpfMath.Rendering.WpfTeXFormulaExtensions to render a WpfMath.TexFormula into a System.Windows.Media.Imaging.BitmapSource or System.Windows.Media.Geometry.
  • New classes for WPF-Math porting to platforms other than WPF (consult the WpfMath.Rendering.IElementRenderer interface and TexFormulaParser constructor parameters to know more).
  • WpfMath.Colors.RgbaColor as a new portable color representation.
  • WpfMath.Fonts.IFontProvider: implement this interface to provide alternate font reading functionality.
  • WpfMath.Fonts.ITeXFont: implement this interface to provide access to a platform-specific font resource.
  • WpfMath.Rendering.IBrushFactory: implement this interface to provide access to creation of platform-specific solid-colored brushes.
  • WpfMath.TeXFontMetrics that contains some measurements of a font glyph.
  • A utility Result struct is now public.

0.12.0 - 2023-01-07

Added

  • TeX's environment support with only one environment for now: \begin{pmatrix} (see #329).

Changed

  • The project is now built on .NET 7 SDK and C# 11 (shouldn't change the supported framework set).

0.11.0 - 2021-08-31

Added

Fixed

0.10.0 - 2021-07-06

Changed

  • (Breaking change!) Removed support for .NET Core 3.0. .NET Core 3.1 or later is supported from now (.NET Framework 4.5.2 is still supported; .NET 5.0 or later is supported, too).

Added

Fixed

0.9.0 - 2020-07-31

Added

Fixed

0.8.0 - 2020-01-03

Added

Fixed

0.7.0 - 2019-08-24

Changed

Fixed

Added

0.6.0 - 2018-11-19

Fixed

Added

Changed

0.5.0 - 2018-05-08

Fixed

Added

0.4.0 - 2017-09-11

Fixed

Added

0.3.1 - 2017-03-18

Changed

0.3.0 - 2017-02-24

Fixed

0.2.0 - 2017-02-16

Merged all the patches from the Launchpad repository (see #3 for a full list). The most interesting ones are:

  • Fix for culture-dependent number parsing in XmlUtils
  • Addition of SVG rendering functionality

0.1.0 - 2017-02-11

This was the initially published version. It consisted of the original code from the Launchpad project site (but only the version for .NET 4 was published).

The features included more or less correspond to what was available in JMathTex, as the project started as a .NET port of that.

Read more at the licensing history document.