Releases: thnhmai06/SlideGenerator.Framework
Releases · thnhmai06/SlideGenerator.Framework
v1.1.1
Performance
- TextReplacer: Optimized
ReplaceAsyncto 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
StubbleBuilderinstance to avoid redundant object allocations during every replacement operation. │
Bug Fixes
- TemplatePresentation: Fixed a critical resource leak where the underlying
PresentationDocumentwas not properly disposed because theDisposeoverride failed to callbase.Dispose(disposing). - Presentation: Refactored theIDisposableimplementation to follow the standard Dispose pattern, ensuring virtualDispose(bool)handles unmanaged resources correctly and events are unsubscribed where applicable.
### Changed - API: Updated the signature of
TextReplacer.ReplaceAsync(andReplace) to return aValueTuple<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
Image
- New structure of
Imagemodule - Change
AttentionROI type toRuleOfThirdsROI type
Full Changelog: v1.0.0...v1.1.0