chore(main): release 1.9.0 - #220
Merged
vaceslav merged 3 commits intoSep 27, 2026
Merged
Conversation
github-actions
Bot
force-pushed
the
release-please--branches--main--components--templify
branch
10 times, most recently
from
September 27, 2026 13:41
ffa715c to
5d679ab
Compare
github-actions
Bot
force-pushed
the
release-please--branches--main--components--templify
branch
from
September 27, 2026 13:57
5d679ab to
2890623
Compare
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
vaceslav
deleted the
release-please--branches--main--components--templify
branch
September 27, 2026 19:07
Contributor
Author
|
🤖 Created releases: 🌻 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤖 I have created a release beep boop
1.9.0 (2026-09-27)
✨ Highlight: OpenDocument / LibreOffice templates
Templify now fills OpenDocument Text templates (
.odt, and.otttemplates, which produce.odt) created with LibreOffice Writer, Collabora or OpenOffice. It uses the same syntax and features as for Word documents:elseif, table rows, list items);@index/@number);EnableMarkdown,:raw),ValidateTemplateand document properties.This matters for public-sector and other organisations standardising on ODF.
System.IO.CompressionandSystem.Xml.DocumentTemplateProcessorbehaves as in 1.8.0, and results for the same template are identical in both formats.UpdateFieldsOnOpen, comments,.fodt) are documented at LibreOffice / OpenDocument..odt/.ott, and the Demo and examples include a LibreOffice letter.New public API (additive)
OdtTemplateProcessor: same methods asDocumentTemplateProcessor.TemplateProcessor: a facade that detects the format and passes the call to the matching processor.TemplateFormat: enum withUnknown,DocxandOdt.ValidationErrorType.InvalidDocument: for unsupported, corrupted or rejected input. Used by the new ODT and facade paths.ValidationWarningType.MissingConditionVariable: a warning when{{#if Missing}}uses a variable missing from the data as a bare operand.IsValidis not affected.The public C# API remains source- and binary-compatible with 1.8.0 (verified by package validation). These fixes can change results for existing Word templates.
ValidateTemplatefor Word templates:{{(…)}}are validated properly (fix(validation): validate inline expressions via the condition AST instead of reporting them as one missing variable #233).Variable '(A and B)' …) even when all operands were present, so correct templates showedIsValid = false. Now each operand is checked with the same rules processing uses.AllPlaceholderslists the expression's variables instead of the expression text.InvalidConditionalExpression.AllPlaceholderseven when validating without data (fix(validation): list collections of nested loops in AllPlaceholders without data #226).{{#if}}marker in a table row is now reported as invalid (fix(validation): report unmatched table row conditionals in Word templates #227). Processing already failed on it.Output streams (#221, #232):
Failureand nothing is written.File.Createfor output files.Removed dead marker handling: the unsupported
{{#empty}}/{{/empty}}text is no longer treated specially, so a paragraph containing it gets normal placeholder replacement.Features
Bug Fixes
Performance Improvements
This PR was generated with Release Please. See documentation.