Releases: dbohdan/initool
v1.0.0
- Added scripts to modify the INI file in place.
- The command-line interface of initool should be considered stable.
Some comments on the release
initool is old enough and packaged widely enough that significant changes to the CLI would break other people's work. initool has to be deΒ facto stable, and the version number should reflect it.
I don't think initool will get a lot more feature development. Bug fixes will be the majority of work from this point on. Most feature requests will not be accepted.
initool is hampered by being written in Standard ML. It has been a fun experiment to develop initool in this rare and elegant programming language. Unfortunately, Standard ML lacks some basic libraries, like an implementations of regular expressions with string replacement, not to mention Unicode support. This limits what you can reasonably do with it. If I resume feature development, it will be with a new major version ported to another language.
v0.18.0
v0.17.0
- Fixed byte-order mark detection. It was broken for files with more than one line.
- Added an alternative wildcard character,
_
(underscore). The*
wildcard never worked on Windows because binaries compiled with MoSML expand*
to a list of files. - Wildcards can be escaped using
\
:\*
,\_
. A leading slash is now removed from the section-name argument and the key argument. - The test suite has been ported to Windows. Windows builds are now tested just like Linux and Mac builds. This will help prevent Windows-only bugs in the future.
Making _
a wildcard and the introduction of escaping with a leading slash break compatibility with previous versions (in a relatively minor way).
v0.16.0
v0.15.0
v0.14.1
v0.14.0
v0.13.0
- Added a new global option
-i
/--ignore-case
. - Implemented wildcards. A wildcard (
*
) section name or key matches everything. - Repeated keys and section names are handled correctly. Commands act on every copy.
exist
andget ... --value-only
did not work correctly for repeated items before.
This release includes changes that break compatibility, one major (exit status) and two minor.
get
,set
,delete
can exit with non-zero status. The previous approach of never doing this made it easier for mistakes to go unnoticed. Sorry if this breaks your script. It was a mistake to keep the old behavior for so long.- Initool no longer prints the section name on
get existing-section missing-property
. It is not clear it helped users in any way. It might have been confusing, creating the impression that the section was empty when it may or may not have been. (This change only affects getting a nonexistent property. Initool gets an empty section like it did before. Deleting everything from a section does not delete the section itself, since an empty section's presence may have meaning.) - Initool no longer prints a blank line when there is nothing to output from
get
ordelete
.
v0.12.0
Added error messages with contextual usage information. Instead of the full help message, initool will show you the arguments you gave and usage for the command you were trying to use. It will display the list of possible commands when it does not recognize the command.
For example, when you issue the command
initool g tests/php.ini PHP engine --v
the error message will be
invalid usage: g tests/php.ini PHP engine --v
usage: g <filename> [<section> [<key> [-v|--value-only]]]
rather than
usage: initool <command> [<arg> ...]
commands:
get <filename> [<section> [<key> [-v|--value-only]]]
exists <filename> <section> [<key>]
set <filename> <section> <key> <value>
delete <filename> <section> [<key>]
help
version
Each command can be abbreviated to its first letter.
v0.11.0
- Fixed adding top-level properties to a file with properties only in sections. They were erroneously added to the last section.
- Added long commands. For example, you can use
exists
instead ofe
. This change is fully backwards-compatible; short commands remain supported. You can also use the flag-v
instead of--value-only
. - Improved the usage message.