Skip to content

Releases: axuno/SmartFormat

v3.0.0-alpha.3

20 Sep 21:25
b7f9100
Compare
Choose a tag to compare
v3.0.0-alpha.3 Pre-release
Pre-release

Changes on top of v3.0.0-alpha.2:

1. NullFormatter processes complex formats:

  • Behavior is comparable to ChooseFormatter
  • Allows for nested formats
  • More plausibility checks

2. NewtonsoftJsonSource: fix evaluating null values

3. Add missing formatters to Smart.CreatDefaultFormatter

  • include IsMatchFormatter
  • include NullFormatter

4. Improved parsing of HTML input

Introduced experimental bool ParserSettings.ParseInputAsHtml.
The default is false.

If true, theParser will parse all content inside <script> and <style> tags as LiteralText. All other places may still contain Placeholders.

This is because <script> and <style> tags may contain curly or square braces, that interfere with the SmartFormat {Placeholder}.

Best results can only be expected with clean HTML: balanced opening and closing tags, single and double quotes. Also, do not use angle brackets, single and double quotes in script or style comments.

SmartFormat is not a fully-fledged HTML parser. If this is required, use AngleSharp or HtmlAgilityPack.

v3.0.0-alpha.2

21 Sep 19:26
3188ed9
Compare
Choose a tag to compare
v3.0.0-alpha.2 Pre-release
Pre-release

Changes since v3.0.0-alpha.1:

1. All Format() methods accept nullable args

  • Opposed to string.Format null(able) arguments are allowed.
  • Changes effect classes Smart and SmartFormatter

2. ListFormatter will be initialized only once

v3.0.0-alpha.1

29 Aug 23:40
71fdfd6
Compare
Choose a tag to compare
v3.0.0-alpha.1 Pre-release
Pre-release

Significant improvements of performance:

BenchmarkDotNet performance tests for formatters and ISources now show (depending on different input format strings) the following improvements compared to v2.7.0:

  • increase in speed by up to 40%
  • decrease of GC pressure (collects are only GC Generation 0, allocated memory reduced by up to 60%)

Formatting measured with a cached parsed Format, and including the result string returned to the caller. Parser was already optimized with PR #187.

v2.7.0.0

10 Apr 22:09
Compare
Choose a tag to compare
  • Fixed broken backward compatibilty introduced in v2.6.2 (issues referenced in #148, #147, #143).
  • Fixed: Take an erroneous format string like "this is {uncomplete" (missing closing brace). Before v2.7.0 the parser handled {uncomplete as a TextLiteral, not as an erroneous Placeholder.
  • Fixed: Since v1.6.1 there was an undiscovered issue: If the Parser encountered a ParsingError.TooManyClosingBraces, this closing brace was simply "swallowed-up". This way, the result with Parser.ErrorAction.MaintainTokens differs from the original format string. From v2.7.0, the redundant closing brace is handled as a TextLiteral.
  • If you have issues formatting HTML with CSS and/or JavaScript included, please read the bullet-proof How-to in the Wiki

v2.6.2.0

17 Feb 21:15
0f0f545
Compare
Choose a tag to compare
  • Fix: Fully implemented all Settings.ParseErrorAction, see #143 - Thanks to Anders Jonsson

v2.6.1.0

12 Feb 17:13
742d4d5
Compare
Choose a tag to compare
  • Fixed #136
  • Upgraded test project to netcoreapp3.1
  • Enhanced SubString extension as described in PR142 - Thanks to Anders Jonsson
  • Migrated project with Nullable Reference Types (NRT) enabled

v2.5.3.0

10 Nov 20:57
Compare
Choose a tag to compare

Bugfix release

v2.5.3.0-preview1

02 Nov 21:07
Compare
Choose a tag to compare
v2.5.3.0-preview1 Pre-release
Pre-release

ListFormatter will only process IList sources.

v2.5.2.0

16 Jun 20:10
6650476
Compare
Choose a tag to compare

Supported frameworks now are:

  • .Net Framework 4.6.1, 4.6.2, 4.7.2 and 4.8 (System.Text.Json is not supported for .Net Framework 4.5.x and thus had to be dropped)
  • .Net Standard 2.0 and 2.1

v2.5.1.0

09 Jun 22:03
814af5e
Compare
Choose a tag to compare

Changes:

  • Added System.Text.Json.JsonElement to the JsonSource extension. Newtonsoft.Json is still included.
  • Added a demo version as a netcoreapp3.1 WindowsDesktop App
  • Supported framworks now are:
    • .Net Framework 4.6.2, 4.7.2 and 4.8 (System.Text.Json is not supported for .Net Framework 4.5.x and thus had to be dropped)
    • .Net Standard 2.0 and 2.1
  • Updated the Wiki