1 2015-12-31 Jose Luis Tallon <jltallon@adv-solutions.net>
3 * Added include_dir feature (support for Debian-style conf.d/
4 includes) (pull request #36)
6 * Added octal_ints feature (support for integer expressed in octal,
7 useful for permissions and masks in UNIX-like systems (pull req #42)
9 * Fixed "Removing a setting removes all siblings" (issue #41)
12 * Allow specifying the number of decimals wanted when outputting
13 Based upon a suggestion by zhaopingsun (issue #31)
15 * Make libconfig usable from CMake (pull request/issue #28)
19 - Copyright and examples
20 - Included TeX patch from Debian (fixes FTBS with TeXlive)
22 * Resync Debian packaging
23 includes updated packages for GCC5 transition
25 ----- version 1.6 ------
27 2015-10-14 Thomas Fischer <fischer@unix-ag.uni-kl.de>
29 * configure, configure.ac, debian/libconfig++9-dev.install,
30 debian/libconfig9-dev.install, lib/Makefile.am, lib/Makefile.in,
31 lib/libconfig++Config.cmake.in, lib/libconfigConfig.cmake.in,
32 libconfig.spec.in - locating libconfig in CMake-based projects
34 2015-08-14 Mark Lindner <markl@neuromancer>
36 * lib/wincompat.h - Fixed Windows portability issue
37 * lib/libconfig.h++ - added missing operator[](std::string&).
39 ----- version 1.5 ------
41 2015-05-16 Mark Lindner <markl@neuromancer>
43 * lib/libconfig.c - Don't fclose() a null pointer.
45 2014-09-19 Mark Lindner <markl@neuromancer>
47 * lib/libconfig.c, lib/wincompat.h - check if file being opened is a
49 * lib/libconfig.c, lib/libconfig.h, lib/libconfig.h++,
50 doc/libconfig.texi - added config_set_options(),
51 config_get_options(), setOptions(), getOptions().
53 2014-05-25 Mark Lindner <markl@neuromancer>
55 * lib/libconfig.c++, lib/libconfig.h++ - added patches from Matt
56 Renaud (added iterators, removed throws() specifications); added
57 Setting.lookup(); code cleanup; added patch from Yuri Dyachenko
58 (made exception constructors public)
59 * lib/libconfig.c, lib/libconfig.h - renamed
60 config_setting_lookup_from() to config_setting_lookup() and
61 documented it; patch from Alexander Klauer (floating point precision
63 * doc/libconfig.texi - documented new APIs, bumped version
64 * lib/scanner.c, lib/scanner.h, lib/scanner.l, libconfig.c -
65 scanner code cleanup; and regenerated with flex 2.5.39
66 * lib/grammar.c, lib/grammar.h, lib/grammar.y - parser code cleanup;
67 and regenerated with bison 3.0.2
68 * README, ChangeLog - version updates
70 2014-01-21 Mark Lindner <markl@neuromancer>
72 * lib/libconfig.c - bugfix; capture root filename
73 * tests/Makefile.am - fix for out-of-source builds
74 * ac_config.h.in, aclocal.m4 - updated to newer autotools
76 ----- version 1.4.9 ------
78 2012-09-28 Mark Lindner <markl@neuromancer>
80 * lib/libconfigcpp.c++ - Fixed compiler warnings in constructor
82 * tinytest/tiytest.c, tinytest/tinytest.h - added tt_file_exists();
83 added alternate implementations of some test macros since MSVC does
84 not support C99 fully; added comparators for text files (ignoring
86 * tests/tests.c - use tt_file_exists() rather than access(); alias
87 snprintf to _snprintf for MSVC; compare files as text files rather
89 * lib/scanner.l - fixed parsing issue when backslash in string is
90 followed by invalid escape character; reported by Jimmy Scott
91 * lib/scanner.c - regenerated
92 * lib/libconfig.h, lib/libconfig.h++, lib/Makefile.am,
93 doc/libconfig.texi, configure.ac - bump version numbers
94 * aclocal.m4, ac_config.h - regenerated
95 * m4/*, aux-build/*, libtool - updated to newer
97 2011-12-30 Mark Lindner <markl@neuromancer>
99 * debian/control - updates from Jonathan McCrohan
101 ----- version 1.4.8 ------
103 2011-08-04 Mark Lindner <markl@neuromancer>
105 * tests/Makefile.am - marked 'libconfig_tests' as non-installable
106 * lib/scanner.l, lib/grammar.y - grammar changes to make trailing
107 semicolons optional (and to allow commas as an alternative)
108 * lib/libconfig.c - bugfixes for lack of auto-conversion handling in
109 the config_lookup*() functions (reported by Feng Yu), and some
110 fixes for compiler warnings
111 * lib/Makefile.am - bump .so version
112 * configure.ac - bump version, add '-Wno-unused-parameter' compiler
113 switch to disable "unused parameter" warnings
114 * doc/libconfig.texi - documentation updates; added a chapter that
115 calls attention to the bundled example programs
116 * lib/libconfig.h, lib/libconfig.h++ - bump versions
118 ----- version 1.4.7 ------
120 2011-03-11 Mark Lindner <markl@neuromancer>
122 * doc/libconfig.texi - fixed typo; updated docs
123 * TODO - updated list
124 * lib/libconfig.c, lib/libconfig.h, lib/libconfigcpp.c++,
125 lib/libconfig.h++ - added config{get,set}_default_format(),
126 Config::{get,set}DefaultFormat()
128 2011-03-10 Mark Lindner <markl@neuromancer>
130 * lib/libconfig.c - fixed memory leak when encountering a parse error
131 in an @include'd file
132 * lib/libconfig.h, lib/libconfig.h++, lib/Makefile.am, configure.ac,
133 doc/libconfig.texi - bump versions
135 ----- version 1.4.6 ------
137 2010-09-10 Mark Lindner <markl@neuromancer>
139 * doc/libconfig.texi - documentation updates
140 * lib/libconfig.c, lib/libconfigcpp.c++, lib/libconfig.h,
141 lib/libconfig.h++, lib/wincompat.h, lib/scanctx.c - added support
142 for specifying an include directory
143 * m4/* - added local m4 directory
144 * contrib/* - added user-contributed files
146 2010-09-07 Mark Lindner <markl@neuromancer>
148 * lib/scanner.l - bugfix for parse error when there is a missing
149 newline at the end of the file
150 * lib/libconfig.h, lib/libconfig.h++, lib/Makefile.am - bump version
151 * tinytest/* - added a simple unit testing framework
152 * tests/* - added preliminary unit tests
153 * configure.ac, ac_config.h, ac_config.h.in, Makefile.am,
154 lib/Makefile.am, libtool, doc/libconfig.texi - bump versions/dates
155 * lib/grammar.h, lib/grammar.c - regenerated with newer version of
157 * lib/libconfig.c - bugfix: explicitly set starting line number to 1
158 when parsing from strings; otherwise line numbers reported in parse
161 ----- version 1.4.5 ------
163 2010-05-04 Mark Lindner <markl@neuromancer>
165 * lib/libconfig.h, lib/libconfig.h++, lib/Makefile.am - bumped version
166 numbers; removed #include for <map> and added one for <exception>
167 * lib/libconfigcpp.c++ - bugfix: properly handle TypeInt64 in add() and
169 * aux-build/*, ac_config.h, configure.ac, ac_config.h.in, libtool -
170 regenerated with newer autotools
171 * libconfig.c - added declaration of libconfig_yylex_init_extra() to
172 eliminate compiler warning
173 * scanner.l - added #define YY_NO_INPUT to prevent compiler warning
174 * libconfig.texi - Added example code for operator=()
176 ----- version 1.4.4 ------
178 2010-04-12 Mark Lindner <markl@neuromancer>
180 * lib/Makefile.am - fixed shared library version info
181 * lib/libconfig.h++ - added Setting::c_str() method
182 * configure.ac, ac_config.h, libconfig.spec, lib/libconfig.h,
183 lib/libconfig.h++ - bump versions
184 * lib/wincompat.h - fixed MinGW build error
185 * doc/libconfig.texi - doc updates
186 * README - added MinGW info
188 ----- version 1.4.3 ------
190 2010-02-13 Mark Lindner <markl@neuromancer>
192 * lib/scanner.l - bugfix for matching @include with preceding
195 ----- version 1.4.2 ------
197 2010-01-19 Mark Lindner <markl@neuromancer>
199 * lib/libconfigcpp.c++, lib/libconfig.h++ - bugfix for crash; added
200 copy constructor for ParseException (from Frederic Heitzmann)
201 * lib/libconfig.h, lib/libconfig.h++, lib/Makefile.am,
202 ac_config.h, libconfig.spec, configure.ac - bump versions
204 2010-01-09 Mark Lindner <markl@neuromancer>
206 * lib/libconfigcpp.c++ - bugfix in ParseException constructor (from
208 * debian/* - more cleanup, and added debug rules (from Ilya Dogolazky)
210 ----- version 1.4.1 ------
212 2009-12-31 Mark Lindner <markl@neuromancer>
214 * lib/libconfig.c - bugfix for crash; removed unnecessary buffer delete
216 * examples/c/Makefile.am, examples/c++/Makefile.am - fixed build issue
217 * configure.ac, Makefile.am - Added `--disable-examples' configure
219 * configure.ac, lib/Makefile.am, libconfig.spec, ac_config.h - bumped
222 ----- version 1.4 ------
224 2009-10-24 Mark Lindner <markl@neuromancer>
226 * grammar.y, scanner.l - properly report @include errors
227 * exmaples/example4.cpp - new example added
229 2009-10-14 Mark Lindner <markl@neuromancer>
231 * debian/* - more fixes; from Klaus Schneider-Zapp
232 * libconfig.c - when writing strings, escape only control characters
235 ----- version 1.4b4 ------
237 2009-09-09 Mark Lindner <markl@neuromancer>
239 * lib/Makefile.am - fixed MinGW build issues
241 ----- version 1.4b3 ------
243 2009-09-04 Mark Lindner <markl@neuromancer>
245 * lib/libconfig.c, lib/scanner.l, lib/grammar.y - fixed all memory
246 leaks reported by Valgrind; removed an unncessary strdup()/free().
248 2009-09-01 Mark Lindner <markl@neuromancer>
250 * lib/libconfig.c, lib/libconfig.h, lib/libconfigcpp.c++,
251 lib/libconfig.h++ - added config_error_type() and fixed a segfault
252 when throwing a ParseException.
253 * doc/libconfig.texi - doc updates
255 ----- version 1.4b2 ------
257 2009-08-29 Mark Lindner <markl@neuromancer>
259 * examples/* - added new example programs to replace the less
260 practical ones in samples/
262 2009-08-25 Mark Lindner <markl@neuromancer>
264 * lib/libconfig.c, lib/libconfig.h, lib/libconfigcpp.c++,
265 lib/libconfig.h++ - added config_set_tab_width(),
266 config_get_tab_width() and Config::setTabWidth(),
267 Config::getTabWidth().
268 * doc/libconfig.texi - doc updates
270 ----- version 1.4b1 ------
272 2009-08-21 Mark Lindner <markl@neuromancer>
274 * lib/libconfig.h++, lib/libconfigcpp.c++ - broke the public
275 dependency on libconfig.h; updated VC++ projects on Windows so that
276 the C++ DLL no longer exports any of the C API functions
277 * debian/* - updated for version 1.4
278 * lib/libconfig.c - fixed an isprint() assertion on Windows
280 2009-08-20 Mark Lindner <markl@neuromancer>
282 * lib/parsectx.c, lib/parsectx.h, lib/scanctx.c, lib/scanctx.h,
283 lib/strbuf.c, lib/strbuf.h - code refactoring to reduce library size
284 lib/Makefile.am - fixed 'make install' error
286 ----- version 1.4b ------
288 2009-08-16 Mark Lindner <markl@neuromancer>
290 * lib/libconfig.c, lib/libconfig.h, lib/scanctx.c, lib/scanctx.h,
291 lib/grammar.y, lib/grammar.c, lib/grammar.h - added
292 config_read_string(); added config_setting_source_file() and
293 management of list of input file names; added #ifdef guard for
294 DllMain() function so that it's not included for static library
296 * lib/libconfigcpp.c++, lib/libconfig.h++ - added filename to
297 ParseException; bugfix in Setting::setFormat(); made what() methods
298 of exceptions public; added Setting::getSourceFile(),
299 Config::readString().
300 * doc/libconfig.texi - documentation updates
301 * lib/Makefile.am - bump .so version
302 * ac_config.h, configure.ac, libtool - bump version
304 2009-07-19 Mark Lindner <markl@neuromancer>
306 * lib/libconfig.c, lib/libconfig.h, lib/libconfigcpp.c++,
307 lib/libconfig.h++ - added config_read_string() and
308 Config::readString() functions (contributed by Matthias Weisser).
310 2009-07-02 Mark Lindner <markl@neuromancer>
312 * lib/parsectx.c, lib/parsectx.h, lib/scanctx.c, lib/scanctx.h,
313 lib/scanner.l, lib/grammar.y, lib/private.h, lib/Makefile.am,
314 lib/libconfig.c, lib/libconfig.h - replaced ugly C code in scanner.l
315 for processing strings with a new <STRING> scanner state and
316 associated rules; added support for hex character literals (\xNN) in
317 strings; refactored scanner and parser context into separate source
318 files; added preliminary support for include files ("@include"
321 2009-05-27 Mark Lindner <markl@neuromancer>
323 * ltmain.sh, ac_config.h, ac_config.h.in, configure.ac, libconfig.spec,
324 libtool - upgraded to newer versions of autotools
325 * grammar.y, grammar.h, grammar.c, libconfigcpp.c++, libconfig.h++,
326 libconfig.c, libconfig.h - added LIBCONFIG_VER_* macros, changed API
327 to replace 'long' and 'unsigned long' with 'int' and 'unsigned int'
328 to resolve a portability problem; added 'const' to declarations of
329 getLine() and getError() methods on ParseException
330 * <multiple> - directory structure reorg
332 ----- version 1.3.2 ------
334 2009-02-18 Mark Lindner <markl@neuromancer>
336 * libconfig.vcproj, libconfig++.vcproj - #define _STDLIB_H to
337 eliminate 'inconsistent dll linkage' warnings for free & malloc
339 2009-02-17 Mark Lindner <markl@neuromancer>
341 * libconfig.c, libconfig.h - added config_setting_lookup*() functions;
342 modified config_lookup_*() functions to have more consistent API
343 (return status, and accept value-result param)
344 * debian/* - updates and cleanup (from Klaus Schneider-Zapp)
345 * libconfig.spec, Makefile.am, ac_config.h - update version number
346 * doc/libconfig.texi - documentation updates
347 * samples/c/sample1.c - patch from Rodolfo Giometti
348 * samples/c/stub.c - fixed relative to API changes
350 2008-12-06 Mark Lindner <markl@neuromancer>
352 * libconfig.c - fix memory leak in config_setting_remove_elem();
353 reported by Timi Tuohenmaa
354 * configure.ac - fix incorrect processing of --enable-cxx option;
355 reported by Thomas Gazzola
357 2008-09-11 Mark Lindner <markl@neuromancer>
359 * debian/libconfigduo2.postinst - fix typo in test stmt
361 ----- version 1.3.1 ------
363 2008-09-07 Mark Lindner <markl@neuromancer>
365 * scanner.l, wincompat.h - workarounds for problems with parsing and
366 formatting of 64-bit integers on MinGW
367 * scanner.c - regenerated
369 2008-09-05 Mark Lindner <markl@neuromancer>
371 * libconfig.spec - updated for 1.3.1
372 * Makefile.am - fix version
373 * scanner.l - add fromhex() function, since strtoull() seems broken
376 2008-08-25 Mark Lindner <markl@neuromancer>
378 * libconfigcpp.c++, libconfig.h++ - derive exceptions from
381 2008-08-10 Mark Lindner <markl@neuromancer>
383 * wincompat.h - fix MinGW build issue
384 * configure.ac, ac_config.h, Makefile.am - bump version
385 * doc/libconfig.texi - doc updates
386 * libconfigcpp.c++, libconfig.h++ - include path information in
388 * libconfig.c - force "C" locale for parsing & formatting
390 ----- version 1.3 ------
392 2008-04-07 Mark Lindner <markl@neuromancer>
394 * libconfig.spec - updated for 1.3
396 2008-04-03 Mark Lindner <markl@neuromancer>
398 * scanner.l, grammar.y, libconfig.c, libconfig.h, wincompat.h -
399 fix/add comment headers, add C90 portability fixes from
400 Chris Pickett (C-style comments, renamed 'index' to 'idx' to
402 * scanner.c, grammar.c - regenerated
403 * configure.ac - enable more gcc warnings
404 * libconfigcpp.c++, libconfig.h++ - added getPath(), fixed impl of
405 isRoot(), add portability fixes from Chris Pickett (renamed 'index'
406 to 'idx' to resolve name clash), moved exception constructors into
407 source file; changed SettingExistsException to SettingNameException
408 to be more broad in scope
409 * Makefile.am - add wincompat.h to sources; add missing debian files
411 * test.cfg - added example 64-bit integer settings
412 * samples/* - expanded some examples
413 * doc/libconfig.texi - documentation updates
414 * Makefile.am, *msvc7* - added (generated) VS2003 projects/solution
416 2008-03-22 Mark Lindner <markl@neuromancer>
418 * debian/* - updates from Klaus Schneider
420 2008-03-22 Mark Lindner <markl@neuromancer>
422 * scanner.l, grammar.y, libconfig.h++, libconfig.c, libconfig.h,
423 wincompat.h, libconfigcpp.c++, grammar.c, scanner.c, grammar.h -
424 add support for 64-bit integer values
425 * libconfig.texi - documentation updates
426 * Makefile.am, ac_config.h, configure.ac, libtool - bump version
427 * libconfig.h - add config_setting_parent(), config_setting_is_root()
428 * libconfigcpp.c++, libconfig.h++ - add isRoot(), getParent() to
431 2008-03-15 Mark Lindner <markl@neuromancer>
433 * scanner.l - made 'true' and 'false' tokens completely
435 * libconfigcpp.cc, libconfig.hh - added alias files for Windows
436 * libconfig.c, libconfig.h - modified __config_write_value() to write
437 out floating point values in a more human-readable form; added name
438 validation; added config_setting_remove_elem() and
439 config_setting_index()
440 * libconfigcpp.c++, libconfig.h++ - added remove(unsigned int) and
441 getIndex() to Setting
442 * libconfig.texi - documentation updates
444 ----- version 1.2.1 ------
446 2007-12-21 Mark Lindner <markl@neuromancer>
448 * libconfig.c - source cleanup
449 * config.guess, config.sub, ltmain.sh, libtool - updated to newer
450 * configure.ac, Makefile.am, ac_config.h.in, ac_config.h
451 - MinGW-related fixes
453 ----- version 1.2 ------
455 2007-10-15 Mark Lindner <markl@neuromancer>
457 * libconfig.h++, libconfigcpp.c++ - renamed "SettingFormat" to
458 "Setting::Format" to reduce namespace pollution
460 2007-10-13 Mark Lindner <markl@neuromancer>
462 * scanner.l - updated regexp for float to allow for values which have
463 an exponent but no decimal point
464 * grammar.y - capture input line number when parsing settings
465 * libconfig.c, libconfig.h - added config_setting_is*() macros;
466 added config_setting_source_line(); added line member to
467 config_setting_t struct
468 * libconfig.c++, libconfig.h++ - renamed "SettingType" enum to
469 Setting::Type to reduce namespace pollution; added getSourceLine()
470 * samples/* - various updates
471 * debian/changelog - added entry
472 * ac_config.h, configure.ac, libtool, Makefile.am - new version #
474 * doc/libconfig.texi - documentation updates
476 2007-10-12 Mark Lindner <markl@neuromancer>
478 * libconfig.c, libconfig.h - added config_set_auto_convert(),
479 config_get_auto_convert(), and number auto-conversion logic
480 * libconfigcpp.c++, libconfig.h++ - add setAutoConvert(),
481 getAutoConvert(), lookupValue() that takes std::string&,
482 corrected return values of assignment operators
483 * debian/rules - made file executable
484 * debian/libconfigduo-dev.install - add pkgconfig files to list
486 2007-09-22 Mark Lindner <markl@neuromancer>
488 * libconfig.c, libconfig.h - change 'type' and 'format' members of
489 config_setting_t to short, thereby saving 4 bytes
491 2007-09-22 Mark Lindner <markl@neuromancer>
493 * doc/libconfig.texi - add @direntry to fix install-info warnings
494 * libconfig.spec.in, Makefile.am, configure.ac - added RPM support
495 (from Deneys S. Maartens)
497 2007-09-18 Mark Lindner <markl@neuromancer>
499 * libconfig.h - remove DLL_EXPORT; add LIBCONFIG_STATIC to fix
500 static linking on Windows
502 2007-09-18 Deneys S. Maartens <dsm@tlabs.ac.za>
504 * samples/c/Makefile.am, samples/c++/Makefile.am - Add
505 AM_CPPFLAGS to fix distcheck build failure
506 * Makefile.am - expand wildcards in EXTRA_DIST to fix distcheck
509 ----- version 1.1.3 ------
511 2007-08-03 Mark Lindner <markl@neuromancer>
513 * libconfigcpp.c++ - bugfix in unsigned cast operators (incorrect value
515 * debian/control - made some corrections
517 ----- version 1.1.2 ------
519 2007-07-01 Mark Lindner <markl@neuromancer>
521 * debian/* added debian package files from Klaus Schneider
522 * libconfig.h++ - added new predicate is<type>() functions
523 * libconfig.h - fix comments
524 * doc/libconfig.texi - documentation updates
525 * ac_config.h, configure.ac, Makefile.am - new version #
527 ----- version 1.1.1 ------
529 2007-06-15 Mark Lindner <markl@neuromancer>
531 * scanner.l - bugfix in string parsing
532 * test.cfg - added test case
534 ----- version 1.1 ------
536 2007-04-18 Mark Lindner <markl@neuromancer>
538 * libconfigcpp.c++ - bugfix in add(SettingType)
539 * stubcpp.cpp - add more ad-hoc tests
541 2007-04-05 Mark Lindner <markl@neuromancer>
543 * scanner.l - Add string concatenation patch from Glenn Herteg.
544 Add \f as a whitespace character.
545 * grammar.y - add mode directive emacs
546 * libconfigcpp.c++, libconfig.h++ - add exists() and lookupValue()
547 methods; add Setting::operator std::string()
548 * libconfig.texi - documentation updates
550 ----- version 1.0.1 ------
552 2006-11-26 Mark Lindner <markl@neuromancer>
554 * samples/c/Makefile.am, samples/c++/Makefile.am - fix linker error
555 * libconfig.texi - documentation update
557 ----- version 1.0 ------
559 2006-10-19 Mark Lindner <markl@neuromancer>
561 * libconfigcpp.c++ - bugfix in add() for lists
563 2006-10-11 Mark Lindner <markl@neuromancer>
565 * scanner.l - allow asterisk in setting names (submitted by
567 * libconfig.texi - documentation updates
568 * configure.ac, Makefile.am, samples/Makefile.am - add --disable-cxx
569 configure option; conditionally build/install C++ components
571 2006-10-01 Mark Lindner <markl@neuromancer>
573 * <multiple> - samples cleanup
575 2006-09-14 Mark Lindner <markl@neuromancer>
577 * libconfig.c - Change %.8f to %e for double values in
578 __config_write_value(). Submitted by Filipe Maia.
580 2006-08-31 Mark Lindner <markl@neuromancer>
582 * Makefile.am - changed bin_PROGRAMS to noinst_PROGRAMS; the stub
583 programs are for testing and should not be installed.
585 2006-08-26 Mark Lindner <markl@neuromancer>
587 * libconfig.texi - documentation corrections & updates
588 * stub.c, stubcpp.c++ - check return value of fopen(); fix compiler
590 * configure.ac, Makefile.am - add -Wall to CFLAGS only for gcc;
591 add test.cfg to EXTRA_DIST
592 * grammar.y, libconfigcpp.c++ - fix compiler warnings
593 * libconfig.c - use CONFIG_TRUE & CONFIG_FALSE rather than 1 & 0
594 for success/failure return values.
596 ----- version 0.9 ------
598 2006-07-29 Mark Lindner <markl@neuromancer>
600 * <multiple> - major grammar redesign: groups are now values instead of
601 distinct syntax constructs; this allows groups to be elements of
603 * libconfig.texi - documentation updates; added new chapter containing
605 * test.cfg - modified to reflect new syntax and to demonstrate lists
607 2006-06-23 Mark Lindner <markl@neuromancer>
609 * <multiple> - added support for lists (collections of
610 heterogeneous values of any type)
611 * libconfig.c - pretty-printing fixes in config_write()
613 2006-06-08 Mark Lindner <markl@neuromancer>
615 * libconfig.h++ - added private copy constructor & assignment operator
617 * ligconfigcpp.c++, libconfig.h++ - added cast operators for unsigned
618 int and unsigned long (from Scott Frazer)
619 * <multiple> - add support for value formats; the only non-default
620 format currently supported is hexadecimal format for integer values
621 (based on patch from Scott Frazer)
623 2006-04-15 Mark Lindner <markl@neuromancer>
625 * <multiple> - added pkg-config support
627 2006-03-31 mlindner <markl@neuromancer>
629 * <multiple> - cleaned up config.tab.h mess (this file was obsolete,
630 and superseded by grammar.h ... problem identified by Scott Frazer)
632 2006-03-30 mlindner <mlindner@chimera>
634 * grammar.y - fixed includes for windows (missing decl of malloc/free)
635 * libconfig.c - fixed several signed/unsigned warnings
636 * doc/libconfig.texi - documentation updates, formatting fix
637 * scanner.l - allow lowercase 'true' and 'false' in addition to
640 2006-03-27 Mark Lindner <markl@neuromancer>
642 * libconfigcpp.c++ - added missing break statements in switch (from
644 * libconfig.c - don't strdup() a NULL string (from Lukas Zweifel)
645 * grammar.c, grammar.h - regenerated with bison 2.1
647 2006-03-20 Mark Lindner <markl@neuromancer>
649 * scanner.l - added '%option nounistd' and regenerated with newest
650 version of flex; Windows doesn't have unistd.h.
652 2006-03-17 Mark Lindner <markl@neuromancer>
654 * grammar.y - bugfix; error & abort parsing if duplicate setting name
655 encountered (previously caused a crash ... reported by Tobias Witek)
656 * scanner.l - bugfix; multi-line C-style comments were causing line
657 number counting to be thrown off, because the newlines were being
659 * <multiple> - various fixes to support building of DLLs on Windows.
661 2005-11-26 Mark Lindner <markl@neuromancer>
663 * grammar.y, scanner.l - always strdup() yytext, and free the memory
664 in the grammar rules.
666 2005-11-22 Mark Lindner <markl@neuromancer>
668 * libconfigcpp.c++, libconfig.h++, libconfig.c, libconfig.h -
669 Added Daniel's enhancements: methods & functions for reading/writing
670 files, fixes for various memory leaks, etc.
671 * samples/* - Added Daniel's example code.
672 * docs/libconfig.texi - Updated documentation
674 2005-09-28 Mark Lindner <markl@neuromancer>
676 * libconfigcpp.c++, libconfig.h++, libconfig.c, libconfig.h
677 Enhanced API to support modification of a configuration.
678 * libconfig.texi - updated manual
680 2005-06-02 Mark Lindner <markl@neuromancer>
682 * libconfigcpp.c++, libconfig.h++ - Added getName() method;
683 fixed operator[](int) to work with groups; this allows iteration over
684 a group's child settings. Added a missing break statement (bugfix
685 submitted by Pablo Barrera Gonzalez). Added operator int() and
686 operator float() to Setting; note that these may cause loss of
687 precision since the actual values are stored internally as long
688 and double, respectively.
690 * libconfig.h - added config_setting_name() macro
692 * libconfig.c - maintain two lists of children at each node; a sorted
693 list and an unsorted list (to preserve the order of the settings as
694 they appear in the file).
696 * scanner.l - fixed scanner rule for comments. '#' no longer has to
697 be in column 0 to be recognized as a comment. Added support for C
698 and C++ style comments.