Skip to content

v5.11.1

Compare
Choose a tag to compare
@axunonb axunonb released this 04 Jul 20:55
· 7 commits to main since this release
6591289

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:

  1. 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.
  2. If you're using formatters like "{Fruit:cond:Apple|Pie|Orange|Banana|No fruit}", where the rendered string depends on the Fruit 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.
  3. 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 prior MailMergeLib 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