Code

frontend/query: Use the new JSON formatter to implement LOOKUP.
[sysdb.git] / ReleaseNotes
index 3227a66d513d1ce96007e262603226629185ae56..9ba26928e6940dfb14115b7ea5026c89f71d4bc9 100644 (file)
@@ -6,6 +6,14 @@
   and very detailed list of changes can be obtained from the Git logs for each
   release.
 
   and very detailed list of changes can be obtained from the Git logs for each
   release.
 
+ Compatibility Note:
+ ~~~~~~~~~~~~~~~~~~~
+
+  All pre 1.0 development snapshots are not considered stable yet. That is,
+  all interfaces, including the plugin API, the network protocol, or the query
+  language, may change in an incompatible way at any time. All changes are
+  documented here.
+
  About SysDB:
  ~~~~~~~~~~~~
   “System DataBase” (SysDB) is a multi-backend system management and inventory
  About SysDB:
  ~~~~~~~~~~~~
   “System DataBase” (SysDB) is a multi-backend system management and inventory
 
   <https://sysdb.io/>
 
 
   <https://sysdb.io/>
 
+Version 0.5.0, Release Date: 2014-10-06
+---------------------------------------
+
+  This release focuses on simplifications and more flexibility in the frontend
+  and the query language. Most of those changes are not backward-compatible
+  but easy client implementations.
+
+   * sysdb:
+     - Include priority when printing log messages.
+     - Fixed handling of empty queries.
+   * store:
+     - When serializing the entire store (LIST command), return an array of
+       host objects (rather than wrapping it into another object).
+     - Fixed JSON format of time-series data.
+     - Fixed error checks of invalid compare expressions and reject them.
+     - Fixed lookups by back-end name.
+     - Added support for comparing attributes with different types by
+       comparing their string values.
+   * frontend:
+     - Clarified details about asynchronous messages and authentication
+       options and made client implementation more robust.
+     - Introduced a new message type encoding the JSON serialized response of
+       a query and its data type.
+     - Include the priority in log messages.
+     - Include object types in FETCH, LIST, and LOOKUP messages.
+     - Added support for including services and metrics in LIST responses and
+       skip hosts without the respective children.
+   * query language:
+     - Added support for services and metrics to LIST command.
+     - Changed syntax for attribute lookup to 'attributes[<name>]'.
+     - Changed syntax for accessing queryable fields to '.<field>'.
+   * utils:
+     - strbuf: Improved memory management.
+
+Version 0.4.0, Release Date: 2014-09-01
+---------------------------------------
+
+  This release features support for metrics and transparent access to a
+  backend's time-series data. Some backward-incompatible changes were applied
+  to some query commands for more consistency.
+
+   * build system:
+     - Added checks for format strings and arguments.
+     - Changed configure option for collectd::unixsock to
+       --enable-collectd-unixsock.
+   * core:
+     - Added support for “metric” objects which may be assigned to a host.
+     - Introduced support for handling time-series data: added new data
+       structures describing time-series data and a new type of plugins called
+       “time-series fetchers” which are used to access time-series
+       information.
+   * store:
+     - Fixed a memory leak.
+     - Apply (very) simple optimizations to lookup expressions.
+     - Added support for metrics and their “data-stores” (describing how to
+       access the actual data referenced by a metric).
+     - Added support for querying time-series data through the newly
+       introduced “time-series fetcher” plugins.
+   * frontend:
+     - Fixed a bug that might have caused reading too much data from the
+       connection buffer in certain situations.
+   * query language:
+     - The ‘MATCHING’ clause is now optional in ‘LOOKUP’ queries.
+     - The ‘LIST’ and ‘FETCH’ commands support ‘FILTER’ clauses as well.
+     - ‘LIST’ / ‘FETCH’ were changed to ‘LIST hosts’ / ‘FETCH host’.
+     - Added the ‘TIMESERIES’ command to query arbitrary time-series which
+       fetches time-series data from a backend's data-store for a given period
+       of time.
+     - Added support for date/time values.
+     - Added support for single quotes in string values: two adjacent single
+       quotes may be used to specify a single quote.
+   * documentation:
+     - Documented the frontend protocol in frontend/proto.h.
+     - Documented changes to the query language and new / updated plugins.
+     - Documented all supported data types.
+
+  Backends:
+   * collectd::unixsock:
+     - The plugin now uses metrics in place of services.
+     - New config options ‘TimeseriesBackend’ and ‘TimeseriesBaseURL’ to
+       specify access to time-series, currently limited to ‘rrdtool’ and
+       ‘rrdcached’ access.
+
+  Plugins:
+   * timeseries::rrdtool:
+     - New plugin adding support to fetch time-series from local RRD files.
+     - Supports flushing of values in RRDCacheD.
+
 Version 0.3.0, Release Date: 2014-08-01
 ---------------------------------------
 
 Version 0.3.0, Release Date: 2014-08-01
 ---------------------------------------
 
@@ -75,7 +171,7 @@ Version 0.3.0, Release Date: 2014-08-01
      - Store plugin identifier (host, plugin, plugin_instance, type,
        type_instance) as service attributes.
 
      - Store plugin identifier (host, plugin, plugin_instance, type,
        type_instance) as service attributes.
 
-Version 0.2.0, Release Date: 2014-07-01
+Version 0.2.0, Release Date: 2014-07-02
 ---------------------------------------
 
   This is another development snapshot of SysDB. The main focus of this
 ---------------------------------------
 
   This is another development snapshot of SysDB. The main focus of this