Code

sysdb(1), sysdbd(1): Document client authentication.
[sysdb.git] / ReleaseNotes
index 991308f96663004c8a847c6ca52ac9f195e2841f..f9677e3939fc3c1c5b34d2df2fb33d921537fe54 100644 (file)
 
   <https://sysdb.io/>
 
+Version 0.6.0, Release Date: 2014-11-17
+---------------------------------------
+
+  This release focuses on a clearer query language. The underlying
+  architecture has been refactored to allow for more powerful and generic
+  expressions.
+
+   * core:
+     - Added support for arrays. Elements may be of any other supported
+       data-type but only integers, decimals, and strings are fully supported.
+   * store:
+     - Refactored matchers: all matchers now operate on one or two expressions
+       or other matchers, replacing the old and less flexible conditional
+       matchers.
+     - Attribute values may now be used anywhere in an expression.
+     - On data-type mismatch when comparing attribute values, the values will
+       be cast to string (previously only done for regex matches).
+     - Added support for querying an object's backends (array of strings).
+     - Added support for iterating child objects and array values.
+     - All matchers now return false if any operand is NULL (except for IS
+       NULL).
+     - All operations now return NULL if any operand is NULL.
+     - Fixed behavior of not-operators (!=, !~) and let them not match if any
+       of the operands is NULL.
+     - Add support for looking up all object types (hosts, services, metrics).
+     - Refactored the JSON formatter to be more flexible and powerful.
+     - Record parent objects for each stored object.
+   * frontend:
+     - Added a separate parser mode for expressions.
+     - Added a new queryable field 'name' to be used in place of the rather
+       magical keyword 'host' when looking up hosts.
+     - Improved error reporting in the parser and the (newly introduced)
+       analyzer.
+     - Apply filters to hosts in the FETCH command.
+   * query language:
+     - All operators may now be used in all places if the involved data-types
+       support the respective operation. For example, regular expressions may
+       be used to match any value. Non-string values are cast to strings for
+       that purpose. IS NULL / IS NOT NULL may be applied to arbitrary
+       expressions.
+     - Introduced the 'IN' operator to check if a value or an array of values
+       is included in an array.
+     - Added support for arrays: [<elem1>,<elem2>,...]
+     - Added support for string and array concatenation using the '||'
+       operator.
+     - Attribute names have to be strings instead of identifiers now.
+     - Access object fields using '<field>' rather than '.<field>'.
+     - Let the LOOKUP and FETCH commands support services and metrics.
+     - Introduced 'FETCH service|metric <host>.<name' for fetching services
+       and metrics.
+     - Added support for 'ANY' and 'ALL' operators which apply a matcher to
+       each value emitted by an iterator (a host's services and metrics or
+       arrays). 'MATCHING ANY service|metric|attribute <cmp> <expr>' replaces
+       'MATCHING service|metric|attribute <cmp> <value>' expressions.
+
+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
 ---------------------------------------
 
@@ -48,7 +137,7 @@ Version 0.4.0, Release Date: 2014-09-01
      - 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 references by a metric).
+       access the actual data referenced by a metric).
      - Added support for querying time-series data through the newly
        introduced “time-series fetcher” plugins.
    * frontend:
@@ -137,7 +226,7 @@ Version 0.3.0, Release Date: 2014-08-01
      - 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