Browse Source

2024.6.0 release

Marcin Ziąbek 1 year ago
parent
commit
451a8b644e

+ 1 - 1
Source/QuestPDF.Previewer/QuestPDF.Previewer.csproj

@@ -3,7 +3,7 @@
         <Authors>MarcinZiabek</Authors>
         <Authors>MarcinZiabek</Authors>
         <Company>CodeFlint</Company>
         <Company>CodeFlint</Company>
         <PackageId>QuestPDF.Previewer</PackageId>
         <PackageId>QuestPDF.Previewer</PackageId>
-        <Version>2024.3.1</Version>
+        <Version>2024.6.0</Version>
         <PackAsTool>true</PackAsTool>
         <PackAsTool>true</PackAsTool>
         <ToolCommandName>questpdf-previewer</ToolCommandName>
         <ToolCommandName>questpdf-previewer</ToolCommandName>
         <PackageDescription>QuestPDF is an open-source, modern and battle-tested library that can help you with generating PDF documents by offering friendly, discoverable and predictable C# fluent API.</PackageDescription>
         <PackageDescription>QuestPDF is an open-source, modern and battle-tested library that can help you with generating PDF documents by offering friendly, discoverable and predictable C# fluent API.</PackageDescription>

+ 1 - 1
Source/QuestPDF/Previewer/PreviewerService.cs

@@ -20,7 +20,7 @@ namespace QuestPDF.Previewer
         public event Action? OnPreviewerStopped;
         public event Action? OnPreviewerStopped;
 
 
         private const int RequiredPreviewerVersionMajor = 2024;
         private const int RequiredPreviewerVersionMajor = 2024;
-        private const int RequiredPreviewerVersionMinor = 3;
+        private const int RequiredPreviewerVersionMinor = 6;
         
         
         private static PreviewerDocumentSnapshot? CurrentDocumentSnapshot { get; set; }
         private static PreviewerDocumentSnapshot? CurrentDocumentSnapshot { get; set; }
         
         

+ 1 - 1
Source/QuestPDF/QuestPDF.csproj

@@ -3,7 +3,7 @@
         <Authors>MarcinZiabek</Authors>
         <Authors>MarcinZiabek</Authors>
         <Company>CodeFlint</Company>
         <Company>CodeFlint</Company>
         <PackageId>QuestPDF</PackageId>
         <PackageId>QuestPDF</PackageId>
-        <Version>2024.3.6</Version>
+        <Version>2024.6.0</Version>
         <PackageDescription>QuestPDF is an open-source, modern and battle-tested library that can help you with generating PDF documents by offering friendly, discoverable and predictable C# fluent API. Easily generate PDF reports, invoices, exports, etc.</PackageDescription>
         <PackageDescription>QuestPDF is an open-source, modern and battle-tested library that can help you with generating PDF documents by offering friendly, discoverable and predictable C# fluent API. Easily generate PDF reports, invoices, exports, etc.</PackageDescription>
         <PackageReleaseNotes>$([System.IO.File]::ReadAllText("$(MSBuildProjectDirectory)/Resources/ReleaseNotes.txt"))</PackageReleaseNotes>
         <PackageReleaseNotes>$([System.IO.File]::ReadAllText("$(MSBuildProjectDirectory)/Resources/ReleaseNotes.txt"))</PackageReleaseNotes>
         <LangVersion>10</LangVersion>
         <LangVersion>10</LangVersion>

+ 17 - 64
Source/QuestPDF/Resources/ReleaseNotes.txt

@@ -1,69 +1,22 @@
-Version 2024.3.0
+Version 2024.6.0
 
 
-The primary theme of this release is the removal of the SkiaSharp dependency and the introduction of a custom native layer built on top of Skia M124.
+New Features:
+- Paragraph Formatting: Added support for paragraph spacing and first-line indentation.
+- SVG Output: Introduced support for SVG output format.
+- Exception Messaging: Improved exception messages for layout issues, providing detailed information and suspected locations.
 
 
 
 
-This change was necessary to provide much higher flexibility and enable several new long-awaited features:
-- Font subsetting - this feature includes only necessary font glyphs in the output document, greatly reducing the file size, especially when using glyph-rich fonts supporting multiple languages,
-- Improved text-related capabilities, including but not limited to text justification, bi-directionality, enhanced line breaking algorithms, more styles for text decoration, word spacing, and more,
-- Introduced additional document compression to further reduce file size,
-- Integrated native SVG support,
-- In future releases: enhanced accessibility through support for PDF tags.
+Enhancements:
+- Content Drawing: Enhanced default content drawing behavior, so content does not unexpectedly repeat in certain cases.
+- Library Dependencies: Disabled visibility of native dependencies and the Lato font for cleaner output.
+- Compatibility Messaging: Enhanced compatibility exception messages for supported but potentially outdated environments.
+- Image Loading: Added fallback path for image loading to enhance development experience on ASP.NET.
+- Color Conversion: Added implicit conversion from hex numbers to color.
+- Inline Element: Simplified implementation and improved performance.
+- Column Element: Simplified implementation and improved performance.
 
 
 
 
-Other changes:
-- Removed the SkiaSharp dependency, thereby making QuestPDF a standalone library,
-- Updated the Lato font to the latest version (2.015),
-- Included licenses of the third-party dependencies in the NuGet package,
-- Included a list of Contributors in the NuGet package to acknowledge the valuable input from our Community in improving QuestPDF.
-
-
-Unfortunately, this release also introduces breaking changes:
-- Removed support for injecting SkiaSharp content directly into the document. It is still possible to integrate SkiaSharp through vector and raster graphics; please consult the documentation for more details,
-- Removed support for platforms: Android, iOS, UWP, WASM, and Linux-Alpine. We are currently investigating reintroducing support for WASM and Linux-Alpine in future releases.
-
-We would like to thank the SkiaSharp project, its maintainers, and contributors, for creating a fantastic graphics library. It was a fantastic foundation for QuestPDF for over 3 years.
-
-
-Version 2024.3.1
-- Enhanced discoverability of text alignment options (AlignLeft, AlignCenter, AlignRight, AlignStart, AlignEnd and Justify) when using the shorthand Text method (common use case).
-- To enhance compatibility with existing codebases, we've removed the breaking change associated with the deprecation of the TextStyle.Fallback method. Although this method remains obsolete, we've reintroduced it with a compatibility layer to prevent disruptions.
-- Enhanced compatibility with dotnet standard projects.
-- Fix: on the Windows platform, the "Could not find an appropriate font fallback for the following glyphs: $U-000D" exception is thrown when the "QuestPDF.Settings.CheckIfAllTextGlyphsAreAvailable" is set true, and the "TextDescriptor.Line" method is used (that inserts the '\r' character).
-- Fix: resolved an issue where the positioning of hyperlinks was incorrect when text contained injected block items.
-
-
-Version 2024.3.2
-- Introduced support for the linux-musl-x64 platform.
-- Adjusted how the Lato font is embedded in the NuGet package to prevent issues with the files not being provided on the platform-specific runtimes.
-- Improved compatibility with texts that contain the carriage return character '\r'.
-- Enhanced exception messages when the FontManager.RegisterFont method fails due to an invalid font file.
-- Enhanced the Canvas element deprecation message by adding a link to the documentation.
-- Fixed: the SVG image is not always scaled properly, especially when uses relative units internally (percentage, cm, "mm", etc.).
-- Fixed a sporadic `AccessViolationException` that occurred when UseEnvironmentFonts was set to `false` and documents were generated in parallel.
-- Fixed an issue where dynamic SVG images were not utilizing the available space correctly. This resulted in images with a zero size.
-
-
-Version 2024.3.3
-- Improved the default scaling behavior of Image and SvgImage elements when they are direct descendants of the Constrained element (Width, Height, MinWidth, MinHeight, MaxWidth, MaxHeight).
-- Enhanced handling of texts containing the carriage return character '\r' within the custom page format setting.
-- Fixed: enhanced the handling of the TextStyle.LineHeight modifier for better consistency with industry-standard software, as well as adjusted the default value.
-- Fixed: when the UseEnvironmentFonts setting is enabled, the Lato font was not being properly registered. This issue could lead to runtime exceptions in specific minimal environments.
-- Fixed: Addressed a potential null reference exception in the SvgImage object’s finalizer that could lead to application crashes when handling invalid SVG content.
-
-
-Version 2024.3.4
-- Improved font rendering by setting half-leading when line-height is overridden.
-- Enhanced exception messages for unsupported x86 platforms.
-
-
-Version 2024.3.5
-- Enhancement: text uses half-leading by default.
-- Fixed: default text decoration color should match font color.
-- Fixed: the Column element may not render successfully when it has non-zero spacing, contains a child with zero height, and is repeated.
-
-
-Version 2024.3.6
-- Introduced support for the win-x86 platform.
-- Improved SVG image support for less common unit types.
-- Enhanced automated testing environment.
+Bug Fixes:
+- Column Element: Resolved instability issues in nested layouts with spacing and zero-sized elements.
+- JPEG Quality: Disabled JPEG image downsampling/downscaling to maintain the highest quality levels.
+- Image Compression: Disabled additional image compression performed by Skia.