New in 2.7 ---------- * Bugfix release. New in 2.6 ---------- * added French translation contributed by Matthieu Sion * added build script and instructions for compiling with Mingw under Windows (contributed by Matthieu Sion) * now accepts a simplified list append syntax: option += "value" insted of option += {"value"} * added flag CFGF_NO_TITLE_DUPES: multiple section titles must be unique (duplicates raises an error, only applies to sections) (suggested by Brian Fallik) * fixed rpm builds, patch by Dan Lipsitt * always installs pkg-config .pc script * remove obsolete confuse-config script in favour of pkg-config * fixed a bug reported by Josh Kropf with single sections with titles * added patch that escapes values with quotes and backslashes when printing. * fixed a memory leak in default values for string lists, reported by Vineeth Neelakant. * windows build files now only in separate zip distribution New in 2.5 ---------- * added flag CFGF_NODEFAULT (option has no default value) * fixed cfg_set_validate_func() for sections, using the "|" syntax * added a tutorial * updated autoconf stuff, libconfuse installs with appropriate suffix now * added data file for pkg-config (try 'pkg-config --libs libconfuse') * updated confuse-config script (now only installed if pkg-config not found) * added cfg_name() and cfg_opt_name() functions New in 2.4 ---------- * added option type CFGT_PTR as a user-defined type * fixed building of shared libraries New in 2.3 ---------- * fixes compilation errors with gcc < 3.3 * options passed to cfg_init() are now dynamically duplicated, so it is no longer necessary to declare the cfg_opt_t array static * added tests using 'check' (a unit testing framework for C) * added config script 'confuse-config' New in 2.2 ---------- * Allows more characters in an unquoted string (thanks Mike) * added cfg_opt_get functions * added cfg_opt_size function * added support to print options to a file * added print callback function per option * simple options can be retrieved with the cfg_get functions (allows using the cfg_print function for simple values) * added validating callback function per option New in 2.1 ---------- * Reversed logic in cfg_getXXX functions, they now abort if given an undeclared option name, and NULL/false if no value is set. Suggested by Ademar de Souza Reis Jr. * Sections without CFGF_MULTI flag now have default values * The cfg_getXXX functions now accept an extended syntax for the option name, try cfg_getxxx(cfg, "sectionname|optionname"). This way one doesn't have to first get the section with cfg_getsec(). * Fixed two more memory leaks. (val->section and cfg->filename) * Fixed unterminated string bug in replacement strndup function * Added project files for MS Visual C++ 6.0 * Includes io.h on windows * Fixed initialization of default values for lists, when given a NULL string. Now initialized to the empty list. Noted by Juraj Variny. * Setting a list to the empty list in the config file now possible. * Appending to default values in a list is now ok. * Hexadecimal escape sequences allowed in double-quoted strings * Corrected line number with multi-line quoted strings * Fixed undetected /*comment*/ (ie, without space between /* and the text) * Forgot to fclose include file after use, found by James Haley * Only include NLS support if gettext found in libc or preinstalled * Documented the cfg_setlist and cfg_addlist functions * The cfg_opt_setxxx functions no longer take a cfg_t parameter (unused anyway) New in 2.0 ---------- NOTE! Compatibility with earlier versions is broken. * Changed cfg_flag_t from enum to int (should now compile with c++) * Variable number of arguments to functions: function types should no longer specify number of expected arguments in the initializer, the callback should instead check the argc variable. * Fixed the cfg_tilde_expand function * Added documentation for the value parsing callback * Changed the definitions of cfg_func_t and cfg_callback_t, the cfg and option context are now both passed as parameters * Fixed and extended the example programs * Added a bunch of cfg_setXXX functions to set option values after parsing * Some types renamed for consistency (cfgopt_t to cfg_opt_t, cfgval_t to cfg_value_t, cfgbool_t to cfg_bool_t) * cfg_free_val() renamed to cfg_free_value() * Lexer symbols now uses prefix cfg_ to ease linking with other lexers * Forgot to close the file in cfg_parse() * Memory leaks fixed (checked with valgrind) * Sections with same title are always overwritten * Lists can now have (complete) default values in the form of a string that is parsed in the same way as the config file (see doc + examples) * Added support for building as a DLL on Windows * Included project files for Borland C++ Builder 6.0 * Included project files for Dev-Cpp 5.0 * Included project files for MS Visual Studio * Pre-built documentation now included in the source tarball New in 1.2.3 ------------ * fixed segfault due to uninitialized user-defined error function * added callback support New in 1.2.2 ------------ * changed name to libConfuse (libcfg was way too common) * Doesn't build shared libraries by default (only static) * More swedish translations * Implemented the cfg_free() function (previous versions had only a stub) * New function: cfg_free_val() * updated the manual