X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=ReleaseNotes;h=6a987133027fd2ca57647de53566d6327a08c0ab;hb=d9b993fd5dc195e819a142b039d25d768d5c711c;hp=341f58f1af0bd5db6327f5dd01c2dc8d5df05fa8;hpb=01c1c500ddf5357223edc98ccbcce3efdcb73ce4;p=sysdb.git diff --git a/ReleaseNotes b/ReleaseNotes index 341f58f..6a98713 100644 --- a/ReleaseNotes +++ b/ReleaseNotes @@ -9,15 +9,108 @@ About SysDB: ~~~~~~~~~~~~ “System DataBase” (SysDB) is a multi-backend system management and inventory - collection service. It may be used to (continuously) collect information - about your systems from various backends (inventory services, monitoring - services, etc.) and provides a unique interface to access the information - independent of the active backends. + collection service. It stores system and inventory information about + hardware and software systems. This information is (continuously) collected + from various configurable backends (inventory services, monitoring services, + etc.) and stored in a graph-like hierarchy of generic objects. The store may + be queried through a generic interface independent of the active backends. + Object names are canonicalized before they are added to the store to ensure + a consistent view of your infrastructure. - + -Version 0.1.0, Release Date: tbd --------------------------------- +Version 0.3.0, Release Date: 2014-08-01 +--------------------------------------- + + This release includes major enhancements and new features in the SysDB store + which is the core of the database. Most notably, complex expressions are now + supported when looking up information and filters may be used to preselect + the information to be returned. Some backward-incompatible changes were + introduced in the query language to avoid potentially confusing semantics. + + * sysdb: Fixed non-interactive mode when using libedit. + * core: + - Fixed weird behavior when collector callbacks were registered without + any plugin context information (as it would, e.g., happen when using + LoadPlugin instead of LoadBackend in sysdbd). + * store: + - Introduced service attributes -- similar to host attributes but + assigned to a service object. + - Don't log “value too old” messages if an updated object uses the same + timestamp as the old object. + - Switched from linked-lists to AVL trees for storing all object types to + reduce lookup times from O(n) to O(log n). + - Added infrastructure for handling and evaluating arithmetic + expressions and filters (see also the changes to the query language + below). + - Export various fields describing base attributes of all stored object + types: last_update, age, interval, and backend. These fields may be + used when querying the store. + * frontend: Include new service attributes in JSON output. + * query language: + - Added support for ‘IS NULL’ attribute checks matching on non-existent + attributes. + - Changed ‘LOOKUP ... WHERE’ queries to ‘LOOKUP ... MATCHING’ to avoid + confusion with SQL semantics. + - Switched from ‘.name’ to ‘’ in MATCHING clauses, thus, no + longer shadowing attributes called “name”. + - Added support for arithmetic expressions in places that used simple + data values before. Arithmetic expressions support addition, + subtraction, multiplication, division, modulo, and concatenation + operations. The expressions may be based on constant values or + queryable fields of the stored objects (specified as ‘:last_update’, + ‘:age’, ‘:interval’, and ‘:backend’). + - Added ‘FILTER’ support to ‘LOOKUP’ queries. Filters are conditional + expressions which may optionally be used to limit the query and the + result to object (of any type) matching the filter condition. + - Added support to specify date and time values. + * utils: + - avltree: Added an AVL tree (self-balancing binary tree) implementation. + * documentation: Added documentation for the new query language features. + * testing: Run all unit tests through valgrind by default (if available). + + Backends: + * collectd::unixsock: + - Added support for spaces in identifiers. + - Store plugin identifier (host, plugin, plugin_instance, type, + type_instance) as service attributes. + +Version 0.2.0, Release Date: 2014-07-01 +--------------------------------------- + + This is another development snapshot of SysDB. The main focus of this + release is on stabilizing existing features and extending the query + infrastructure to support all attribute types and further operators. + + * build system: Fixed linking of sysdbd to include *all* necessary object + files. This bug caused some plugins to be un-loadable. + * sysdbd: Fixed shutdown process in case of errors. + * sysdb: Fixed a bug causing some server replies to be ignored when exiting + from the client. + * core: + - Always log to the standard output stream if no user-provided logging + callbacks had been specified. Previously this was disabled after + enabling logging to clients in the frontend. + - Simplified plugin naming information and determine configuration + callback names automatically to ensure better consistency. + * store: + - Simplified internal data management. + - Store the list of backends along with each stored object which provide + the respective object. + * frontend: + - Simplified and improved the internal architecture matching / looking up + objects. + - Fixed parser to correctly reject invalid object types. + - Automatically create the base directory of a listening UNIX socket. + * query language: Added support for numeric constants and added operators + for less and greater than or equal attribute comparison. + * documentation: Added missing files to the distribution tarball. + + Plugins: + * syslog: Don't log debug messages to syslog. + +Version 0.1.0, Release Date: 2014-06-01 +--------------------------------------- This is the initial release of SysDB. It provides the following core features: @@ -44,6 +137,15 @@ Version 0.1.0, Release Date: tbd listen addresses. * query language: The store may be queried using the ‘LIST’, ‘LOOKUP’, and ‘FETCH’ commands returning JSON formatted objects. + * utils: A rich set of abstract data-types and utility functions for + internal use: + - generic channels for asynchronous, multi-threaded I/O + - DBI wrapper to ease common database access operations + - thread-aware error handling and reporting + - doubly linked-lists + - dynamic sized memory buffers supporting formatted strings and binary + data + - UNIX socket client implementation * documentation: Full documentation for the tools, all plugins, and the query language provided as manpages and HTML pages. * testing: Unit and integration tests exist for most parts except plugins