** Improvements
Support for multiple --set and --del, or --get operations,
allowing for more efficient and atomic updates to multiple parameters.
Support indented ini files with --ini-options=ignoreindent.
Indentation is ignored (and maintained) in the ini file.
--format=sh will now attempt to output a whole ini file in sh format.
Previously it would have only printed the section names.
* Noteworthy changes in release 0.9.4 (2022-12-23)
** Bug fixes
Fix updating of flag only parameters so they
don't have '=' or '=crudini_no_arg' added added on update.
Handle closed stdin/stdout gracefully, without giving errors.
** Improvements
Windows support.
Windows line endings are maintained.
Lists can be delimited with arbitrary whitespace with `--list-sep=`.
Support for unspaced "name=val" format with `--ini-options=nospace`.
* Noteworthy changes in release 0.9.3 (2019-08-30)
** Bug fixes
Reading ini files with windows line endings is again supported.
Regression added in v0.9.
** Improvements
python 3 support.
* Noteworthy changes in release 0.9 (2016-12-13)
** Bug fixes
Write errors to stdout are diagnosed correctly and consistently.
Replacing symlinks now replaces the target rather than the symlink itself.
** Changes in behavior
The case of parameters is maintained with --get.
** Improvements
Single token parameters (without equals) are now supported,
which are used in mysql config for example.
* Noteworthy changes in release 0.8 (2016-11-23)
** Bug fixes
crudini now handles parameters starting with "rem".
Previously an entry such as "remote = 1" would be ignored.
** New features
Support mercurial config files by treating lines starting
with '%' as comments, thus ignoring mercurial '%include'
and '%unset' directives.
* Noteworthy changes in release 0.7 (2015-06-14)
** Bug fixes
crudini no longer removes a blank line from the start of a file
which has no sections, or options outside a section.
[bug introduced in version 0.5]
Files are now synced after writing for better Durability.
Separate locking files are no longer used which avoids
deadlock in cases where the system is stopped in the
small window where these files exist.
* Noteworthy changes in release 0.5 (2015-01-28)
** Bug fixes
Lock files are cleaned up robustly. Previously there was a race condition
resulting in blocked subsequent edits, due to a lingering lock file.
--del will ignore requests to delete a parameter in a non-existing section
(unless --existing is used). Previously it failed citing the missing section.
** New features
The --existing option takes parameters to give more control over what needs
to pre-exist. So you can specify for example that a file needs to exist,
but any items within it are created as needed.
A new --verbose option was added to indicate on stderr wether the
request resulted in a config change or not. This can be used to
determine whether to restart programs etc.
** Changes in behavior
Files are created by default if missing, unless --existing is specified.
** Improvements
Protections against creating unparseable ini files were added.
stdin can be parsed just as with normal files.
File writes are avoided if there are no changes to the config.