Adding env property to control iFrame access via Http headers
Enhanced Spring Security
Adding env property to control X-Frame-Options headers
Better error handling and responses for invalid web/REST requests
Adding Important and Warning alarm levels
Adding locale and Name settings to User
Ability to send mail to Mailing List for alarms above a desired level
Events raised by Event Detectors now contain data point Name + Device Name instead of just Name
REST v2 api
Ability to add comments to Data points, Events and Json Data store entries
Auto generated XIDs are now UUID values with the XID prefix
Improved help files
Adding extension support for ma.bat (Windows)
New chart settings for data points
New Licensing Simplified point restriction licenses to have one limit for all IAS data source modules
Prevent extreme sets – New data point property which prevents a user from sending a value outside the range to the edge device if enabled
Adding gpm and kWh Units
Improved code generics to simplify new module development
Adding Web Socket endpoints for CRUD operations on all database tables
Adding database table row counts as system metrics for most tables
Adding System uptime as internal metric
Image value enhancements for Image type data points
Log4j upgraded to Version 2 for increased performance and lower memory use
Jetty upgrade to 9.3.11
Spring Core upgrade to 4.3.7
H2 Database now case sensitive
New Module Download Level to allow access to ‘Development’ and early release modules. See the System Information area on the System Settings page.
Prevent saving a data source if the user saving doesn’t have permissions after the source is saved.
Support for HTTP/2, note that web browsers will only use HTTP/2 if you enable ssl.on and the ssl.alpn.on env properties
Keep point hierarchy folder IDs the same wheneever possible.
Added script type to set point event handler
Fix for double .zip.zip backups of H2 databases
Beta release for Evaluation and Testing of new UI
Fix to ensure publishers are not saved with previously deleted data points
Fixing bug in publisher saving
Adding validation to publisher snapshot period type
Added templates, virtual serial ports and jsonData to json backups
Touched up UI for templates on edit data point page
Fix for json import task importing new core components depending on new module components
Adding ‘cancel’ button for upgrades.
Bugfix for failing first database backup on Windows machines
Fix to allow deleting empty Point Hierarchy folders whilst editing
Upgrade advanced settings are displayed by default now
Upgrade core-private for new login process
Modularize Event Detectors
Modularize Event Handlers
User passwords upgraded
Adding new publish type of Logged only, where only values saved to the database are published
Improved aborted poll handling, will only raise 1 event on the first aborted poll and only log the count every 5 minutes
Display aborted polls on data source edit page
Allow publicly available JSON data into the JSON data store
Improved Rejected task logging with real names of most aborted tasks.
Adding query timing logging via db.useMetrics env property
Adding MySQL Backup/Restore ability
Adding indexes to data points table for performance
No longer indenting JSON output from REST api, use rest.indentJSON=true env property to enable
Improved COUNT query performance
No default colors in templates
Improved permissions filtering via RQL Rest queries
Publisher Alarm Levels now configurable
Update current user’s settings when saving/editing user
Improve unauthorized access logging
Split Excel point value export into multiple sheets based on max rows per sheet
Improved Event/Alarm purge performance
Bugfix to allow deleting point values via Excel import
Only allow GET requests during startup
Adding null comparisons and NOT LIKE for RQL: like(^pattern)
Adding rolling process logs for use in modules
Upgrade all DAOs to be able to publish modification results to WebSockets
Adding Audit system to be able to restore configuration to a known state/date
Making WebSocket definitions modular
Adding CORS support for core as env.properties
Bugfix to prevent importing databaseSchemaVersion in JSON, causing database upgrade errors
Adding User Audit Events
Adding Publisher Audit Events
Bugfix to allow migration of JSON data SQL table
Reduced logging for aborted polls on polling data sources in systems with large amounts of alarms
Modified alarm levels, DO_NOT_LOG is now handled but not logged, while IGNORE now disregards the event entirely
Users now opt out of alarm emails with their “Send alarm emails” setting set to “Ignore.” enabling opting in to NONE events
Adding env property runtime.shutdown.highTimeout to limit the time waiting to shutdown for high priority tasks
Adding env property runtime.shutdown.medLowTimeout to limit the time waiting to shutdown for low and medium priority tasks
Newly created H2 databases are case insensitive
Adding env property db.forceUseIndex which will force the use of indexes on data point RQL queries for performance improvements
Adding env properties db.fetchSize and db.stream to experiment with memory footprint reduction (defaults to disabled)
ETag Support for caching pages
Fixes to improve keeping Realtime Cache Up-to-date with Mango Point States
Change H2 web console startup script to use same location as Mango’s H2 database
Added robots.txt to stop web crawling
Changed data point permissions editing area to support more complex queries and null vs empty permissions
Added support for Apache Cassandra point value storage (CassandraDB module required)
Improved startup times on some databases with provisions made for improving all databases
Support for more complex queries when assigning permissions to data points
Adding a Serial Server socket bridge to accept incoming sockets and forward to serial ports
Retrieve running data sources more efficiently
Fix for aborted polls on polling data sources in systems with large amounts of alarms
Fixing bug in upgrade and create-tables scripts for MySQL
NoSQL Database env.property to change file access type for improved performance on various systems.
Fixed bug in multi-threaded startup that would fail to initialze some data sources if the number of threads used was greater than the number of running data sources.
Added JSON Data for custom data storage
Replacing Spline plot type renderer on for JFree Image Chart to reduce artifacts on plots, Spline type lines are now rendered as Lines.
Adding db.nosql env properties to allow setting the location of the NoSQL data store
Fixed bug where HTML5 pages didn’t save URL parameters on a User’s home URL
Fixed bug where OSX could have problems with XHR requests from the UI
Added tooltips to all icons on HTML5 page toolbar
Adding Angular support for new Mango Angular Directives
Startup script change to create logs directory on first run to capture script output
Fixed charting for Safari and iOS via AmCharts
Adding multi-threading to data source initialization
Change to allow i-frame embedding of Mango hosted pages on Mango Hosted pages
Change to ensure NONE level events do not make it into the User’s Live events list
Added latest poll times and durations to data sources edit page under the ‘Runtime status’ area
Added env property runtime.datasources.logStartupMetrics to allow output of startup times for data source groups
Added device name to event messages for data points
Added env property runtime.realTimeTimer.defaultTaskQueueSize to allow optionally queuing up tasks of the same type
Added env property runtime.realTimeTimer.flushTaskQueueOnReject to optionally flush the stale tasks from the queue
Raising events for High priority thread pool’s rejected tasks
Fixed bug where copying a running data source would result in the points not actually being running
Fixed bug where the PlainRenderer would fail to render some units
Improved performance of the UserEventCache that caches events for the logged in Users
Improved performance of the EventManager’s active events list
Added system settings to allow Site Analytics code to be added into the HTML of all pages
Fixed bug where deleting a user linked to an email event handler would break the event handler
Adding support for HTML5 Audio to play Alarm sounds on all pages
Performance enhancements to improve maximum poll rates for data sources
Fixed bug where uploading point values was being reject as a security breach
Fixed bug where failures during stopping a datasource could cause it to become out of sync with the UI
Fixed bug where adding points via the Data Source discovery tools could cause a spurious pop up that would not allow saving the point
Now able to toggle mute via HTML5 pages, still cannot play sounds though
Fixes to Linux startup scripts for installations with spaces in the path
Added ability to configure the search path and regex for serial ports
Fixed bug when setting Low and Medium priority thread pools to large values would cause mango to fail to restart
Upgrading ma-priv library for better startup error logging and JVM Compatibility check
Adding additional utility methods for extracting Regex capture groups from Strings
Fixed bug in dataTypeOptions tag where onChange wasn’t working if the onChange code was missing a ;
Trimmed down event data that gets sent to UI via longpoll to improve performance
Improved REST error feedback in Response headers and log file
Upgrade Jetty to 9.2.12.v20150709
Adding Spring Security
Jetty JSP Engine configurable/tunable via env.properties
For better JSP performance set development=false if you do not need runtime compilation of JSP files
Fixed Purge Override bug where data source purge override was not being respected.
WebSocket Ping/Pong connection testing to ensure dead connections are cleaned up
Improved feedback for Data Point Import via CSV
Fixed MySQL bug when bulk setting data point permisisons
Fixed bug where 404 errors were redirecting the user to the login page.
Discarding NaN values when discarding extreme values logging property is set for Numeric points.
Added ability to override web.xml via placing a modified file at overrides/web/web.xml
Added ability to enhance the base web.xml by placing override-web.xml into overrides/web/override-web.xml
Added new permission groups to replace legacy permissions
Upgraded startup/shutdown/restart scripts to log to logs/ma-script.log
Improved reliability of scripts to stop and start Mango
Adding template system to template Data Point creation.
Data Point Edit page now changes Point Settings options when data type is changed
Added CSV export feature for all Mango elements to be exported and imported from a CSV definition, not all elements yet support this feature
Added new Module Element Definitions for Templates, Rest Models and Rest JSON deserialization so new Modules can leverage these features
Added ability for Data Source modules to allow exporting of their data points as CSV and JSON
Added new states for Modules to use: Install and Upgrade
Improved Scripting functionality by streamlining old system and adding new Utilities for Data Point and Data Source management
Integration of RQL parsing via AST
Various security enhancements
Upgrade AmCharts to 3.17.2
Added ability to check for upgrades, and install upgrades and new modules locally
Exposed medium and low priority work queue items
Upgraded Serotonin JSON to 2.0.8
Fixed swagger to work from other than localhost
Upgraded Serotonin Utils to 2.0.8
Upgraded to Jetty 9
Improved JSP Performance by changing/upgrading Engine
Added status servlet to serve Mango application Status in JSON format at /status/mango.json
Upgraded H2 to 1.4.181
Upgraded Spring to 4.0.5
Upgraded serotonin-utils to 2.1.3
Added security to viewing data sources and data points so only users with proper permissions can see them
Added additional links to Alarm Report table to allow clicking through to item of interest in event
Added filter action to Alarm Links at top of page when multiple alarms are present
Added list of available Units to select for each point
Added Range Event detectors for Numeric points to alarm when values remain within or outside of a range
Added Not higher than option to High Limit event detector
Added Not lower than option to Low Limit event detector
Added ability for Plain Text Renderer to use Units if defined as suffix
Added css and favicon to url versioning system to ensure browser cache-refreshes on core updates
Added some protective measures to ensure users with multiple tabs open don’t clobber points and data sources, only 1 tab is officially supported
Removed upgrade for MySQL PointValues table from MyISAM to InnoDB (users are expected to do this manually if desired)
Fixed Help Window from floating around after clicking a linked help file.
Added additional methods for scripting and meta points: (pointValuesBetween, pointValuesSince, pointValueBefore, pointValueAfter)
Added additional method for point statistics in scripts: getStats(from, to)
Fixed bug where Units were being squared on copy.
Increase timeout to 20s on Alarms Report page for improved reliability on very large installations
Fixed bug where PointHierarchy Importer was running and failing silently on every JSON Import
Changed Point Value CSV Export format to match Excel export format
Fix to Numeric Point Wrapper’s getStats method to correctly compute the end value for the period.
Improved database size reporting on system settings page
Added DateTimeUtility for Meta Data Scripts
Fixed bug where DO NOT LOG Alarm levels were being added to the Database when they Returned to normal.
Changed Point Value import to ignore Blank and Empty XLS and XLSX rows.
XSS (Cross Site Scripting) measures implemented
Fixing bug in Configuration backup where name would start with file separator
Adding ability to backup and restore H2 databases
Fixed bug where Publisher’s that failed to initialize properly were rendered un-editable
Modified data type select tag
Fixed bug when using H2 and filtering Data Points, Data Sources or Alarms tables
Changed all filtering to be case insensitive
Fixed bug where importing Binary values would fail
Fixed bug where point value getValuesBetween query was returning a slightly different value than the point value count values between
Slight improvements to the UI table auto formatting
Added Database storage for Logs
Added NoSQL access for log storage
Fixing UrlSecurity filter code and filter order to allow Anonymous access to pages
Removing database row ID from excel export and data import to comply with NoSQL standards
Fixed bug where No Change and No Update Event Detectors were showing invalid durations
Added checkbox on point details to allow disabling the history view of cached data.
Now pre-loading Chart images for Graphical Views to reduce flashing on update.
Changed restrictions on Data point name and device name length to 255 characters.
Added H2 as default embedded data base
Changed Event Report’s Acknowledge All and Silence All to perform the operation on the data contained in the report table
Removed Http Proxy and SMTP passwords from system settings export, if required to import use: emailSmtpPassword and httpClientProxyPassword for the json keys
Added ability to purge all events from system settings page
Cleaned up purge buttons to be more informative on system settings page
Added purge now options to all data sources
Added some helpful features for developers to use the NoSQL Proxy for Database Type Modules
Added ability to disable Data Type drop down menu JSP Tag using the ‘disabled’ attribute
Fixed bug in editing Multistate Points where the value of 0 might be confused with an empty value
Fixed bug in editing Data Sources where the Data Source points list filters would be reset upon save.
Added ip address of user to Login Event that is then viewable on Alarms Page.
Added feature to session cookie that allows users to login to multiple mangos on the same host at the same time (Upgraded ma-priv to 1.1.6)
Enhanced in-memory logging
Improved Startup/Shutdown pages to show more logging information
Skipping version to start new versioning plan. Even numbers are full releases and odd numbers are development releases.
Fixed bugs in Point Hierarchy importer to allow merging of folders. Folders with the same name are merged into system. Points duplicated across folders will only be saved as the last folder they are stored in.
Renamed Import/Export icon to Configuration Import/Export
Upgraded ma-priv to 1.1.5 due to ssl, startup and shutdown enhancements
Upgraded serotonin-utils to 2.0.1 to capture new Serial Port stream enhancements that improve reliability
Adding shutdown button to modules page and creating startup/shutdown pages to show users the system progress during these times.
Added ability for administrators to switch user from the Users page
License bug where web server was loaded before license and was always limiting ip addresses to 3
Changed browser to open immediately to show startup screen
Fixed bug at startup where some conditions could cause Mango to hang if an error was detected. Now Mango should shutdown after fatal errors during startup.
Added jSSC Serial Port library for easier use of serial port, RXTX has now been removed from the core and placed into any modules that still require it.
Fixed bug in Event Report View where custom event types were failing to show up
Added help to Chart view on data point details page to explain the Chart Servlet feature
Cleaned up css styling on data source page
Fixed bug on Data Source page where data source points table was leaving extra columns from previously viewed data sources
Fixed bug on Data Source page where the enable/disable light could get out of sync with the actual state of the data source
Fixed bugs on Data Point Settings tab where both the Purge Override settings and Discarding Extreme Values were not saving.
Added db.useMetrics env boolean property to allow all queries to report times via the INFO log level.
Fixed bug in JScience Library where any units with a 4 in the numerical multiplier would fail to load.
Added workaround for bug on pages that try to hide() a node that isn’t there. This used to crash the page, now it logs the error to the js console if it exists, otherwise it is silent.
Added SystemSettings Events to notify on Settings Change or Remove, this is a implementable interface for modules/core classes to use if desired SystemSettingsListener and SystemSettingsEventDispatcher
Moved UI performance settings into its own System Settings Area
Adjusted Point Hierarchy importer to allow merging of folders. Folders with the same name are merged into system. Points duplicated across folders will only be saved as the last folder they are stored in.
Fixed bug in All Data Points List where after editing a data source the filter text remained but the filter was reset
Added feature to DataPointRT to allow the use of a custom timer in Interval Logging. This can be useful when running simulations where time does not depend on Real Time. (Meta Data Point History Generate is one Example)
Fixed bug so alarms report page shows same alarms as legacy alarm page.
Fixed bug so sorting on Data Source and Data Point tables works properly
Added Do Not Log level for Alarms, this will not write anything to the database but will still fire events to be handled
Added ability to import/export System Settings
Added fine grain control for purging events on alarm level and type
Changed showHeader and showToolbar url parameters to work without having to add them explicitly to the page tag.
Version 2.1.2 Fixed bug that would cause copying data points with ConvertingTextRenderers to fail
Version 2.1.1 *Fixed bug when upgrading from an older version using a MySQL database
Fixed connection time out issue with MySQL
Improved MySQL data base performance for large number of events
Added a new event detector for Alphanumeric points that uses regex expressions to trigger an event
Bug fix to enable binary point values in Meta points and Scripting points
Enabled Mango to run with SSL for secure HTTPS browser connections
Auto export of the json configuration to a file which can then be remotely backed up.
Upgraded User page � users to be copied and set bulk permissions for each data source
Fixed a bug that prevented non-admin users from changing their password
Enabled a URL tag that disables the Mango header and menu | ?showHeader=false&showToolbar=false
Updated Event Detector emails to have more descriptive subjects
Replaced Engineering Units with JScience Units and include unit conversation
Updated all data point drop down list throughout Mango to use searchable lists
Upgraded Active Alarm display at the top of every page
Added Alarm Report to allow for filtering and searching alarms
Reworked Data Source area for easier modification of points and data sources
Change PointValues and PointValueAnnotations tables to InnoDB in MySQL
Fixed missing graphic when using Serial Port Widget
Upgraded Dojo frontend library to 1.9.1, added DGrid tables and local use of scripts instead of download from CDN
Legacy Dojo Module will break this core, remove the DOJO Module if installed.
Data Source View upgraded to use filtered and sortable tables
Ability to download chart data as XLSX file and CSV, XLSX file can be used to import data via the Point Data Import module
Input stream ePoll moved from static reference to Provider runtime reference
Changed var names of module script and styles, and added module JSP fragments.
Enhanced servlet hook that allows multiple URI mappings to a single servlet.
Created flag that indicates a newly installed instance so that modules can handle the condition.
New module hooks to allow redirection based upon new instance, first user login, login, not logged in.
Added load order attribute to module to determine the order in which modules are loaded.
Added HostUtils for modules to be able to discover details about the host platform.
Added milliseconds to point history download CSV files.
Added close button to point details editing panel.
Display the point details beside the line in the point list when editing to avoid having to scroll.
Allow modules to open the system setting to a specific section.
In module builds: create the lib dir if not present, copy scripts to bin dir, pre-compile JSPs and tags, and added copy-web target for development purposes.
Added optional visibility to menu/toolbar items.
Removed domain name from license
Improved point hierarchy behaviour
Rearranged home url management, and added ability to clear home url
Fixed firing of point hierarchy clearing notification
Improved failover in configuration importing, and made output clearer by using different styles for error messages
Added “pre-home” category to default pages definition
Fixed potential race conditions in loading of cached definitions in module registry
Removed hard-coding of menu items in toolbar so they can be managed more dynamically
Added logging of failed login attempts
Added module lifecycle call “postDatabase”
Performance improvements when loading points from the database
Fix for incorrect 0 values calculated on points with interval averaging upon initialization
Added persistence to sound muting so the value is saved between sessions. New users default to being muted.
Removed context from user home URL. Not required in MA.
Improved ability to upgrade from legacy versions of M2M2
Added last and lastValue methods to scripting point wrappers
Fix for starts and runtime statistics
Added overrides folder to the freemarker email template list.
Multiple references to M2M2 changed to MA
Allow modules to override dox folders (help documentation)
Allow modules to define handler interceptors
Allow the dojo URI to be overridden prior to JSP processing
Added overriding of web assets
Fixed overriding of properties
Split out header and toolbar from page tag
Don’t allow duplicate points in publishers.
Various fixes for chart rendering
Set the maximum number of unique IP addresses in free mode to 3
Various fixes for chart rendering
Fix for events page search where language is not en
Time zone handling fixes
Added user and system timezone
Hierarchical point value purge. Data sources can override the system, and points can override data sources.
Individual data source and point exports
Allow specification of data source name, xid, and point device name before copying data sources
Added publisher cache entry discard limit
Added individual table fields for point many point attributes
Replaced bootstrap with jar file discovery in the startup script
HTTP Components upgraded to version 4.2.1
Added script source hook, allowing modules to introduce global EMCAScript functions
Allow polling data sources to run from cron pattern
Allow setting of point values from within scripts
Upgraded Dojo to version 1.7
Removed timed shutdown in free mode
Added max unique IP addresses (5)
Point hierarchy moved from watchlist module to core