Skip to content

Releases: thnhmai06/SlideGenerator.Framework

v1.1.1

17 Jan 07:39

Choose a tag to compare

Performance

  • TextReplacer: Optimized ReplaceAsync to perform a single-pass scan of the OpenXML DOM. This eliminates the need for a separate pre-scan step to collect logs, significantly reducing CPU usage and execution time for slides with many placeholders.
  • TextReplacer: Implemented static caching for the StubbleBuilder instance to avoid redundant object allocations during every replacement operation. │

Bug Fixes

  • TemplatePresentation: Fixed a critical resource leak where the underlying PresentationDocument was not properly disposed because the Dispose override failed to call base.Dispose(disposing). - Presentation: Refactored the IDisposable implementation to follow the standard Dispose pattern, ensuring virtual Dispose(bool) handles unmanaged resources correctly and events are unsubscribed where applicable.
    ### Changed
  • API: Updated the signature of TextReplacer.ReplaceAsync (and Replace) to return a ValueTuple<uint, List<(uint ShapeId, string Placeholder, string Value)>>. │
  • Old: Task<uint> ReplaceAsync(...)
  • New: Task<(uint Count, List<(uint ShapeId, string Placeholder, string Value)> Details)> ReplaceAsync(...)
  • This change allows consumers to receive detailed replacement logs immediately without traversing the slide structure again.

Full Changelog: v1.1.0...v1.1.1

v1.1.0

16 Jan 22:53

Choose a tag to compare

Image

  • New structure of Image module
  • Change Attention ROI type to RuleOfThirds ROI type

Full Changelog: v1.0.0...v1.1.0

v1.0.0

23 Dec 06:24

Choose a tag to compare