All Versions
Latest Version
Avg Release Cycle
105 days
Latest Release
1351 days ago

Changelog History
Page 2

  • v2.1.0

    June 23, 2017
  • v2.1.0.2 Changes

    August 15, 2017

    ๐Ÿ›  Fixes issue #94

  • v2.0.0 Changes

    • ReflectionSource now also gets members from base classes
    • โž• Added nesting and list tests
    • โž• Added coding samples
    • ๐Ÿ‘Œ Improved source xml docs
    • ๐Ÿ“š Extended Wiki documentation for error handling and common pitfalls
  • v1.7.1.1 Changes

    • ๐Ÿ“œ No more ambiguity between named formatters and string.Format formatting arguments: The parser checks whether the parsed name exists in one of the formatter extensions.
    • ๐Ÿš€ SmartFormatter and Parser default to ErrorAction = ErrorAction.Ignore in release AND debug mode
    • SmartFormatter has EventHandler OnFormattingFailure
    • ๐Ÿ“œ Parser has EventHandler OnParsingFailure
    • ๐Ÿšš Obsolete FormatItem.Text property removed (was replaced by RawText property some time ago)
    • Assemblies are signed with a strong name key file
    • ๐Ÿ‘Œ Supported frameworks are .Net 4.0, .Net 4.5, .Net Core - dropped .Net 3.5 and earlier
    • โž• Added an icon to the nuget package
  • v1.6.1 Changes

    • ๐Ÿ›  Fixed issue with parsing named formatter options (#45)
    • Minor changes to the Extensions API:
      • Added fields to ISelectorInfo
      • Made Text obsolete in favor of RawText.
  • v1.6 Changes

    • โž• Added TemplateFormatter. Allows you to register named templates, to be used within other templates.
      Note: the TemplateFormatter extension is not a default extension, and must be added manually.
  • v1.5 Changes

    • โž• Added "Nested Scopes" feature. This allows a nested template to easily access outer scopes, without tricky workarounds.
      For example: in "{Person: {Address: {City} {FirstName} } }", {City} will come from Address, but {FirstName} will come from Person.
      This will work especially well with conditional formatting!
  • v1.4 Changes

    • Massive improvements to the Extension API. Code is cleaner and easier to use.
    • ๐Ÿ’ฅ Breaking changes: Any custom Extensions will need to be updated to match the new API.
      Long story short, instead of 5 parameters passed to IFormatter.EvaluateFormat, it now just gets a single FormatterInfo argument that contains all parameters.
    • โž• Added the "choose" formatter, to eventually replace the ConditionalFormatter.
      Hopefully it's self explanatory with these usage examples:
      "{0:choose(1|2|3):one|two|three|default}" works like a switch statement "{0:choose(null):nothing|{something}}" can do null checking "{Gender:choose(Male|Female):his|her}" works great with Enums
  • v1.3 Changes

    • โž• Added "Named Formatters", which allows you to use a specific formatter by specifying its name.
      For example, "{0:plural: ___ }" will use the Plural formatter, and "{0:default: ___ }" will use the default formatter.
    • โž• Added "Formatter Options", which allows you to specify options for a named formatter. This will be used in the near future.
      For example, "{0:name(options): ___ }"