Release Notes for 3.5.0
-
core - Version 3.5.0
- Adding data point tags to email template model
- Adding email template help for email event handlers
- Adding Apache commons-text 1.4 as dependency
- Removing Apache commons-lang dependency in favor of commons-lang3
- Adding ability to format values as hex using AnalogRenderer See renderer help.
- Adding tags into RealTimeDataPointValue for use in high performance realtime data cache (REST controller access via /realtime endpoint)
- Creating DAO for user defined filestores, access methods to file store definitions in DAO
- Fixing data point delete confirmation in all data points table
- Improve performance and memory footprint of User Event Cache which is used to speed up recent alarm access
- Fix for class cast error due to annotated point value classes in cache
- Change JavaScript wrappers to supply null if there is no value, instead of default values false, 0, “” and null on times is no value, like p.past(MINUTE).firstTime could now be null where previously 1
- Give “add data source” and “add publisher” buttons a tabindex, click it on enter or spacebar when selected
- Fix for ValueChangeCounter discrete statistic to not assume a value at exactly the period start as a change within the period
- Fix for Mango JavaScript statistics to handle edge case where a value existing at the from time may have been missed
- Use XIDs in publisher REST endpoints for points lists
- Upgrade to Swagger 2 for REST api documentation, view page at /swagger-ui.html
- Fix additional context and unchange point value for inactive scripts on set point handlers
- Add byXid method to DataPointQuery and DataSourceQuery in script environments
- Making Log4J configuration fully asynchronous to improve performance
- Adding system setting for HTTP session timeout, default 48 Hours
- Adding module definition to let modules add ‘utilities’ to the Mango Javascript context
- Remove static ‘instance’ member of Dao classes replace with lazy loading getInstance() class so Mango Javascript calls don’t change
- Check before NPE in CSV message converters
- Enable JSON import during script validation if set via JsonEmport.setImportDuringValidation(true); in the script
- Adding RQL keywords csvContainsAll, csvContainsAny, permissionsContainsAll, permissionsContainsAny to query a permissions member, only available in v2 endpoints
- Control if the point value cache is considered in JavaScript statistics functions, default to not using the cache
- Fix print( contextPoint ) in script environments to print getStats as function name instead of stats
- Allow using LOG statements in Event Handler script evaluation
- Log Switch User events when a user switches to another and back
- Adding initial support for Passay (www.passay.org) password validation to the backend for full release during the 3.5.x stream
- Adding ability to set password expiration period, default is to be disabled
- Implement setPointValue in HistoricalDataPoint, save value unconditionally
- Bugfix for repeatedly saving the Point Hierarchy creating many data point listeners
- Shorten description for Data Point event notify work items to reduce memory footprint in large systems.
- Improve performance/stability when multi-casting User notifications of alarms
- Add ability to change password after it expires if password is known
- Upgrade Spring and Jetty dependencies for compatibility with java 9/10
- Fix DWR Warning LOG messages about enum’s not having a Javascript property
- Do not allow spaces in permissions
- Adding ability for publishers to publish a data point’s runtime attributes.
- Bugfix for status updates on legacy UI’s Modules page not working when doing an upgrade
- Bugfix for scripted event handlers import-export
- Add paged Object query to provide RQL query support for paged result sets on Lists of Objects
- Improved IPv6 support in data sources with whitelists
- Hide logout button for proxied requests to legacy UI since they are stateless
- Add support for REST Mime Type: application/sql
- Full support for RQL in(field,(value list)) for all REST endpoints, previously a few only supported in(field,item1,item2…)
- Adding generic support for publishers queues to publish things other than only point values, no modules currently utilize this
- Reinstate get(boolean) and get(int) functions for starts and runtime lists in JavaScript statistics for Binary and Multistate points
- Allow modules to configure the web context during startup
- Add a new Spring context that configures and provides the DAO objects and other singletons early in the startup (Runtime context)
- Add Common.getBean() helper method to get Spring beans from Runtime context
- Close Spring contexts and cleanly shutdown web app context when terminating
- Add a executor pool and scheduled executor service which are available as Spring beans
- Use shared executor pool to execute Spring event listeners which are now notified asynchronously
- DAO singletons now fire Spring events (DaoEvent class) upon VO object create/update/delete
- Decouple websockets from DAO instances by using DAO events to notify websockets
- Use GUID as the default session cookie name
- Allow configuring session cookie name via env.properties file
- Add a module data directory whose location can be configured via env.properties file
- Make legacy UI work when authenticated via a JWT authentication token
- Change security configuration so it defines a configuration for stateless auth (JWT/basic) or session auth
- Add security configuration for proxying HTTP
- Only authentication hit rate limiter when authentication fails
- Remove backport-util-concurrent library dependency
- Add a system setting for public hostname
- Add method to get Set of permissions to User
- Clean up Permissions class and make easier and more obvious to use
- Add PermissionHolder interface which is used on User and ScriptPermissions
- Improve RQL based controllers so they map string names to integer codes when querying database
- Fix subtle bug in 302 redirects from /
- Remove WebSocketDefinition class
- Register all WebSocket handlers from Spring beans
- Remove session binding listener from User class, raise user logged in/out event handling to MangoSecurityEventListener
- Better login error response codes and messages
- Use separate Spring contexts for JSP/legacy dispatcher and REST dispatcher
- Add way to change password upon logging in if old password is expired
- Make the Jackson ObjectMappers available as Spring beans and require explicit name to inject them
- Only serialize DAO WebSocket notification once before sending to all sessions
- Ability for DAO WebSockets to check if a session is subscribed to an XID before sending the notification
advancedComponents - Version 3.5.0
- Upgraded to work with core version 3.5.x
advancedScheduler - Version 3.5.0
- Upgraded to work with core version 3.5.x
- Prevent concurrency bug for terminating a schedule exact at a transition time may not actually terminate the schedule
asciiFile - Version 3.5.0
- Upgraded to work with core version 3.5.x
BACnet - Version 3.5.0
- Upgraded to work with core version 3.5.x
- Adding max master, max info frames and usage timeout settings to MS/TP Configuration to control master polling sequence
- Adding support for 3rd party realtime mstp linux kernel module
- Expanding published data type options on BACnet publisher for multistate usability and control if published points are settable
- Fixed race condition where COV points may have delayed a poll period before sending their COV subscriptions
brewersdashboard - Version 3.5.0
- Upgraded to work with core version 3.5.x
cloudConnect - Version 3.5.0
- Initial release
controlcore - Version 3.5.0
- Upgraded to work with core version 3.5.x
dashboardDesigner - Version 3.5.0
- Upgraded to work with core version 3.5.x
dataFile - Version 3.5.0
- Upgraded to work with core version 3.5.x
- Improve poll class documentation
- Change 40 character XID restriction to 100 character
- Validate mapped point exists
- Export data type as string rather than ID
- Improve point locator help
- Export mapped point as XID rather than ID
dataImport - Version 3.5.0
- Upgraded to work with core version 3.5.x
dataPointDetailsView - Version 3.5.0
- Upgraded to work with core version 3.5.x
deviceConfig - Version 3.5.0
- Upgraded to work with core version 3.5.x
dnp3 - Version 3.5.0
- Upgraded to work with core version 3.5.x
egauge - Version 3.5.0
- Upgraded to work with core version 3.5.x
envcands - Version 3.5.0
- Upgraded to work with core version 3.5.x
excelReports - Version 3.5.0
- Upgraded to work with core version 3.5.x
- Change resulting report filename scheme from runtime_templateName to reportName_runtime
- Substring error message to first 512 characters for database column width
- Bugfix for new UI to resolve error message about help translation being from dashboard designer
- Modify statistics to use bookend query to handle edge case where there is a value exactly at report from time.
- Add XLSM file extension into template selector in new UI
- Validate template when POST’ed to /run endpoint with a time series to be applied
- Bugfix in TimeSeriesModel translation
- Bugix to ensure template file is closed after generating a report
galil - Version 3.5.0
- Upgraded to work with core version 3.5.x
graphicalViews - Version 3.5.0
- Upgraded to work with core version 3.5.x
- Bugfix for int conversion failure messages on browsers that allow component positions in sub-pixel precision
Haystack - Version 3.5.0
- Upgraded to work with core version 3.5.x
- Adding basic access to Mango Data Points and Values via Haystack server at {mango host}:{mango port}/haystack (user must be authenticated to use this)
- Upgrade to use 3.0.1 Haystack-Java library to ensure Basic Auth is always attempted
http - Version 3.5.0
- Upgraded to work with core version 3.5.x
internal - Version 3.5.0
- Upgraded to work with core version 3.5.x
- Changes to handle Monitor points with null values as this can now happen in Mango 3.5 to indicate a monitor has no information and is not actually 0
- Escaping HTML in monitor IDs
jmxds - Version 3.5.0
- Upgraded to work with core version 3.5.x
jsonFileImport - Version 3.5.0
- Upgraded to work with core version 3.5.x
log4jDS - Version 3.5.0
- Upgraded to work with core version 3.5.x
- Fix to allow > 1 data source with the same name to run at the same time
- IMPORTANT, the log message pattern now matches exactly what you see in the Logging Console UI of Mango so if you use pattern matching you will need to review your pattern
- Improved regex test utility to show last real log message to test against
- Add throttling ‘Message repeat interval’ setting to prevent handling identical messages occurring quickly together
log4JReset - Version 3.5.0
- Upgraded to work with core version 3.5.x
loggingConsole - Version 3.5.0
- Upgraded to work with core version 3.5.x
maintenanceEvents - Version 3.5.0
- Upgraded to work with core version 3.5.x
- Allowing multiple data points to link to an event
- Allowing multiple data sources to link to an event
- Adding timeout for Manual type events
- Adding toggle permission to allow toggling the event if not admin
- Adding REST endpoints and websockets to manage events
- Adding monitor point to track count of created Maintenance event configurations
- Adding custom query for events endpoint to return Maintenance events based on RQL query of Maintenance Event configurations
- Adding maintenanceEventsUtility to javascript context to allow manipulation of Maintenance Events
- Adding custom query for events endpoint to return events based on linked data point or data source xids
- Adding endpoint to set the state of the event /v2/maintenance-events/active/{xid}?active=[true|false]
- Provide validation feedback when trying to save a maintenance event with a data point or data source XID that doesn’t exist
mangoApi - Version 3.5.0
- Upgraded to work with core version 3.5.x
- Adding ExportCode and ExportCodes models for use in REST api to provide code/id/i18n key and translated description
- Adding PATCH framework to simplify partial update logic for V2 models, used in new PATCH endpoints
- Expose tags in realtime endpoint results
- Fix bug where PUT endpoints were returning the old XID in the location header if the xid was changed (v2/data-points, v2/publishers, v1/data-sources)
- Allowing null values to be returned in ValueMonitor model
- Added endpoints for user filestore CRUD
- Fix for class cast error due to annotated point value classes in cache
- Adding v2 point value statistics endpoint at /v2/point-values/statistics/{xids}
- Use XIDs in publisher points lists
- Add admin only endpoints in v2 demo rest controller to generate exceptions for testing
- Restrict json-data POST endpoint to only let users with the global Create JSON Data permission to create new entries
- Bugfix for /v2/script endpoints to properly return script log/print output
- Fix bug so GET /v1/translations does not fail and returns all translations
- Add validation to require a data type when posting values to /v2/point-values endpoint
- Fixing bug where Importing invalid system settings wouldn’t return the propert validation failed message
- Add /v2/point-values/{xid}/attributes PUT endpoint to modify runtime attributes of a data point
- Add /v2/realtime endpoint for enhanced querying on real time data point information
- Fix file store APIs to create files in correct directories
- Fixes for using Spring v5
- Register WebSockets as Spring beans
- DAO notification WebSockets listen for DAO events
- Use MediaTypes from Core, remove class in API module
- Provide temporary resource container of ImportStatusProvider as Spring bean
- Better login error response codes and messages
- Give translations returned from translations controller a model class
- Add last upgrade time header (X-Mango-Last-Upgrade) to login controller (/rest/v2/login)
- Add set and merge tag functions using RQL query (POST and PUT on /rest/v2/data-point-tags/points)
- Add an easy way to delete all event detectors for a point (DELETE /rest/v2/event-detectors/data-point/{xid})
- Add v2 JSON data WebSocket with ability to subscribe to specific XIDs
mangoESConfiguration - Version 3.5.0
- Upgraded to work with core version 3.5.x
MangoIOTools - Version 3.5.0
- Upgraded to work with core version 3.5.x
mangoNoSqlDatabase - Version 3.5.0
- Fix for class cast error due to annotated point value classes in cache
- Upgraded to work with core version 3.5.x
- Put fast / slow reload link buttons on new system settings page
- Improved cancel action responsiveness in merge / migrate / mergrate
- Improved status request rate in merge / migrate / mergrate / restore
- Moved corruption scan reports to rolling files, settings in ma.home/classes/log4j2.xml
- Moved reversible conversion reports to rolling files, settings in ma.home/classes/log4j2.xml
- Upgrade IasTsdb library for improved handling of failed data insertion attempts, data is retained and retried.
mangoUI - Version 3.5.0
- Upgraded to work with core version 3.5.x
- Option to reset sort order to none on Watchlist
- Add system setting for session timeout
- Add system setting for JFree chart font
- Add system settings for HTTP server
- Add system settings for passwords
- Fix hover color of md-button links
- Faster loading via single bootstrap REST API call
- Add a password change page for expired passwords
- Fix so web application is reloaded upon logging in when modules have been updated
- Fix error deleting custom page in Firefox
- Display import errors in red on configuration import/export page
- Option to hide CSV download button on ma-events-table
- Method for finding and updating event detectors in maEventDetector service
- Add realtimeQuery() and buildRealtimeQuery() methods to maPoint service
- Add getAndSubscribe() to all RestResource and $resource based services
- Add XID subscription capability to NotificatonManager
- Dont clear maUser.current when connectivity lost
- Add ma-api-down class to live point value components when connectivity lost
- live-value CSS class renamed to ma-live-value
mbus - Version 3.5.0
- Upgraded to work with core version 3.5.x
measurlogicDTSCell - Version 3.5.0
- Upgraded to work with core version 3.5.x
meta - Version 3.5.0
- Upgraded to work with core version 3.5.x
- Remove ma.log spam from disabled or missing points at error level with stack trace, now log message at debug level without stack trace
- Script log rollover settings on data points
- Fix set() function in history generations to save all data passed to set()
- Fix bug where unreliable points don’t become reliable if they return UNCHANGED (a valid result)
- Given enabled column into meta point edit page for context, populated at validation time
modbus - Version 3.5.0
- Upgraded to work with core version 3.5.x
- Fix ‘encoding’ in API for serial data source to use RTU / ASCII instead of the translation key in getting the DS JSON
mqttClientDataSource - Version 3.5.0
- Upgraded to work with core version 3.5.x
onewire - Version 3.5.0
- Upgraded to work with core version 3.5.x
opcda - Version 3.5.0
- Upgraded to work with core version 3.5.x
openv4j - Version 3.5.0
- Upgraded to work with core version 3.5.x
pachube - Version 3.5.0
- Upgraded to work with core version 3.5.x
pakbus - Version 3.5.0
- Upgraded to work with core version 3.5.x
persistent - Version 3.5.0
- Upgraded to work with core version 3.5.x
- Fix publisher points table message column to displayed sync’ed from time, even on disabled publishers
- Fix data point’s data type id on edit page to enable manually creating points
- Flag all points as unreliable if there are no connections to the data source, reliable if a connection exists
- Making Persistent Data Source points ‘settable’ so the value set is sent to the publishing side and not saved on the data source side
- Optionally allow publishing reliability attribute of points
- Include simplify settings in data point transmission
pid - Version 3.5.0
- Upgraded to work with core version 3.5.x
pointLinks - Version 3.5.0
- Upgraded to work with core version 3.5.x
- Script log has settings for rollover size and count
pop3 - Version 3.5.0
- Upgraded to work with core version 3.5.x
reports - Version 3.5.0
- Fix for class cast error due to annotated point value classes in cache
- Upgraded to work with core version 3.5.x
scheduledEvents - Version 3.5.0
- Upgraded to work with core version 3.5.x
scripting - Version 3.5.0
- Upgraded to work with core version 3.5.x
- Script log rollover settings added
- Allow scripting data sources not to have cron patterns, and be driven by events only
- Put enabled column into context, such that at script validation the user can tell if context points are enabled
serial - Version 3.5.0
- Upgraded to work with core version 3.5.x
snmp - Version 3.5.0
- Upgraded to work with core version 3.5.x
- Change integer type back to signed integers, gauge 32 should be used for unsigned integers
sqlConsole - Version 3.5.0
- Upgraded to work with core version 3.5.x
- Adding list-tables, query and update REST endpoints for admin at /v2/sql-console
sqlds - Version 3.5.0
- Upgraded to work with core version 3.5.x
ssh - Version 3.5.0
- Upgraded to work with core version 3.5.x
- Data type validation on points, check commands are nonempty if settable or queryable
- Change export to use data type name instead of id number, import support legacy
- Improve point JSON export to exclude unused fields
sstGlobalScripts - Version 3.5.0
- Upgraded to work with core version 3.5.x
- Fix JSON export to have only one name, xid
sstGraphics - Version 3.5.0
- Upgraded to work with core version 3.5.x
sstTheme - Version 3.5.0
- Upgraded to work with core version 3.5.x
TCPIP - Version 3.5.0
- Upgraded to work with core version 3.5.x
- Improved exception handling for parse exceptions
- Tune down logging exceptions for things beyond the data source’s control (i.e. connection refused) to debug level
- Add point locator validation
templateConfig - Version 3.5.0
- Upgraded to work with core version 3.5.x
twilio - Version 3.5.0
- Upgraded to work with core version 3.5.x
virtualDS - Version 3.5.0
- Upgraded to work with core version 3.5.x
vmstat - Version 3.5.0
- Upgraded to work with core version 3.5.x
watchlists - Version 3.5.0
- Upgraded to work with core version 3.5.x
zwave - Version 3.5.0
- Upgraded to work with core version 3.5.x
-
This is the actual 3.5 release - beta releases are finished!
-
Edited to fix new swagger URI to being /swagger-ui.html
-
I want to make sure I understand this point correctly:
Making Persistent Data Source points ‘settable’ so the value set is sent to the publishing side and not saved on the data source side
Does this mean that now when we have a settable point, and we make a change on a central server, the new value is propagated "backwards" via Persistent TCP Sync?
-
You should experiment with it!
Does this mean that now when we have a settable point, and we make a change on a central server, the new value is propagated "backwards" via Persistent TCP Sync?
Not via the sync; in real time. That means you can mark a point as settable on the data source, and if a value is set to the point on the data source that value will be transmitted through the publisher <---> data source connection and set to the published point (if possible) as if set on that machine (and therefore sent wherever suits the type of point). If successful, it will produce an update or logged point value event on the publisher, which will then be transmitted and saved (optionally) to serve as the acknowledgement of the set.
-
So nice!!!! This will make our lives so much easier.
Thanks for all these nice upgrades.