xref: /aosp_15_r20/external/libconfig/ChangeLog (revision 2e9d491483b805f09ea864149eadd5680efcc72a)
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