Changelog
v10.0.0-beta02
Released November 23, 2018. Previous release: v10.0.0-beta01. Migration guide.
Added
-
Configuration.LineBreakInQuotedFieldIsBadData -
FieldValidationException -
HeaderValidationException -
IParserConfiguration.LineBreakInQuotedFieldIsBadData
Changed
-
Configuration.PrepareHeaderForMatchBreakingThe type changed from Func<string, string> to Func<string, int, string>.
-
Configuration.ReadingExceptionOccurredBreakingThe type changed from Action<CsvHelperException> to Func<CsvHelperException, bool>.
-
ConfigurationFunctions.PrepareHeaderForMatch(string, int)BreakingThe parameters changed from (string) to (string, int).
-
ConfigurationFunctions.ReadingExceptionOccurred(CsvHelperException)BreakingThe return type changed from void to bool.
-
IReaderConfiguration.PrepareHeaderForMatchBreakingThe type changed from Func<string, string> to Func<string, int, string>.
-
IReaderConfiguration.ReadingExceptionOccurredBreakingThe type changed from Action<CsvHelperException> to Func<CsvHelperException, bool>.
-
ReadingContext.NamedIndexCacheBreakingThe type changed from Dictionary<string, Tuple<string, int>> to Dictionary<string, (string, int)>.
-
ValidationExceptionBreakingThe type is now abstract.
Commits
- 618362da Write ExpandoObject and IDynamicMetaObjectProvider object properties in ascending order to ensure order of property creation doesn't matter.
- f5a0d26d PrepareHeaderForMatch now passes in the header name and index. Dynamic records will now have null properties for missing fields.
- 18d49050 Changed delimiter default value from ',' to CultureInfo.CurrentCulture.TextInfo.ListSeparator.
- c78029d3 Updated T4 for CsvParser.
- bc801f8b Config option to consider a line break in a quoted field as bad data.
- 89551097 Changed NamedIndexCache Tuple<string, int> to (string, int).
- 8b8d27e8 Added more friendly header validation message. Separated header and field validation exceptions. Added data properties to validation classes.
- 90fe88e7 Changed Configuration.ReadingExceptionOccurred to not throw an exception and return a boolean whether it should throw an exception. The caller will throw if true.