Latest Release Notes

October 20th, 2023


Release Versions

Mango 5.1.1 Release Notes (02/20/2024)

Release Notes

  • Access-control

    • Option added to disable motion detection for cameras
    • Unused camera parameters removed from UI
    • Fix bug where play button not refreshing livestream view for selected camera
    • Persist livestream view when closing dialog
    • Option added to disable motion detection for cameras
    • Fix bug where edge cameras and sites not deleted from cloud
    • pcsc-library upgraded to v1.1.0-beta.
    • Socket leak issue in pcsc data source fixed
  • Controlcore-ds

    • BugFix: The deleted code is returned, which contains the data point modals, on the source data page.
  • Core

    • Fix bug where token version of the user table was incorrectly updated.
    • Add REST API "POST /rest/current/certificate-service/install" which allows the installation of a signed certificate
    • Optionally allow Ambiguous paths on URLs
    • Upgrade resilience4j from v1.7.1 to v2.2.
    • Migrate the old default home URL to the new one.
    • Add db.h2.filesystem property that controls the H2 filesystem, the default behavior remains the same. Using "async" instead of the default "file" should alleviate issues (ClosedChannelException, IOException) caused by interrupting threads which are accessing the H2 database.
  • Datafile-DS

    • BugFix: The modal was removed when adding a CVS, only the warning or error was left in Data Sources
  • HTTP-DS

    • BugFix: Adds IP Address Masks Help in Data Source Help for httpJsonReceiver and httpReceiver
    • BugFix: In the HTTP Receiver Data Source Help, the was removed to avoid confusion
    • BugFix: IPV6 is added as default, on the Data Sources page, in the data source type HTTP JSON Receiver and HTTP receiver data source
    • Improvement: Addition of help for the HTTP Sender on the Publishers page
    • Allow httpSender Content-Type header override
  • LDAP-authentication

    • Add setting ldap.authentication.allowFallback which controls fallback authentication when LDAP authentication fails, see help page for details. The default behavior has changed so that when the LDAP server is unavailable, authentication will now fall back against the Mango user table.
  • MQTT-client-ds

    • Raise an instantaneous event when an error occurs publishing an MQTT message to the queue
  • Scripting-ds

    • Fixed broken help link in Mango JavaScript from help/scripting-editor/help to helps/scripting-editor/help
  • UDMI-publisher

    • Fix usage of physical serial number
    • UDMI Schema upgraded to v1.5.
    • Support explicit UDMI gateway functionality
    • UDMI Client driver upgraded to v1.5.
    • Fix discovery scan for non-IP BACNet devices
    • UDMI device registry feature disabled
  • UI

    • BugFix: Fixed help within Event handler
    • Add UI to PKI services in system settings for creating CSRs and issuing certificates from CSRs. An issued certificate can also be uploaded and installed.
    • Adjusted maDropDown to reduce the maximum height to 100px instead of 8px, improving the visual space around dropdowns.
    • BugFix: Fixed help within Event detector
    • Fixed an issue where the revert button was not working correctly on the data source page, within the event alarm levels tab.
    • Added the corresponding information to the env Canada help files
    • BugFix: The change of the index to 120 was applied. In the event that the z-index is 81, an error appears in which the help module, when making the screen smaller, will go below

Mango 5.1.0 Release Notes (01/03/2024)

Modbus-ds

  • Fixes a bug in the Modbus serial data source that occurred when several data sources shared the same serial port creating a race condition and ultimately the data source to be unresponsive.

Maintenance-events

  • Validations of type min, max were introduced in the inputs with time value

EMS

  • Fix to not show a device type when is already removed

UI

  • Fix on API calls when an admin or test role user attempts to edit a super admin role user
  • Fix for user role management was optimized to prevent excessive API calls during the editing of users.
  • Fixed editing an icon on the edit menu item
  • Add help panel information for administration configuration import export page

Radix-tsl

  • Upgrade Radix TSL dependency to 0.4.

Access-control

  • Backport missing changes to Mango 5 access-control

BACnet-ds

  • Fixes to BACnet data source using the Mango executors and the system super-admin security context for the BACnet Device BROWSER device scan

MQTT-client-ds

  • Validate MQTT Datasource json path fields
  • Add a MQTT publisher to the existing MQTT data source module (mqttClientDataSource)
  • The MQTT publisher supports MQTT v3.1.1 and v5.
  • Supports “last will” messages for MQTT v3.1.1 and v5.
  • Supports new MQTT v5 properties such as payload format indicator, content type, message expiry interval, correlation data and user properties
  • Supports TLS with certificates/keys from the PKI services
  • Option to enable client authentication via X.509 certificate (mTLS/Mutual TLS)
  • Supports WebSocket transport and WebSocket over TLS
  • Supports including tags in the payload, these are combined from the data point, the publisher and from the published point
  • Supports publishing to dynamic topic names based on attributes from the data point
  • Supports publishing data point events and point attributes
  • Uses a persistent (on-disk) queue to store point values and ensure reliability
  • Uses HiveMQ client library
  • Update the existing MQTT data source
  • Now uses the HiveMQ client library
  • Eclipse Paho client library has been removed
  • Now supports certificates/keys from the PKI services for TLS
  • Option to enable client authentication via X.509 certificate (mTLS/Mutual TLS)

Virtual-ds

  • Addition of help documentation for Virtual Data Sources

Maintenance-events, UI, Watchlist

  • Redesign of Maintenance Events screen
  • Support for creating Maintenance Events by a watchlist (parameterized is not supported)
  • Separation between STATIC (Data Source and/or Data Points) and WATCHLIST Maintenance Event Types
  • Components changes for watchlist support on Maintenance Events
  • Configuration addition for maven-remote-resources-plugin for load order
  • Update on test base to support load order on modules maintenance-events

Core

  • Docker image size reduced from 1GiB to 740MiB and a new mango property added 'internal.monitor.enableSqlDatabasePartition=true' to be able to disable the SQL partition monitor
  • Fixes an infinite loop bug that creates megabytes of logs per second on a Modbus communication error
  • Fix the schema version when upgrading between Mango v4.3.x and v4.5.1 to Mango v5.0.0 +
  • Add logging when the license is invalid
  • Remove rate limiting of instantaneous events
  • Fixes an infinite loop bug that creates megabytes of logs per second on a Modbus communication error
  • Fix rest endpoints to resolve oauth
  • The event persistent setting is used for deactivating events within the application instance. This allows persistence events on Mango restart and still allows deactivating events when a data point or data source is disabled because the device is no longer being monitored.
  • We can configure the default persistence in the system settings when mango crashes, when mango exits cleanly when restarting via the UI or REST, when stopping/starting the DP via UI or REST, and when stopping/starting the DS via UI or REST. We can also override these settings by enabling the override checkbox and choosing the specific behavior for that DP, DS, or restart.
  • The options for the persistence are:
    • Restore existing state: This will persist the current event state, and restore it on startup. Active events will remain active and will not be re-raised on startup. Detector timers will resume from their previous position and previously seen point values will be taken into account.
    • Re-raise events immediately: Events will be deactivated on shutdown, any active events will be re-raised immediately on startup.
    • Re-raise events if the condition occurs again on the next update: Events will be deactivated on shutdown, and all states cleared. Events will only be raised if the condition occurs again on the next poll, point value update, or timer timeout.

Version 5.0.3 (10/17/2023)

Bug Fixes and Improvements

  • Fix the bug where active schedules do not return to normal at midnight.
  • Fixed the issue where the published points table affected the publisher edit form state.
  • Fixed the issue where validation messages did not appear when editing multiple data points.
  • Fixed the issue where editing data points didn't work after the first edit.
  • Fixed the help panel action buttons hidden by the top bar.
  • Fixed a bug on the line protocol data source where the event detector is triggered and a tag change occurs, ensuring the latest value of a data point is properly handled and cached.
  • Fixed a bug upgrading watchlist permissions where roles were created with incorrect names due to missing translation.

Performance Improvements

  • Improved performance for downloading data points and related data by minimizing database calls.

Documentation and Help

  • Created the General Publishers Help File.
  • Updated getting started help images to use the new Mango 5 UI.

User Interface Enhancements

  • Added a new detailed toast message when the user uploads a CSV file with data points and related data.
  • Added a feature to override persistent connection information when updating UDMI system settings.
  • Added system settings for events export configuration.
  • Added a button for the events table to download data in reduced CSV format.
  • Only a superadmin can create a token for another user; previously, this was controlled by the "edit" permission on the user. Any user with the "edit" permission can still revoke tokens for another user, and a user can always revoke their own tokens.

Library and Dependency Updates

  • Updated UDMI schema to version 1.4.1-55-ge1020964.
  • Upgraded the OSHI library to version 6.4.3.
  • Upgraded the JNA library to version 5.13.0.
  • Updated to the latest ias-tsdb version 1.6.5, which fixes bugs when reloading links.
  • Upgraded to ias-tsdb version 1.6.6, which fixes an error (NPE) thrown when reloading a shard and the directory containing the shard does not exist.
  • Upgraded the Jetty web server to version 9.4.53.v20231009.
  • Replaced the j-interop library with j-interop-ng.
  • Upgraded the org.openscada.opc library to version 1.5.0.
  • Closed and destroyed session and server connections properly to prevent connection leaks.
  • Improved OPC Quality code handling.
  • All connections now use RPC_C_AUTHN_LEVEL_PKT_PRIVACY.

UDMI and IoT Integration

  • Added support for ClearBlade as an IoT provider.
  • Updated UDMI schema to version 1.4.1-70-g01ac2f20.
  • Changed the device logs directory from /logs/pubber/ to /data/udmi/.
  • Database will now be used to store persistent connection information instead of a file (persistent_data.json).
  • Allowed users to change persistent connection information per device using the UI.

Testing and Test Base

  • Added methods to create mock event detectors on the Mango test base.
  • Added tests for switching users.

Version 5.0.2 (06/20/2023)

  • Set unique thread name for shared executor threads
  • Improve performance for downloading Data points and related data, by minimizing DB calls
  • Fixed bug where the order was not being respected in extended data point queries
  • Properly logging if an exception is thrown while saving an audit event into the database

Version 5.0.1 (06/07/2023)

  • Update links to Mango v5 documentation site

Version 5.0.0 (05/23/2023)

  • First release of Mango 5.0.x

  • Mango 5.0.x now requires Java 17

  • Enable SSL/TLS on the Jetty webserver by default

  • The Jetty webserver SSL/TLS key store now defaults to a keystore created by the Mango PKI service

  • Add Mango PKI service for handling X.509 certificates and keys

  • Add gRPC server to Mango (enabled by default on port 9090)

  • Add protobuf models for Mango data points, events, and point values

  • Support registering an EventHandlerInterface with the EventManager which can handle all event types

  • Add stream() methods to AbstractBasicVOService and AbstractBasicDao

  • Add additional parameters to DataPointListener methods that allow checking if the value was logged etc

  • Upgrade commons-text library version to 1.10.0 (mitigates CVE-2022-42889)

accessControl

  • Upgraded for Mango 5.0.0

advancedScheduler

  • Upgraded for Mango 5.0.0

asciiFile

  • Upgraded for Mango 5.0.0

BACnet

  • Upgraded for Mango 5.0.0

chroniclePointValueCache

  • Upgraded for Mango 5.0.0

cloudConnect

  • Upgraded for Mango 5.0.0

controlcore

  • Upgraded for Mango 5.0.0

dashboardDesigner

  • Upgraded for Mango 5.0.0

dataFile

  • Upgraded for Mango 5.0.0

dnp3

  • Upgraded for Mango 5.0.0

egauge

  • Upgraded for Mango 5.0.0

ems

  • Upgraded for Mango 5.0.0

envcands

  • Upgraded for Mango 5.0.0

excelReports

  • Upgraded for Mango 5.0.0

graaljs

  • Upgraded for Mango 5.0.0

groovy

  • Upgraded for Mango 5.0.0

Haystack

  • Upgraded for Mango 5.0.0

http

  • Upgraded for Mango 5.0.0

internal

  • Upgraded for Mango 5.0.0

ldapAuthentication

  • Upgraded for Mango 5.0.0

lineProtocolDataSource

  • Upgraded for Mango 5.0.0

log4jDS

  • Upgraded for Mango 5.0.0

log4JReset

  • Upgraded for Mango 5.0.0

maintenanceEvents

  • Upgraded for Mango 5.0.0

mangoApi

  • Upgraded for Mango 5.0.0

  • Add endpoint /data-points/query/extended GET and POST to get extended data points csv

  • Add endpoint /data-points/bulk/extended to bulk edit extended data points csv and json

  • Add endpoint /data-points/bulk/extended/ methods to delete, update or get bulk operation

  • Add endpoint /event-detectors/query-data-point-rql to get event detectors csv using RQL against data points including tags and data source fields

  • Add endpoint /watch-lists//data-points/extended to get extended data points csv for a watchlist

  • Add endpoint /published-points/query-data-point-rql to get published points csv using RQL against data points including tags and data source fields

  • Add endpoint /published-points/bulk to bulk editing published points csv

  • Fix bug to create data points and event detectors in the same bulk

mangoESConfiguration

  • Upgraded for Mango 5.0.0

MangoIOTools

  • Upgraded for Mango 5.0.0

mangoNoSqlDatabase

  • Upgraded for Mango 5.0.0

  • Use latest ias-tsdb version 1.6.3

  • Support saving backdates in savePointValues(Stream)

  • Retry locking series/shards in savePointValues(Stream)

mangoUI

  • Upgraded for Mango 5.0.0

  • Updated the menu layout to provide greater screen area

  • Menu redesign to provide a more modern look and feel

  • Enhanced menu function to allow multiple-level menu structure

  • Added more descriptive menu headings to make finding specific functions easier

  • Introduced new Mango Light and Dark themes, adding new colors and fonts to create a more modern look and feel

meta

  • Upgraded for Mango 5.0.0

modbus

  • Upgraded for Mango 5.0.0

mqttClientDataSource

  • Upgraded for Mango 5.0.0

mqttSparkplug

  • Upgraded for Mango 5.0.0

nashorn

  • Upgraded for Mango 5.0.0

onewire

  • Upgraded for Mango 5.0.0

opcda

  • Upgraded for Mango 5.0.0

persistent

  • Upgraded for Mango 5.0.0

  • Add new gRPC protocol support for persistent publishers and data sources

  • Support publishing events (gRPC protocol only)

  • Use a persistent queue for published point values and events (gRPC protocol only)

pid

  • Upgraded for Mango 5.0.0

pop3

  • Upgraded for Mango 5.0.0

radixTsl

  • Upgraded for Mango 5.0.0

scripting

  • Upgraded for Mango 5.0.0

serial

  • Upgraded for Mango 5.0.0

slackPublisher

  • Upgraded for Mango 5.0.0

snmp

  • Upgraded for Mango 5.0.0

sqlConsole

  • Upgraded for Mango 5.0.0

sqlds

  • Upgraded for Mango 5.0.0

ssh

  • Upgraded for Mango 5.0.0

sstGlobalScripts

  • Upgraded for Mango 5.0.0

TCPIP

  • Upgraded for Mango 5.0.0

virtualDS

  • Upgraded for Mango 5.0.0

vmstat

  • Upgraded for Mango 5.0.0

watchlists

  • Upgraded for Mango 5.0.0

zwave

  • Upgraded for Mango 5.0.0

Important Information about Future Upgrades

Beginning in version 5 we have introduced new unified versioning. Everything is now being released in blocks. Hence any updates (regardless of if they are in the core or a module) will be released in tandem as a new version. For example should the watchlist module receive a minor update, a new bundle would be released of the module and core as 5.0.1.

Copyright © 2024 Radix IoT, LLC.