Release Notes for Mango 3.6.0
-
core - Version 3.6.0
- Add missing convenience methods for getStats in Numeric and Alphanumeric script context points, third argument cache defaults false
- Fixing debug logging in serial server input stream
- Fix quantize data source poll and interval logging delays to avoid a currentTimeMillis() call
- Add IP whitelist for virtual serial server sockets
- Add debug log of incoming IPs on virtual serial server sockets
- Improve handling of exception in data point listeners on initialize or terminate when only 1 listener is present
- Modify email FTL Model for events, references to evt.alarmLevel in overridden templates should be changed to evt.alarmLevel.value()
- Expose connection description and data source type translations in Data Source REST models
- Add SMTP mail server connection/read/write timeout system setting
- Fixing bug in process log that would not allow Error level logging for Mango Java Script
- Changing Java Script Script Permissions from multiple permissions groups into a single group. Note the REST models will reflect this.
- Fix bug in legacy UI data source edit page that would not track a new data source?s ID after initial save, this would effect some data source tools
- Adding validation to User to notify when creating a user with a username that is already used
- Restricting non-admin users from executing JavaScript that has access to Java classes. This means for anything with Script Permissions the ?superadmin? permission must be present to access any Java Classes.
- Add publisher control to RuntimeManager script utility
- Upgrade Spring Framework to 5.1.7
- Upgrade Spring Security to 5.1.5
- Fix bug in RealTimeDataPointValueCache where tags/permissions could become out of sync with the database during point save/restarts
- Fix bug in RealTimeDataPointValueCache where the data source permission was not checked to see if a User has access to see the point
- Users cannot update their password to the same thing
- IMPORTANT a default role has been added named user. This means that if anything has a permission of user added to it any valid User can access it. This also means that the role of user is pointless to add to any User because they inherently have it.
- No longer store or export/import units with Text Renderer, the data point?s unit is always used
- Fix bug where Script Permissions could have ended up with spaces on the ends
- Cleanup Data Point Attribute publishing api
- Removing log messages from startup/shutdown status api
- Improve error handling for legacy data point, data source, publisher controllers
- Ensure text renderers are always validated for data points
- Add missing EventInstanceWrapper to email handler scripts
- Bugfix for NPE in deprecated EmailEventHandlerModel in REST v1, suggest using v2 endpoints instead
- ScriptPermissions? four permissions types unified into one permission set via taking the union of the four permissions sets.
- Make JSON Imports more robust when importing invalid/missing values for fields
- adding env properties serial.port.linux.readPeriods and serial.port.linux.readPeriodType to allow adjusting the rate at which the port is polled for incoming data in Linux
- adding env property serial.port.eventQueueSize to limit the size of the queue to hold generated serial port events before they are processed
- Purge RX/TX buffers on serial port immediately after opening it
- Event detector XID length expanded to 100 chars
- Add subject property to Email Event Handler to allow choosing what goes into the email subject. All Email event handlers are upgraded to keep legacy operation. i.e. if you previously had a name/alias set then the subject will include that
- Adding an HTTP session timeout override setting to the User
- Improve performance for publishing data point attributes i.e. Reliability
- Show last password change date when editing a user
- Show last login date when editing a user
- File store definitions which do not supply permissions and no permissions definitions are found default to admin only
- Change default admin email address to admin@mango.example.com
- Expose char(1) columns in database as boolean for RQL queries, i.e. /rest/v1/users?disabled=false or /rest/v1/users?disabled=N
- Adding settable column to data points table, this allows for RQL queries on the settable field of a data point locator
- Upgrade commons-io library to version 2.6
- Upgrade javax.mail library to version 1.6.2 and use com.sun.mail implementation
- Upgrade apache-poi library to version 4.0.1 for Excel file support
- Upgrade commons-beanutils library to version 1.9.3
- Fix bug in RQL queries over in-memory lists where not having a sign on the sort parameter would cause the query to fail
- Fix bug in RQL queries where empty IN clause would fail on MySQL
- Fix bug introduced in 3.6.0-beta.1 where the JavaScript POINTS global variable was an ever-growing list of strings added to at each run of the script
- Configure both database and common Jackson Object Mappers to not fail when de-serializing JSON with extra unused fields
- Supply the terminated Data Point VO in DataPointListener.terminate method to determine if the point is stopped by the data source or was disabled and the source is still running
- Fix bug in Change and NoChange event detectors to prevent them raising events with timestamps in the future
- Fix bug where Change and NoChange event detectors could be initialized to wait too long for the first change/no change event
- Upgrade H2 to stop size of database from continuously growing, for this fix Mango will automatically dump and re-import your database on startup as H2 databases from older versions are not compatible in binary form
- ALPN (Application-Layer Protocol Negotiation) for HTTP/2 on Java 10+, make sure the ALPN startup extension is not in use as that will cause problems
- Fix bug in ON_CHANGE_INTERVAL logging, prevent errant logging tasks at point termination
- Use UTF8 for encoding email address names, better language support
- Adding Rate of Change data point event detector
- Analog Change detector event stays active if the change remains in its period (the ?duration? setting)
- Improve validation of Data Point Text Renderers
- Enforce permission access rule where saving user must retain permission to item
- Enforce permission access rule where saving user must have any added/removed permission
- Enforce permission rule where roles with spaces are not allowed
- Ensure only superadmin users can change the per-user session override settings
abeip - Version 3.6.0
- Compatibility with 3.6.x Core
abpccc - Version 3.6.0
- Compatibility with 3.6.x Core
advancedComponents - Version 3.6.0
- Upgraded to work with core version 3.6.x
advancedScheduler - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Bugfix for wildcard rules that had a day of month set that could be greater than the smallest month (28 days in Feb) producing invalid dates
asciiFile - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Add REST endpoint to test if a file exists and is readable by the data source
- Add REST endpoint to validate example ASCII as per the data source settings
- Change regex validation to allow an empty catch group for point identifier
BACnet - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Adding REST endpoints to manage Local Devices
- Fix misspelled IpLocalDeviceConfig.foreignBBMDAddres REST model property to foreignBBMDAddress
- Adding locking to ensure concurrent edits of Local Devices is thread safe
- Adding WhoIs request to REST api bacnet/bulk endpoint
- Adding option to make BACnet read requests individually without using Mango BACnet property cache via REST api
- Fix bug in publisher where Multistate points with a Multistate Renderer would not work
- Add endpoint to get possible properties of an Object and the Mango data types that support them GET rest/v2/bacnet/object-properties/
- Improve validation message when creating duplicate local devices when they are on the same comm port or IP address
- Expanding data source support for all BACnet primitive data types, raise event when BACnet data type cannot be converted to a Mango data type during runtime.
- Adding option to re-use address for IP Local Devices
- Add support to data source for Multistate Value BACnet Objects
- Add endpoint to get supported object types at GET v2/bacnet/object-types
- Add ability to rebind address with multiple local devices, if all are configured to reuseAddress
brewersdashboard - Version 3.6.0
- Upgraded to work with core version 3.6.x
cloudConnect - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Upgrade Apache MINA SSHD library to v2.2.0
- Improved connection reliability
- Ability to forward remote ports from server to client
- Ability to forward additional local ports from client to server
- Ability to open a port for SOCKS proxying over the SSH tunnel
controlcore - Version 3.6.0
- Upgraded to work with core version 3.6.x
dashboardDesigner - Version 3.6.0
- Upgraded to work with core version 3.6.x
dataFile - Version 3.6.0
- Upgraded to work with core version 3.6.x
dataImport - Version 3.6.0
- Upgraded to work with core version 3.6.x
dataPointDetailsView - Version 3.6.0
- Upgraded to work with core version 3.6.x
deviceConfig - Version 3.6.0
- Upgraded to work with core version 3.6.x
dnp3 - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Remove un-used static poll periods setting
- Change JSON import/export to use updatePeriods and updatePeriodType instead of rbePollPeriods and eventsPeriodType
- Improve data point validation
egauge - Version 3.6.0
- Upgraded to work with core version 3.6.x
envcands - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Bugfix where Parse Exception alarm level was being exported in JSON configuration as No Temperature Data
- Bugfix for legacy UI where selecting ?weather? for the point attribute would not work.
- Bugfix for using correct data start time, previously the month requested was one more than expected, i.e. May in the UI would request June data
excelReports - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Moving /v1/excel-report-templates/upload to /v2/excel-report-templates/upload
- Expose reportInstance object to post processing script under var name ?report?
- Make drop downs for named ranges searchable
- Improve validation messages for time periods
- Adding Excel Report Event Handler to run a report on event
- Added independent file store permissions for read / write on the excel reports file store
galil - Version 3.6.0
- Upgraded to work with core version 3.6.x
graphicalViews - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Remove ?user? role from default image upload permissions
Haystack - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Upgrade to use 3.0.2 Haystack-Java library to ensure Basic Auth is always attempted
- Adding permission definition to restrict access to Haystack server at /haystack
- Added support to the new UI data sources page
http - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Adding REST tools to test/validate points and data sources
- Ensuring a time is set to non-zero when receiving GET and POST requests
- Adding validation endpoints to make requests and validate point locator settings
- Fix bug where JSON Receiver was exporting its recieveType field as an integer and not Export Code
- Adding url and overlayPoints to point locator REST model
- Added support to the new UI data sources page
- Adding publisher REST v2 support
internal - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Added support to the new UI data sources page
jmxds - Version 3.6.0
- Upgraded to work with core version 3.6.x
jsonFileImport - Version 3.6.0
- Upgraded to work with core version 3.6.x
log4jDS - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Adding validate regex REST endpoint
- Adding get test message REST endpoint
- IMPORTANT, we are trimming the messages before parsing so all the newlines will be removed from the messages. Check your pattern matching.
log4JReset - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Moving log4jUtil action REST endpoint to /rest/v2/system-actions/log4jUtil
- Add to new UI
loggingConsole - Version 3.6.0
- Upgraded to work with core version 3.6.x
maintenanceEvents - Version 3.6.0
- Upgraded to work with core version 3.6.x
- improve new UI
mangoApi - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Add LOGGED as point value websocket event type
- Fix event type in returned messages for BACKDATE point value websocket events
- Fix NPE from sending a notification while a point was terminating in point value websocket
- Add /rest/v2/server/serial-ports endpoint to allow getting serial ports
- Add /rest/v2/server/cors-settings endpoint to allow admins to see the settings
- Add /rest/v2/system-actions endpoints to use websockets
- Modify /rest/v2/virtual-serial-ports/ endpoint to be an RQL query with items and total as response body
- Add smtpSessionLog member to errors reported from /v2/server/email/test endpoint
- Removing /v2/script/test endpoint, replaced with new format at /v2/script/validate
- Changed /v2/script/run endpoint with new Body and Response objects that contain more information
- Removed units from text renderer models, always use unit from data point
- Restrict stack trace and cause about from last exception for a User that is non-admin
- Add data source edit roles into data point models
- Add granted permissions to user models
- Add JSON export endpoints for data points at /v2/data-points/export/{xids}
- Add JSON export endpoints for data source at /v2/data-sources/export/{xid}
- Ensure Data Point v2 model requires a purge period if purge override is true the model
- Fix bug where point locators were not returned in the reference fields for event types returned by v2/event-types
- Expose Data Point v2 model into the v1 context for legacy support
- Bugfix for EmailEvent Handler model mailing list recipient types failing to de-serialize correctly
mangoESConfiguration - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Upgrade jmdns library to 3.5.5 to improve shutdown time
- Adding mango-browser.sh script to run manually and open GUI application to discover Mango instances on your network
- Add fallback command to set timezone
MangoIOTools - Version 3.6.0
- Upgraded to work with core version 3.6.x
mangoNoSqlDatabase - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Adding HTML5 UI for tools to import data/restore
- Support legacy H2 databases when migrating data into NoSQL
mangoUI - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Add ?Data sources? page for creating/updating/deleting data sources and data points. Note: not all data source types supported yet.
- Added Spanish translation file
- Update ?Bulk data point edit? page to use same data point editor dialog as ?Data sources? page
- Add ?Event handlers? page for creating/updating/deleting event handlers
- Add dialog for for creating/updating/deleting event detectors (opened from ?Data point details? or ?Data sources? page)
- Clean up menu, moved some menu items to ?Utilities? section of ?Admin home?
- Add more help pages and update existing help content
- Add HTTP server system settings
- Ability to set session expiration per user on the ?Users? page
- Better feedback when saving system settings
- Display event durations more accurately
- Ability to filter events table more specifically using advanced options toolbar
- Ability to require a role or a permission (configured via system settings) to show a menu item
- Use v2 REST API for statistics
- Data point on ?Data point details? is kept up to date via WebSocket
- Update data source drop down menus via WebSocket
- Add ?LED indicator? example
- Update license page, add checkboxes for checking for upgrades and sending usage information
- Fix bugs in cron expression component
- Enable searching for page in page editor and Dashboard Designer
- Enable restricting ma-filtering-point list to a certain data type or settable data points
- Print better error if loading a module?s JavaScript fails
- Add system setting for configuring restart delay
- Ability to display events of a certain level as popup notifications (toasts)
- Ability to read event messages of a certain level out loud using browser speech synthesis
- Ability to open sidebar help in new window
- Ability to open help sidebar by setting ?helpOpen=true in the URL
- Add maHex filter for displaying numbers as hexadecimal
- Add ma-data-point-editor component for creating/updating/deleting data points
- Add ma-data-source-editor component for creating/updating/deleting data sources
- Add ma-data-point-tags-editor component for editing tags on data points
- Add ma-color-picker component for showing a color preview and color picker dialog
- Add ma-duration-editor component for editing durations in REST models
- Add ma-email-recipients component for editing lists of emails recipients in REST models
- Add ma-data-source-status component for displaying data source status information
- Add ma-event-handler-checklist component for displaying and selecting event handlers
- Add ma-event-handler-list component for displaying a list of event handlers
- Add ma-event-handler-select component for displaying a drop down list of event handlers
- Add ma-event-type-list component for displaying a tree view of event types
- Add ma-mailing-list-list component for displaying a list of mailing lists
- Add ma-mailing-list-select component for displaying a drop down of mailing lists
- Add ma-mailing-list-setup component for creating/updating/deleting mailing lists
- Add ma-purge-point-values component for purging point values
- Add ma-script-context component editing scripting contexts
- Add ma-scriping-editor component for editing backend JS scripts
- Add ma-tree-view component for displaying arbitrary tree views
- Add ma-unit-list component for displaying drop down of units which are available for data points
- Add ma-virtual-serial-port-list component for displaying a list of virtual serial ports
- Add ma-virtual-serial-port-select component for displaying a drop down of virtual serial ports
- Add ma-dialog component for easily creating pop-up dialogs from the markup
- Add ma-heat-map component for displaying a heat map chart for points values
- Remove constants from ngMango module ? MA_INSERT_CSS, MA_ROLLUP_TYPES, MA_DATE_TIME_FORMATS, MA_TIME_PERIOD_TYPES, MA_CHART_TYPES, MA_EVENT_LINK_INFO, and MA_RELATIVE_DATE_TYPES
- Remove constant from ngMangoServices module ? MA_EVENT_HANDLER_TYPES
- Add constants to ngMangoServices module ? MA_DATE_TIME_FORMATS, MA_TIME_PERIOD_TYPES, MA_CHART_TYPES, MA_SIMPLIFY_TYPES, and MA_EVENT_LINK_INFO
- Replace uses of jQuery find() with maFind()
- Replace uses of jQuery extend() with maUtil.deepMerge()
- Update JavaScript libraries to latest versions
- Remove plot.ly JS library and component
- Various bug fixes and improvements
mbus - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Adding REST endpoints for scan tool
measurlogicDTSCell - Version 3.6.0
- Upgraded to work with core version 3.6.x
meta - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Change ScriptPermissions in REST model to Set<String>
- Add REST endpoints for data source tools
- Added support to the new UI data sources page
- Change JSON export of script permissions to an array of roles, legacy format supported for import
- Bugfix to ensure a meta point will not run more than once on the update of context points if they have the same timestamp
- Better handling of script failures vs. returning null values
- Add endpoint to get logfile location
- Bugfix where generating history where the self referenced point variable would not have the correct value
- Disable event handling for meta point during history generation
modbus - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Modify v1 data source REST model to use Enums for serial settings
- Remove unsupported ?concurrency? modes from serial data source
- Added support to the new UI data sources page
- Use Big Decimal for improved precision when applying the additive and multiplier on a point?s value
mqttClientDataSource - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Added support to the new UI data sources page
onewire - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Combine REST v1 model rescanPeriodType and rescanPeriods fields into rescanPeriod
- Add REST tools to read network
opcda - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Adding REST endpoints for tools
openv4j - Version 3.6.0
- Upgraded to work with core version 3.6.x
pachube - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Publisher and Data Source REST v2 support
pakbus - Version 3.6.0
- Upgraded to work with core version 3.6.x
persistent - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Expose settable as configurable property on received points
- More reliably attribute publishing on failed attempts to publish point attributes
- Added support to the new UI data sources page
- Bump protocol version to allow for versioned models for publisher and data source to be exchanged upon connection
pid - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Fix NaN being computed when I is set to 0
- Add demo configuration to explore at web/demo-configuration.json
pointLinks - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Combining all 3 script permission group into a single permission group used globally throughout the script
- Change JSON export of script permissions to an array of roles, legacy format supported for import
pop3 - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Adding REST tools to validate data point settings
reports - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Add audit event tracking to non REST initiated changes to Report configurations
- Fix bug introduced in 3.6.0-beta.1 where reports with text renderer?s on their points would fail. IMPORTANT this will reset the report point?s units to match the existing data point
- Add Report Event Handler to run a report when an alarm is triggered
scheduledEvents - Version 3.6.0
- Upgraded to work with core version 3.6.x
scripting - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Using new MangoJavaScriptService to standardize how all scripts are executed, no changes in how the scripts function should be observed
- Change ScriptPermissions in REST model to Set<String>
- Fix bug where Context Change data source settings was exported and imported as context update
- Add new property to data source for ?polling? so we can now use an update period or cron pattern to poll
- Change JSON export of script permissions to an array of roles, legacy format supported for import
- Adding new Data Source Event for external context points being disabled, default level is to Ignore these events
- Add endpoint to get logfile location
- Add endpoint to validate script
serial - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Modify v1 data source model to use Enums for serial settings
slackPublisher - Version 3.6.0
- Upgraded to work with core version 3.6.x
snmp - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Added support to the new UI data sources page
- Added permissions definitions for filestore read / write
sqlConsole - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Add CSV download button
- Separate inputs for query and update
- Store last used queries in local storage
sqlds - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Add REST endpoints for data source tools
- Added support to the new UI data sources page
ssh - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Fix bug where the JSON export of Point Write Exception was using Point Read Exception
sstGlobalScripts - Version 3.6.0
- Upgraded to work with core version 3.6.x
- New AngularJS UI
sstGraphics - Version 3.6.0
- Upgraded to work with core version 3.6.x
sstTheme - Version 3.6.0
- Upgraded to work with core version 3.6.x
TCPIP - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Bugfix where Point Write Event alarm levels were being exported as Point Read Event alarm levels
- Add REST endpoints for data source tools
- Added support to the new UI data sources page
templateConfig - Version 3.6.0
- Upgraded to work with core version 3.6.x
twilio - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Fix bug in database deserialization
- Support for REST v2
- Raise event at send failure, log TwilioRestException at debug with stack also trace.
virtualDS - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Added support to the new UI data sources page
vmstat - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Added support to the new UI data sources page
watchlists - Version 3.6.0
- Upgraded to work with core version 3.6.x
- Bugfix to allow a user to save their own watchlist regardless of edit permissions
- Bugfix for static point watchlists not returning point locator in REST request
zwave - Version 3.6.0
- Upgraded to work with core version 3.6.x
-
I saw the release video, most impressed. Nicely done all!
-
@mattfox said in Release Notes for Mango 3.6.0:
I saw the release video, most impressed. Nicely done all!
Thanks, this is the video for anyone who wants a quick 5 minute overview of the new features