Skip to content

Releases: rickyah/ini-parser

v2.5.2

24 Jul 13:53
Compare
Choose a tag to compare

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

16 Jul 17:25
Compare
Choose a tag to compare

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

21 Feb 22:54
Compare
Choose a tag to compare

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)

01 Jun 00:47
Compare
Choose a tag to compare

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

09 Dec 23:51
Compare
Choose a tag to compare

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.

13 Jun 19:47
Compare
Choose a tag to compare

Maintenance Release

New APIs

  • Method KeyData.AddKey(string keyName, KeyData data) was marked as obsolete. Use KeyData.AddKey(KeyData data) instead

Bug Fixes

  • Fixes a bug when adding sections #83

v2.2.1

06 Jun 19:51
Compare
Choose a tag to compare

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

  • Correctly counts line numbers with either windows or unix line endings #81 (thanks @mbcrawfo)
  • Updates the AssemblyInfo version number
  • ParsingExceptions now prints out the current version of the library (retrieved from AssemblyInfo)

v2.2.0

31 May 17:44
Compare
Choose a tag to compare

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

03 Aug 08:52
Compare
Choose a tag to compare

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

03 Aug 08:48
Compare
Choose a tag to compare

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.