Code

ReleaseNotes: Added release 0.2.0.
[sysdb.git] / ReleaseNotes
1                              SysDB Release Notes
2                             =====================
4   The release notes contain noteworthy changes in each System DataBase (SysDB)
5   release, with a summary of the most important changes at the top. A complete
6   and very detailed list of changes can be obtained from the Git logs for each
7   release.
9  About SysDB:
10  ~~~~~~~~~~~~
11   “System DataBase” (SysDB) is a multi-backend system management and inventory
12   collection service. It stores system and inventory information about
13   hardware and software systems. This information is (continuously) collected
14   from various configurable backends (inventory services, monitoring services,
15   etc.) and stored in a graph-like hierarchy of generic objects. The store may
16   be queried through a generic interface independent of the active backends.
17   Object names are canonicalized before they are added to the store to ensure
18   a consistent view of your infrastructure.
20   <http://sysdb.io/>
22 Version 0.2.0, Release Date: 2014-07-01
23 ---------------------------------------
25   This is another development snapshot of SysDB. The main focus of this
26   release is on stabilizing existing features and extending the query
27   infrastructure to support all attribute types and further operators.
29    * build system: Fixed linking of sysdbd to include *all* necessary object
30      files. This bug caused some plugins to be un-loadable.
31    * sysdbd: Fixed shutdown process in case of errors.
32    * sysdb: Fixed a bug causing some server replies to be ignored when exiting
33      from the client.
34    * core:
35      - Always log to the standard output stream if no user-provided logging
36        callbacks had been specified. Previously this was disabled after
37        enabling logging to clients in the frontend.
38      - Simplified plugin naming information and determine configuration
39        callback names automatically to ensure better consistency.
40    * store:
41      - Simplified internal data management.
42      - Store the list of backends along with each stored object which provide
43        the respective object.
44    * frontend:
45      - Simplified and improved the internal architecture matching / looking up
46        objects.
47      - Fixed parser to correctly reject invalid object types.
48      - Automatically create the base directory of a listening UNIX socket.
49    * query language: Added support for numeric constants and added operators
50      for less and greater than or equal attribute comparison.
51    * documentation: Added missing files to the distribution tarball.
53   Plugins:
55    * syslog: Don't log debug messages to syslog.
57 Version 0.1.0, Release Date: 2014-06-01
58 ---------------------------------------
60   This is the initial release of SysDB. It provides the following core
61   features:
63    * sysdb: A terminal-based, interactive client program. Supports
64      line-editing and history based on libreadline or libedit and uses an
65      asynchronous, event-driven architecture to handle user input and server
66      replies simultaneously.
67    * sysdbd: The database backend service configurable through a configuration
68      file. The daemon supports online reconfiguration.
69    * core: Flexible, multi-threaded core architecture providing a configurable
70      plugin infrastructure for querying external data-sources and extending
71      core functionality. The following plugin types are supported:
72      - data collection
73      - hostname canonicalization
74      - logging
75    * store: Central, in-memory object store managing host and service objects
76      and their attributes. Host names may be canonicalized through respective
77      plugins. Each object is automatically attributed with last update and
78      interval information using nano-seconds resolution. Attributes may have
79      various types (integer, decimal, string, date-time, binary).
80    * frontend: The frontend handling client connections uses a multi-threaded,
81      asynchronous, event-driven architecture capable of handling multiple
82      listen addresses.
83    * query language: The store may be queried using the ‘LIST’, ‘LOOKUP’, and
84      ‘FETCH’ commands returning JSON formatted objects.
85    * utils: A rich set of abstract data-types and utility functions for
86      internal use:
87      - generic channels for asynchronous, multi-threaded I/O
88      - DBI wrapper to ease common database access operations
89      - thread-aware error handling and reporting
90      - doubly linked-lists
91      - dynamic sized memory buffers supporting formatted strings and binary
92        data
93      - UNIX socket client implementation
94    * documentation: Full documentation for the tools, all plugins, and the
95      query language provided as manpages and HTML pages.
96    * testing: Unit and integration tests exist for most parts except plugins
97      covering 77% of all functions. Valgrind and Clang's address sanitzer are
98      used to detect memory leaks and programming errors.
100   The following plugins are shipped with this version of SysDB:
102   Backends:
103    * collectd::unixsock: Query collectd through its ‘unixsock’ interface
104    * mk-livestatus: Query arbitrary (monitoring) systems using the Check_MK
105      Livestatus interface.
106    * puppet::store-configs: Query Puppet through its “stored configuration”
107      database.
109   Plugins:
110    * cname::dns: Canonicalize hostnames by querying DNS information.
111    * syslog: Send log messages to the system log service.