Release Versions
Mango 5.3.0 Release Notes (10/30/24)
-
Core
- Added the ability in the device browser to select all device properties to create points with them
- Added in the device browser a multi-select dropdown so the select all checkbox only selects the desired properties
- Add gRPC services for retrieving translations and UI bootstrap data
- Add a translation service to the Core
- Adds error messages into gRPC status messages, and encode translatable messages from exceptions into the grpc-status-details-bin trailer
- Fix bug which prevented restoring MySQL backups
- Improved SQL backup code with more tests to improve reliability and maintainability
- Fix to ensure the GUID never contains new line characters
- Fix bug in shutdown tasks which could prevent the shutdown of Mango indefinitely
- Docker image now runs as the non-root user "mango:mango" (999:999), enhancing security and minimizing potential vulnerabilities
- Docker image default user home directory changed from
/root
to/opt/mango-data
- Docker image working directory changed from
/opt/mango
toopt/mango-data
- New Docker deployments will create files folders as "mango" user
- For existing Docker deployments, ownership of Docker bind mounts must be migrated to the "mango" user to ensure proper access and functionality within the container
- Fix bug where changes to data point tags were not captured in the audit trail
- Certificate authority service can now be disabled by setting pki.ca.name=disabled in mango.properties
- The SSL/TLS/HTTPS connector will now bind to the address specified by web.host, but is also independently configurable via the ssl.host property
- Released Docker images now support multiple architectures: linux/amd64 and linux/arm
-
mango
group and user have been added to the Docker image - Allow the configuration of permissions to access individual gRPC services via the system permissions page
- Permission to access the gRPC data source service is now configurable via the system permissions page
- SQL database backup and restore now logs all output to files named sql_backup.log and sql_restore.log instead of to the console
- Spring Security is now enabled at a lower level on the Mango "runtime context" instead of just on the web context
- Support Mango JWT and OAuth bearer tokens for authentication when accessing gRPC services
- Fix misspelled property names, properties named rateLimit.rest..quanitity have been renamed to rateLimit.rest..quantity
- Add support for read-only read replica SQL database connections
- Fixed PKI certificate problems while trying to start up mango with property pki.enabled set to false
- Add gRPC service which allows retrieving the current user (com.radixiot.mango.core.UserService)
- Add gRPC service for querying data points using a set of tags (com.radixiot.mango.core.DataPointService)
- Added a way for selected tag columns to persist in the data points table view within the datasources
- Add properties (grpc.web.services.*) which allow configuring the routing of gRPC-Web calls to specific named channels
- Add properties (grpc.channel.*) which allow configuring named channels. Each channel can be configured with a target, deadline, TLS, certificates and keys
- Support Mango session authentication when accessing gRPC services via gRPC-Web
- Support anonymous authentication for accessing gRPC services (must be explicitly configured)
- Support configuring permissions for accessing gRPC services via the system permissions page
- Fix bug that prevented logging of crashes early in the startup of Mango
- Add properties that allow selective loading of installed modules (see modules.allow-list and modules.deny-list)
- Add the installation.immutable property which prevents Mango from attempting to create/modify/delete files in the installation directory
- Add a gRPC-Web proxy to Mango which can be disabled by configuring grpc.web.enabled in mango.properties
- Docker image size reduced from 735MB to 525MB
-
UI
- Fixed misalignment of marker icons and shadows for tile map markers
- Disable module upgrades via a system setting
-
EMS
- Add context help page to ems module pages
- New device table with property filters component available for layout configuration
-
MQTT Client DS
- Bug fix for MQTT persistent subscriptions
-
Persistent Pub DS
- Fix bug that prevented setting point value from the data source back to the publisher when multiple publishers were connected
- Fix bug on gRPC publisher that prevented the gRPC data source from adding/removing/updating points unless the publisher reconnected
- The gRPC publisher now supports sending a bearer token to authenticate. The token may be a Mango JWT or an OAuth token
-
UDMI Publisher
- UDMI device and point naming validation requirements adjusted to allow non BDNS and non DBO names
- Upgrade UDMI libraries to 1.5.1 to support new features from UDMI upstream
- Fixed bug where UDMI publisher unable to handle pointset config apply when there are disabled data points
Mango 5.2.1 Release Notes (08/27/2024)
-
Dashboard-designer, UI
- Disable functionality that allows super admins to give create/edit permissions for custom pages/dashboards to other users. Existing custom pages that allow non-superadmins to edit them will be sanitized and not allow AngularJS features to execute. The previous functionality can be re-enabled by setting the ui.permission-configuration-enabled property at your own risk.
Mango 5.2.0 Release Notes (07/22/2024)
-
Core
- Removed Mustache configuration templating system.
- Fixed error returning the system load average from the REST API when internal.monitor.enableOperatingSystemInfo property is not enabled.
- Fixed bug that resets the last login datetime when the user gets updated.
- Improved error messages returned from CSV uploads.
- Disabled process event handler by default; must manually re-enable via mango.properties.
- Fixed Mango startup issue when SSL is disabled.
- Tagged Docker image using major version number and major/minor version number during releases.
- Fixed path traversal security vulnerability in file store upload functionality.
- Added support for configuring Mango as an OAuth 2.0 resource server.
- Added support for backup and restore of database using Postgres.
- Reworked point value rollup and statistics code to reduce memory consumption and fixed start value bug.
- Fixed error when copying a DataPoint.
- Stored GUID in Mango data directory for better hardware/container migration.
- Reworked email sending framework and added system permission for email sending.
- Documented internal.monitor.diskUsage.enabled property for Mango NoSQL database.
- Updated Mango NoSQL module to respect internal.monitor.diskUsage.monitorTsdb property.
- Added warning about XSS vulnerabilities in Mango help pages for non-superadmin users.
- Added revision field for data points in persistent-pub-ds for synchronization.
- BugFix: Improved error handling and detailed messages for data point editing in controlcore-ds.
- Added revision field to data points on source data page in controlcore-ds.
-
UI
- Fixed issues with CSV upload error handling and feedback display.
- Fixed duplicate errors and script results in event handlers.
- Improved UI responsiveness and fixed various UI bugs related to data point editing.
- Fixed issues with watchlist historical point values download and watchlist screen functionality.
- Added features for downloading real-time data in Analytics -> Watchlists.
-
Mango
- Added initial support for running PostgreSQL or MySQL on Mango Database Unit Tests.
- Fixed issues with publisher modal and XID display on upload modal.
-
Mango API
- Fixed bugs related to bulk creation of data points and EventDetector errors.
- Updated CSV upload important notes on datasource help page.
-
Mango NoSQL Database
- Updated ias-tsdb library to improve memory efficiency.
-
Radix TSL
- Upgraded TSL library to version 0.5.
- Implemented optimizations and purge functionalities for TimeSeriesIDs on timescale and ClickHouse.
-
EMS
- Added support for site filter property in platform manager map.
-
Line-Protocol-DS
- Fixed number parsing issues in Line-Protocol datasource.
-
Meta-DS
- Improved meta data source event execution.
-
Persistent-Pub-DS
- Fixed persistence issues with "Publish point events" and synchronization in gRPC publisher.
- Fixed bugs related to null color sets in gRPC publisher.
-
Watchlist
- Enhanced Watchlist features including timezone support, real-time data point endpoint improvements, query support, and download options.
Mango 5.1.4 Release Notes (06/04/2024)
-
Core
- Fixed path traversal security vulnerability in file store upload functionality.
Mango 5.1.2 Release Notes (05/09/2024)
-
Bacnet-ds
- Fixed synchronization issue with BACnet local devices, which may lead to deadlock. Improved logging.
-
Core
-
Mitigated shutdown hangs on shutting down Mango due to gRPC server not closing properly.
-
Virtual-ds
- Validations were added for Virtual Data Points; the Data Type and Start Value fields must be of the same type.
-
Mango
- Added
toString
method toMangoOAuth2User
orMangoOidcUser
.
- Added
-
-
Ems
- New site table with property filters component available for layout configuration.
- Enhanced device details page and configuration device Type Page to use layout strategy.
- All values components do not work in the new Layout for Device Details Page.
-
Ldap-authentication
- Improved fallback behavior when LDAP server is unavailable, making fallback to authentication against the local database configurable via the
ldap.authentication.allowFallback
property.
- Improved fallback behavior when LDAP server is unavailable, making fallback to authentication against the local database configurable via the
-
Line-protocol-ds
- Fixed number parsing while receiving multiple lines of data on Line-Protocol datasource.
-
Meta-ds
- BugFix: Race condition for script execution fixed.
-
Mqtt-client-ds
- Fixed help files describing how to set the MQTT publisher.
-
Persistent-pub-ds
- Marked point values as logged when using interval logging.
-
Persistent-pub-ds
- gRPC publisher: Fixed bug where publisher would endlessly disconnect and reconnect from the data source. This issue occurred when a point value was stored in the queue which belonged to a point that was no longer published.
-
Watchlist
- Updated help Watch List Builder documentation UI.
Mango 5.1.1 Release Notes (02/20/2024)
-
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.
- Restore existing state: This will persist the current event state, and restore it on startup. Active events will
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 {MA_DATA_PATH}/logs/pubber/{PUBLISHER_NAME} to {MA_DATA_PATH}/data/udmi/{PUBLISHER_NAME}.
- 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/{id} 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/{xid}/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.