0.9.2 - detach cleanup, replace and documentation (r674) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [dom] -Change: API CHANGE: lht_dom_node_alloc() allocates floating node - there should be no node with doc field set but not linked in the tree or part of the unlinked list [dom] -Rename: API CHANGE: _tree_ prefixed calls to _dom_ prefixed calls [dom] -Change: move internal functions from dom.h to dom_internal.h and document the rest [dom] -Add: auto-freeing on detach (when detach_doc is 1 and root is removed) [dom] -Add: list and hash insert/append require detached node and move them under the current doc and set parent [dom] -Fix: allow appending nodes to floating subtrees [tree] -Fix: memmove() missing indirection bug when moving table rows/cols [tree] -Add: node replace function [tree] -Fix: when replacing cell of a table, make sure the detached node is moved into the document [tree] -Fix: lth_tree_detach() works for already detached nodes and root nodes [doc] -Add: document-tree-node API concepts: unlinking/detaching/deleting, floating nodes, iterators, debug/diagnostic calls [tests] -Add: table row/col insert/delete testes [tests] -Add: Tests.exclude lists local exclusions of test cases [tests] -Fix: sort ls output before generating Makefile.test - this will avoid unintended changes [util] -Add: prepare marshaler for pointers: - expect descriptions to be a hash of multiple structs - each struct must start with a type name (anonymous) - build field cache in marshaler 0.9.1 - core lib implementation (r618) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [lib] -Fix: lht_err_t return values are always positive [build] -Change: central Makefile.common for a module-based build system that handles cross-dependencies better [dom] -Fix: when growing table, don't realloc cols beyond cols [dom] -Split: move dangerous internal calls from dom.h to new dom_internal.h [tree] -Add: a function that determines whether a node is under another in the tree [tree] -Add: lht_tree_path_build() - reverse path build from node ptr [tree] -Add: lht_tree_sy_is_broken() [tree] -Add: hash del node function [tree] -Add: hash len function [tree] -Add: generic node detach [tree] -Add: node del function [tree] -Add: subtree merge code (empty symlink always fails to merge as specified in the doc since r600) [tree] -Add: symlink helper API and DFS implementation looking for symlinks and broken symlinks within a subtree [tree] -Fix: . and .. should behave as specified: . is ->parent, .. is ->parent->parent [tree] -Fix: tree.h does depend on dom.h - include it; include protection in tree.h [util] -Update: old PE_ references in validator lib [util] -Update: lht_marshaller for the "new" lht_ prefixes in the lib [util] -Add: lhtview - simple CLI for interactive inspection of lihata trees [util] -Fix: validator lib doesn't use stack_t (causes namespace collision on macosx) 0.9.0 - initial release ~~~~~~~~~~~~~~~~~~~~~~~ -Add: documentation: language design, design decisions and some API docs -Add: implementation of liblihata: fully functional event and dom parser and most of the tree handlers, including paths and basic symlink support -Add: example app: simple config load -Add: utilities: validator, flat marshaller