- ✨ Empty lines are now attributed as leading / trailing trivia
instead of generating
UnrecognizedIniNode
s. See #13. - ⚡ Breaking: A lot of restructuring has gone into the AST.
These changes only affect advanced users that manipulate the AST directly and not via the
Editing
API. - 🐛 Newlines preceded by whitespace are now correctly categorized as newlines instead of whitespace. See #15.
No changes between 2.0.0-rc.1 and 2.0.0.
- Update package metadata
This release polishes the API by simplifying names, namespaces and adding some convenience:
Most notably, all important types now have the Ini
prefix: IniDocument
, IIniSection
, etc.
All of the APIs which are expected to be used by regular consumers of the library now live in the main namespace Broccolini
.
The main entry point of the library is as before the IniParser
class with two methods:
Parse
parses the document into an AST that preserves formatting and comments for editing.ParseToSemanticModel
parses the document into a semantic representation optimized for reading.
A lot of advanced APIs are now marked as [EditorBrowsable(Advanced)]
to create a pit of success
when looking at the API surface.
- Improve insertion heuristic for keys when section contains trailing whitespace. (#5)
- Fix broken newline detection for appending a node to new section (Follow up to #1).
- Fix incorrect package description.
- Fix broken newline detection for appending a node to an empty section. (#1)
- Use stronger types in AST.
- Distinguish comment nodes from unrecognized nodes in AST.
- Treat all characters
< ' '
as whitespace to align with Windows' behaviour.
Initial release