Version History

Flir v2

v2.0.0

Release Date: 2022-09-09

  • FLir Core

    • New Features:

      • The storage interface used to query generic configuration tables has been improved to support tests for null and non-null column values.

      • The ability for north services to support control inputs coming from systems north of FLir has been introduced.

      • The handling of a failed storage service has been improved. The client now attempt to re-connect and if that fails they will down. The logging produced is now much less verbose, removing the repeated messages previously seen.

      • A new service has been added to Flir to facilitate the routing of control messages within Flir. This service is responsible for determining which south services to send control requests to and also for the security aspects of those requests.

      • Ensure that new Flir data types not supported by OMF are not processed.

      • The storage service now supports a richer set of queries against the generic table interface. In particular, joins between tables are now supported.

      • South services that have a slow poll rate can take a long time to shutdown, this sometimes resulted in those services not shutting down cleanly. The shutdown process has been modified such that these services now shutdown promptly regardless of polling rate.

      • A new configuration item type has been added for the selection of access control lists.

      • Support has been added to the Python query builder for NULL and NOT NULL columns.

      • The Python query builder has been updated to support nested database queries.

      • The third party packages on which Flir is built have been updated to use the latest versions to resolve issues with vulnerabilities in these underlying packages.

      • When the data stream from a south plugin included an OMF Hint of AFLocation, performance of the OMF North plugin would degrade. In addition, process memory would grow over time. These issues have been fixed.

      • The version of the PostgreSQL database used by the Postgres storage plugin has been updated to PostgreSQL 13.

      • An enhancement has been added to the North service to allow the user to specify the block size to use when sending data to the plugin. This helps tune the north services and is described in the tuning guide within the documentation.

      • The notification server would previously output warning messages when it was starting, these were not an indication of a problem and should have been information messages. This has now been resolved.

      • The backup mechanism has been improved to include some external items in the backup and provide a more secure backup.

      • The purge option that controls if unsent assets can be purged or not has been enhanced to provide options for sent to any destination or sent to all destinations as well as sent to no destinations.

      • It is now possible to add control features to Python south plugins.

      • Certificate based authentication is now possible between services in a single instance. This allows for secure control messages to be implemented between services.

      • Performance improvements have been made such that the display of south service data when large numbers of assets are in use.

      • The new micro service, control dispatcher, is now available as a package that can be installed via the package manager.

      • New data types are now supported for data points within an asset and are encoded into various Python types when passed to Python plugins or scripts run within standard plugin. This includes numpy arrays for images and data buffers, 2 dimensional Python lists and others. Details of the type encoding can be found in the plugin developers guide of the online product documentation.

      • The mechanism for online update of configuration has been extended to allow for more configuration to be modified without the need to restart any services.

      • Support has been added for the Raspberry Pi Bullseye release.

      • A problem with a file descriptor leak in Python that could cause Flir to fail has been resolved.

      • The control of logging levels has now been added to the Python code run within a service such that the advanced settings option is now honoured by the Python code.

      • Enhancements have been made to the asset tracker API to retrieve the service responsive for the ingest of a given asset.

      • A new API has been added to allow external viewing and managing of the data that various plugins persist.

      • A new REST API entry point has been added that allows all instances of a specified asset to be purged from the buffer. A further entry point has also been added to purge all data from the reading buffer. These entry points should be used with care as they will cause data to be discarded.

      • A new parameter has been added to the asset retrieval API that allows image data to be returned, images=include. By default image type datapoints will be replaced with a message, “Image removed for brevity”, in order to reduce the size of the returned payload.

      • A new API has been added to the management API that allows services to request that URL’s in the public API are proxied to the service API. This is used when extending the functionality of the system with custom microservices.

      • A new set of API calls have been added to the public REST API of the product to support the control dispatcher and for the creation and management of control scripts.

      • A new API has been added to the public API that will return the latest reading for a given asset. This will return all data types including images.

      • A new API has been added that allows asset tracking records to be marked as deprecated. This allows the flushing of relationships between assets and the services that have processed them. It is useful only in development systems and should not be used in production systems.

      • A new API call has been added that allows the persisted data related to a plugin to be retrieved via the public REST API. The is intended for use by plugin writers and to allow for better tracking of data persisted between service executions.

      • A new query parameter has been added to the API used to fetch log messages from the system log, nontotals. This will increase the performance of the call at the expense of not returning the total number of logs that match the search criteria.

      • New API entry points have been added for the management of Python packages.

      • Major performance improvements have been made to the code for retrieving log messages from the system log. This is mainly an issue on systems with very large log files.

      • The storage service API has been extended to support the creation of private schemas for the use of optional micro services registered to a Flir instance.

      • Filtering by service type has now been added to the API that retrieve service information via the public REST API.

      • A number of new features have been added to the user interface to aid developers creating data pipelines and plugins. These features allow for manual purging of data, deprecating the relationship between the services and the assets they have ingested and viewing the persisted data of the plugins. These are all documented in the section on developing pipelines within the online documentation.

      • A new section has been added to the documentation which discusses the process and best practices for building data pipelines in Flir.

      • A glossary has been added to the documentation for the product.

      • The documentation that describes the writing of asynchronous Python plugins has been updated in line with the latest code changes.

      • The documentation has been updated to reflect the new tabs available in the Flir user interface for editing the configuration of services and tasks.

      • A new introduction section has been added to the Flir documentation that describes the new features and some typical use cases of Flir.

      • A new section has been added to the Flir Tuning guide that discusses the tuning of North services and tasks. Also scheduler tuning has been added to the tuning guide along with the tuning of the service monitor which is used to detect failures of services within Flir.

      • The Tuning Flir section of the documentation has been updated to include information on tuning the Flir service monitor that is used to monitor and restart Flir services. A section has also been added that describes the tuning of north services and tasks. A new section describes the different storage plugins available, when they should be used and how to tune them.

      • Added an article on Developing with Windows Subsystem for Linux (WSL2) to the Plugin Developer Guide. WSL2 allows you to run a Linux environment directly on Windows without the overhead of Windows Hyper-V. You can run Flir and develop plugins on WSL2.

      • Documentation has been added for the purge process and the new options recently added.

      • Documentation has been added to the plugin developer guides that explain what needs to be done to allow the packaging mechanism to be able to package a plugin.

      • Documentation has been added to the Building Pipelines section of the documentation for the new UI feature that allows Python packages to be installed via the user interface.

      • Documentation has been updated to show how to build Flir using the requirements.sh script.

      • The documentation ordering has been changed to make the section order more logical.

      • The plugin developers guide has been updated to include information on the various flags that are used to communicate the options implemented by a plugin.

      • Updated OMF North plugin documentation to include current OSIsoft (AVEVA) product names.

      • Fixed a typo in the quick start guide.

      • Improved north plugin developers documentation is now available.

    • Bug Fix:

      • The Flir control script has options for purge and reset that requires a confirmation before it will continue. The message that was produced if this confirmation was not given was unclear. This has now been improved.

      • An issue that could cause a north service or task that had been disabled for a long period of time to fail to send data when it was re-enabled has been resolved.

      • S2OPCUA Toolkit changes required an update in build procedures for the S2OPCUA South Plugin.

      • Previously it has not been possible to configure the advanced configuration of a south service until it has been run at least once. This has now been resolved and it is possible to add a south service in disable mode and edit the advanced configuration.

      • The diagnostics when a plugin fails to load have been improved.

      • The South Plugin shutdown problem was caused by errors in the plugin startup procedure which would throw an exception for any error. The plugin startup has been fixed so errors are reported properly. The problem of plugin shutdown when adding a filter has been resolved.

      • The update process has been optimised to remove an unnecessary restart if no new version of the software are available.

      • An issue that could on rare occasions cause the SQLite plugin to silently discard readings has been resolved.

      • An issue with the automatic renewal of authentication certificates has been resolved.

      • Deleting a service which had a filter pipeline could cause some orphaned configuration information to be left stored. This prevented creating filters of the same name in the future. This has now been resolved.

      • The error reporting has been improved when downloading backups from the system.

      • An issue that could cause north plugins to occasionally fail to shutdown correctly has now been resolved.

      • Some fixes are made in Package update API that allows the core package to be updated.

      • Improvements have been made to the exponential moving average filter to resolve issues seen when data is heavily delayed before passing through the filter.

      • The documentation has been updated to correct a statement regarding running the south side as a task.

  • GUI

    • New Features:

      • A new Developer item has been added to the user interface to allow for the management of Python packages via the UI. This is enabled by turning on developer features in the user interface Settings page.

      • A control has been added that allows the display of assets in the South screen to be collapsed or expanded. This allows for more services to be seen when services ingest multiple assets.

      • A new feature has been added to the south page that allows the relationship between an asset and a service to be deprecated. This is a special feature enabled with the Developer Features option. See the documentation on building pipelines for a full description.

      • A new feature has been added to the Assets and Readings page that allows for manual purging of named assets or all assets. This is a developer only feature and should not be used on production systems. The feature is enabled, along with other developer features via the Settings page.

      • A new feature has been added to the South and North pages for each service that allows the user to view, import, export and delete the data persisted by a plugin. This is a developer only feature and should not be used on production systems. It is enabled via the Setting page.

      • A new configuration type, Access Control List, is now supported in user interface. This allows for selection of an ACL from those already created.

      • A new tabbed layout has been adopted for the editing of south and north services and tasks. Configuration, Advanced and Security tabs are supported as our tabs for developer features if enabled.

      • The user interface for displaying system logs has been modified to improve the performance of log viewing.

      • The User Interface has been updated to use the latest versions of a number of packages it depends upon, due to vulnerabilities reported in those packages.

      • With the introduction of image data types to the readings supported by the system the user interface has been updated to add visualisation features for these images. A new feature also allows the latest reading for a given asset to be shown.

      • A new feature has been added to the south and north pages that allows the user to view the logs for the service.

      • The service status display now includes the Control Dispatcher service if it has been installed.

      • The user interface now supports the new control dispatcher service. This includes the graphical creation and editing of control scripts and access control lists used by control features.

      • An option has been added to the Asset and Readings page to show just the latest values for a given asset.

      • The notification user interface now links to the relevant sections of the online documentation allowing users to navigate to the help based on the current context.

      • Some timezone inconsistencies in the user interface have been resolved.

    • Bug Fix:

      • An issue that would cause the GUI to not always allow JSON data to be saved has been resolved.

      • An issue with the auto refresh in the systems log page that made selecting the service to filter difficult has been resolved.

      • The sorting of services and tasks in the South and North pages has been improved such that enabled services appear above disabled services.

      • An issue the prevented gaps in the data from appearing int he groans displayed by the GUI has now been resolved.

      • Entering times in the GUI could sometimes be difficult and result in unexpected results. This has now been improved to ease the entry of time values.

      • An issue that made the editing of scripts in the user interface for south plugins has been resolved.

  • Plugins

    • New Features:

      • A new flir-filter-contrast has been added that allows the contrast of image type datapoints to be altered.

      • A new flir-filter-mirror plugin has been added that will mirror image data points in a reading either vertically or horizontally.

      • A new flir-filter-rotate plugin has been added that allows for images in data points to be rotated by 90, 180 or 270 degrees.

      • A new flir-filter-greyscale plugin has been added that will convert 24bit RGB images in the reading data to either 8bit or 16bit greyscale images. All non-image and on-24bit images are left unaltered by the plugin.- A new flir-notify-control plugin has been added that allows notifications to be delivered via the control dispatcher service. This allows the full features of the control dispatcher to be used with the edge notification path.

      • A new flir-rule-watchdog plugin has been added that allows notifications to be send if data stops being ingress for specified assets.

      • A new flir-south-video4linux has been created that uses the Video4Linux interface to support the capture of image data from a variety of of video sources supported by Linux.

      • A new flir-south-etherip plugin has been added to retrieve data for a number of different Allan Bradley PLCs. Also it has enable control features. This allows Flir to write data back to PLC’s using the etherip protocol.

      • Support has been added for proxy servers in the north HTTP-C plugin.

      • Add options for choosing the Flir Asset name: Browser Name, Subscription Path and Full Path. Use the OPC UA Source timestamp as the User Timestamp in Flir.

      • OPC UA Security has been enhanced. This plugin now supports Security Policies Basic256 and Basic256Sha256, with Security Modes Sign and Sign & Encrypt. Authentication types are anonymous and username/password.

      • The OPCUA north plugin has been updated to include the ability for systems outside of Flir to write to the server that Flir advertises. These write are taken as control input into the Flir system.

      • The HTTPC North plugin has been enhanced to add an optional Python script that can be used to format the payload of the data sent in the HTTP REST request.

      • The SQLite storage plugins have been updated to support service extension schemas. This is a mechanism that allows services within the Flir system to add new schemas within the storage service that are exclusive to that service.

      • The Python35 filter has been updated to use the common Python interpreter. This allows for packages such as numpy to be used. The resilience and error reporting of this plugin have also been improved.

      • A set of developer only features designed to aid the process of developing data pipelines and plugins has been added in this release. These features are turned on and off via a toggle setting on the Settings page.

      • A new option has been added to the Python35 filter that changes the way datapoint names are used in the JSOn readings. Previously there had to be encoded and decode by use of the b’xxx’ mechanism. There is now a toggle that allows for either this to be required or simple text string use to be enabled.

      • The API of the storage service has been updated to allow for custom schemas to be created by services that extend the core functionality of the system.

      • New image type datapoints can now be sent between instances using the http north and south plugins.

      • The ability to define response headers in the http south plugin has been added to aid certain circumstances where CORS provided data flows.

      • The documentation of the Python35 filter has been updated to include a fuller description of how to make use of the configuration data block supported by the plugin.

      • The documentation describing how to run services under the debugger has been improved along with other improvements to the documentation aimed at plugin developers.

      • Documentation has been added for the Azure north plugin.

      • Documentation has now been added for flir-north-harperdb.

      • Documentation has been added for the custom asset notification plugin.

      • The documentation has been updated to include the new watchdog notification rule.

      • Documentation has been added for the Suez Water south plugin

      • Documentation has been added for the flir-rule-periodic plugin.

      • Documentation has been added for the flir-filter-asset-split plugin.

      • Documentation has been added for the flir-filter-specgram plugin.

      • Documentation has been added for the flir-filter-fft2 plugin.

    • Bug Fix:

      • Build procedures were updated to accommodate breaking changes in the S2OPC OPCUA Toolkit.

      • Occasionally switching from the sqlite to the sqlitememory plugin for the storage of readings would cause a fatal error in the storage layer. This has now been fixed and it is possible to change to sqlitememory without an error.

      • A race condition within the modbus south plugin that could cause unfair scheduling of read versus write operations has been resolved. This could cause write operations to be delayed in some circumstances. The scheduling of set point write operations is now fairly interleaved between the read operations in all cases.

      • A problem that caused the HTTPC North plugin to fail if the path component of the URL was omitted has been resolved.

      • The modbus-c south plugin documentation has been enhanced to include details of the function codes used to read modbus data.

      • An incorrect error message in the modbus-c south plugin has been fixed and others have been improved to aid resolving configuration issues. The documentation has been updated to include descriptive text for the error messages that may occur.

      • The Python35 filter plugin has been updated such that if no data is to be passed onwards it may now simply return the None Python constant or an empty list.

      • The Python35 plugin which allows simple Python scripts to be added into filter pipelines has had a number of updates to improve the robustness of the plugin in the event of incorrect script code being provided by the user. The behaviour of the plugin has also been updated such that any errors run the script will prevent data being passed onwards the filter pipeline.

      • The Average rule has been updated to improve the user interaction during the configuration of the rule.

      • The first time a plugin that persisted data is executed erroneous errors and warnings would be written to the system log. This has now been resolved.

      • Python35 filter code that failed to return a properly formed asset in the response would previously crash rather than fail gracefully. An error explaining the exact cause of the failure is now logged in the system log.

      • An issue with the Kafka north plugin not sending data in certain circumstances has been resolved.

      • Adding some notification plugins would cause incorrect errors to be logged to the system log. The functioning of the notifications was not affected. This has now been resolved and the error logs no longer appear.

      • The Simple-REST south plugin has been enhanced to allow it to return no records using the Python None mechanism. Also its error reporting has been improved for cases where the script is missing or incorrectly named.

      • A problem with installing the csvplayback plugin on aarch64 platforms has been resolved.

      • The MQTT Scripted south plugin has been updated to give improved error messages when problems are found with the supplied convert script. The documentation has also been updated to include these messages and typical causes of the errors.

      • The S2OPCUA South Plugin would throw an exception for any error during startup. This would cause the core system to shut down the plugin permanently after a few retries. This has been fixed. Error messages has been recategorized to properly reflect informational, warning and error messages.

      • The OMF North plugin was unable to process configuration changes or shut down if the PI Web API hostname was not correct. This has been fixed.

      • S2OPC South plugin builds have been updated to explicitly reference S2OPC Toolkit Version 1.2.0.

      • The documentation for the flir-rule-delta plugin has been corrected.

      • The documentation for the Python35 filter has been updated to discuss Python package imports and issues when removing previously used imports.

Flir v1

v1.9.2

Release Date: 2021-09-29

  • Flir Core

    • New Features:

      • The ability for south plugins to persist data between executions of south services has been added for plugins written in C/C++. This follows the same model as already available for north plugins.

      • Notification delivery plugins now also receive the data that caused the rule to trigger. This can be used to deliver values in the notification delivery plugins.

      • A new option has been added to the sqlite storage plugin only that allows assets to be excluded from consideration in the purge process.

      • A new purge process has been added to control the growth of statistics history and audit trails. This new process is known as the “System Purge” process.

      • The support bundle has been updated to include details of the packages installed.

      • The package repository API endpoint has been updated to support Ubuntu 20.04 repository end point.

      • The handling of updates from RPM package repositories has been improved.

      • The certificate store has been updated to support more formats of certificates, including DER, P12 and PFX format certificates.

      • The documentation has been updated to include an improved & detailed introduction to filters.

      • The OMF north plugin documentation has been re-organised and updated to include the latest features that have been introduced to this plugin.

      • A new section has been added to the documentation that discusses the tuning of the edge based control path.

    • Bug Fix:
      • A rare race condition during ingestion of readings would cause the south service to terminate and restart. This has now been resolved.

      • In some circumstances it was seen that north services could send the same data more than once. This has now been corrected.

      • An issue that caused an intermittent error in the tracking of data sent north has been resolved. This only impacted north services and not north tasks.

      • An optimisation has been added to prevent north plugins being sent empty data sets when the filter chain removes all the data in a reading set.

      • An issue that prevented a north service restarting correctly when certain combinations of filters were present has been resolved.

      • The API for retrieving the list of backups on the system has been improved to honour the limit and offset parameters.

      • An issue with the restore operation always restoring the latest backup rather than the chosen backup has been resolved.

      • The support package failed to include log data if binary data had been written to syslog. This has now been resolved.

      • The configuration category for the system purge was in the incorrect location with the configuration category tree, this has now been correctly placed underneath the “Utilities” item.

      • It was not possible to set a notification to always retrigger as there was a limitation that there must always be 1 second between notification triggers. This restriction has now been removed and it is possible to set a retrigger time of zero.

      • An error in the documentation for the plugin developers guide which incorrectly documented how to build debug binaries has been corrected.

  • GUI

    • New Features:

      • The user interface has been updated to improve the filtering of logs when a large number of services have been defined within the instance.

      • The user interface input validation for hostnames and port has been improved in the setup screen. A message is now displayed when an incorrect port or address is entered.

      • The user interface now prompts to accept a self signed certificate if one is configured.

    • Bug Fix:

      • If a south or north plugin included a script type configuration item the GUI failed to allow the service or task using this plugin to be created correctly. This has now been resolved.

      • The ability to paste into password fields has been enabled in order to allow copy/paste of keys, tokens etc into configuration of the south and north services.

      • An issue that could result in filters not being correctly removed from a pipeline of 2 or more filters has been resolved.

  • Plugins

    • New Features:

      • A new south plugin has been added that can be used to support a number of REST based APIs. The plugin allows processing of JSON payloads or with the addition of Python scripting other payload formats may also be supported. This plugin also supports a choice of methods to control the set of readings data that will be returned.

      • A new OPC/UA south plugin has been created based on the Safe and Secure OPC/UA library. This plugin supports authentication and encryption mechanisms.

      • A new plugin has been added to fetch data from the Suez Water cloud API service.

      • Control features have now been added to the modbus south plugin that allows the writing of registers and coils via the south service control channel.

      • The modbus south control flow has been updated to use both 0x06 and 0x10 function codes. This allows items that are split across multiple modbus registers to be written in a single write operation.

      • The MQTT Scripted south plugin has been updated to allow multiple assets to be ingested in a single plugin.

      • The MQTT Scripted south plugin has been enhanced to support MQTTS as well as MQTT.

      • The MQTT scripted plugin has been updated to support the return of a specific asset as well as values.

      • The OMF plugin has been updated to support more complex scenarios for the placement of assets with the PI Asset Framework.

      • The OMF north plugin hinting mechanism has been extended to support asset framework hierarchy hints.

      • The OMF north plugin now defaults to using a concise naming scheme for tags in the PI server.

      • The Kafka north plugin has been updated to allow timestamps of higher granularity than 1 second, previously timestamps would be truncated to the previous second.

      • The Kafka north plugin has been enhanced to give the option of sending JSON objects as strings to Kafka, as previously the default, or sending them as JSON objects.

      • The HTTP-C north plugin has been updated to allow the inclusion of customer HTTP headers.

      • The Python35 Filter plugin did not correctly handle string type data points. This has now been resolved.

      • The vibration velocity filter has been updated to support multiple channel data.

      • The MQTT broker package now supports RPM platforms.

      • The OMF Hint filter documentation has been updated to describe the use of regular expressions when defining the asset name to which the hint should be applied.

      • The Beckhoff south plugin documentation has been updated to include details on how to create the AMS route in a number of different scenarios.

    • Bug Fix:

      • An issue with string data that had quote characters embedded within the reading data has been resolved. This would cause data to be discarded with a bad formatting message in the log.

      • An issue that could result in the configuration for the incorrect plugin being displayed has now been resolved.

      • An issue with the modbus south plugin that could cause resource starvation in the threads used for set point write operations has been resolved.

      • A race condition in the modbus south that could cause an issue if the plugin configuration is changed during a set point operation.

      • Importing the Pandas Python library into the script within the MQTT scripted plugin previously failed due to the way Pandas uses global variables. This has now been resolved such that Pandas can be imported, however it should be noted that a filter can not import Pandas if the south plugin already imports Pandas.

      • When using the South MQTT Scripted plugin, if the Python script returned an asset name as well as a reading the asset name would be corrupted on second and subsequent calls. This has now been resolved.

      • The MQTT scripted plugin would occasionally fail to shutdown cleanly. This issue has now been resolved.

      • The MQTT Scripted plugin could not previously deal with payloads that consisted of a simple negative number. This has now been corrected.

      • An issue with the MQTT notification plugin and the MQTT scripted plugin when installing with RPM packages has been resolved.

      • The CSV playback south plugin installation on CentOS 7 platforms has now been corrected.

      • The digiducer south plugin has been updated to support the latest release of the underlying libraries that support it.

      • The error handling of the OMF north plugin has been improved such that assets that contain data types that are not supported by the OMF endpoint of the PI Server are removed and other data continues to be sent to the PI Server.

      • The Kafka north plugin was not always able to reconnect if the Kafka service was not available when it was first started. This issue has now been resolved.

      • The Kafka north plugin would on occasion duplicate data if a connection failed and was later reconnected. This has been resolved.

      • A number of fixes have been made to the Kafka north plugin, these include; fixing issues caused by quoted data in the Kafka payload, sending timestamps accurate to the millisecond, fixing an issue that caused data duplication and switching the the user timestamp.

      • A problem with the quoting of string type data points on the North HTTP-C plugin has been fixed.

      • String type variables in the OPC/UA north plugin were incorrectly having extra quotes added to them. This has now been resolved.

      • The delta filter previously did not manage calculating delta values when a datapoint changed from being an integer to a floating point value or vice versa. This has now been resolved and delta values are correctly calculated when these changes occur.

      • The vibration features plugin has been updated to run on Ubuntu 20 platforms.

      • The signal processing filter plugin now installs correctly on CentOS platforms.

      • The data frames filter plugin is now supported on RPM based platforms.

      • An issue with the vibration features filter on Ubuntu 18 has been resolved.

      • The example path shown in the DHT11 plugin in the developers guide was incorrect, this has now been fixed.

v1.9.1

Release Date: 2021-05-27

  • Flir Core

    • New Features:

      • Support has been added for Ubuntu 20.04 LTS.

      • The core components have been ported to build and run on CentOS 8

      • A new option has been added to the command line tool that controls the system. This option, called purge, allows all readings related data to be purged from the system whilst retaining the configuration. This allows a system to be tested and then reset without losing the configuration.

      • A new service interface has been added to the south service that allows set point control and operations to be performed via the south interface. This is the first phase of the set point control feature in the product.

      • The documentation has been improved to include the new control functionality in the south plugin developers guide.

      • An improvement has been made to the documentation layout for default plugins to make the GUI able to find the plugin documentation.

      • Documentation describing the installation of PostgreSQL on CentOS has been updated.

      • The documentation has been updated to give more detail around the topic of self-signed certificates.

    • Bug Fix:

      • A security flaw that allowed non-privileged users to update the certificate store has been resolved.

      • A bug that prevented users being created with certificate based authentication rather than password based authentication has been fixed.

      • Switching storage plugins from SQLite to PostgreSQL caused errors in some circumstances. This has now been resolved.

      • The HTTP code returned by the ping command has been updated to correctly report 401 errors if the option to allow ping without authentication is turned off.

      • The HTTP error code returned when the notification service is not available has been corrected.

      • Disabling and re-enabling the backup and restore task schedules sometimes caused a restart of the system. This has now been resolved.

      • The error message returned when schedules could not be enabled or disabled has been improved.

      • A problem related to readings with nested data not correctly getting copied has been resolved.

      • An issue that caused problems if a service was deleted and then a new service was recreated using the name of the previously deleted service has been resolved.

  • GUI

    • New Features:

      • Links to the online help have been added on a number of screens in the user interface.

      • Improvements have been made to the user management screens of the GUI.

  • Plugins

    • New Features:

      • North services now support Python as well as C++ plugins.

      • A new south plugin has been created to read data from the ABB cloud service.

      • A new south plugin has been added for getting vibration data from a set of FLIR GW65 vibration sensors.

      • A new delivery notification plugin has been added that uses the set point control mechanism to invoke an action in the south plugin.

      • A new notification delivery mechanism has been implemented that uses the set point control mechanism to assert control on a south service. The plugin allows you to set the values of one or more control items on the notification triggered and set a different set of values when the notification rule clears.

      • Support has been added in the OPC/UA north plugin for array data. This allows FFT spectrum data to be represented in the OPC/UA server.

      • The documentation for the OPC/UA north plugin has been updated to recommend running the plugin as a service.

      • A new storage plugin has been added that uses SQLite. This is designed for situations with low bandwidth sensors and stores all the readings within a single SQLite file.

      • The CSV Writer filter has been updated to support writing encrypted files.

      • Support has been added to use RTSP video streams in the person detection plugin.

      • The delta filter has been updated to allow an optional set of asset specific tolerances to be added in addition to the global tolerance used by the plugin when deciding to forward data.

      • The Python script run by the MQTT scripted plugin now receives the topic as well as the message.

      • The OMF plugin has been updated in line with recommendations from the OMF group regarding the use of SCRF Defense.

      • The OMFHint plugin has been updated to support wildcarding of asset names in the rules for the plugin.

      • New documentation has been added to help in troubleshooting PI connection issues.

      • The pi_server and ocs north plugins are deprecated in favour of the newer and more feature rich OMF north plugin. These deprecated plugins cannot be used in north services and are only provided for backward compatibility when run as north tasks. These plugins will be removed in a future release.

    • Bug Fix:

      • The OMF plugin has been updated to better deal with nested data.

      • Some improvements to error handling have been added to the InfluxDB north plugin for version 1.x of InfluxDB.

      • The Python 35 filter stated it used the Python version 3.5 always, in reality it uses whatever Python 3 version is installed on your system. The documentation has been updated to reflect this.

      • The Asset Split filter plugin previously logged debug messages by default, this has now been resolved.

      • Fixed a bug that treated arrays of bytes as if they were strings in the OPC/UA south plugin.

      • The FFT2 filter used a single asset name for all output FFT’s. If an incoming asset had multiple data points they would each have a separate FFT applied to them and then output with the same asset name. This caused confusion. Now if there are multiple data points each will have a unique asset name for the output FFT. This asset name is made up of the configured output asset name with the data point name appended. For example an inout asset having X, Y and Z data points with the output asset configured to be FFT will result in 3 assets, FFTX, FFTY and FFTZ.

      • The HTTP North C plugin would not correctly shutdown, this effected reconfiguration when run as an always on service. This issue has now been resolved.

      • The description of the statistics filter was incorrect, this has now been corrected.

      • An issue with the SQLite In Memory storage plugin that caused database locks under high load conditions has been resolved.