Add default Smack manifest for elektra.spec
[pkgs/e/elektra.git] / ChangeLog
1 * Tue 16 Oct 2008
2 - ksCopy
3 - ksNeedSort removed from public header
4 - ksNeedsSort renamed
5 - ksDup
6 - ksClear removed from public header
7 - ksSort: example, docu
8 - ksGetSize
9 - ksAppendKey, ksAppend
10 - ksPop
11 - ksHead, ksTail
12 - ksGetCursor, ksSetCursor
13 - ksLookup
14 - removed ksLookupByString, ksLookupByBinary
15 - ksNew
16 - errno away from keyset
17 - kdbOpen, kdbClose
18 - kdbGet
19 - stdio.h and errno.h away from kdbos.h
20 - kdbGetByName
21 - kdbGetKey, kdbSetKey
22 - removed kdbStatKey (trivial)
23 - kdbGetString, kdbSetString, kdbRemove
24
25 * Wed 15 Oct 2008
26 - keyName, keyBaseName and keyOwner return 0 on 0 pointer
27 - keyOwner, keyGetOwnerSize, keyGetOwner
28 - keySetOwner
29 - keyValue, keyGetValueSize
30 - keyGetString, keySetString, keySetRaw(removed)
31 - keyGetBinary, keySetBinary
32 - comments
33 - keyNew
34 - errno bei key*.c weg
35 - errno in backend docu weg
36 - DESIGN document updated
37 - keyName, keyBaseName, keyOwner, keyValue, keyComment synced
38 - test cases for binary data
39
40 * Tue 14 Oct 2008
41 - keySetDir, keyGetMode, keySetMode
42 - enum types are now integer types
43 - hide enum for flags: keyflag_t keyswitch_t
44 - keyGetType, keySetType
45 - ATime, MTime, CTime
46 - keyName
47 - keyGetName
48 - keySetName
49 - keyFullName
50 - keyBaseName
51 - keyAddBaseName, keySetBaseName
52
53 * Mon 13 Oct 2008
54 - keyStat, keyRemove
55 - remove SYNC flag when removing key
56 - keyNeedsStat, keyNeedsSync, keyNeedsRemove
57 - keyNeedsStat, keyNeedsSync, keyNeedsRemove renamed to
58   keyNeedStat, keyNeedSync, keyNeedRemove
59 - keyIsSystem, keyIsUser
60 - keyIsBelow, keyIsDirectBelow
61 - keyIsInactive
62 - keyIsDir, keyIsBinary, keyIsString
63 - @errors renamed to @err
64 - keyGetUID, keySetUID, keyGetGID, keySetGID
65 - keyGetType, keySetType
66
67 * Sat 11 Oct 2008
68 - Versioning for backends
69 - check all functions again:
70 - keyDup
71 - keyCopy: removed keyClear, keySetName(,0)
72 - keyDel, keyIncRef, keyDecRef, keyGetRef: example
73
74 * Wed 08 Oct 2008
75 - print_info outputs limits, constants and sizeof of elektra types
76 - examples now compile
77 - added iterate example
78 - BUG: segfault on xml import/export (reason: closed library too early)
79 - xml is again default mode for exporting
80 - always export recursive
81 - run test_script
82 - add xml tests in scripts
83 - validate -cmp files
84 - now use type_t for types
85 - eliminate [u]int8,16,32_t
86 - eliminate kdbStrError
87 - make examples more iso c
88 - remove keyCompare and ksGetCommonParentName
89
90 * Thu 07 Oct 2008
91 - Copy autoconf files instead of linking
92 - exportsymbols.sh now generate more ansi conforming code
93 - libloader: extern in header and more strict function prototype
94 - fstab.h added, better declarations
95 - passwd.h better declarations
96 - template.h better declarations
97 - dont use (), use (void)
98 - small fixes in headers
99 - libelektratools
100 - make not exported functions static
101 - uid, gid at one place
102 - header cleanup
103 - compile with icc -Wall
104 - dont use multiple function calls as parameters
105 - keyIsBelowOrSame static
106 - some casting
107 - dont define DEBUG by flag, use config.h
108 - define VERBOSE (as 0)
109 - only use valgrind when available
110 - check for stdio.h
111 - some things I broke with icc transition
112 - valgrind should now check correctly
113 - kdbOpen(void) does not accept arguments anymore
114 - source environment for zsh works
115 - removed some TODOs
116 - remove some spaces in kdb.h
117 - kdbos.h cleanup: POSIX and WIN32 part
118 - KeyCursor renamed to cursor_t
119 - use the enum option_t instead of unsigned long
120 - KDBOptions renamed to option_t
121
122 * Thu 02 Oct 2008
123 - svn version for latest test
124 - ELEKTRA_VERSION_API in configure.ac
125 - check funcs of testing suite
126 - search path
127 - Docu about search path
128 - libdir, ulibdir added in search path
129 - hlvlbackenddir used for libelektratools
130 - typedef corrected
131
132 * Wed 01 Oct 2008
133 - BUG 37: uid/gid mismatch
134 - kdbSetKey use const as second parameter
135 - don use name elektra in kdb.h
136 - some updates to KDB in cpp binding
137 - Mac Port
138 - dont use -n or -e for echo
139 - dont use symbols starting with _
140
141 * Mon 29 Sep 2008
142 - add canonical target
143 - remove AC_LIBTOOL_WIN32_DLL
144 - using libtool support from sox
145 - use INCLUDES for -I include and INCLTDL
146 - dont cd to LIBLTDL, it could be -lltdl (on grml 1.1 second install)
147 - check HAVE_LIBLTDL header
148 - dont use ENOKEY (not posix) use EFAULT instead
149
150 * Fri 26 Sep 2008
151 - xsltproc works again
152 - don't prefix slash at end of docbook path
153 - check the files and not the path
154 - cleaned up capability (will use other api later on)
155 - dont provide mount API
156 - exclude most of kdbc* functions (not needed)
157 - capability removed from documentation
158 - add get (ByName) in c++ binding
159 - remove subsections in main page
160 - rename keyName to keyname in parameter
161 - give trivial kdbRemoveKey away
162 - regroup kdb*
163 - renaming of libhelper files
164 - module section naming
165 - use singular
166 - KeyDB renamed to KDB
167 - changed pictures
168 - KDBHandle renamed to KDB
169 - kdbGetByName now handles mountpoints correctly
170 (and deserves to be in highlevel)
171 - preload now directly uses /etc/hosts and /etc/fstab for system
172 - but continues to use /tmp for user
173 - kdbGetHelper now used by kdbGetKey and kdbGetByName
174 - hosts comments
175 - use bigger buffer
176 - be more safe on buffer limits
177 - add comments in hosts.xml
178 - write examples and update tutorial
179 - kdbGetKey should set errno to KDB_ERR_NOTFOUND
180 - versions fixed, provide kdbStrVersion
181 - use rm -f instead of -rm
182 - remove keyName functions and keyNext (why was that there?)
183 - the great renaming: bringing key in its modules
184 - bringing keyset in correct order
185 - ksAppendKeys renamed to ksAppend (last plural eliminated)
186 - ksAppend renamed to ksAppendKey
187 - issues on numbers fixed
188 - all numbers may return -1
189 - removed print_splitted
190
191 * Thu 25 Sep 2008
192 - KDB_O_NORECURSIVE now only gives back keys direct below keys
193 - fix a bug in compare_keyset (it removed value/comments on request)
194 - merge details of kdbSet and kdbGet together
195 - doxygen updated (to 1.5.6)
196 - document parameters
197 - UID, GID docu update
198 - make keyIsDir more clearly
199 - removed kdbGetRootKeys
200 - removed kdbSetKeys and kdbGetKeys (plural)
201 - removed kdbGetChildKeys (has swapped parameters)
202 - introduce kdbGetByName with cascading (replaced kdbGetChildKeys)
203 - fixed name bugs in ksLookup()
204 - remove user code of kdb-tool which implemented the same
205 - 32 bit issues
206 - make clean more robust
207 - kdb info prints where key is located
208
209 * Wed 24 Sep 2008
210 - introduce libhelper
211 for system dependent but backend independent functions
212 - source and folders in CODING document
213 - helpers is not a backend anymore
214 - remove kdbc properties
215 - check for failed opendir (may fail because of permissions)
216 - place readlock in hosts after check if open failed
217 - use const char for kdbc* char properties
218 - give correct uid, gid so that keys can be compared
219 - use DEBUG && VERBOSE to be only verbose when debugging is enabled
220 - rename access to mode
221 - make uninstall install runs fine again
222 - --help prints default locations
223 - check for sed
224 - remove hook for libelektratools
225 - provide uninstall hook for default backend
226 - will now use "default" backend rather then "filesys" as default
227
228
229 * Tue 23 Sep 2008
230 - add backend helpers
231 - use c++98 std for c++
232 - add dependency to filesys and preload
233 - kdbbackendhelpers.c disappeared
234 (libelektra should now be clean ansi build, see next commit)
235 - now compiles without warnings (but not ansi flags)
236 - core and cpp binding compile with ansi flags
237 - all parts should have DBG and OPT cflags
238 - added time.h header
239 - remove kdbi* functions out of kdb-tool
240 - ifndef TIME_H should be ifdef!
241 - bring ks and key streaming functions in other order
242 - header files rewriting, always HAVE_FILE_H ifdef around
243 - implement kdbiStrCaseCmp
244 - ctype for islower
245 - move APPROXIMATE_NR_OF_BACKENDS to header
246 - delete langinfo.h, sys/* dependencies
247 - removed kdbPrintError
248 - core can only print something when DEBUG is enabled
249 - changed examples and kdb-tool a bit to work without kdbPrintError
250 - remove unistd.h header files
251 - errnosaver added for filesys, hosts and fstab
252 - dont fill up uid, gid and username properties
253 - dont fill up uid and gid in keyInit
254 - text for keyCompare reformated
255 - dont link against helper library
256
257
258 * Mon 22 Sep 2008
259 - autoconf setup revisited
260 - group together similar setup items
261 - define DEBUG in config.h
262 - define the conditional DEBUG
263 (should always be set together and not confuse)
264 - DESIGN document updates
265 - some more code examples
266 - rename keyGetReference to keyGetRef
267 - don't use KEY_NEW as first parameter, use 0
268
269 * Son 21 Sep 2008
270 - added REGEXP and explanation how to use
271 - regenerate error codes
272 - leave comments of sections in error codes
273 - add url for bug reports
274 - clear returned so that updating keyset works
275
276 * Fri 19 Sep 2008
277 - disable iconv conversations by default
278 - Use correct help strings for debug
279 - don't check iconv header file, fork and signal
280 - add tests for code conversations
281 - Filesys will now return -1 on UTF8Engine errors
282 - added tests for UTF8 needed and conversation
283 - added more docu to UTF8 engine about the problem
284
285 * Thu 18 Sep 2008
286 - remove dependency from pthread.h
287 - dont store pid and tid in kdbhandle
288 - locking was disabled
289 - check for more headers, funcs
290 - dont fail if no locking in hosts
291 - use KDB_ERR_NOLOCK
292 - make distcheck works
293 - leak: delete append keyset in filesys in error condition
294 - use init() for every testcase
295 - fail without error when backends are not available
296 - srcdir file now works with empty environment
297 - delete own malloc for tests
298 - dont use own setenv declaration (fails when its in header)
299 - dont leave files behind
300 - cleanup in error condition in test_kdb
301 - some more cleanup
302
303 * Tue 16 Sep 2008
304 - functional example
305 - remove ksForEach and ksFilter out of elektra (too easy to implement)
306 - delete keyset in test_kdb
307 - ksPop behaves more sane
308 - keyDel is much more safer (hard to do it wrong now)
309 - remove functional from example
310 - decrement is now something else then delete (cpp binding)
311 - keyIncRef and keyDecRef introduced (keyInc renamed)
312 - links will not make it into 0.7.0
313
314 * Mon 15 Sep 2008
315 - kdb -R implemented
316 - passwd no segfault when it cant open file
317 - REMOVEONLY works
318 - missing sort before kdbSet_backend()
319 - document kdbGet() options much better
320 - filesys now only stat and do not open file
321 - propagate KDB_O_NOSTAT to parentKey
322 - add testcases for nostat and statonly
323 - better always duplicate parentKey
324 - done that in fstab (rewrite get)
325 - clear returned before appending appended
326 - filesys now handles stat and lock
327 - filesys optimization: not appending to returned
328 - now remove with KDB_O_REMOVEONLY
329 - use init() in test_kdb
330 - only remove value/comment when backend supports kdbcGetnoStat
331
332 * Fri 12 Sep 2008
333 - preserving of comments in /etc/hosts now work
334 - wrote new append_comment function to catch comment and empty lines
335 - wrote find_comment to deduce correct length (sscanf could not do that)
336 - write init() function for tests (clearenv + loadToolsLib)
337 - remove Link keys
338 (not working anyway, not fitting to access logic and not tested...)
339 - remove *parent functions
340 (real C programmers know how to concat strings)
341 - renamed enums
342 - BUG: changed KEY_VALUE flag? in keyNew
343 - BUG: keyCompare returned KEY_FLAG_SYNC
344 - give away the nasty keyCompare code
345 - test keyCompare
346 - renamed warn_if to warn_if_fail
347 - lock/unlock in hosts
348 - kdbbLock functions set errno themselves
349 - making hosts backend much faster
350
351 * Thu 11 Sep 2008
352 - The final libelektratools release for 0.7
353 (more work will be investigated after release)
354 - libelektratools and kdb-tool is not part of the official 0.7 release
355 - remove streaming of cpp binding
356 - add enum for streaming into kdbtools.h
357 - DYN_LINK macro for weak dependency (not shown in ldd)
358 - add -G -O options in kdb-tool to generate c code and output per line
359 - move ksLookupRE and ksCompare to libelektratools (commented out)
360 - asprintf removed (not ansi)
361 one step closer to use only kdbi* memory management
362 - command export now also exports root key
363
364 * Wed 10 Sep 2008
365 - Don't track .gdb_history files
366 - document only full get
367 - always add the parentKey in filesys
368 - watch out that all keys clear their KEY_FLAG_SYNC flag
369 - note, every modification resets the sync flag
370 - reorganize kdb options
371 - rename KDB_O_IGNORESYNC to KDB_O_SYNC
372 - rename KDB_O_DELPARENT to KDB_O_DEL
373 - rename KDB_O_POPPARENT to KDB_O_POP
374 - write nomeclature in kdbmain.c
375 - delete not used options
376 - reorganize test_kdb (create_root_key and create_conf)
377 - Test cases reorganized
378 - use setenv
379 - create_root_key now creates for a specific backend
380 - create_conf for a specific file
381 - #ifdef all headers, 
382 - remove warings
383 - xml cleanup: #ifdefs in includes
384 - memory leak in ksToStream
385 - remove grp and pwd dependency
386 - remove non-ansi dependence (isdigit, mkstemp, write)
387 - give code example how to check if xml is valid
388 - test uid, gid and access
389
390 * Tue 09 Sep 2008
391 - delete ksPop()ed keys
392 - doxygen: sort by group names
393 - update mainpage
394 - make sections in kdbGet() and overview of backends
395 - update and explain conditions more detailed
396 - add an example for kdbGet_backend
397 - add option_t::KDB_O_NOSTAT in docu
398 - define groups for backendhelpers, backendhandle
399 - add section cascading
400 - stat logic changed, STAT remains after key was stated
401 - SYNC will be deleted for every key synced in backend
402 - use POP for returned keyset
403 - Introduced more error codes to be used by backends
404 - explain how to properly update the keyset
405 - give some more links @see in documentation
406 - BUG: ksAppendKeys may be one byte to small
407
408 * Mon 08 Sep 2008
409 - Reset the update kdbGet mechanism
410 - add keyCopy and keyClear
411 - fix docu for keyDel
412 - add testcase for keyCopy, keyClear
413 - some warnings less
414 - BUG: keySetName(k,"system*") did not reset owner
415 - add ksCopy, ksClear
416 - make keyset more robust (memory errors)
417 - warnings in test cases
418 - Introduced KDB_O_POP
419 - BUG: ksSetCursor on rewinded keyset
420 - make sections in docu for ksLookup
421 - test cases for lookup with pop
422
423
424 * Fri 05 Sep 2008
425 - KDB_O_WITHOWNER was wrong in docu of ksLookup
426 - extend and test example application
427 - add keyIsDirectBelow() for direct relation ship (parent to son)
428 - update ksLookup Docu (KDB_O_WITHREMOVE?)
429 - BUG: ksLookup() did not sort!
430 - updating of a keyset now works
431 - functional programming: ksForEach, ksFilter added
432
433
434 * Thu 04 Sep 2008
435 - write documentation about ENVIRONMENT
436 - KDB_USER now can override USER
437 - make sure that proper owner is written (+ testcases)
438 - don't add owner in keyGet* methods
439 - KDB_DIR let you specify the exact user-configuration directory
440 - preload where prints the path where your configuration lies
441 - document errors for kdbbGetFullFilename
442 - added KDB_ERR_TOOLONG for a string too long which cant be trunced
443 - added KDB_ERR_CONVERT for utf8 convert errors
444 - BUG: incorrect return values (-1) for keyIsUser and keyIsSystem lead
445 to keyGetNamespace failure, kdbbGetFullFilename was affected
446 - BUG: handle situation correctly where buffer does not fit filename
447 - BUG: dont remove escaped slashes
448 - simplify kdbGetFilesys a lot by using kdbbGetFullKeyName
449 - kdbbFilenameToKeyName handle too long string correctly
450 - test cases for encoding
451 - Locking of files in filesys implemented
452 NOTE: thus only a single key is locked it only prevents from shredded files
453 - keys in kdbGet will now be updated when already in returned
454
455
456 * Tue 02 Sep 2008
457 - introduced internal kdbi* functions in internals.c
458 - renamed strblen to kdbiStrLen
459 - introduced kdbiMalloc, kdbiFree, kdbiStrDup
460 - renamed srealloc to kdbiRealloc
461 - enhanced backendhelpers and renamed to kdbb* functions
462 - renamed kdbbLock and kdbbUnlock
463 - renamed kdbbEncode and kdbbDecode
464 - renamed kdbbEncodeChar and kdbbDecodeChar
465 - all functions are defined in kdbbackend.h
466 - added test for backendhelpers
467 - added test for internals (with small multichar seq test)
468 - distinguish between PATH_SEPARATOR and KEY_SEPARATOR
469 - added MAX_KEY_LENGTH to say explicit that the length of
470 the key name is limited for filesys
471 - KDB_KEY_MOUNTPOINTS holds keyname for mountpoint database
472 (system/elektra/mountpoints)
473 - KDB_KEY_USERS holds keyname for user database (system/users)
474 - the *_LEN makros give their sizeof value
475 - introduced makro variables for KDB_DB_HOME (fallback where /home resides)
476 - keys for user/ hierarchy may have different locations on disk now, see
477 kdbbGetFullFilename
478 - memory leak in passwd backend + fclose was missing
479 - renamed kdbbKeyNameToRelativeFilename and kdbbKeyCalcRelativeFilename
480 and return -1 on failure
481 - preload now return error codes if it worked
482
483 * Mon 12 May 2008
484 - updated documentation of kdbGet_backend and kdbSet_backend
485 - use post, invariant and pre conditions to document
486 - introduce @err tag to describe how errno is propagated
487 - add example path to include files in documentation from there
488 - Use @since tag for pluggable backend description
489 - updated kdbSet and kdbGet documentation:
490 -   Errors, Post, Pre cond, Return values
491 - Explain return value in @return value
492 - rewind keyset
493 - basic implementation of kdb class in cpp binding
494 - add keyRemove and keyStat in keymeta
495
496 * Thu 08 May 2008
497 - enabling and disabling of backends now work
498 - ini compiles again
499 - mntent.h fix
500 - berkleydb compiles fine but does not link
501 - added enabling and disabling of bindings
502 - cpp binding keyset finished except iterator
503
504 * Thu 24 Apr 2008
505 - Key support Reference Pointer Semantics
506 - Some Basic Functions for Keyset (non-functional)
507 - Some Basic Tests for Keyset
508 - ksLookup (KeySet, Key,..) added to docu
509 - sed changed for macosx compatibility
510 - 0.7.0rc3 announcement
511
512 * Mon 21 Apr 2008
513 - kdb::KeySet output, generate,..
514 - added test_keyset.cpp
515 - fixed signature ssize_t ksToStream
516 - changed signature keyDel()
517 - added keyInc() (increment Reference)
518 - keyDel() also before appending (always after ksPop()!)
519 - updated documentation for ksPop(), ksCurrent(), ksNext()...
520 - Streaming got its own Module in documentation (group keystream)
521
522 * Sun 20 Apr 2008
523 - also set CXXFlags
524 - namespace directly in kdb.h for c++
525 - Key for cpp binding now complete with lots of tests
526 - use const
527 - casting between kdb::Key and ckdb::Key for KeySets
528 - copy constructors
529 - adding keyVNew and ksVNew to pass va_list and use it in c++ binding
530
531 * Tue 15 Apr 2008
532 - Don't output error for positive kdbSet return value
533 - xml pretty printing
534 - fix wrong parent at end in ksToStream
535 - string is default type for xml without type=""
536 - fix extra_dist some missing files
537 - Add version macros
538 - remove , at end of enumeration lists
539
540 * Sat 22 Mar 2008
541 - kdbSetKey highlevel now works with capabilities
542 - kdbSet docu
543 - make parentkeys to work in kdbSet
544 - splitting keys now works in n*b instead of n^2*b and preservers order
545 - split keysets in kdbprivate.h, test it in test_split.c
546 - 0.7.0rc2 announcement
547
548 * Thu 26 Feb 2008
549 - Cleanup options
550 - Initialized mask removed in keyswitch
551 - Changed indentation to tabs
552 - Lookup and Stream have their own options
553 - don't make uid gid depended on who exports it
554 - some newlines removed
555 - keyOutput: only output what is desired
556 - Adding comparing files in Testcase
557 - ksLookup* set cursor (ksCurrent) correctly
558 - ksCurrent set correctly after failed kdbSet()
559
560 * Sat 09 Feb 2008 Markus Raab
561 - atime, mtime, ctime document + set functions (kdb.h)
562 - document kdb*_backend functions
563 - document kdb functions
564 - make capabilities obligatory
565 - add authors, licence in capabilites
566 - capabilities workaround in kdbGetKey and kdb get
567 - make mountpoint when mounting a backend with preload
568 - passwd does not need to declare onlyFullGet
569 - add kdbGetCapability and kdbGetMountpoint in namespace kdb
570 - rename kdbGetValue, kdbSetValue, kdbSetValueByParent and kdbSetValueByParent
571 to kdbGetString, kdbSetString, kdbSetStringByParent and kdbSetStringByParent
572 - keyValue unchanged because it is related to value, that means string, binary
573 or any other type
574 - keyGetValueSize also unchanged because of above reason
575 - writing tests for it in test_mount
576 - check return value kdbGet and kdbSet of -1 if you want to check error
577
578
579 * Thu 06 Dec 2007 Markus Raab
580 - Renaming of header files
581 - kdbMount now takes a key mountpoint, which has as value the backend
582 - KDBHandle is now like Key and KeySet a private structure with public typedef
583 - KDBBackend is now gone and #define KDBHandle to void too
584 - helpers are now in kdbprivate.h
585 - kdbbackend.h now will do include everything for backends
586 - kdb.h should do include everything needed for extern programs
587 - Documentation for KDBHandle
588 - TODO update
589 - added capability methods
590 - document kdbMount, kdbUnmount
591 - don't rely on private structures in tests.h
592 - fix make dist
593 - 0.7.0rc1 announcement
594
595
596 * Wed 05 Dec 2007 Markus Raab
597 - KDB_ERR_NODOMAIN renamed to KDB_ERR_NOOWNER
598 - KDB_O_NOSORT renamed back to KDB_O_SORT
599 - ksLookup KDB_O_NOALL introduced
600 - ksNeedSort() and ksGetAlloc() introduced
601 - lookup: owner strcmp more efficient and also sorted that way
602 - BUG: ksGetCommonParentKeyName works even if nothing found
603 - dont ksDup in ksGetCommonParentKeyName
604 - size_t used for keysets (we also want large keysets)
605 - resize keyset down to KEYSET_SIZE
606 - remove kdbGetBackendName and kdbGetMountpoint
607 - kdbhGetMountpoint is a key: name is point, value is backend
608 - allocation testing
609 - kdbMount, kdbUnmount to kdb.c
610 - use kdbOpenBackend and kdbCloseBackend as only place to open/close backends
611 - OpenMapper, CloseMapper are function pointers to open and close a backend
612
613
614 * Wed 21 Nov 2007 Markus Raab, Patrick Sabin
615 - BUG: keyIsLink broken fixed
616 - BUG: when there is no comment, value filesys won't store type fixed
617 - BUG: keyAdd/SetBasename do realloc something wrong and do not set nameSize
618 - rewrite serialization
619 - keyCompose: serialize a key without any malloc
620 - added keyGenerate and ksGenerate
621 - use FILE *stream for Output/Generate
622
623 * Wed 19 Nov 2007 Markus Raab
624 - Capabilites added
625 - Backends can now represent what they support
626
627 * Sun 11 Nov 2007 Markus Raab
628 - Make test cases run again
629 - Find memory leaks
630 - Naming conventions
631 - Parameter discarding of qualifiers
632 - Header conventions
633 - File headings
634 - Variable names + delete unneeded variables
635 - make all tests pass again
636 - make fstab compile again
637
638
639 * Wed 07 Nov 2007 Markus Raab
640 - Code Coverage Tests included
641 - With --enable-gcov you enable building of code coverage
642 - Use it to see what lines of code are covered by tests
643
644 * Tue 06 Nov 2007 Patrick Sabin
645 - introduced Trie for lookup of mountpoints
646 - dynamic mounting with kdbMount and kdbUmount
647 - test cases for trie
648 - trie resides in KDBHandle
649 - kdbLibMounting.h introduced
650 - kdbos.h introduced
651 - ksLookup only search in not removed keys
652
653 * Fri 02 Nov 2007
654 - Remove next Pointer in Key
655 - Use Array in Keyset
656 - Introduce new style ksNew
657 - ksDup introduced
658 - some const identifiers introduced for keyset
659 - InsertKey(s) is history
660 - Cursor functions added for keyset
661 - next, start and end pointer removed
662 - reference for keys: keysets will only delete keys when they
663         have the only copy of it
664 - ksToStream, ksCompare, ksLookupRE mailfunc, commented out
665
666 * Wed 24 Oct 2007
667 - Reintroduce kdbGet recursive code
668 - Now delete keys when not needed
669 - kdbGetKeys needs KDB_O_INACTIVE to get a single key
670 - When pop a key, ks->next is now 0
671 - Makros in tests now {embraced}
672 - to see if a function failed, take the difference of nbError
673
674 * Wed 17 Oct 2007
675 - use old type system
676 - getset tests
677 - access types tests
678 - KEY_SWITCH_MODE renamed to KEY_SWITCH_ACCESS
679 - Introduce ksStart to replace ksRewind
680
681 * Thu 04 Oct 2007
682 - valgrind support for tests added
683 - keySet/Get String/Comment for NULL changed
684 - keyGetValue/CommentSize returns 1 to have appropriate space to malloc 1 byte
685 - xml tests commented out, problem with change above
686 - userDomain (?) renamed to owner
687 - updated documentation of _Key
688 - recordSize deleted
689 - benchmarks added: threads, large
690 - keyDir: Use executable bits to mark directories
691 - filesys cleanup: don't support old key-style and remove pointless functions
692 - valgrind integrated for tests and benchmarks
693 - KEY_SWITCH_DOMAIN -> KEY_SWITCH_OWNER
694         
695 * Sun 23 Sep 2007
696 - kdbHandle and KDBEXPORT only insist of 4 functions (open, close, get, set)
697 - kdbHighLevel only require kdbGet and kdbSet, but considered broken
698 - kdbLibSym returns kdbLibFunc, which is a pointer to a function, not data
699 - added -debug compiler options
700 - removed warnings all over the code
701 - keyvalue cleanup, same meanings and documentation of errno
702
703 * Mon 03 Sep 2007 Markus Raab <elektra@markus-raab.org> and Patrick Sabin
704 - kdbSet restructure: only kdbSetKeys communicate with backend
705 - _KDBInfo added
706 - kdbcapability.c added, old KDBInfo is there
707 - kdbResolveKey is in backendhelpers.c
708 - kdbprivate.h need not to be included if kdbbackend.h is
709 - docu for highlevel functions too
710 - doxygen fixes
711 - BUG: recordSize, not address of operator (resolved)
712 - Sort KEY_FLAG_REMOVE correctly
713 - KEY_FLAG_STAT first hit
714 - BUG: next pointer was missed in kdbSetKey (resolved)
715 - BUG: access not correct for stat key
716 - ksPopLast removed because it needs iterating over all keys
717
718
719 * August 2007 Markus Raab <elektra@markus-raab.org> and Patrick Sabin
720 - Doxygen warnings/error away for cleaner documentation
721 - Writing exhaustive backend tests: xml, kdb
722 - keyIsInactive added, testcases for inactive keys
723 - .. and . are handled correctly in keySetName
724 - Trailing slashes at system and user are handled correctly
725 - some kdb (1) tests added
726 - keyNeedsRemove added
727 - keyRename test cases
728 - sorting now considers if marked for remove [more testing needed]
729 - tests.c now have the code from tests.h
730 - ksSort testcase added
731 - keyNew supports KEY_SWITCH_REMOVE
732 - bug in keyNeedsSync and keyNeedsRemove, not 1 returned
733 - prefix with 0 in date (-d, -l options)
734
735
736 * July 2007 Markus Raab <elektra@markus-raab.org>
737 - xml test update
738 - xml files validate
739 - validate .xml files in tests
740 - updated xmlschema documentation
741 - schema marked as unstable
742 - schema licence bsd
743
744 * May 2007 Markus Raab <elektra@markus-raab.org>
745 - kdbKeyChildKeys in backend contains no sort, filter and recursive logic
746 - Getting Code stable to begin implementing
747
748 * March 2007 Markus Raab <elektra@markus-raab.org>
749 - Start support multiple backends
750 - using git-svn
751 - TODO updated
752 - get out binary presentations
753 - kdb doc return value ChildKeys update
754 - added XML tests
755 - get some common code to tests.h
756
757 * Dezember 2006 Markus Raab <elektra@markus-raab.org>
758 - unstable fork
759 - using darcs
760 - c++ compatible includes
761 - amc_time documentation updates
762 - keyDup now really duplicates a key.
763 - Give Link, Rename and Remove away
764 - Remove monitor functions
765 - Support removing with setting type to KDB_TYPE_REMOVE
766 - Support atomic SetKeys
767 - Give kdbOpenDefault, kdbOpenBackend away
768 - Change all function to use KDBHandle *
769
770 * Mon Oct 23 2006 Avi Alkalay <avi@unix.sh>
771 - API started to change to support dir keys with value
772 - Initial support in filesys backend, mainly on kdbSetKey_filesys()
773
774 * Sun Oct  8 2006 Patrice Dumas <pertusus@free.fr>
775 - fix under and over quoting in configure.ac
776
777 * Fri Sep 11 2006 Avi Alkalay <avi@unix.sh>
778 - Removed setuid() and +s from kdbd
779 - Changed daemon socket file to /var/run/kdbd/elektra.sock
780 - Created an init script for the daemon
781 - Updated spec for changes
782 - The daemon now creates and removes pid and sock files in/from standard dirs (/var/run/kdbd)
783
784 * Thu Sep 07 2006 Avi Alkalay <avi@unix.sh> 0.6.4
785 - Fixed a key ownership bug on BDB::keyFromBDB() when running together with the daemon
786 - kdbhGetBackendName() now returns correct daemon backend name
787 - The daemon now calls setuid() for correct access permissions
788 - kdbd now installs with mode u+s with RPM
789 - Closing version 0.6.4
790
791 * Thu 24 Aug 2006 Patrice Dumas <pertusus@free.fr>
792 - build examples as part of make check
793 - fix doc to build out of source
794 - distribute doc files that requires special tools
795 - use $(transform) when installing man pages
796 - condition man2html build on man2html being detected
797 - put doc generic targets out of conditionalized sections
798 - clean a bit doc dependencies, avoid redundancy, try to be more portable
799
800 * Fri 18 Aug 2006 Patrice Dumas <pertusus@free.fr>
801 - have static libelektra depend only on backends static libraries
802 - call AC_GNU_SOURCE if CFLAGS is empty
803 - add -std=c99 -pedantic to CFLAGS if CFLAGS is empty
804
805 * Wed 16 Aug 2006 Patrice Dumas <pertusus@free.fr>
806 - don't set _GNU_SOURCE in the default case, plus minor fixes
807 - fixes for experimental features
808
809 * Tue 15 Aug 2006 Patrice Dumas <pertusus@free.fr>
810 - add a m4 directory for autoconf macros
811 - use an autoconf macro from gnulib to set POSIX exensions on various systems
812 - fix in BSDgetopt
813
814 * Mon 14 Aug 2006 Patrice Dumas <pertusus@free.fr>
815 - determine which backends are compiled in and if libelektratools is compiled or not in ./configure, an substitute correct value in SUBDIR (idea of Yannick)
816 - rewrite exportsymbols.sh to only use backend names to recreate exported_symbols.c
817 - autogenerate kdbprivate.h in order to avoid hardcoding /etc/kdb, but instead honor sysconfdir
818 - Fixes to have -std=c99 proceed until the end
819 - Detect a working getopt, and if not found use getopt from openssh
820
821 * Sun 13 Aug 2006 Patrice Dumas <pertusus@free.fr>
822 - fixes for compatibility with sunos 5.8 (solaris 2.8, solaris 8)
823 - use LIBICONV in link commands
824 - compile fstab backend conditionally on having glibc-like getmntent and friends
825 - compile daemon conditionally on having struct ucred defined
826 - changes in the nm and amk call to accomodate for solaris 8
827 - always use install_sh since install -c needs a directory arg on solaris 8 (an autoconf bug?)
828
829 * Sat 5 Jun 2006 Yannick Lecaillez <sizon5@gmail.com>
830 - fixed keyFileSerialize() in filesys.c : When binary source data
831 - fixed kdbGetKeyWithOptions() in berkeleydb.c : key->next was reset, key lost position in the keyset.
832 - fix keySetRaw() in key.c: When data is NULL or size = 0, key's data was cleaned but key->dataSize wasn't set to 0 was 1 byte long, write to non-allocated address occured.
833
834 * Fri 4 Jun 2006 Yannick Lecaillez <sizon5@gmail.com>
835 - Add default implementation of kdbRename()
836 - Removed some debugging output from kdbd
837 - Add a static version of kdbd
838 - fixed kdbRename() in kdbd/libelektra-daemon
839
840 * Thu 3 Jun 2006 Yannick Lecaillez <sizon5@gmail.com>
841 - Fix backends/daemon compilation warnings
842 - Add a testing suite for key struct and backends
843 - Enhance elektra static library generation (exportobjects.sh and exportsymbols.sh)
844 - Add section 'libs.private' into elektra.pc for static compilation
845 - Enhance build dependency
846 - Add a resume text in the end of configure script
847
848 * Wed 2 Aug 2006 Patrice Dumas <pertusus@free.fr>
849 - remove -Wall (and -pedantic -ansi) from Makefile.am
850 - add -Wall in configure.ac if CFLAGS is empty and compiler is gcc
851 - change make to $(MAKE)
852
853 * Sun 30 Jul 2006 Patrice Dumas <pertusus@free.fr>
854 - fix many compilation warnings
855
856 * Sat 29 Jul 2006 Patrice Dumas <pertusus@free.fr>
857 - replace __STATIC by ELEKTRA_STATIC
858
859 * Wed 26 Jul 2006 Avi Alkalay <avi@unix.sh>
860 - Added -s option to 'kdb ls' to make it more scripts friendly
861 - Separated the descriptive help functions of kdb program to help.c
862
863 * Wed 26 Jul 2006 Patrice Dumas (applyied by Avi) <pertusus@free.fr>
864 - arrange doxygen for out-of-source build
865 - add some source files for experimental backends and bindings
866 - clean up the clean target in doc/Makefile.am, add an uninstall target
867 - don't test for default_backend presence in ./configure since it breaks out of source builds
868 - really use the --enable-experimental value
869 - libproto.la, backends and tests depends on ../../libelektra/libelektra.la
870 - use ../../libelektra/libelektra.la instead of -lelektra to link against in-source library
871 - add a link for libelektratools in /usr/lib/elektra
872 - build files required by static libelektra before libelektra, and libelektra before the backends
873 - use check_ for tests
874 - put high level backends in /usr/lib/elektra
875 - use .$(OBJEXT) instead of .o
876 - honor default_backend for static libelektra dependencies
877 - add AC_SUBST(default_dbackend)
878
879 * Tue 27 Jun 2006 Yannick Lecaillez <sizon5@gmail.com>
880 - New kdbd daemon !
881 - Fix UTF8Engine : Check for a null size string
882 - Fix Berkeleydb backend :
883 - - Check if an UTF8 convertion is done before free memory
884 -   (before, there was case where keyToDBD freed Comment and/or Value key pointers.)
885 - - Chown user's kdb-berkeleydb dir.
886 - - Set correct UID/GID for initial creation of the "user" key.
887 - Fix key.c : Set KEY_SWITCH_DOMAIN flags into keySetName()
888
889 * Wed Jun 06 2006 Markus Raab 0.6.3
890 - added cascading features to kdb
891 - kdb ls / and kdb ls /path is possible
892 - kdb get /path/to/key gets user or system key
893 - Moved help functions of the 'kdb command' to src/kdb/help.c
894
895 * Fri Jun 02 2006 Avi and Yannick <yl@itioweb.com> 0.6.2
896 - Renamed some sorces on src/libelektra/
897 - Backends installation directory moved to /lib/elektra/
898 - Adding testing suite for key's name (examples/tstkeyname.c)
899 - Adding escaping support for filesys backend (filesys/filesys.c)
900 - Fixed segfault when USER env. variable isn't set (libelektra/key.c, filesys/filesys.c)
901 - Changed elektraenv.sh to use mktemp instead of ${RANDOM}
902 - The doc/standards dir is now included in main RPM
903 - Moved bindings dir to src/bindings
904 - Fixed a bug in keyAddBasename() related to multiple '/' cleanup
905 - All string-size_t-returning methods return sizes including ending NULL
906 - Implemented keySetDir() for highlevel dir key permissions and type setup
907 - Implemented keySetUAccess() for correct backend key permissions setup
908 - Added KEY_SWITCH_UMODE to keyNew()
909 - Few backends cleanup to make them more suitable to work under daemon context
910 - Removed all memory problems with Valgrind
911 - Library version changed to 2.0.1
912 - Fixed many build details
913 - Fixed many spec details to meet Fedora Extras requirements and standards
914 - Updated presentation with some desktop related charts
915 - Converted to OpenDocumentFormat::Presentation
916 - Included presentation german translation from Markus Raab
917 - Presentations taken out from tarball. Now present only on repo
918 - Included note on kdb.1 about the dependency on libelektratools.so
919
920 * Thu Mar 30 2006 Yannick and Avi <yl@itioweb.com> 0.6
921 - Handlerized all kdb*() methods. This is a radical API change thowards a thread-safe API.
922 - Changed all backends to work with this change
923 - Included kdbh*() methods for better backend manipulation, thowards the possibility of having remote backends
924 - Included kdb*Error() methods as suggested by Markus
925 - Added KDB_O_ALL option to ksLookupByName & ksLookupRE
926 - Fixed bug in keySetName which caused faulty write when key name have trailing '/'
927 - Fixed bug in configure.ac to allow installation into lib64
928 - Fixed bug in keySetName caused segfault on x86_64
929 - Updated Mandriva spec file to allow x86_64 RPMs build
930 - Updated old Xorg & SysVinit patches for current API
931 - Removed installation of libloader (its a convenient lib)
932
933 * Sun Mar 03 2006 Avi Alkalay <avi@unix.sh> 0.5.9
934 - Added the ksGetCommonParentName() method to help in XML exporting
935 - ksToStream() now correctly handles KDB_O_HIER flag, for nicer XML exports
936 - keySetName() now removes repeated '/' when setting key names
937 - Fixed a bug in filesys.c::kdbStatKey_filesys() related to link keys
938 - Fixed a very stupid bug in key.c::keyCompare()
939 - Added logic to key.c::keySetName() to remove extra '/' anywhere on key name
940 - Fixed a bug on keyset.c::ksCompare() related to the NEEDSYNC flag
941 - Added kdbprivate.h::KDB_METAINFO_SIZE(Key *key) macro, usefull for backends
942 - Make 'kdb edit' more robust in terms of completeness when exporting to XML
943 - Much improved and working berkeleydb backend. Going towards a high-quality backend.
944 - BDB backend moved out from EXPERIMENTAL backends, to the mainstream, cause it is usable.
945 - Updated scripts/benchmark-createtree to output nice XML
946 - Reorganized #includes
947 - Improved some API documentations
948 - Included some casts to get rid of compiler warnings
949 - Added some screenshots to the documentation
950 - DocBook documentation is being reorganized and improved to soon become part of the site
951 - Updated the presentation
952 - Updated screenshot for 'kdb edit' command
953 - Updated some doxy cosmetics
954 - Updated kdbOpenBackend() documentation and error codes
955 - Updated ksLookupByName() documentation to include more about the method behavior
956 - Organizing the daemon backend
957
958 * Fri Feb 17 2006 Markus Raab 0.5.7
959 - ksLookupByValue now supports cascading
960 - Ini Backend is marked experimental
961 - Big updates in Ini Backend:
962 - posix and parser specific parts seperated
963 - support for binary values containing \0 and \n
964 - changed to more performantic kdbSetKeys (very buggy)
965
966 * Tue Feb 16 2006 Avi Alkalay <avi@unix.sh> 0.5.7
967 - Old libregistry and examples are not being compiled anymore
968 - BerkeleyDB and GConf backend are set as experimental, and removed from main build
969 - Improved documentation for kdbRemoveKey()
970 - Created keyIsString() method
971 - Corrected link handling on src/backends/filesys/filesys.c::keyFromStat()
972 - Benchmark script now sets random key types
973 - ksFromXMLfile() now receives a (const char *) instead of (char *) as filename parameter
974 - Doxygen is generated with a browsing tree pane
975 - Created elektratools.pc for pkg-config
976
977 * Sun Feb 12 2006 Avi Alkalay <avi@unix.sh> 0.5.6
978 - Fixed a pointer positioning bug in keyStealBaseName()
979 - The filesys backend now correctly sets key permissions
980 - Fixed correct value comparation on keyCompare()
981
982 * Sat Jan 28 2006 Avi Alkalay <avi@unix.sh> 0.5.3
983 - Added specification for system's user, group and password
984 - Added specification for system initialization
985 - Fixed bug related to setting real binary keys
986
987 * Sat Dec 03 2005 Avi Alkalay <avi@unix.sh> 0.5.2
988 - Cross platform handling (when possible) for UTF-8 conversions with iconv()
989 - More detailed error messages on kdb command
990 - New kdbGetInfo() and friends for library info gathering
991 - Better XML import for nested <key>s
992 - Multiple <comment>s allowed in one <key> on XML
993 - Pretty complete network configuration tree layout specification
994 - Pretty good system signature tree layout specification
995 - Tree layout specification for environment vars and shell aliases
996 - Tree layout specification for a filesystem mount table
997
998 * Wed Oct 26 2005 Avi Alkalay <avi@unix.sh> 0.5.1
999 - Migrated to autotools, and updated documentation for that
1000 - Changed some help stuff on kdb command
1001 - Included libltdl for cross-platform compatibility
1002
1003 * Sun Oct 02 2005 Avi Alkalay <avi@unix.sh> 0.5.0.5
1004 - Some final fixes for the complete libkdb.so -> libelektra.so renaming
1005 - Removed a bug in filesys.c::keyFromStat() regarding reuse of folder key struct
1006 - Changed some Makefiles to handle the new Homepage/ directory
1007 - Fixed Makefile regarding the convert-* scripts
1008
1009 * Mon Jul 25 2005 Avi Alkalay <avi@unix.sh> 0.5.0.4
1010 - libkdb*.[so|a] renamed to libelektra*.[so|a] to avoid conflicts with Kerberos v4
1011 - Documentation updated to fit
1012 - Corrected duplicate error codes in the KDBErr enum
1013 - Some realloc robusteness was added with assert(), thanks to Bardur Arantsson
1014 - Added in Doxygen: a small guide on how to #include, compile and link with Elektra
1015
1016 * Tue Mar 20 2005 Avi Alkalay <avi@unix.sh> 0.5
1017 - An almost ready Berkeley DB backend
1018 - Key, KeySet and KDB classes earned robusteness through the implementation of a new backend
1019 - All size_t-returning functions now return ssize_t, so a -1 can be checked for errors
1020 - kdbGetChildKeys() method and similars now return the number of keys retrieved instead of 0
1021 - The import/export XML file can have nested keys, a real tree of hierarchical keys
1022 - No need for special XSL stylesheets to build the HTML page. DocBook XSL 1.65.1 is good enough
1023 - Markus' ini backend now compiles by default and is included in the main RPM
1024
1025
1026 * Tue Jan 23 2005 Avi Alkalay <avi@unix.sh> 0.4.11
1027 - kdbOpen() uses $KDB_BACKEND
1028 - kdbOpenDefault() ignores env
1029 - kdbOpenBackend() is pure workhorse for both.
1030 - Created libkdbtools.so intended to have higher level functions that should not be in libkdb.so
1031 - libxml dependent code used by kdb.c moved to libkdbtools.so (kdbtools.c)
1032 - localkdb.c moved to libkdb.c, finally
1033 - Finished GConf backend, including error handling
1034 - Added 'undefined' key type to XML schema
1035 - Improved documentation for backend API
1036 - New layout style and improvements for API documentation with many new links
1037 - Better and more examples to the kdb command man page
1038 - Moved the dtd/ dir to xmldtd/
1039
1040 * Tue Jan 10 2005 Avi Alkalay <avi@unix.sh> 0.4.10
1041 - Added the libkdb-fstab.so backend to treat the /etc/fstab file as a backend storage
1042 - Divided Key documentation in several parts
1043 - Appeared ksPopLast()
1044 - Appeared the keySteal*() methods
1045 - Removed env var that defines default backend
1046 - Experimental GConf backend
1047
1048 * Tue Dec 27 2004 Avi Alkalay <avi@unix.sh> 0.4.9
1049 - Full nice elegant documented support for dynamic pluggable backends
1050 - kdb now validates an imported XML against an XML schema, thanks to Remi Pouak
1051 - -devel RPM includes the framework and examples for backends development
1052 - elektraenv script is more secure now, thanks to Johan Kiviniemi (ion at ion.yi.org)
1053 - Removed unused #includes
1054 - new kdbOpenBackend() and ksPop() methods
1055 - install examples in elektra-devel/examples/ directory
1056
1057 * Sat Dec 06 2004 Avi Alkalay <avi@unix.sh> 0.4.8
1058 - Whish me a happy birthday
1059 - All sources moved to src/
1060 - New 'kdb help' to show some usage examples
1061 - enum KeyFlags changed to enum KeySwitch (KeyFlags values maps to new KeySwitch for compatibility)
1062 - New keyNew(), keyDel(), ksNew(), ksDel() advanced constructors and destructors
1063 - All documentation and examples changed to increase usage of keyNew()
1064 - ksSort(), ksHead(), ksTail() methods appeared and documented.
1065 - ksLookupByName(), ksLookupByValu(), ksLookupRE() appeared as beta and documented.
1066 - #ifdef __cplusplus to make it C++ safe.
1067 - Many small fixes that appeared in the switch to keyNew()
1068 - Many other fixes, code robustness and cleanup.
1069 - User-defined key types greatly improved, fixed and tested.
1070 - XML export can now supress obvious UID and GID for 'user/*' keys
1071 - XML export can now supress user domain for 'user/*' keys
1072 - New keyNewExample.c and lookup.c on example/
1073 - New example/keyset.xml with example of complex keys, and how they look XML-exported.
1074 - XML DTD were droped. Now we have XML schemas, thanks to RĂ©mi <remipouak@yahoo.fr>.
1075 - pkgconfig support, thanks to Pier Luigi Fiorini <pierluigi.fiorini@mockup.org>
1076 - Library now has soname etc, to make binary compatibility safe
1077
1078 * Fri Nov 28 2004 Avi Alkalay <avi@unix.sh> 0.4.7
1079 - Better BuildPrereq in spec file
1080 - Small updates to documentation
1081 - New 'kdb mv' command (needs improvement)
1082 - Updated kdb.1 manpage to include 'kdb mv'
1083 - The KDB_ROOT env var to kdb command (needs manpage), thanks to Markus Raab
1084 - Fixed a bug in spec file, section %post
1085 - Acknowledged comments from https://bugzilla.fedora.us/show_bug.cgi?id=2250
1086
1087 * Fri Nov 05 2004 Avi Alkalay <avi@unix.sh> 0.4.6
1088 - New method: kdbRename()
1089 - Updates to spec files, to conform to Fedora conventions
1090 - First GPG sign
1091 - Ready to be sent to fedora.us
1092
1093 * Mon Nov 02 2004 Avi Alkalay <avi@unix.sh> 0.4.5
1094 - Fixed a bug in kdbGetKeyByParentKey()
1095 - Changed the behavior of kdbSetKeys(): now developer may know where errors occured
1096 - Changed kdb to to fit new kdbSetKeys behavior
1097 - Small fixes in the doxygen documentation, improved code examples
1098 - More efficient documentation build
1099
1100 * Sun Oct 25 2004 Avi Alkalay <avi@unix.sh> 0.4.4
1101 - Added documentation on how to write new backends
1102 - Fixed "kdb get" when getting binary values
1103 - Fixed a bug when converting binary key values to hex digits
1104 - Fixed a bug in the reverse way: from hex to binary (jens)
1105 - Added -b to kdb, to set key values with the content of a file
1106 - Trying to fix something wrong in kdbGetKey()
1107
1108 * Wed Sep 22 2004 Avi Alkalay <avi@unix.sh> 0.4.3
1109 - Removed kdbOption instantiation from kdb.h
1110
1111 * Sun Sep 12 2004 Avi Alkalay <avi@unix.sh> 0.4.2
1112 - Fixed a gzip problem in the build system
1113 - Added ksGetSize() method
1114
1115 * Tue Sep 09 2004 Avi Alkalay <avi@unix.sh> 0.4.1
1116 - Fixed some wrong charset handling
1117 - License changed to BSD
1118 - Updates to documentation
1119
1120 * Tue Aug 31 2004 Avi Alkalay <avi@unix.sh> 0.4
1121 - Name changed to Elektra
1122 - rg command changed to kbd
1123 - registry.h to kdb.h
1124 - libregistry.so to libkbd.so
1125 - The former still provided as a wrapper for binary compatibility
1126 - Most #defines now are enums
1127 - Enums now documented
1128 - "*NameSpace()" to "*Namespace()"
1129 - Appeared keyClearFlag()
1130 - Changed documentation due to new name
1131 - Greatly improved documentation. It is now 100% complete
1132 - API man pages are now from Doxygen
1133 - Tested build in BSD: iconv is a separate library there
1134 - Changed some error codes for BSD compatibility
1135 - Used the "const" parameter modifier everyplace that is needed
1136 - 'kdb export' now allways exports as UTF-8, regardeless of current encoding
1137 - 'kdb get' now has a shell mode with -s option
1138 - elektrasetenv now uses the new 'kdb get' command, and it is less comples
1139 - elektrasetenv now set environment from system/env and user/env
1140 - Changes in the XML DTD header due to web site change
1141
1142 * Mon Aug 17 2004 Avi Alkalay <avi@unix.sh> 0.3.1
1143 - Fixed a bug in keyToStream() regarding XML export of comments
1144 - Make rg.c compile with older XML library
1145 - .spec now uses gmake instead of make
1146 - Moved ENODATA to ENOMSG, for better BSD compatibility
1147 - Improved the README documentation with packaging info
1148
1149 * Mon Aug 10 2004 Avi Alkalay <avi@unix.sh> 0.3
1150 - Registry now supports key and key sets CHANGE NOTIFICATIONS
1151 - New 'rg monitor' command, using notifications framework
1152 - 100% fully documented methods with Doxygen
1153 - Thinking seriously in a project name change. I have an idea for a new name
1154
1155 * Fri Jul 30 2004 Avi Alkalay <avi@unix.sh> 0.2.9
1156 - Doxygen finaly generates methods documentation. Not very nice though.
1157 - Included in -devel RPM
1158 - Included Advogato project page in the documentation
1159
1160 * Sun Jul 25 2004 Avi Alkalay <avi@unix.sh> 0.2.8
1161 - Added the export and import subcommands to rg.
1162 - Updated man page for that.
1163 - Build environments that don't have xsltproc and the DocBook styles won't fail to build manual pages.
1164
1165 * Thu Jul 4 2004 Avi Alkalay <avi@unix.sh> 0.2.7
1166 - First atempt to workaround the manpage creation when XSL tools are not available.
1167
1168 * Thu Jun 24 2004 Avi Alkalay <avi@unix.sh> 0.2.6
1169 - Moved responsability of creating dirs in the installation process from spec to Makefile.
1170 - Detected a problem of manpage creation in other distros, thanks to Tim Witham from OSDL. Not fixed yet.
1171
1172 * Sat Jun 02 2004 Avi Alkalay <avi@unix.sh> 0.2.5
1173 - Fixed the absense of keyClose in some places. Thanks to Victor.
1174 - In registryStatKey(), handled error if file can't be found. Thanks to Jens Andersen.
1175 - keyInit is now less smart: it will not test if the key is initialized or not. This is now a programmer responsability.
1176 - Code migrated to Subversion, thanks to Sean Russel. http://germane-software.com/repositories/tlr/
1177 - Added $Id: etc to source files.
1178 - Added 'make commit' to deal with 'svn ci'
1179
1180 * Sat May 22 2004 Avi Alkalay <avi@unix.sh> 0.2.4
1181 - Improved rgsetenv login script: now set aliases too.
1182 - New methods: registryGetKeyByParent, registryGetKeyByParentKey, registryGetValueByParent, registrySetValueByParent
1183 - First attempts to create a bianry 'rg' with libxml statically linked.
1184 - New libregistry.a provided in -devel package, for creation of static binaries.
1185 - API manpages can now be accessed by method name (example: man registryGetKey)
1186
1187
1188 * Thu May 06 2004 Avi Alkalay <avi@unix.sh> 0.2.3
1189 - Defined an XML DTD for keys
1190 - Defined keyToStream() and ksToStream() that dumps a key or keyset to XML format
1191 - Defined keyCompare() and ksCompare()
1192 - New 'rg edit' subcommand, to XML edit subtrees of the Regitry
1193 - Improved registryGetChildKeys() for better handling of symlinks
1194 - An /etc/profile.d script to set user environment is available in package now
1195 - New "Society of Softwares" section in documentation
1196 - Improved CSS of the HTML documentation
1197
1198
1199 * Thu Apr 13 2004 Avi Alkalay <avi@unix.sh> 0.2.2
1200 - Implemented -u and -g in rg command to set Key UID and GID.
1201 - Included RG_O_SORT option for registyrGetChildKeys, to returned a KeySet sorted by key name.
1202 - Now every user/* key has an associated Owner defined, which defaults to $USER, when not specified in keySetName().
1203 - Upgrade in the key file format. Changes in the data type field.
1204 - New handleOldKeyFileVersion() to keep backwards compatibility with older key files.
1205 - Updates to documentation for this version changes.
1206 - Symbolic links between keys are now consolidated. There is a formal key type for them: RG_KEY_TYPE_LINK
1207 - Fixed a minor problem related to reading last \n in key comments
1208 - Updated userd-convert script to be make a more NIS compatible conversion
1209 - Included a new migration script: hwconfingKudzu-convert. To migrate kudzu data to the registry
1210
1211
1212 * Thu Apr 06 2004 Avi Alkalay <avi@unix.sh> 0.2.1
1213 - Change in key names: instead of (.) as hierarchy delimitator, we have (/) now. This is better for POSIX file name compliancy.
1214 - Consolidation of inactive keys.
1215 - Updates to documentations to include inactive keys concepts, etc.
1216 - Written key.3 manual page for key*() methods.
1217 - New conversion script to convert /etc/fstab
1218 - Removed a bug in UTF8Engine(). Data was written with a \n in the end. Thanks to Jens Andersen.
1219
1220 * Thu Apr 01 2004 Avi Alkalay <avi@unix.sh> 0.1.6
1221 - Introduction to inactive keys
1222 - registryGetChildKeys by default do not include inactive keys in resulting KeySet. Use RG_O_INACTIVE instead.
1223 - rg.c changed, specially in the list subcommand, to work with new behavior
1224
1225 * Wed Mar 31 2004 Avi Alkalay <avi@unix.sh> 0.1.5
1226 - Fixed in registryGetKey: Keys allways needed sync
1227 - Fixed bug releated to NEEDSYNC: ~RG_KEY_FLAG_NEEDSYNC needed a special cast to use the right number of bits
1228 - Improved HOWTO documentation and manual. Link to ReiserFS.
1229 - Started writting of the key.3 manual
1230 - One more bug related to strblen in registryFileUnserialize(), causing wrong data size calculation
1231
1232 * Mon Mar 29 2004 Avi Alkalay <avi@unix.sh> 0.1.4
1233 - Written manual pages rg(1), registry(7), registry(5) and registry(3) using DocBook
1234 - Ported the OpenOffice.org specification to DocBook, using the modularized man pages
1235 - RPMs include manpages
1236 - RPMs have prerequesites now
1237 - Fixed bug regarding \0 in end of key names on recursive stats
1238 - More robust build system, catching warnings
1239 - New method: registryGetRootKeys(KeySet *returned)
1240 - Fixed some bugs related to usage of strblen()
1241 - Introduction of the RG_O_* method options
1242 - Removed bug related to permission when stat()ing keys
1243 - Removed bugs in some KeySet methods
1244 - Much improved 'rg ls' command, specially in recursive mode
1245 - New key flag, NEEDSYNC, to indicate the change status of a key
1246 - New method, registrySetKeys, to commit all modified keys on a KeySet
1247
1248 * Tue Mar 16 2004 Avi Alkalay <avi@unix.sh> 0.1.2
1249 - The Linux Registry API is 100% usable
1250 - The rg command is very usable
1251 - Full support to UTF-8. Everything stored in the registry is UTF-8, regardeless of user's LANG. Conversions are on the fly.
1252 - Fixed bug on keySetName(), regarding wrong keyNameSize
1253 - Introduction of registryRemoveKey()
1254 - rg subcommands: ls, get, set, rm
1255 - rg now supports set octal permissions from command line
1256 - Key and Registry support for DIR type
1257 - Documentation process (man pages) in the very begining
1258 - Include files in a separate package
1259
1260 * Sat Mar 06 2004 Avi Alkalay <avi@unix.sh> 0.0.9
1261 - Now no more IPC, Berkeley DB, threads, setuid, and other complexities
1262 - Simple library that accesses files on disk
1263 - rg has 'set' and partial 'ls' subcommands implemented
1264 - API can already be used
1265
1266 * Sat Feb 15 2004 Avi Alkalay <avi@unix.sh> 0.0.2
1267 - Based on IPC, Berkeley DB, Threads, and many other complexities