1 2----- version 1.7.3 ------ 3 42021-06-19 Mark Lindner <markl@avalon> 5 6 * lib/libconfig.c - Fixed double-free of config->filenames; 7 fixed implementation of config_setting_lookup() to correctly return 8 NULL instead of the passed-in setting if the specified path was not 9 found 10 * configure.ac, lib/Makefile.am - bump version numbers 11 122021-04-28 Mark Lindner <markl@avalon> 13 14 * lib/CMakeLists.txt - misc. fixes 15 162021-04-22 Mark Lindner <markl@avalon> 17 18 * Makefile.am, configure.ac - Added --disable-tests configure option 19 202021-01-09 Mark Lindner <markl@avalon> 21 22 * lib/CMakeLists.txt - misc. fixes 23 242020-11-12 Mark Lindner <markl@avalon> 25 26 * contrib/ls-config/README.md - typo corrections 27 282020-10-03 Mark Lindner <markl@avalon> 29 30 * *.vcxproj, *.sln - Updated for building x64 configuration. 31 322020-07-02 Mark Lindner <markl@avalon> 33 34 * lib/libconfig.h++, doc/libconfig.texi - added isString() convenience 35 method 36 372019-12-18 Mark Lindner <markl@avalon> 38 39 * lib/libconfig.c, lib/libconfig.h, lib/libconfig.h++, 40 tests/testdata/override_setting.cfg, tests/tests.c, 41 doc/libconfig.texi - Added new ALLOW_OVERRIDES option. 42 432019-12-17 Mark Lindner <markl@avalon> 44 45 * CMakeLists.txt, tests/CMakeList.txt - various fixes 46 * lib/libconfig.c, lib/scanctx.c, lib/scanner.h, lib/scanner.l, 47 lib/strvec.c, lib/strvec.h, lib/util.c, lib/util.h - prefix more 48 internal functions with 'libconfig_' 49 * lib/scanner.c, lib/scanner.h - regenerated 50 512019-12-14 Mark Lindner <markl@avalon> 52 53 * lib/grammar.y, lib/scanner.l, lib/libconfig.c, lib/parsectx.h, 54 lib/scanctx.h, lib/scanctx.c, lib/strbuf.c, lib/strbuf.h, 55 lib/strvec.c, lib/strvec.h - prefix all internal functions with 56 'libconfig_' 57 * lib/grammar.c, lib/grammar.h, lib/scanner.c, lib/scanner.h - regenerated 58 * lib/wincompat.h - Fix #define for snprintf for Visual Studio 2013 59 * lib/libconfig.h++, lib/libconfigcpp.c++ - Use noexcept in C++17 60 61----- version 1.7.2 ------ 62 632019-01-05 Mark Lindner <markl@avalon> 64 65 * lib/libconfig.c - fixed slow leak in config_destroy() 66 * <multiple> - miscellaenous build file fixes 67 68 ----- version 1.7.1 ------ 69 702017-11-15 Mark Lindner <markl@avalon> 71 72 * lib/wincompat.c, lib/wincompat.h - added fsync() implementation for 73 Windows 74 * lib/libconfig.c, lib/libconfig.h - added CONFIG_OPTION_FSYNC 75 * lib/libconfigcpp.c++, lib/libconfig.h++ - added Config::OptionFsync 76 * doc/libconfig.texi - Documentation updates 77 782017-11-14 Mark Lindner <markl@avalon> 79 80 * lib/strbuf.c - bugfix in strbuf_append_char() 81 82 ----- version 1.7 ------ 83 842017-10-24 Mark Lindner <markl@avalon> 85 86 * INSTALL - Added information about installing from a git snapshot 87 * configure.ac - Bumped version to 1.7 88 * doc/libconfig.texi - Updated documentation, added new chapter on 89 libconfig bindings/implementations for other languages 90 * examples/c/Makefile.am, examples/c/example4.c, examples/c/example4.cfg, 91 examples/c/cfg_includes/*.cfg - New example program 92 * lib/Makefile.am - bumped library version to 11:0:0; added new source 93 files 94 * lib/grammar.c, lib/grammar.y, lib/scanner.c, lib/scanner.h - regenerated 95 * lib/grammar.y - allow optional trailing comma in lists and arrays 96 * *.vcproj - updated with new source files, library dependency 97 * lib/libconfig.c, lib/libconfig.h - various code cleanup; 98 reworked options API; moved some value parsing logic into lib/util.c 99 and lib/util.h; added new option 100 CONFIG_OPTION_ALLOW_SCIENTIFIC_NOTATION; bugfix to disallow adding a 101 group or a list to an array; changed default float precision from 2 to 6; 102 fixed conversion between int and int64 types; added config_clear(); 103 added support for include functions; added config_set_hook() and 104 config_get_hook() 105 * lib/libconfigcpp.c++, lib/libconfig.h++ - moved Option enum from Setting 106 to Config; added OptionAllowScientificNotation; added clear(); 107 reworked options API; added evaluateIncludePath(); fixed casting to 108 unsigned int (don't clip negative values to 0) 109 * lib/parsectx.c, lib/parsectx.h - code cleanup 110 * lib/scanctx.c, lib/scanctx.h - added support for include functions; 111 code cleanup; removed non-portable directory reading code; 112 * lib/scanner.l - added support for include functions; moved some parsing 113 code to lib/util.c and lib/util.h; code cleanup 114 * lib/strbuf.c, lib/strbuf.h - added strbuf_append_char(); code cleanup 115 * lib/strvec.c, lib/strvec.h - new functions for managing arrays of 116 string pointers (for filename lists) 117 * lib/util.c, lib/util.h - value parsing and formatting code and memory 118 management macros and functions extracted from other files 119 * lib/wincompat.h - new macros for testing relative paths; replaced 120 INT32_MAX/INT32_MIN with INT_MAX/INT_MIN. 121 * tests/tests.c - fixed test failures and improper testing of int type 122 conversions 123 124 ----- version 1.6 ------ 125 1262015-12-31 Jose Luis Tallon <[email protected]> 127 128 * Added include_dir feature (support for Debian-style conf.d/ 129 includes) (pull request #36) 130 131 * Added octal_ints feature (support for integer expressed in octal, 132 useful for permissions and masks in UNIX-like systems (pull req #42) 133 134 * Fixed "Removing a setting removes all siblings" (issue #41) 135 Props random85 136 137 * Allow specifying the number of decimals wanted when outputting 138 Based upon a suggestion by zhaopingsun (issue #31) 139 140 * Make libconfig usable from CMake (pull request/issue #28) 141 Props thfi 142 143 * Documentation fixes 144 - Copyright and examples 145 - Included TeX patch from Debian (fixes FTBS with TeXlive) 146 147 * Resync Debian packaging 148 includes updated packages for GCC5 transition 149 1502015-10-14 Thomas Fischer <[email protected]> 151 152 * configure, configure.ac, debian/libconfig++9-dev.install, 153 debian/libconfig9-dev.install, lib/Makefile.am, lib/Makefile.in, 154 lib/libconfig++Config.cmake.in, lib/libconfigConfig.cmake.in, 155 libconfig.spec.in - locating libconfig in CMake-based projects 156 1572015-08-14 Mark Lindner <markl@neuromancer> 158 159 * lib/wincompat.h - Fixed Windows portability issue 160 * lib/libconfig.h++ - added missing operator[](std::string&). 161 162 ----- version 1.5 ------ 163 1642015-05-16 Mark Lindner <markl@neuromancer> 165 166 * lib/libconfig.c - Don't fclose() a null pointer. 167 1682014-09-19 Mark Lindner <markl@neuromancer> 169 170 * lib/libconfig.c, lib/wincompat.h - check if file being opened is a 171 directory 172 * lib/libconfig.c, lib/libconfig.h, lib/libconfig.h++, 173 doc/libconfig.texi - added config_set_options(), 174 config_get_options(), setOptions(), getOptions(). 175 1762014-05-25 Mark Lindner <markl@neuromancer> 177 178 * lib/libconfig.c++, lib/libconfig.h++ - added patches from Matt 179 Renaud (added iterators, removed throws() specifications); added 180 Setting.lookup(); code cleanup; added patch from Yuri Dyachenko 181 (made exception constructors public) 182 * lib/libconfig.c, lib/libconfig.h - renamed 183 config_setting_lookup_from() to config_setting_lookup() and 184 documented it; patch from Alexander Klauer (floating point precision 185 loss) 186 * doc/libconfig.texi - documented new APIs, bumped version 187 * lib/scanner.c, lib/scanner.h, lib/scanner.l, libconfig.c - 188 scanner code cleanup; and regenerated with flex 2.5.39 189 * lib/grammar.c, lib/grammar.h, lib/grammar.y - parser code cleanup; 190 and regenerated with bison 3.0.2 191 * README, ChangeLog - version updates 192 1932014-01-21 Mark Lindner <markl@neuromancer> 194 195 * lib/libconfig.c - bugfix; capture root filename 196 * tests/Makefile.am - fix for out-of-source builds 197 * ac_config.h.in, aclocal.m4 - updated to newer autotools 198 199 ----- version 1.4.9 ------ 200 2012012-09-28 Mark Lindner <markl@neuromancer> 202 203 * lib/libconfigcpp.c++ - Fixed compiler warnings in constructor 204 initializers 205 * tinytest/tiytest.c, tinytest/tinytest.h - added tt_file_exists(); 206 added alternate implementations of some test macros since MSVC does 207 not support C99 fully; added comparators for text files (ignoring 208 line endings) 209 * tests/tests.c - use tt_file_exists() rather than access(); alias 210 snprintf to _snprintf for MSVC; compare files as text files rather 211 than as binary files 212 * lib/scanner.l - fixed parsing issue when backslash in string is 213 followed by invalid escape character; reported by Jimmy Scott 214 * lib/scanner.c - regenerated 215 * lib/libconfig.h, lib/libconfig.h++, lib/Makefile.am, 216 doc/libconfig.texi, configure.ac - bump version numbers 217 * aclocal.m4, ac_config.h - regenerated 218 * m4/*, aux-build/*, libtool - updated to newer 219 2202011-12-30 Mark Lindner <markl@neuromancer> 221 222 * debian/control - updates from Jonathan McCrohan 223 224 ----- version 1.4.8 ------ 225 2262011-08-04 Mark Lindner <markl@neuromancer> 227 228 * tests/Makefile.am - marked 'libconfig_tests' as non-installable 229 * lib/scanner.l, lib/grammar.y - grammar changes to make trailing 230 semicolons optional (and to allow commas as an alternative) 231 * lib/libconfig.c - bugfixes for lack of auto-conversion handling in 232 the config_lookup*() functions (reported by Feng Yu), and some 233 fixes for compiler warnings 234 * lib/Makefile.am - bump .so version 235 * configure.ac - bump version, add '-Wno-unused-parameter' compiler 236 switch to disable "unused parameter" warnings 237 * doc/libconfig.texi - documentation updates; added a chapter that 238 calls attention to the bundled example programs 239 * lib/libconfig.h, lib/libconfig.h++ - bump versions 240 241 ----- version 1.4.7 ------ 242 2432011-03-11 Mark Lindner <markl@neuromancer> 244 245 * doc/libconfig.texi - fixed typo; updated docs 246 * TODO - updated list 247 * lib/libconfig.c, lib/libconfig.h, lib/libconfigcpp.c++, 248 lib/libconfig.h++ - added config{get,set}_default_format(), 249 Config::{get,set}DefaultFormat() 250 2512011-03-10 Mark Lindner <markl@neuromancer> 252 253 * lib/libconfig.c - fixed memory leak when encountering a parse error 254 in an @include'd file 255 * lib/libconfig.h, lib/libconfig.h++, lib/Makefile.am, configure.ac, 256 doc/libconfig.texi - bump versions 257 258 ----- version 1.4.6 ------ 259 2602010-09-10 Mark Lindner <markl@neuromancer> 261 262 * doc/libconfig.texi - documentation updates 263 * lib/libconfig.c, lib/libconfigcpp.c++, lib/libconfig.h, 264 lib/libconfig.h++, lib/wincompat.h, lib/scanctx.c - added support 265 for specifying an include directory 266 * m4/* - added local m4 directory 267 * contrib/* - added user-contributed files 268 2692010-09-07 Mark Lindner <markl@neuromancer> 270 271 * lib/scanner.l - bugfix for parse error when there is a missing 272 newline at the end of the file 273 * lib/libconfig.h, lib/libconfig.h++, lib/Makefile.am - bump version 274 * tinytest/* - added a simple unit testing framework 275 * tests/* - added preliminary unit tests 276 * configure.ac, ac_config.h, ac_config.h.in, Makefile.am, 277 lib/Makefile.am, libtool, doc/libconfig.texi - bump versions/dates 278 * lib/grammar.h, lib/grammar.c - regenerated with newer version of 279 Bison 280 * lib/libconfig.c - bugfix: explicitly set starting line number to 1 281 when parsing from strings; otherwise line numbers reported in parse 282 errors are undefined 283 284 ----- version 1.4.5 ------ 285 2862010-05-04 Mark Lindner <markl@neuromancer> 287 288 * lib/libconfig.h, lib/libconfig.h++, lib/Makefile.am - bumped version 289 numbers; removed #include for <map> and added one for <exception> 290 * lib/libconfigcpp.c++ - bugfix: properly handle TypeInt64 in add() and 291 assertType() 292 * aux-build/*, ac_config.h, configure.ac, ac_config.h.in, libtool - 293 regenerated with newer autotools 294 * libconfig.c - added declaration of libconfig_yylex_init_extra() to 295 eliminate compiler warning 296 * scanner.l - added #define YY_NO_INPUT to prevent compiler warning 297 * libconfig.texi - Added example code for operator=() 298 299 ----- version 1.4.4 ------ 300 3012010-04-12 Mark Lindner <markl@neuromancer> 302 303 * lib/Makefile.am - fixed shared library version info 304 * lib/libconfig.h++ - added Setting::c_str() method 305 * configure.ac, ac_config.h, libconfig.spec, lib/libconfig.h, 306 lib/libconfig.h++ - bump versions 307 * lib/wincompat.h - fixed MinGW build error 308 * doc/libconfig.texi - doc updates 309 * README - added MinGW info 310 311 ----- version 1.4.3 ------ 312 3132010-02-13 Mark Lindner <markl@neuromancer> 314 315 * lib/scanner.l - bugfix for matching @include with preceding 316 whitespace 317 318 ----- version 1.4.2 ------ 319 3202010-01-19 Mark Lindner <markl@neuromancer> 321 322 * lib/libconfigcpp.c++, lib/libconfig.h++ - bugfix for crash; added 323 copy constructor for ParseException (from Frederic Heitzmann) 324 * lib/libconfig.h, lib/libconfig.h++, lib/Makefile.am, 325 ac_config.h, libconfig.spec, configure.ac - bump versions 326 3272010-01-09 Mark Lindner <markl@neuromancer> 328 329 * lib/libconfigcpp.c++ - bugfix in ParseException constructor (from 330 Ilya Dogolazky) 331 * debian/* - more cleanup, and added debug rules (from Ilya Dogolazky) 332 333 ----- version 1.4.1 ------ 334 3352009-12-31 Mark Lindner <markl@neuromancer> 336 337 * lib/libconfig.c - bugfix for crash; removed unnecessary buffer delete 338 in __config_read() 339 * examples/c/Makefile.am, examples/c++/Makefile.am - fixed build issue 340 * configure.ac, Makefile.am - Added `--disable-examples' configure 341 option 342 * configure.ac, lib/Makefile.am, libconfig.spec, ac_config.h - bumped 343 version numbers 344 345 ----- version 1.4 ------ 346 3472009-10-24 Mark Lindner <markl@neuromancer> 348 349 * grammar.y, scanner.l - properly report @include errors 350 * exmaples/example4.cpp - new example added 351 3522009-10-14 Mark Lindner <markl@neuromancer> 353 354 * debian/* - more fixes; from Klaus Schneider-Zapp 355 * libconfig.c - when writing strings, escape only control characters 356 with \x 357 358 ----- version 1.4b4 ------ 359 3602009-09-09 Mark Lindner <markl@neuromancer> 361 362 * lib/Makefile.am - fixed MinGW build issues 363 364 ----- version 1.4b3 ------ 365 3662009-09-04 Mark Lindner <markl@neuromancer> 367 368 * lib/libconfig.c, lib/scanner.l, lib/grammar.y - fixed all memory 369 leaks reported by Valgrind; removed an unncessary strdup()/free(). 370 3712009-09-01 Mark Lindner <markl@neuromancer> 372 373 * lib/libconfig.c, lib/libconfig.h, lib/libconfigcpp.c++, 374 lib/libconfig.h++ - added config_error_type() and fixed a segfault 375 when throwing a ParseException. 376 * doc/libconfig.texi - doc updates 377 378 ----- version 1.4b2 ------ 379 3802009-08-29 Mark Lindner <markl@neuromancer> 381 382 * examples/* - added new example programs to replace the less 383 practical ones in samples/ 384 3852009-08-25 Mark Lindner <markl@neuromancer> 386 387 * lib/libconfig.c, lib/libconfig.h, lib/libconfigcpp.c++, 388 lib/libconfig.h++ - added config_set_tab_width(), 389 config_get_tab_width() and Config::setTabWidth(), 390 Config::getTabWidth(). 391 * doc/libconfig.texi - doc updates 392 393 ----- version 1.4b1 ------ 394 3952009-08-21 Mark Lindner <markl@neuromancer> 396 397 * lib/libconfig.h++, lib/libconfigcpp.c++ - broke the public 398 dependency on libconfig.h; updated VC++ projects on Windows so that 399 the C++ DLL no longer exports any of the C API functions 400 * debian/* - updated for version 1.4 401 * lib/libconfig.c - fixed an isprint() assertion on Windows 402 4032009-08-20 Mark Lindner <markl@neuromancer> 404 405 * lib/parsectx.c, lib/parsectx.h, lib/scanctx.c, lib/scanctx.h, 406 lib/strbuf.c, lib/strbuf.h - code refactoring to reduce library size 407 lib/Makefile.am - fixed 'make install' error 408 409 ----- version 1.4b ------ 410 4112009-08-16 Mark Lindner <markl@neuromancer> 412 413 * lib/libconfig.c, lib/libconfig.h, lib/scanctx.c, lib/scanctx.h, 414 lib/grammar.y, lib/grammar.c, lib/grammar.h - added 415 config_read_string(); added config_setting_source_file() and 416 management of list of input file names; added #ifdef guard for 417 DllMain() function so that it's not included for static library 418 builds 419 * lib/libconfigcpp.c++, lib/libconfig.h++ - added filename to 420 ParseException; bugfix in Setting::setFormat(); made what() methods 421 of exceptions public; added Setting::getSourceFile(), 422 Config::readString(). 423 * doc/libconfig.texi - documentation updates 424 * lib/Makefile.am - bump .so version 425 * ac_config.h, configure.ac, libtool - bump version 426 4272009-07-19 Mark Lindner <markl@neuromancer> 428 429 * lib/libconfig.c, lib/libconfig.h, lib/libconfigcpp.c++, 430 lib/libconfig.h++ - added config_read_string() and 431 Config::readString() functions (contributed by Matthias Weisser). 432 4332009-07-02 Mark Lindner <markl@neuromancer> 434 435 * lib/parsectx.c, lib/parsectx.h, lib/scanctx.c, lib/scanctx.h, 436 lib/scanner.l, lib/grammar.y, lib/private.h, lib/Makefile.am, 437 lib/libconfig.c, lib/libconfig.h - replaced ugly C code in scanner.l 438 for processing strings with a new <STRING> scanner state and 439 associated rules; added support for hex character literals (\xNN) in 440 strings; refactored scanner and parser context into separate source 441 files; added preliminary support for include files ("@include" 442 directive). 443 4442009-05-27 Mark Lindner <markl@neuromancer> 445 446 * ltmain.sh, ac_config.h, ac_config.h.in, configure.ac, libconfig.spec, 447 libtool - upgraded to newer versions of autotools 448 * grammar.y, grammar.h, grammar.c, libconfigcpp.c++, libconfig.h++, 449 libconfig.c, libconfig.h - added LIBCONFIG_VER_* macros, changed API 450 to replace 'long' and 'unsigned long' with 'int' and 'unsigned int' 451 to resolve a portability problem; added 'const' to declarations of 452 getLine() and getError() methods on ParseException 453 * <multiple> - directory structure reorg 454 455 ----- version 1.3.2 ------ 456 4572009-02-18 Mark Lindner <markl@neuromancer> 458 459 * libconfig.vcproj, libconfig++.vcproj - #define _STDLIB_H to 460 eliminate 'inconsistent dll linkage' warnings for free & malloc 461 4622009-02-17 Mark Lindner <markl@neuromancer> 463 464 * libconfig.c, libconfig.h - added config_setting_lookup*() functions; 465 modified config_lookup_*() functions to have more consistent API 466 (return status, and accept value-result param) 467 * debian/* - updates and cleanup (from Klaus Schneider-Zapp) 468 * libconfig.spec, Makefile.am, ac_config.h - update version number 469 * doc/libconfig.texi - documentation updates 470 * samples/c/sample1.c - patch from Rodolfo Giometti 471 * samples/c/stub.c - fixed relative to API changes 472 4732008-12-06 Mark Lindner <markl@neuromancer> 474 475 * libconfig.c - fix memory leak in config_setting_remove_elem(); 476 reported by Timi Tuohenmaa 477 * configure.ac - fix incorrect processing of --enable-cxx option; 478 reported by Thomas Gazzola 479 4802008-09-11 Mark Lindner <markl@neuromancer> 481 482 * debian/libconfigduo2.postinst - fix typo in test stmt 483 484 ----- version 1.3.1 ------ 485 4862008-09-07 Mark Lindner <markl@neuromancer> 487 488 * scanner.l, wincompat.h - workarounds for problems with parsing and 489 formatting of 64-bit integers on MinGW 490 * scanner.c - regenerated 491 4922008-09-05 Mark Lindner <markl@neuromancer> 493 494 * libconfig.spec - updated for 1.3.1 495 * Makefile.am - fix version 496 * scanner.l - add fromhex() function, since strtoull() seems broken 497 on MinGW 498 4992008-08-25 Mark Lindner <markl@neuromancer> 500 501 * libconfigcpp.c++, libconfig.h++ - derive exceptions from 502 std::exception 503 5042008-08-10 Mark Lindner <markl@neuromancer> 505 506 * wincompat.h - fix MinGW build issue 507 * configure.ac, ac_config.h, Makefile.am - bump version 508 * doc/libconfig.texi - doc updates 509 * libconfigcpp.c++, libconfig.h++ - include path information in 510 setting exceptions 511 * libconfig.c - force "C" locale for parsing & formatting 512 513 ----- version 1.3 ------ 514 5152008-04-07 Mark Lindner <markl@neuromancer> 516 517 * libconfig.spec - updated for 1.3 518 5192008-04-03 Mark Lindner <markl@neuromancer> 520 521 * scanner.l, grammar.y, libconfig.c, libconfig.h, wincompat.h - 522 fix/add comment headers, add C90 portability fixes from 523 Chris Pickett (C-style comments, renamed 'index' to 'idx' to 524 resolve name clash) 525 * scanner.c, grammar.c - regenerated 526 * configure.ac - enable more gcc warnings 527 * libconfigcpp.c++, libconfig.h++ - added getPath(), fixed impl of 528 isRoot(), add portability fixes from Chris Pickett (renamed 'index' 529 to 'idx' to resolve name clash), moved exception constructors into 530 source file; changed SettingExistsException to SettingNameException 531 to be more broad in scope 532 * Makefile.am - add wincompat.h to sources; add missing debian files 533 to EXTRA_DIST 534 * test.cfg - added example 64-bit integer settings 535 * samples/* - expanded some examples 536 * doc/libconfig.texi - documentation updates 537 * Makefile.am, *msvc7* - added (generated) VS2003 projects/solution 538 5392008-03-22 Mark Lindner <markl@neuromancer> 540 541 * debian/* - updates from Klaus Schneider 542 5432008-03-22 Mark Lindner <markl@neuromancer> 544 545 * scanner.l, grammar.y, libconfig.h++, libconfig.c, libconfig.h, 546 wincompat.h, libconfigcpp.c++, grammar.c, scanner.c, grammar.h - 547 add support for 64-bit integer values 548 * libconfig.texi - documentation updates 549 * Makefile.am, ac_config.h, configure.ac, libtool - bump version 550 * libconfig.h - add config_setting_parent(), config_setting_is_root() 551 * libconfigcpp.c++, libconfig.h++ - add isRoot(), getParent() to 552 Setting 553 5542008-03-15 Mark Lindner <markl@neuromancer> 555 556 * scanner.l - made 'true' and 'false' tokens completely 557 case-insensitive 558 * libconfigcpp.cc, libconfig.hh - added alias files for Windows 559 * libconfig.c, libconfig.h - modified __config_write_value() to write 560 out floating point values in a more human-readable form; added name 561 validation; added config_setting_remove_elem() and 562 config_setting_index() 563 * libconfigcpp.c++, libconfig.h++ - added remove(unsigned int) and 564 getIndex() to Setting 565 * libconfig.texi - documentation updates 566 567 ----- version 1.2.1 ------ 568 5692007-12-21 Mark Lindner <markl@neuromancer> 570 571 * libconfig.c - source cleanup 572 * config.guess, config.sub, ltmain.sh, libtool - updated to newer 573 * configure.ac, Makefile.am, ac_config.h.in, ac_config.h 574 - MinGW-related fixes 575 576 ----- version 1.2 ------ 577 5782007-10-15 Mark Lindner <markl@neuromancer> 579 580 * libconfig.h++, libconfigcpp.c++ - renamed "SettingFormat" to 581 "Setting::Format" to reduce namespace pollution 582 5832007-10-13 Mark Lindner <markl@neuromancer> 584 585 * scanner.l - updated regexp for float to allow for values which have 586 an exponent but no decimal point 587 * grammar.y - capture input line number when parsing settings 588 * libconfig.c, libconfig.h - added config_setting_is*() macros; 589 added config_setting_source_line(); added line member to 590 config_setting_t struct 591 * libconfig.c++, libconfig.h++ - renamed "SettingType" enum to 592 Setting::Type to reduce namespace pollution; added getSourceLine() 593 * samples/* - various updates 594 * debian/changelog - added entry 595 * ac_config.h, configure.ac, libtool, Makefile.am - new version # 596 * TODO - updates 597 * doc/libconfig.texi - documentation updates 598 5992007-10-12 Mark Lindner <markl@neuromancer> 600 601 * libconfig.c, libconfig.h - added config_set_auto_convert(), 602 config_get_auto_convert(), and number auto-conversion logic 603 * libconfigcpp.c++, libconfig.h++ - add setAutoConvert(), 604 getAutoConvert(), lookupValue() that takes std::string&, 605 corrected return values of assignment operators 606 * debian/rules - made file executable 607 * debian/libconfigduo-dev.install - add pkgconfig files to list 608 6092007-09-22 Mark Lindner <markl@neuromancer> 610 611 * libconfig.c, libconfig.h - change 'type' and 'format' members of 612 config_setting_t to short, thereby saving 4 bytes 613 6142007-09-22 Mark Lindner <markl@neuromancer> 615 616 * doc/libconfig.texi - add @direntry to fix install-info warnings 617 * libconfig.spec.in, Makefile.am, configure.ac - added RPM support 618 (from Deneys S. Maartens) 619 6202007-09-18 Mark Lindner <markl@neuromancer> 621 622 * libconfig.h - remove DLL_EXPORT; add LIBCONFIG_STATIC to fix 623 static linking on Windows 624 6252007-09-18 Deneys S. Maartens <[email protected]> 626 627 * samples/c/Makefile.am, samples/c++/Makefile.am - Add 628 AM_CPPFLAGS to fix distcheck build failure 629 * Makefile.am - expand wildcards in EXTRA_DIST to fix distcheck 630 build failure 631 632 ----- version 1.1.3 ------ 633 6342007-08-03 Mark Lindner <markl@neuromancer> 635 636 * libconfigcpp.c++ - bugfix in unsigned cast operators (incorrect value 637 clipping logic) 638 * debian/control - made some corrections 639 640 ----- version 1.1.2 ------ 641 6422007-07-01 Mark Lindner <markl@neuromancer> 643 644 * debian/* added debian package files from Klaus Schneider 645 * libconfig.h++ - added new predicate is<type>() functions 646 * libconfig.h - fix comments 647 * doc/libconfig.texi - documentation updates 648 * ac_config.h, configure.ac, Makefile.am - new version # 649 650 ----- version 1.1.1 ------ 651 6522007-06-15 Mark Lindner <markl@neuromancer> 653 654 * scanner.l - bugfix in string parsing 655 * test.cfg - added test case 656 657 ----- version 1.1 ------ 658 6592007-04-18 Mark Lindner <markl@neuromancer> 660 661 * libconfigcpp.c++ - bugfix in add(SettingType) 662 * stubcpp.cpp - add more ad-hoc tests 663 6642007-04-05 Mark Lindner <markl@neuromancer> 665 666 * scanner.l - Add string concatenation patch from Glenn Herteg. 667 Add \f as a whitespace character. 668 * grammar.y - add mode directive emacs 669 * libconfigcpp.c++, libconfig.h++ - add exists() and lookupValue() 670 methods; add Setting::operator std::string() 671 * libconfig.texi - documentation updates 672 673 ----- version 1.0.1 ------ 674 6752006-11-26 Mark Lindner <markl@neuromancer> 676 677 * samples/c/Makefile.am, samples/c++/Makefile.am - fix linker error 678 * libconfig.texi - documentation update 679 680 ----- version 1.0 ------ 681 6822006-10-19 Mark Lindner <markl@neuromancer> 683 684 * libconfigcpp.c++ - bugfix in add() for lists 685 6862006-10-11 Mark Lindner <markl@neuromancer> 687 688 * scanner.l - allow asterisk in setting names (submitted by 689 James McCann) 690 * libconfig.texi - documentation updates 691 * configure.ac, Makefile.am, samples/Makefile.am - add --disable-cxx 692 configure option; conditionally build/install C++ components 693 6942006-10-01 Mark Lindner <markl@neuromancer> 695 696 * <multiple> - samples cleanup 697 6982006-09-14 Mark Lindner <markl@neuromancer> 699 700 * libconfig.c - Change %.8f to %e for double values in 701 __config_write_value(). Submitted by Filipe Maia. 702 7032006-08-31 Mark Lindner <markl@neuromancer> 704 705 * Makefile.am - changed bin_PROGRAMS to noinst_PROGRAMS; the stub 706 programs are for testing and should not be installed. 707 7082006-08-26 Mark Lindner <markl@neuromancer> 709 710 * libconfig.texi - documentation corrections & updates 711 * stub.c, stubcpp.c++ - check return value of fopen(); fix compiler 712 warnings 713 * configure.ac, Makefile.am - add -Wall to CFLAGS only for gcc; 714 add test.cfg to EXTRA_DIST 715 * grammar.y, libconfigcpp.c++ - fix compiler warnings 716 * libconfig.c - use CONFIG_TRUE & CONFIG_FALSE rather than 1 & 0 717 for success/failure return values. 718 719 ----- version 0.9 ------ 720 7212006-07-29 Mark Lindner <markl@neuromancer> 722 723 * <multiple> - major grammar redesign: groups are now values instead of 724 distinct syntax constructs; this allows groups to be elements of 725 lists 726 * libconfig.texi - documentation updates; added new chapter containing 727 the BNF grammar 728 * test.cfg - modified to reflect new syntax and to demonstrate lists 729 7302006-06-23 Mark Lindner <markl@neuromancer> 731 732 * <multiple> - added support for lists (collections of 733 heterogeneous values of any type) 734 * libconfig.c - pretty-printing fixes in config_write() 735 7362006-06-08 Mark Lindner <markl@neuromancer> 737 738 * libconfig.h++ - added private copy constructor & assignment operator 739 (from Josef Meile) 740 * ligconfigcpp.c++, libconfig.h++ - added cast operators for unsigned 741 int and unsigned long (from Scott Frazer) 742 * <multiple> - add support for value formats; the only non-default 743 format currently supported is hexadecimal format for integer values 744 (based on patch from Scott Frazer) 745 7462006-04-15 Mark Lindner <markl@neuromancer> 747 748 * <multiple> - added pkg-config support 749 7502006-03-31 mlindner <markl@neuromancer> 751 752 * <multiple> - cleaned up config.tab.h mess (this file was obsolete, 753 and superseded by grammar.h ... problem identified by Scott Frazer) 754 7552006-03-30 mlindner <mlindner@chimera> 756 757 * grammar.y - fixed includes for windows (missing decl of malloc/free) 758 * libconfig.c - fixed several signed/unsigned warnings 759 * doc/libconfig.texi - documentation updates, formatting fix 760 * scanner.l - allow lowercase 'true' and 'false' in addition to 761 'TRUE' and 'FALSE' 762 7632006-03-27 Mark Lindner <markl@neuromancer> 764 765 * libconfigcpp.c++ - added missing break statements in switch (from 766 Lukas Zweifel) 767 * libconfig.c - don't strdup() a NULL string (from Lukas Zweifel) 768 * grammar.c, grammar.h - regenerated with bison 2.1 769 7702006-03-20 Mark Lindner <markl@neuromancer> 771 772 * scanner.l - added '%option nounistd' and regenerated with newest 773 version of flex; Windows doesn't have unistd.h. 774 7752006-03-17 Mark Lindner <markl@neuromancer> 776 777 * grammar.y - bugfix; error & abort parsing if duplicate setting name 778 encountered (previously caused a crash ... reported by Tobias Witek) 779 * scanner.l - bugfix; multi-line C-style comments were causing line 780 number counting to be thrown off, because the newlines were being 781 "eaten" 782 * <multiple> - various fixes to support building of DLLs on Windows. 783 7842005-11-26 Mark Lindner <markl@neuromancer> 785 786 * grammar.y, scanner.l - always strdup() yytext, and free the memory 787 in the grammar rules. 788 7892005-11-22 Mark Lindner <markl@neuromancer> 790 791 * libconfigcpp.c++, libconfig.h++, libconfig.c, libconfig.h - 792 Added Daniel's enhancements: methods & functions for reading/writing 793 files, fixes for various memory leaks, etc. 794 * samples/* - Added Daniel's example code. 795 * docs/libconfig.texi - Updated documentation 796 7972005-09-28 Mark Lindner <markl@neuromancer> 798 799 * libconfigcpp.c++, libconfig.h++, libconfig.c, libconfig.h 800 Enhanced API to support modification of a configuration. 801 * libconfig.texi - updated manual 802 8032005-06-02 Mark Lindner <markl@neuromancer> 804 805 * libconfigcpp.c++, libconfig.h++ - Added getName() method; 806 fixed operator[](int) to work with groups; this allows iteration over 807 a group's child settings. Added a missing break statement (bugfix 808 submitted by Pablo Barrera Gonzalez). Added operator int() and 809 operator float() to Setting; note that these may cause loss of 810 precision since the actual values are stored internally as long 811 and double, respectively. 812 813 * libconfig.h - added config_setting_name() macro 814 815 * libconfig.c - maintain two lists of children at each node; a sorted 816 list and an unsorted list (to preserve the order of the settings as 817 they appear in the file). 818 819 * scanner.l - fixed scanner rule for comments. '#' no longer has to 820 be in column 0 to be recognized as a comment. Added support for C 821 and C++ style comments. 822