crudini NEWS                                    -*- outline -*-

* 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.
