Browse our Products

Aspose.SVG for .NET 25.8 Release Notes

Major Features

We are pleased to announce the August release of Aspose.SVG for .NET 25.8.0!
This version introduces powerful new boolean geometry operations for SVG graphics elements, along with a key fix to improve text positioning accuracy.

Highlights

Feature / ChangeBenefit
Boolean Geometry Operations (SVGNET-505)New API to combine any SVGGeometryElement (e.g., <circle>, <rect>, <path>) using Union, Difference, or Intersection (Crop) operations. Simplifies complex shape construction and editing workflows.
Accurate Text Layout (SVGNET-510)Fixed an issue where text was incorrectly positioned when using dx / dy attributes, which could cause overlapping or misaligned text in rendered output.

Enhancements and Fixes

  • SVGNET-505:
    Added boolean geometry operations (Union, Difference, Intersection) for all SVGGeometryElement types. The Combine method produces a new <path> element representing the merged result, enabling advanced shape composition.

  • SVGNET-510:
    Fixed incorrect text positioning due to miscalculated dx/dy values. The text layout algorithm now renders text consistently and correctly, preventing overlaps or broken visual output.


Public API Changes

Added APIs

Namespace / TypeMemberDescription
Aspose.Svg.RenderingBooleanPathOp enumSpecifies boolean operations for combining paths.
Aspose.Svg.SVGGeometryElementCombine(SVGGeometryElement other, BooleanPathOp op)Combines this geometry with another SVG geometry using the specified boolean operation and returns a new <path> element.
Aspose.Svg.SVGCircleElementCombine(...)Inherited support for boolean geometry operations.
Aspose.Svg.SVGEllipseElementCombine(...)Inherited support for boolean geometry operations.
Aspose.Svg.SVGLineElementCombine(...)Inherited support for boolean geometry operations.
Aspose.Svg.SVGPathElementCombine(...)Inherited support for boolean geometry operations.
Aspose.Svg.SVGPolygonElementCombine(...)Inherited support for boolean geometry operations.
Aspose.Svg.SVGPolylineElementCombine(...)Inherited support for boolean geometry operations.
Aspose.Svg.SVGRectElementCombine(...)Inherited support for boolean geometry operations.

BooleanPathOp Enum Values

  • Union – The combined area of both paths.
  • Difference – The area of the first path minus the second path (A − B).
  • Intersection – The area common to both paths.
  • Exclusion – The symmetric difference of the two paths (XOR).

Modified APIs

  • Aspose.Svg.Paths.SVGPathSegList

    • Constructor signature updated:
    • Old:
      public SVGPathSegList(List<SVGPathSeg> enumerable);
    • New:
      public SVGPathSegList(IEnumerable<SVGPathSeg> enumerable);
  • Aspose.Svg.Saving.SVGZSaveOptions

    • Base class changed:
    • Old:
      public class SVGZSaveOptions : SVGSaveOptions
    • New:
      public class SVGZSaveOptions : SaveOptions
  • Aspose.Svg.SVGDocument.Save

    • Now supports recognition of .svgz extension when saving with Save(string path).
    • Added overloads for saving with SVGZSaveOptions via both string path and ResourceHandler.

Removed / Replaced APIs

  • The old Save(ResourceHandler, SVGSaveFormat, SVGSaveOptions) overload has been removed and replaced with more explicit overloads:
    • Save(ResourceHandler, SVGSaveOptions)
    • Save(ResourceHandler, SVGZSaveOptions)

Migration Guide (Quick Checklist)

  1. Boolean Geometry Operations:
    Use new Combine methods with BooleanPathOp to perform shape unions, differences, and intersections.
    var combined = rect.Combine(circle, BooleanPathOp.Union);