Releases: axuno/SmartFormat
Releases · axuno/SmartFormat
v3.0.0-alpha.1
Significant improvements of performance:
BenchmarkDotNet performance tests for formatters and ISource
s 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
- 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 aTextLiteral
, not as an erroneousPlaceholder
. - Fixed: Since v1.6.1 there was an undiscovered issue: If the
Parser
encountered aParsingError.TooManyClosingBraces
, this closing brace was simply "swallowed-up". This way, the result withParser.ErrorAction.MaintainTokens
differs from the original format string. From v2.7.0, the redundant closing brace is handled as aTextLiteral
. - 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
v2.6.1.0
v2.5.3.0
v2.5.3.0-preview1
ListFormatter
will only process IList
sources.
v2.5.2.0
v2.5.1.0
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
- .Net Framework 4.6.2, 4.7.2 and 4.8 (
- Updated the Wiki
v2.5.0.0
Sources
- New: Added
ValueTupleSource
forValueTuple
s - Changed:
SmartObjects
andSmartObjectsSource
are depreciated in favor ofValueTupleSource
Settings
- Breaking Change: Internal string comparisons (i.e. for placeholder names) are no more culture-specific, but
Ordinal
orOrdinalIgnoreCase
respectively. See discussion under this issue. - Breaking Change: Default
ErrorAction
is nowThrowError
for parser and formatter, instead ofIgnore
Other
- Changed: Removed all members which were flagged obsolete since more than a year.