Changes in Version 2.1
Breaking Changes
- The WebSocket server now rejects upgrade requests with malformed or unknown query parameters
- Removed the internal undocumented CMake Modules XentaraRpc and XentaraDocs from the build environment
- Removed support for the armel architecture (ARMv5T and ARMv6)
New Features
- Added support for storing images in element attributes, including data point values. Images can also be stored in Registers.
- Added support for token-based authentication to the WebSocket interface to facilitate authentication from browser-based JavaScript applications.
- Added support for CORS (Cross-Origin Resource Sharing) to the WebSocket server. This incldes support for the “OPTIONS” HTTP method, as well as support for the relevant CORS headers.
- Added an HTML Welcome page to the WebSocket server that can be used to check the connection, accept certificates, etc.
- Added support for getting licences from a floating licence server
- Added support for integrating Xentara with provisioning and device management systems of certified OEMs.
- Xentara can now be run as a Windows service and will log events to the Windows event log.
- The Windows installer now creates services for Xentara and the Xentara Licence Proxy. The services are disabled by default and need to be enabled manually.
- The Windows installer now installs a firewall rule that allows connections to Xentara from private networks
- Signal Bridges will now correctly log write all errors to the error handle, if one is specified. This will now log some range checking and similar errors that were previously silently ignored.
Bug Fixes and General Improvements
- Xentara now terminates if the WebSocket server encounters a fatal error, rather than simply loosing WebSocket support.
- The WebSocket server now correctly returns 404 errors as “404 Not Found”, rather than “404 File Not Found”
- The WebSocket server nor returns “405 Method Not Allowed” where appropriate, rather that “404 File Not Found”
- Improved some other error response issues with the WebSocket server
Websocket API Changes
This version also contains improvements to the Xentara Websocket API. See the Xentara WebSocket API Specification for details.
Developer API Changes
This version also contains improvements to the utility library and the plugin library. See the documentation for xentara-utils and xentara-plugin for details.
Changes in Version 2.0.12
- Improved compatibility with Debian Trixie
Changes in Version 2.0.11
- Fixed a possible crash when specifying invalid command line parameters
Developer API Changes
This version also contains improvements to the utility library and the plugin library. See the documentation for xentara-utils and xentara-plugin for details.
Changes in Version 2.0.10
- Fixed an issue that prevented the command history in the Xentara Debugger from being saved under Linux
- Fixed an issue that sometimes caused multiple copies of the same Xentara instance to appear for selection when starting the Xentara Debugger under Linux
Developer API Changes
This version also contains improvements to the utility library. See the documentation for xentara-utils for details.
Changes in Version 2.0.9
- Fixed an issue that prevented Xentara from running under Docker Desktop for Windows
Changes in Version 2.0.8
This version contains a bug fix for the utility library. See the documentation for xentara-utils for details.
Changes in Version 2.0.7
Bug Fixes
- Fixed a crash when reading certain types of data points using the Xentara Debugger.
Changes in Version 2.0.6
New Features
- Added a workaround for an ABI incompatibility between GCC 13 and GCC 14, that could cause unresolved externals when attempting to load plugins that were built with GCC 14 or newer or Clang 18 or newer.
Developer API Changes
This version also contains improvements to the utility library. See the documentation for xentara-utils for details.
Changes in Version 2.0.5
New Features
- Xentara now prints a link to try.xentara.io with the node-id pre-selected if no licence is found. This makes it easier for interested parties to request a trial licence.
Bug Fixes
- Fixed a bug that prevented Xentara from running on WSL if systemd was enabled.
- Improved the consistency checking for the configuration of converted values to prevent configurations with a single mapping entry that has a mapped value of 0, which would cause a division by zero error.
Changes in Version 2.0.4
- Fixed an error that caused the WebSocket server to return the HTTP error 400 Bad Request instead of 401 Unauthorized if no Authorization header was received in a WebSocket request. This prevented WebSocket connection from being established from JavaScript, e.g. in HTML pages.
Changes in Version 2.0.3
- Fixed a bug that could cause an execution track to stall if an event was fired during the suspended stage
Changes in Version 2.0.2
General Improvements
- The WebSocket interface now sends a JSON-RPC formatted error message if it receives a text frame
Bug Fixes
- Fixed a bug that could prevent certain config files from being found if a relative config directory had been specified on the command line using –config-dir or -ConfigDir. In particular, this could prevent Xentara from finding the private key associated with a certificate file.
- Fixed a bug that could prevent the Xentara debugger from finding running instances of Xentara under Linux
Documentation Fixes
- Fixed broken links to some JSON schema files in the download page
- Corrected the default paths listed for security related configuration files under Linux
Changes in Version 2.0.1
- Fixed a bug that could lead to data corruption in some plugins when receiving data over the network
- Fixed a problem generating the node licence on WSL on some versions of Windows 11
Changes in Version 2.0
Breaking Changes
- UUIDs in model files are now checked for uniqueness. Models with duplicate element UUIDs can no longer be loaded and must be fixed first.
- Scheduling configuration in model files is now checked more stringently. This will cause some previously accepted invalid model files to be rejected.
- the values of time stamp attributes that lie infinitely far in the past or future are now represented as “never (-infinity)” and “never (infinity)”, respectively, when displayed or read as strings.
New Features
- added a CBOR WebSocket interface to the Xentara application
- added support for access control using access control lists
- added global security configuration for configuring certificates and authentication
- added support for summary states
- added support for converted values for converting between raw and real values
- added support for inverted values for inverting Boolean values
- added support for bit values to extract single bits from an integer value
- added support for edge detection
- timers and execution pipelines are now full Xentara elements with key and UUIDs.
- added support for execution pipelines that are triggered by multiple events and/or timers.
- added support for specifying the required timing precision of an execution tracks
- added support for CPU affinity to execution tracks
- the thread count for execution tracks is now calculated automatically unless specified
- added support for value of type string, time stamp, and UUID to registers
- added “generated” event to signal generator samplers and signals
- there are now change events for all attributes regardless of the skill used
- the command history is now saved when exiting the Xentara debugger
- element and attribute keys no longer need to be enclosed in quotes in the Xentara debugger
- added “attributes” command to the Xentara debugger to list all attributes of an element
- added “whois” command to the Xentara debugger to find the element with a certain UUID
- added man pages under Linux
Bug Fixes
- signal generator signals now trigger the “changed” event when the quality changes
- multiple pipelines in multiple tracks can now be triggered by the same event
- fixed a bug in the debugger that would truncate time stamps under Windows
Model Files
- The configuration parameters “id” and “uuid” for Xentara elements have been renamed to “name” and “UUID” (capitals), respectively. The old names are still supported.
- The strings “@IOComponent”, “@IO”, “@IOBatch”, and “@Microservice” have been replaced with “@Skill” in the type designation of skill elements. The old names are still supported.
Xentara model files written for Xentara version 1.2 and earlier can be loaded by Xentara version 2.0 without changes. Xentara 2.0 has more stringent checking for model files, though, so some invalid model files (e.g. files that contain elements with duplicate UUIDs) that were accepted by Xentara 1.2 will be rejected in Xentara 2.0.
Developer API Changes
This version also contains improvements to the utility library and the plugin library. See the documentation for xentara-utils and xentara-plugin for details.
Known Issues
This version does not contain the bug fix listed for version 1.2.2 below
Changes in Version 1.2.2
- Note
- This version consists of backports from Xentara 2.0 and Xentara 2.0.1
- Extended the licence file format to support Xentara 2.0-style licence files (backported from Xentara 2.0)
- Fixed a bug that could lead to data corruption in some plugins when receiving data over the network (backported from Xentara 2.0.1)
Changes in Version 1.2.1
- fixed a high CPU load in the main thread on 32-bit ARM Linux systems
- fixed an issue that could cause high CPU load under Linux with certain configurations
Changes in Version 1.2
Model Files
- Periods of timers are now specified using strings with units instead of a number of microseconds in Xentara model files. The old syntax is still supported.
- Replaced reference time of timers with an offset from a standard timer start starts 1 January, 2001, 00:00:00 UTC. The old syntax is still supported.
- Period, phase offset and pulse with of signal generator signals are now specified using strings with units instead of a number of microseconds in Xentara model files. The old syntax is still supported.
Xentara model files written for Xentara version 1.1 can be loaded by Xentara version 1.2 without changes.
Developer API Changes
This version also contains improvements to the utility library and the plugin library. See the documentation for xentara-utils and xentara-plugin for details.
Changes in Version 1.1
New Features
Bug Fixes
- Added support for older WSL 2 kernels
- Fixed “top” and “bottom” attributes of signal generator signals
- Fixed “warningText” attribute of debugging logger, which printed “ERROR” instead of “WARNING”
- Fixed a bug that caused the change time of a signal generator signal to be 1 January 1970, 00:00 UTC instead of -infinity.
Developer API Changes
This version also contains improvements to the utility library and the plugin library. See xentara-utils and xentara-plugin for details.
Changes in Version 1.0
This is the initial release of Xentara.