Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 14 additions & 10 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,25 +7,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [1.6.0] - 2026-03-16

### Added
- **Header & Footer Support** - Process placeholders, conditionals, and loops in document headers and footers (#15)
- All header/footer types supported: Default, First Page, Even Page
- Same syntax and features as document body - no additional API calls needed
- Formatting is preserved in headers and footers
- **Number and Currency Format Specifiers** - Format numeric values directly in placeholders (#22)
- **Non-Boolean Format Specifiers** - Format numeric, string, and date values directly in placeholders (#22)
- `:currency` — locale-aware currency formatting (e.g., `$1,234.56` or `1.234,56 €`)
- `:number:FORMAT` — any .NET numeric format string (e.g., `:number:N2`, `:number:F3`, `:number:P`)
- Works with int, long, decimal, double, and float values
- Supports compound format specifiers in placeholder regex
- **String Format Specifiers** - Transform string casing in placeholders (#22)
- `:uppercase` — convert to UPPERCASE
- `:lowercase` — convert to lowercase
- **Date Format Specifiers** - Format dates directly in placeholders (#22)
- `:uppercase` / `:lowercase` — string casing transformations
- `:date:FORMAT` — any .NET date format string (e.g., `:date:yyyy-MM-dd`, `:date:MMMM d, yyyy`)
- Supports DateTime, DateTimeOffset, and ISO date string values
- Culture-aware month/day names
- Works with int, long, decimal, double, float, DateTime, DateTimeOffset, and ISO date strings
- Culture-aware formatting throughout
- **Unified Equality Operators** - `==` now works as an alias for `=` in both `{{#if}}` conditionals and `{{(...)}}` boolean expressions (#84)
- Condition validation detects unknown operators (`===`, `<>`, `&&`, `||`) and structural issues (missing operands, unbalanced quotes, consecutive operators)
- **GUI Culture Selector** - Dropdown to choose formatting culture (Invariant, en-US, de-DE, fr-FR, es-ES)

### Improved
- Test coverage increased to 1,095 tests

## [1.5.0] - 2026-02-13

### Added
Expand Down Expand Up @@ -193,7 +195,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Cross-platform: Windows, Linux, macOS
- No Microsoft Word installation required

[Unreleased]: https://github.com/TriasDev/templify/compare/v1.4.2...HEAD
[Unreleased]: https://github.com/TriasDev/templify/compare/v1.6.0...HEAD
[1.6.0]: https://github.com/TriasDev/templify/compare/v1.5.0...v1.6.0
[1.5.0]: https://github.com/TriasDev/templify/compare/v1.4.2...v1.5.0
[1.4.2]: https://github.com/TriasDev/templify/compare/v1.4.1...v1.4.2
[1.4.1]: https://github.com/TriasDev/templify/compare/v1.4.0...v1.4.1
[1.4.0]: https://github.com/TriasDev/templify/compare/v1.3.0...v1.4.0
Expand Down
4 changes: 2 additions & 2 deletions TriasDev.Templify/TriasDev.Templify.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

<!-- NuGet Package Metadata -->
<PackageId>TriasDev.Templify</PackageId>
<Version>1.5.0</Version>
<Version>1.6.0</Version>
<Authors>TriasDev GmbH &amp; Co. KG</Authors>
<Company>TriasDev GmbH &amp; Co. KG</Company>
<Description>High-performance templating engine for .NET. Process Word documents (.docx) and plain text templates with the same powerful syntax. Replace placeholders, evaluate conditionals, and process loops without Microsoft Word. Built on OpenXML SDK with 100% test coverage.</Description>
Expand All @@ -23,7 +23,7 @@
<PackageTags>word;docx;template;openxml;document-generation;templating;word-documents;office;dotnet;email;text-templates</PackageTags>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageIcon>icon.png</PackageIcon>
<PackageReleaseNotes>v1.5.0: Add DocumentProperties option for setting document metadata (Author, Title, Subject, Description, Keywords, Category, LastModifiedBy) on output documents. Custom Templify icon and branding.</PackageReleaseNotes>
<PackageReleaseNotes>v1.6.0: Header and footer support for placeholders, conditionals, and loops. Non-boolean format specifiers (currency, number, string, date). Unified equality operators (== alias for =) with condition validation.</PackageReleaseNotes>
</PropertyGroup>

<ItemGroup>
Expand Down
Loading