Version 1.6.0

Build: 1.6.0-40

Release date: 07.06.23

This is a minor release of Prosys OPC UA Monitor. It adds the option to configure scaling and offset factors in gauges. It also adds visualization and messages related to data type conversion errors in gauges.

Gauges that have double values (Classic Circle, Classic Quadrant, Modern Circle, Modern Semicircle, Bar, Numeric and Trend Chart) can now be configured to apply scaling and offset to received signal values. Scaling and offset factors allow adjusting signal values before displaying them on gauges. Scaling and offset can also be used for unit conversions.

Gauges will now show warnings when receiving signal values that cannot be converted to the appropriate data type. The appearing warning icon on the upper left corner of a gauge can be clicked to open a dialog that shows the received signal value that could not be converted.

Changes

  • Updated: log4j2 to version 2.20.0. This update is not related to security.

Changes to Panel Editor Tab and Monitoring View

  • New: Classic Circle, Classic Quadrant, Modern Circle, Modern Semicircle, Bar, Numeric and Trend Chart now allow adjusting the received value using scaling and offset factors in Gauge Settings. The adjusted gauge value is used in the user interface including activating and deactivating alarms and warnings, and related notification logging. The adjusted gauge value is not used in data logging, which logs original signal values from the server instead of gauge values.

Writing to the server via the gauge may be enabled only, when using the default values for scaling (1.0) and offset (0.0) parameters.
  • New: Gauges will show warnings when they receive values that can not be converted to appropriate type. For Classic Circle, Classic Quadrant, Modern Circle, Modern Semicircle, Bar, Numeric and Trend Chart the required type is double, for Boolean the required type is boolean and for Text the required type is string. All types of gauges will show warnings when receiving null values.

  • Changed: The options for the Curve Fitting parameter of Trend Chart gauges are now None and Linear Interpolation. This is effectively same as before, but the available options are now displayed using two radio buttons instead of a single check box. Also, the default value for the Curve Fitting parameter for new Trend Chart gauges is now None instead of Linear Interpolation.

  • Changed: In Gauge Information dialog, the values of the signal and the gauge are shown separately as Signal Value and Gauge Value respectively. This shows how the received signal value was converted and optionally adjusted with scaling and offset to the value of the gauge.

  • Changed: Previously the value of a Boolean gauge was false only when the received signal value was either false or zero. This resulted in situations where receiving an arbitrary value, e.g. "abc", would set the value of a Boolean gauge to true. From now on, the value of a Boolean gauge is false when the received signal value is either false or zero, true when the received value is either true or any non-zero number, and otherwise the received value is rejected and a warning is shown on the gauge.

When a Boolean gauge receives a string value, the gauge will first check if this string can be converted to a double and compared to zero. If converting the string to a double fails, the string is compared to "true" and "false" strings using equals with case ignore. If the received string matches neither of the strings, the received string value is rejected and a warning is shown on the Boolean gauge.

Changes to Source Servers Tab

  • Improvement: When testing connection to a Source Server using the selected Security Mode and User Authentication Mode, Monitor no longer initializes the TypeDictionary when connecting because that is not needed for the test. This makes the connection tests faster. The TypeDictionary is initialized when connecting to a Source Server outside the connection tests.

Version 1.5.2

Build: 1.5.2-29

Release date: 1.12.22

This version fixes bugs, updates the application to use newer versions of used libraries and adds Signal Group Logging option to Data Logger settings.

Changes

  • Updated: log4j2 to version 2.19.0. This update is not related to security.

  • Fixed: Check for updates…​ menu option will now prompt the user to save any unsaved changes to the current project.

  • Changed: Sessions created by Monitor are now named properly.

Changes to Panel Editor Tab and Monitoring View

  • New: Added Show Gauge Information to context menus of gauges. This option is available in both Panel Editor Tab and Monitoring View.

Changes to Data Logger

  • New: Added the option to select between two Signal Group Logging modes: Single File and Separate Files modes. Single File mode is the default and Separate Files mode allows logging each Signal Group into separate files.

Version 1.5.0

Build: 1.5.0-14

Release date: 20.06.22

This is a minor release of Prosys OPC UA Monitor. This version updates the application to use newer versions of various used libraries.

This release also supports new installers: 32bit Windows, M1 (i.e. ARM64/AArch64) macOS, and 64 bit ARM64/AArch64 Linux (such as Raspberry Pi OS 64bit) are now supported.

Changes

  • New: Windows installer 32bit.

  • New: macOS M1/ARM64/AArch64 installer.

  • New: macOS installers are now notarized with Apple.

  • New: Linux AArch64 installer (will work e.g. on Raspberry Pi OS 64bit).

  • Updated: log4j2 to version 2.17.2. This update is not related to security.

Changes to Panel Editor Tab and Monitoring View

  • Updated: The libraries used to visualize gauges have been updated. This may result in minor changes in their appearance.

Version 1.4.0

Build: 1.4.0-376

Release date: 31.03.22

This version adds the AddressSpace Exporter for exporting information on the AddressSpace of a Source Server to a CSV file and the ability to choose between two different Signal Logging Modes for the Data Logger.

With the AddressSpace Exporter, BrowsePaths, BrowseNames, NodeIds and other Attributes of Nodes in the AddressSpace of a Source Server can be exported to a CSV file by pressing the "Export AddressSpace" button in Source Servers tab. The Nodes to be exported can be filtered based on their BrowsePaths and NodeClasses.

The AddressSpace of the Source Server is browsed recursively by the AddressSpace Exporter. Depending on the Server, this can take several minutes or hours. Therefore, it is recommended to limit the number of exported Nodes initially to test how long it takes to browse the Server for that amount of Nodes before attempting to export a higher number of Nodes.

The Data Logger can now be configured to log the values of signals in two different Signal Logging Modes: Event-based and Time-based logging modes. Event-based logging mode is the default logging mode that logs the values of signals whenever they change into a new row for each change. Time-based logging mode is a new logging mode that logs the values of signals periodically into a new row for each period.

Both logging modes use Subscriptions and MonitoredItems to receive DataChangeNotifications from Source Server. Time-based logging mode caches the received values and uses the latest value for each logged signal when writing new log rows periodically. In other words, the values are not read from Source Servers before writing a new log row.

Changes

  • Improvement: ApplicationURIs received from Source Servers are compared to ApplicationURIs in connection parameters, and warnings are shown when there is a difference between the expected and the received ApplicationURI. The ApplicationURI in Source Server connection parameters can be updated by modifying the Source Server in Source Servers tab.

    OPC UA Servers are identified by their ApplicationURI. If the application is warning about the ApplicationURI of a Source Server not matching the one in connection parameters, it is possible that the Source Server has been replaced with another Server application with the same connection address.
  • Changed: The application no longer validates Endpoints received with GetEndpoints against Endpoints received in a CreateSessionResponse. This allows connecting the application to Servers where these sets of Endpoints are not same.

Changes to Panel Editor Tab and Monitoring View

  • New: The application can be configured to check the timestamps of values received from Source Servers by ticking the Check Timestamps checkbox in Panel Settings. When checking timestamps has been enabled, gauges are updated only when receiving values with newer timestamps than the timestamp of the previously used value.

Changes to Source Servers Tab

  • New: Information on the AddressSpace of a Source Server can be exported to a CSV file by pressing the "Export AddressSpace" button.

  • Improvement: Progress indicators are shown in Source Servers list when the application is attempting to connect to Source Servers.

  • Changed: The dialogs for adding new and modifying existing Source Servers have been changed to no longer connect to the Server automatically. The entered Connection Address is tested by pressing the "Test Address" button. After the Connection Address has been tested, the Security and the User Authentication Modes can be selected and then tested by pressing the "Test Selected Modes" button. If both tests pass successfully, the Source Server can by added by pressing the OK button.

Changes to Data Logger

  • New: Added the option to select between two Signal Logging Modes: Event-based and Time-based logging modes. In Time-based logging, interval can be set from 1 second to 10000 seconds.

Version 1.3.8

Build: 1.3.8-347

Release date: 17.02.22

This version fixes bugs, memory and security issues.

The application now uses JavaFX version 17.0.2, which fixes some memory leaks.

This version also updates used log4j2 from version 2.16.0 to 2.17.1. See https://logging.apache.org/log4j/2.x/security.html for more information. There are 2 new CVEs after 2.16.0. However, as far as we understand in practice they have no impact per se, even if technically we are affected by one of them. Regardless, we do recommend everyone to update to this version. For the CVE-2021-45105, the default logging configuration does not include MDC in the pattern, thus we should not be affected.

For the CVE-2021-44832, per apache’s page: "(previous versions) are vulnerable to a remote code execution (RCE) attack where an attacker with permission to modify the logging configuration file". So the filesystem would have to be compromised for this to happen. In general our applications do not expect a hostile (local) environment. Typically this kind of vulnerability could be used for a privilege escalation attack, but with Monitor the user running the application should also be the one who has the writing permissions to the configuration file. Monitor will create configuration files, per user, when that user starts the application. Thus, there is nothing to escalate to, the attacker could just do already everything they could do via Monitor in a more complicated way. Thus, this CVE in practice has no impact, but we still do recommend to update just in case.

Changes

  • Updated: log4j2 to version 2.17.1.

  • Updated: JavaFX to version 17.0.2.

Plus a number of other small changes.

Version 1.3.6

Build: 1.3.6-339

Release date: 16.12.21

This is a security release of Prosys OPC UA Monitor. Everyone is recommended to update to this version.

Apache Foundation has released another version of log4j2 in order to fix a new CVE-2021-45046: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-45046. Per our understanding we would not be vulnerable to CVE-2021-45046, but just to be safe this release updates to log4j2 2.16.0.

Changes

  • Updated log4j2 to version 2.16.0

Version 1.3.4

Build: 1.3.4-335

Release date: 13.12.21

This is an emergency security release to fix the https://nvd.nist.gov/vuln/detail/CVE-2021-44228 "Log4Shell" attack.

Everyone is recommended to update to this version.

Mitigation strategies for older release can be found in https://logging.apache.org/log4j/2.x/security.html.

Changes

  • Updated log4j2 to version 2.15.0

Version 1.3.2

Build: 1.3.2-331

Release date: 23.11.21

This is a minor release that adds new customization options to Classic Circle and Classic Quadrant gauge types and fixes issues related to rounding values in gauges. These customization options are setting the number of decimals shown in tick labels and reversing the scale direction.

By default no decimals are shown in tick labels, but when the value range is very short, it would be convenient to show decimals. The number of decimals in tick labels can be set by entering a value between 0 and 3 to "Decimals in Tick Labels" spinner.

Reversing the scale direction swaps the maximum and the minimum value of the value range around in the visualized gauges. This feature is convenient when monitoring measurements with only negative values and the user would prefer to visualize the most negative values at the end of the scale, as practical maximum values. Note that reversing the scale direction has no effect on how alarms and warnings are calculated, i.e. a low warning will still be a low warning after the scale direction has been reversed. Reversing the scale direction can be enabled by checking the "Reverse Scale Direction" checkbox.

General Changes

Changes to Panel Editor Tab and Monitoring View

  • New: The number of decimals shown in tick labels can be set for Classic Circle and Classic Quadrant gauges.

  • New: The scale direction can be reversed for Classic Circle and Classic Quadrant gauges.

  • Fixed: Errors related to rounding values in Classic Circle, Classic Quadrant, Modern Circle and Modern Semicircle gauges.

Version 1.3.0

Build: 1.3.0-323

Release date: 28.9.21

This version revises how the application handles project files, adds File menu, adds the option for Signal Groups to handle missing Nodes and fixes various issues.

The handling of UA Monitor Project files, which were previously known as UA Monitor Configuration files, has been revised in this version. The application is no longer saving changes automatically in favor of allowing the user to make changes first and save them to a project file after reviewing the changes. The application also supports creating new and opening existing projects with the added File menu allowing working on multiple projects without having to close the application when switching between them.

In previous versions of Prosys OPC UA Monitor, the application would open with a default project if no project was specified. From this version onwards, starting the application without selecting a project will open with the most recently opened project or a new project, if no project files have been opened after updating the application to this version. If the previous default project exists in <user_home>\.prosysopc\prosys-opc-ua-monitor\conf.uamonitor and the application is started without selecting a project and no project files have been opened after updating the application to this version, the user will be prompted to save that project to another location and then open it.
In previous versions of Prosys OPC UA Monitor, the location of certificate files could be specified in project files. From this version onwards, certificates are always located in <user_home>\.prosysopc\prosys-opc-ua-monitor\PKI\CA.

Signal Groups can now be configured to handle missing Nodes. Effectively, the Subscriptions related to a Signal Group with this option enabled will periodically try to recreate MonitoredItems for Nodes that have received error code Bad_NodeIdUnknown from a Server. This feature should be enabled only when connecting to a Server that may add Nodes to its AddressSpace after allowing Clients to connect to the Server.

General Changes

  • Uses Prosys OPC UA SDK for Java version 4.6.0-1594 (https://downloads.prosysopc.com/opcua/Prosys_OPC_UA_SDK_for_Java_4_Release_Notes.html#version-4-6-0).

  • New: File menu for managing project files.

  • Changed: No longer has a default project that would be opened when no project is specified. Instead, the most recent project is opened or a new project is created, if there are no recently opened project files.

  • Changed: Project files are no longer saved automatically after making changes. Use Save or Save As in File menu to save changes.

  • Changed: Renamed User Guide to User Manual and updated its contents.

  • Improvement: User Manual can now be opened by pressing F1 and Monitoring View by pressing F5.

  • Fixed: A bug that could cause the font of the application to change under certain circumstances.

Changes to Panel Editor Tab and Monitoring View

  • Improvement: Bad and Uncertain StatusCodes returned by Source Servers for signals are now shown in the status icons of gauges using those signals.

  • Fixed: Setting the initial values of gauges can now trigger warning and alarm notifications in Monitoring View.

Changes to Signal Groups Tab

  • New: Handle Missing Nodes option in Signal Group settings.

  • Improvement: The information on signals is now refreshed when the ServerState of a Source Server changes.

Version 1.2.0

Build: 1.2.0-268

Release date: 30.6.21

This version adds the Data Logger and fixes various issues.

The Data Logger enables logging values of signals and notifications generated by gauges to CSV styled log files during Monitoring View. The Data Logger is disabled by default and can be enabled and configured in Data Logger Settings tab.

General Changes

Changes to Panel Editor Tab and Monitoring View

  • Changed: The button that read "Monitor Now" now reads "Open Monitoring View".

  • Fixed: A bug where Monitoring View opened as a blank window when User Guide was open before opening Monitoring View has now been fixed. In addition, the User Guide is no longer closed when Monitoring View is opened.

Changes to Source Servers Tab

  • Fixed: Changes to Source Server connections are applied immediately instead of after the application has been restarted.

  • Fixed: Servers that do not support Anonymous User Authentication Mode no longer have that option listed in User Authentication Mode selection.

Changes to Signal Groups Tab

  • New: Added Server State to signal info view.

  • Improvement: Signals used by gauges can now be renamed.

  • Improvement: A Node can now be added to multiple Signal Groups instead of just one group.

  • Improvement: MonitoredItems corresponding to signals are added and deleted in batches instead of one by one for improved performance.

Version 1.1.2

Build: 1.1.2-224

Release date: 5.5.21

This version adds quality of life improvements and fixes various known issues.

Panel Editor tab’s gauge grid, Source Servers tab’s list of Source Servers and Signal Groups tab’s signal lists and Address Space view now support opening context menus for selected items by right-clicking them. These context menus offer various existing and new commands designed to make using the application more efficient.

General Changes

  • Uses Prosys OPC UA SDK for Java version 4.5.4-1405 (https://downloads.prosysopc.com/opcua/Prosys_OPC_UA_SDK_for_Java_4_Release_Notes.html#version-4-5-4).

  • New: Added support for opening context menus by right-clicking.

  • Improvement: Various dialogs now give more detailed information on the results of validating the entered values.

  • Fixed: The application no longer hangs during launch if the selected configuration file specifies a connectionCertsBaseDir that doesn’t exist on the file system. When such directory is specified in a configuration, the default certificate directory will be used instead.

Changes to Gauges, Panel Editor Tab and Monitoring View

  • New: Right-clicking a gauge opens a context menu that allows performing various operations with the selected gauge.

  • New: Right-clicking a notification in Notification Log opens a context menu that allows performing various operations with the selected notifications

  • Changed: Trend Chart gauges now keep up to 100 000 values in memory before deleting entries starting with the oldest.

  • Changed: Notification Logs now keep up to 1 000 values in memory before deleting entries starting with the oldest.

  • Fixed: The application now accepts all variations of Good StatusCode when updating values of Gauges.

Changes to Source Servers Tab

  • New: Right-clicking a Source Server opens a context menu that allows performing various operations with the selected Source Server.

  • Improvement: Added indicator to Add New Source Server Connection and Modify Source Server Connection dialogs that indicate when the provided Connection Address is being checked.

Changes to Signal Groups Tab

  • New: Folder Nodes and other Object Nodes can now be dragged to Signal Groups to add all contained Variable Nodes.

  • New: Right-clicking a signal in a Signal Group opens a context menu that allows performing various operations with selected signals.

  • New: Right-clicking a Node in the Address Space view opens a context menu that allows adding the selected Node to current or a new Signal Group.

  • New: Added a button for saving information of signals of a Signal Group to a CSV-file. Information of selected signals can be copied to clipboard in the context menu opened by right-clicking a signal.

  • Fixed: Changes to Sampling Intervals of Signal Groups are applied immediately without restarting the application.

Version 1.1.0

Build: 1.1.0-206

Release date: 27.11.20

This version adds new features and fixes various known issues.

The ability to use the application with multiple configuration files has been improved by creating a file association between the application and uamonitor-files during the installation. A uamonitor-file specifies the entirety of the application’s configuration. Opening a uamonitor-file will open the application with the configuration specified in the loaded file. Any changes made to the loaded configuration are saved to the opened uamonitor-file.

No more than one instance of Prosys OPC UA Monitor can be open at any time. Opening a uamonitor-file when the application is already running does not affect the application.

Most gauges now support showing Limit Notifications. These notifications are shown in the Monitoring View and support displaying customized messages when Alarms and Warnings are activated and deactivated. Limit Notifications are enabled by checking the Show Notifications checkbox in Gauge Setting dialog, and they can be customized by clicking on Configure Notifications button next to the checkbox.

Additionally, the application now has an automatic updates check feature. By default, it checks weekly during application launch, but this can be configured during installation on the same screen as adding a desktop shortcut. There is also a never option, if you do not wish to enable this check to happen automatically. You can also launch the check manually via Help → Check for Updates…​ menu option.

General Changes

Changes to Gauges, Panel Editor Tab and Monitoring View

  • New: Limit Notifications have been added to Classic Circle, Classic Quadrant, Modern Circle, Modern Semicircle, Bar, Numeric and Trend Chart gauges.

  • New: Modern Semicircle gauge type has been added.

  • New: Color selection has been added to all types of gauges.

  • New: Various customization options have been added for Trend Chart gauges.

  • New: Gauge Character Set and Gauge Style settings have been added to Panel Settings.

  • Changed: Text and Numeric gauge type has been divided into two gauge types. Text gauge type is optimized for displaying text values. Numeric gauge type is optimized for displaying number values as text.

  • Changed: Trend Chart gauges use a timestamp received from the Server instead of local time when adding new values to the chart. If the received timestamp is invalid, local time will be used instead.

  • Changed: Writing new values in Monitoring View no longer opens a dialog. Instead, writing controls and results are shown on the gauge.

  • Improvement: Gauges warn the user whenever they receive a DataValue with Bad StatusCode.

  • Improvement: Gauges warn the user if their signal is missing. Clicking on the warning will prompt the user to either remove the gauge or edit it to use another signal.

  • Fixed: Reducing the number of rows will remove gauges left outside the resized grid. The application will prompt the user to confirm such operation.

  • Fixed: A bug where Classic Quadrant gauges could prevent clicking on controls of nearby gauges has been fixed.

  • Fixed: A bug where gauges using signals based on Nodes of removed Source Servers could cause Panel Editor to become unresponsive has been fixed.

Changes to Source Servers Tab

  • New: Support for connecting to Servers via OPC UA HTTPS has been added.

  • Improvement: When removing Source Servers the user is prompted to also remove gauges that use any of the signals to be removed. If the user chooses to not remove such gauges, a warning is shown on them in Monitor Panel Editor.

  • Fixed: Modifying a Source Server such that its Application URI changes will no longer cause creating a new Source Server.

    OPC UA Servers are identified by their Application URI. Therefore, Monitor does not support adding multiple Source Servers with the same Application URI to a configuration. Attempting to change the Application URI of an existing Source Server to that of another existing Source Server will merge the Source Servers into a single Source Server.
  • Fixed: Certificate Authority (CA) certificates are no longer required to provide Certificate Revocation Lists (CRL) to pass certificate validation.

Changes to Signal Groups Tab

  • Changed: Collection Groups tab has been renamed to Signal Groups.

  • Changed: The active Signal Group is selected from a drop-down menu.

  • Improvement: Icons are shown for signals that are used by gauges.

  • Improvement: Address Space browser now supports selecting multiple Nodes and dragging them to a Signal Group.

  • Improvement: When removing Signal Groups or signals the user is prompted to also remove gauges that use any of the signals to be removed. If the user chooses to not remove such gauges, a warning is shown on them in Monitor Panel Editor.

  • Fixed: Newly added signals and Signal Groups must have unique names. This doesn’t affect signals and Signal Groups loaded from existing uamonitor-files.

    The user is prompted to rename Signal Groups that share a name. The name of a Signal Group is used to identify it and having multiple Signal Groups with a common name will cause unexpected behavior!

Changes to Certificates Tab

  • Improvement: Specifying the location of certificates directory in uamonitor-files has been made optional. If this information is not specified in the loaded configuration, the default certificates directory will be used instead.

  • Fixed: The list of certificates and their statuses are updated when accepting and rejecting certificates while adding a new Source Server or modifying an existing one.

Version 1.0.4

Build: 1.0.4-94

Release date: 04.08.20

Fixed issues which could prevent the application from starting.

Changes

  • Fixed: Certain initial value fetching logic had a race condition which could prevent the application from starting up.

Version 1.0.2

Build: 1.0.2-90

Release date: 07.07.20

Hotfix release for few issues found for 1.0.0.

The application version 1.0.0 stored the license.lic in wrong place when it was entered from the Help → Enter License, thus you will need to re-enter the license if you did so with 1.0.0. Alternatively you can copy it to <user.home>/.prosysopc/prosys-opc-ua-monitor/license.lic

Changes

  • Uses Prosys OPC UA SDK for Java version 4.3.0-1075 (https://downloads.prosysopc.com/opcua/Prosys_OPC_UA_SDK_for_Java_4_Release_Notes.html#version-4-3-0).

  • Fixed: Use system menu bar on macOS.

  • Fixed: License file is stored in correct location now.

  • Fixed: Linux and macOS versions can enter license via the menus.

  • Fixed: Removing a source server didn’t remove it’s signals, which could have lead the application to not start or shutdown properly.

  • Fixed: When adding a new Source Server the Certificate accept/reject dialog happens before connect (and the accept once button was removed as didn’t make sense in this application’s context).

  • Changed: Attributes and References side panel in Collection Groups is not expanded by default.

  • Improvement: Show remaining demo or evaluation time in the title bar.

  • Improvement: Removed the cannot connect dialog on startup, the info is visible from Source Servers view or from the gauges itself.

Plus a number of other small changes.

Version 1.0.0

Build: 1.0.0-80

Release date: 01.07.20

Initial release of Prosys OPC UA Monitor. Initial functionality was in the Prosys OPC UA Client Pro prototypes, but it was decided that a standalone application would be more suited for this kind of use-cases.