Changelog
[3.3.1] - March 24, 2026
- fix: handle dangling r:id on p:oleObj/p:externalData — KeyNotFoundException in slide publishing (#156)
- fix: resolve Content directives in v:textpath/
@string for VML watermarks (#141)
[3.3.0] - March 22, 2026
- fix: prevent malformed XLSX when worksheet has no data rows (#108)
- fix: use min-width for tab-preceding span to prevent text overflow (#110)
- fix: update docProps/app.xml metadata in PublishSlides output (#114)
- fix: update numFmts count attribute when adding custom number formats (#124)
- fix: custom numFmt IDs must start at 164 per ECMA-376 (#131)
- fix: TextReplacer.CloneWithAnnotation now returns the clone, not the original (#135)
- perf:
O(1) dictionary lookup for media deduplication cache in FluentPresentationBuilder (#128)
- perf: cache next slide ID in FluentPresentationBuilder to avoid
O(n²) scan (#140)
- perf: cache compiled Regex, use
Any() over Count() == 0, use Element() over Elements().First() (#143)
- refactor: modernise assembler helper classes (#118)
- refactor: modernize DocumentAssembler.cs with collection expressions and catch cleanup (#138)
- hk: DocumentFormat.OpenXml 3.5.1, TUnit 1.20.0 (#146)
- hk: Modernize CI workflow and update dependencies (#121)
[3.2.0] - January 25, 2026
- hk: DocumentFormat.OpenXml 3.4.1
[3.1.0] - August 30, 2025
- Build with .NET 10.0 and provide .NET 8 & 10 binaries (#106)
[3.0.2] - August 30, 2025
- Extends
DocumentAssembler to also apply HTML formatting on content in table cells (#101)
[3.0.1] - July 30, 2025
- fix: incorrect insertion of sldLayoutIdLst element for SlideMaster (#100)
[3.0.0] - June 30, 2025
- Public exposure of
IFluentPresentationBuilder ergonomic API for the code behind PresentationBuilder
[2.5.2] - June 28, 2025
- fix: relationship of theme parts (#99)
[2.5.1] - March 30, 2025
- Issue 95 and other issues #96 by @MalcolmJohnston
- hk: DocumentFormat.OpenXml 3.3.0
[2.5.0] - February 7, 2025
- Insert Documents or Document Templates using Document Assembler #93 by @MalcolmJohnston
[2.4.2] - January 15, 2025
- fix: Font Sizing Font Styling and Font Coloring is not working #94
- hk: dependencies update
[2.4.1] - January 4, 2025
- fix: Bug fix/document assembler paragraph properties not copied from template #91
- fix: slide naming issues during publishing presentation with *.potx extension
- hk: Migration to xUnit.v3
[2.4.0] - December 8, 2024
- feat: Added support for HTML fragments in Document Assembler Content tag (#86)
[2.3.0] - November 23, 2024
- hk: build with .NET 9.0
- hk: DocumentFormat.OpenXml 3.2.0
- hk: Pack with
dotnet pack instead of paket
- feat: handle invalid xml characters (#89)
[2.2.2] - November 1, 2024
- feat: DocumentFormat.OpenXml 3.1.0 -> 3.1.1
- docs: Fix document assembler images and other tidy up (#84)
- hk: Document Assembler - Small Code Reorganisation (#83)
[2.2.1] - October 8, 2024
- fix: optimized memory usage during slide publishing
[2.2.0] - September 8, 2024
- DocumentFormat.OpenXml 3.0.2 -> 3.1.0
- DocumentFormat.OpenXml.Framework 3.0.2 -> 3.1.0
- SixLabors.ImageSharp 3.1.4 -> 3.1.5
- SixLabors.ImageSharp.Drawing 2.1.3 -> 2.1.4
[2.1.1] - April 18, 2024
- fix: regression cased by migration to struct inside OpenXML v3 #75
- Dependencies updated
[2.1.0] - Mar 18, 2024
[2.0.1] - Jan 16, 2024
- Fix regression cased by migration to struct inside OpenXML v3
- DocumentFormat.OpenXml 3.0 -> 3.0.1
- SixLabors.Fonts 2.0 -> 2.0.1
- SixLabors.ImageSharp 3.0.2 -> 3.1.2
- SixLabors.ImageSharp.Drawing 2.0.1 -> 2.1.0
[2.0.0] - Nov 26, 2023
- Migration to .NET 6.0
- DocumentFormat.OpenXml 3.0.0-beta0003
System.Drawing.Common replaced by SixLabors.ImageSharp.Drawing`
- Removed
libgdiplus dependency
- Drop old
WmlComparer
[1.13.5] - Mar 27, 2023
- perf: improved PublishSlides perf #61
[1.13.4] - Dec 6, 2022
- fix: issues with 7.0 packages
[1.13.3] - Dec 5, 2022
- fix: PublishSlides: missing ppt/metadata for google presentations #59
- Dependencies updated
[1.13.2] - Oct 4, 2022
- remove caracters to prevent > at document assembler #57
- Handle W.lastRenderedPageBreak in UnicodeMapper #58
[1.13.1] - Sept 27, 2022
long overload for Cell.Number
[1.13.0] - Sept 27, 2022
- DocumentFormat.OpenXml (2.18)
- Added Cell.Bool for Excel helpers
[1.12.2] - Jul 13, 2022
- fix: PtOpenXmlUtil: process corrupted OpenXmlPart items #56
[1.12.1] - Jul 11, 2022
- DocumentFormat.OpenXml (2.17.1)
[1.12.0] - Jun 2, 2022
- Static Cell builder class for simpler and safer Excel generation
- Auto new modified date for decks composed with PresentationBuilder
[1.11.0] - May 29, 2022
- PublishSlides: reduced memory consumption #53
[1.10.2] - Mar 16, 2022
- DocumentFormat.OpenXml (2.16.0)
- Lock
System.Drawing.Common version to v5
[1.10.0] - Feb 19, 2022
[1.9.2] - Feb 17, 2022
- Fix: Don't show hidden slides after PresentationBuilder.BuildPresentation
[1.9.1] - Feb 9, 2022
- Fixed incorrect usage of Stream API
[1.9.0] - Jan 28, 2022
- DocumentFormat.OpenXml (2.15.0)
[1.8.2] - Dec 16, 2021
- Improved memory consumption for PresentationBuilder.PublishSlides #44 by @f1nzer
- Revert DocumentFormat.OpenXml back to 2.13.1 (because of this issue)
[1.8.1] - Nov 5, 2021
- DocumentFormat.OpenXml (2.14.0)
[1.8.0] - Oct 25, 2021
- DocumentAssembler: Support for multi-value XPath results #39
[1.7.3] - Oct 7, 2021
- Fixed copy Chart Style Parts in FluentPresentationBuilder
[1.7.2] - Aug 23, 2021
- DocumentFormat.OpenXml v2.13.1
[1.7.1] - Aug 18, 2021
- Resolving bug with nested rowspans #35
[1.7.0] - Aug 15, 2021
- DocumentAssembler: Support for images #31
[1.6.1] - Jul 11, 2021
- New docs site generated by DocFx #33
- Tests suite cleanup, samples converted to tests #32
[1.6.0] - Jul 3, 2021
- Add WorkbookDfn.WriteTo(Stream) method #29
- Fixed generation of multiple Excel tables
- Fixed formatting of cells with DateTime
[1.5.0] - Jun 26, 2021
- Structural comparison for Theme, Master, Layout #20
- Auto-scaling for slides from presentations with different slide size
- DocumentFormat.OpenXml (2.13)
- System.Drawing.Common (5.0.2)
[1.4.0] - Feb 10, 2021
- DocumentBuilder: Added ISource and TableCellSource - #17
- DocumentFormat.OpenXml (2.12.1)
- Added dependency on System.IO.Packaging
- Fixed DateTime/DateTimeOffset serialisation format to Excel
[1.3.1] - July 30, 2020
- PresentationBuilder: Fixed CopyExtendedPart
[1.3.0] - July 29, 2020
- DocumentFormat.OpenXml (2.11.3)
- PresentationBuilder: Bug Fixes #16
[1.2.1] - May 2, 2020
- HTML to WML: Allow font-size with unit rem #13
[1.2.0] - March 12, 2020
- DocumentFormat.OpenXml (2.10.1)
[1.1.4] - December 6, 2019
- Slide title extracted and saved to document title #10
- Ensured that Modified date is propagated
- Compiled and tested on .NET Core 3.1 #9
[1.1.3] - December 3, 2019
- Don't rename theme when we extract slides from auto-generated 1-layout master
[1.1.2] - December 2, 2019
[1.1.1] - December 1, 2019
- Extract and merge presentation without slides (only masters) #5
[1.1.0] - November 29, 2019
- Added Slide Publishing API #2
[1.0.0] - November 21, 2019