X-Git-Url: https://git.tokkee.org/?p=sysdb.git;a=blobdiff_plain;f=ReleaseNotes;h=3227a66d513d1ce96007e262603226629185ae56;hp=f7a510193e74a8e931912a720df86676c5d3d94d;hb=a01edf46f26cbb0e9bdba87d781c6015545a6463;hpb=70a3f7daeac51f82b5d81dedc5ad8ca267d72173 diff --git a/ReleaseNotes b/ReleaseNotes index f7a5101..3227a66 100644 --- a/ReleaseNotes +++ b/ReleaseNotes @@ -17,10 +17,100 @@ 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: @@ -47,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