Releases: rickyah/ini-parser
v2.5.2
Hotfix:
Version 2.5.0 is NOT signed does not contains a dll with an strong name. This release fixes it
see #151 for more information.
- Changes from 2.5.X
Breaking Changes:
FileIniParser now writes a file with UTF8 encoding as default value instead of ASCII. FileIniParser was reading the file using UTF8 so this non-uniform behaviour was confusing
Enhancements:
Marked SectionData.LeadingComments
property as obsolete
Updated docs to use non-deprecated APIs
Bug Fixes:
#135 Fix searches in Global section made case sensitive even when the case insensitive option was active
v2.5.0
Breaking Changes:
FileIniParser now writes a file with UTF8 encoding as default value instead of ASCII. FileIniParser was reading the file using UTF8 so this non-uniform behaviour was confusing
Enhancements:
Marked SectionData.LeadingComments
property as obsolete
Updated docs to use non-deprecated APIs
Bug Fixes:
#135 Fix searches in Global section made case sensitive even when the case insensitive option was active
v2.4.0
New configuration AllowCreateSectionsOnFly.
When true if you access a non existing section using the indexer the section is
created on the fly instead of throwing an exception.
Defaults to false
e.g.
IniData data = new IniData();
data.Configuration.AllowCreateSectionsOnFly = true;
data["Section1"]["key1"] = "value1"; // No exception!
Console.WriteLine(data["Section1"]["key1"]); // Prints "value1"
v2.3.0 (Minor update)
v2.3.0
New APIs (backward compatible):
Allows setting the NewLine character to use when writing an IniData structure
to a file using a IIniDataFormatter.
Use the property NewLineStr in available on IniData.Configuration
Bug Fixes:
- Fixed license url on nuget package
- Fix regex to allow parse unicode characters
v2.2.4
Maintenance release
v2.2.3 was skipped.
New APIs
- Added TryGetKey/GetKey methods to IniData
- Add possibility to pass an IniDataParser to the ctor of FileIniDataParser for consistency
Bug Fixes
- Fixed issue #88: Now you can use quotes and double quote on section names (thanks @dweldy for the fix)
Clean up
- Refactor: Separator character is now located in the IniData class
- Add Visual Studio Code files to ignore
v2.2.2.
v2.2.1
Maintenance Release
New APIs
- Adds a bump-version scripts that automates setting the version in the AssemblyInfo.cs file
- AssemblyInfo.cs file is now shared between the IniParser and IniParser.Tests assemblies so the versions of both files match
Fixes
v2.2.0
Changelog:
- Automatic nuget packaging using the CLI script nuget-pack #80
- Implements a parser that concatenates duplicated keys in a section #79
- Allows access to ini file elements using case insensitive names #78
- Provide better error messages when parsing fails #75
- This PR introduces a new API for checking errors #74
- Changed the FileShare attribute of the FileStream to ReadWrite in FileIniParser #68
- Allow deleting all comments #61
- Fixes #69: support concatenate duplicate keys. #70
- Fixes #66 ArgumentNullException when parsing sectionless ini file with comments at the end
Merge operations
Introduces merge operations for IniData
, SectionData
and KeyValueData
structures.
Typical use case is to provide a default set of configuration settings that can be partially of fully overridden by user settings:
IniData defaults = GetDefaultSettings();
IniData userSettings = ReadUserSettingsFromConfigFile();
IniData settings = defaults.Merge(userSettings);
v2.1.0: version 2.1.0
Allows using an string as comment delimiter instead of just one character.
New IInidataFormatter
interface allows that to define the way an IniData structure is converted to an string. The interface can be passed as an argument to an overloaded IniData.ToString(IInidataFormatter formatter)
method to customize how to recreate an IniFile. This allows, for example, to read an IniFile with an specified format and persists it with a different one.
The defatult IniData.ToString()
method uses a default formatter with the same settings as the configuration used to parse the file.