v5.11.1
Migrate SmartFormat.NET v2.7.3 to v3.2.1
Heads up
This version is API and source compatible with prior 5.x versions.
In v5.11 the referenced package for SmartFormat.NET
is updated from v2.7.3 to v3.2.1. This new major version of SmartFormat.NET
incurs breaking changes. MailMergeLib manages breaking API changes under the hood. Other breaking changes are related to using SmartFormat formatter extensions in placeholders:
- If you're only using plain placeholders like "{Email}" or even "{Today:yyyy-MM-dd}" there's no need for updating the format strings, and you're fine.
- If you're using formatters like
"{Fruit:cond:Apple|Pie|Orange|Banana|No fruit}"
, where the rendered string depends on theFruit
variable, urgently have a look at https://github.com/axuno/SmartFormat/wiki/Migration#2-formatter-differences-from-v2-to-v3 .Required modifications are not extensive, but unavoidable. - On the other side
SmartFormat v3
has many advantages:- Parsing is 10% faster with 50-80% less GC and memory allocation
- Formatting is up to 40% faster with 50% less GC and memory allocation
- Nullable notation inside placeholders
- much more
See more details here: https://github.com/axuno/SmartFormat/wiki/Why-Migrate
Details
- Update of
SmartFormat.NET
to v3.2.1 with at least the same extensions enabled as in priorMailMergeLib
5.x versions - Add NET 6.0 as a target framework, reducing the number of dependencies
- After installation is completed, the above "Heads up" message is displayed
- Add Sandcastle Help File Builder project folder
- Resolves #23
Full Changelog: v5.10.0...v5.11.1