Code

Switched all sysdb.io links to https://
[sysdb.git] / ReleaseNotes
index fa9c85a4a67b97268f028448b775900386263b98..3227a66d513d1ce96007e262603226629185ae56 100644 (file)
   Object names are canonicalized before they are added to the store to ensure
   a consistent view of your infrastructure.
 
-  <http://sysdb.io/>
+  <https://sysdb.io/>
+
+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 ‘<obj>.name’ to ‘<obj>’ 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
 ---------------------------------------