Ignition Release Notes
Fixes, changes and features In Ignition
Version 8.1.0
Released November 2, 2020Area
Change Type
Description
Designer Launcher
Infrastructure
Launchers that use a config.json argument to use an alternate configuration now respect that prop for shortcuts on Mac OS. Modifications to the configuration are also now saved back to that configuration JSON.
DNP3
Connectivity
DNP3 driver will now handle all Class 1, Class 2, and Class 3 events.
EAM
Enterprise
Sending a remote project over EAM no longer includes all inherited resources.
Installers
Infrastructure
Ignition Edge zip installer now includes the BACNet driver module
OPC-UA
Connectivity
Allow connecting to servers that do not have valid URIs according to RFC 3986
Connectivity
Allow OPC UA certificate validation to be disabled on a per-connection basis
Perspective
Visualization
In the Designer, rulers no longer show in Preview mode. In addition, guidelines more consistently hide themselves when the mouse cursor is moved outside of the JxBrowser pane.
Visualization
The visual time range values at the bottom of the chart are now hidden until they have valid data. There was an instance where the component could be initially configured with null or otherwise bad data, and the component would default to the Unix epoch time.
Visualization
Optimize Perspective Table components to prevent excessive calculations following Perspective front-end performance refactor.
Visualization
Overhaul of the component to reduce unnecessary calculations/rendering when component properties and component coordinates change. No user-facing changes, just better performance.
Visualization
Property application issues mentioned in the ticket addressed. The chart also regenerates on resize.
Visualization
Removal of 3rd party library from PropertyTree model and changes to component authoring API's in pursuit of larger performance improvements. Targets reducing browser script execution time and blocking of JavaScript thread. Important: breaking changes for component authors. See component SDK for more details.
Visualization
Removed animations from default state
Renamed ""Symbol"" category to ""Symbols"" in the pallet
Added location hidden to all the Symbol values and labels
Vessel states made consistent with Motor, Pump, and Sensor states (Valve is an outlier)
Fixed an visual issue Vessel symbol in the Designer, when transitioning between value 0 and any other value the liquid level would appear in the wrong place.
Visualization
Removed the `foreignElement` (for all platforms except Android) inside of the chart library that was responsible for keeping touch/pointer events from disrupting the pinch zoom and drag interaction. The latest versions of Safari do not support this as they did previously.
Visualization
Several updates were made to decrease the amount of churn experienced during an update cycle. There is still an additional render cycle associated with the MobX refactor `Wrapper.onPropPropsChange`, but that can be worked out later when this component has its component properties moved inside of `getPropsReducer` in the `TimeSeriesChartMeta` class. These updates bring the performance back to level comparable to pre 8.1.0. Changes include setting state conditionally in `readData`, adding the zoom TimeRange to state, making the total TimeRange specific to just the chart, storing min/max values for all raw series data to state, and caching columns in the style config.
Visualization
Smart symbol components have been added for Perspective
Visualization
The bug noted in the title of the ticket was fixed. Additionally:
1. If the user has `controls.autoplay` enabled, the video will be muted when playing initially. This standardizes the autoplay behavior across all browsers.
2. Removed the custom skin for Safari to allow the user to opt into playing the video. This was needed for the tightened security in this browser since this component was initially built. This means that for iOS (in place when built initially) and now Safari, the `controls.play` property will not update when the user plays/pauses the video. The user can still key off of the `status.playing` and `status.paused` component properties if they need to present some type of custom ""is this video playing"" display in their UI.
3. Safari 14 does not play embedded media files. It's recommended that the user use a different browser for playback to occur.
Visualization
The pen table will now display data values from the TimeSeries that is bound to the `config.rangeStartDate` and `config.rangeEndDate` values. This keeps the data from fluctuating when the user is honing in on a time range that is more specific than the overall time range in the chart.
Visualization
The version of Material Icons used in the Icon Component has been updated. For a complete list of available icons see https://material.io/resources/icons/ . Our version of these icons have been lightly modified to remove the borders that are seen when a style.stroke is applied to the Icon component.
Visualization
UDT bindings now work bidirectionally through view in/out parameters.
Property editor now commits on focus loss or enter key-press instead of continuously as you type.
Visualization
When aligning and normalizing children of a Coordinate container, the normalize behavior was broken in 8.1 RC1 and is now fixed.
Visualization
Zoom and range brush time range values are now reset when switching config modes.
Visualization
Added "filterAlarm" extension function to Perspective's Alarm Status Table component.
Visualization
In RC1 and RC2, a Button with an Icon configured would sometimes not load its Icon if the Button was a child of a Breakpoint container. This has been fixed.
Visualization
**Annotations:**
- Annotations require at least one non whitespace character before they can be saved (save button is not enabled).
- Config for the width of all boxes added to the `interaction.annotation.infoBox.width` component property.
- Config added for `interaction.annotation.infoBox.dateFormat` and `interaction.annotation.infoBox.timeFormat` component properties.
**Pen control table:**
- Caching of the brush range values has been added on the FE side to ensure that the displaying data for each range brush stays static.
- The ""Current Value"" column does not display when the chart is in historical mode; it only makes sense in real-time mode.
**Chart pen setting:**
- Switched all of the stroke/fill dropdowns over to using the ColorPicker component so the user can choose any value they want.
Visualization
### Power Chart
**Component Props**
1. Updated the description for the `...xTrace.values` component property to make it relevant to what values actually is.
**Annotations**
1. Exposed annotation icon colors. The `interaction.annotation.infobox` property has a new child property called `icon`. It contains config for the `stroke` and `fill` as well as a general `style` property where the user can provide custom style.
2. Annotations now show in both preview and design mode
**Pen control table**
1. The text of the range selection table headers was made much darker so it is visible when the theme is switched to dark.
2. Adjusted the width of the Pen Name column based on the largest name provided. Done using a temporary canvas element (never attached to the DOM and garbage collected) this time for a calculation based on current font family and size. Accurate to roughly one pixel.
### Time Series Chart
**Binding Chart to a DataSet**
1. Ensuring that the default `t_stamp` column name is correctly removed when binding to a dataset. This was introduced as a regression during some initial work on the PowerChart in shared source files.
Visualization
A new "Wrap in Container" menu has been added, allowing you to quickly wrap a single selected Component in a Container - Coordinate, Breakpoint, Flex - Column, and Flex - Row are all supported.l
Visualization
Added search/replace support for property change scripts attached to View properties.
Visualization
Allowing pens with the same name to be renamed by default before added to the chart. Using the strategy of the first pen with the name conflict keeps the name (assuming it already exists). Any conflicting name that is being added (including multiple conflicting names being added at the same time) will be renamed by default before being added to the chart. An attempt will be made to include the path of the parent folder in the name. If this cannot happen (i.e. pens that were added to the root a history provider), `_1` will be appended to the pen name.
Visualization
As the user changes hones in on the chart display using either the range brush or via pan/zoom actions, the main chart display has its data replaced with new data that has the same resolution/density for the displaying time range as what the user has defined in `config.pointCount`. This gives the appearance of better data resolution as you dive deeper into a smaller section of the overall chart data. Using the strategy of:
1. Zoom range first (if it exists)
2. Brush range second (if it exists)
3. Total chart range as a fallback
In addition, this introduces two new component properties: `config.rangeStartDate` and `config.rangeEndDate`. The user should treat these as read-only properties that provide the start and end values of the time range being displayed in the main chart (as modified by the range brush or pan/zoom actions).
Visualization
Component meta.name changes will once again be reflected in the Project Browser. This was broken in RC1, and is now fixed.
Visualization
Drag-and-drop of perspective components from palette into views now works correctly on Linux
Visualization
Fix issue where ReportViewer does not reload on refresh or navigation even when report path is valid. Fix issue where missing view output params are resulting in EmbeddedViews to not load even with a valid view path.
Visualization
Fix issue where the internal and external syncronization of filtering text on the Table component can sometimes result in an update loop. A performance update regression.
Visualization
Fix SVG drag and drop regression into Perspective View Editor on MacOS that was caused by recent JXBrowser upgrade.
Visualization
Fixed issue that caused PyDatasets returned from transforms to be converted to arrays instead of datasets.
Visualization
Fixed race condition that could cause the binding preview values in the designer to display an incorrect intermediary value.
Visualization
In 8.1 Pre-final, Coordinate containers conversion of fixed child position props to percent would sometimes happen when no conversion was needed. This has been fixed.
Platform - Auditing
Security
Fixed a bug where the Gateway Audit Profile dropdown selector in Gateway Web Interface > Config > Security > General showed no options after an Audit Profile was deleted or updated
Platform - Designer
Platform
- Improved UI and visual layout of the Tag Browser
- Fixed trait rendering for tag nodes
- Tag Creator UX improvements: displaying non-editable nodes, rename actions for folders, OPC drag-and-drop node recursion
- Added ability to unset the color property of a UDT
- Fixed enabled/disabled action states for tag nodes
Platform
Designer no longer errors during startup if neither Perspective or Web Browser module are installed
Platform
Dragging OPC nodes from the Tag Creator Dialog out into the Tag Browser no longer throws an NPE when the classic OPC browser is not visible.
Platform
Error, warning, message and input dialogs would only appear on the client primary desktop when spawning the dialogs from a secondary desktop.
Platform
Fixed an issue where a Perspective Designer session's props were unable to reconnect to the Gateway after losing its session due to a Gateway restart or Designer session timeout
Platform
Fixed multiple NPEs:
- When you try and add tags after selecting Edge provider in Tag browser
- When you try and add tags after selecting any provider in Tag Browser for a project created in the Gateway Config Page
- When creating a project via the designer using Ignition / Maker and the default tag provider on the New Project Setup Screen is unselected
Also fixed an issue where the Edge provider wasn't treated like the default in the Tag Browser
Platform - Expressions
Platform
Three fixes to the tag() expression function: 1) No longer executes an initial read in Vision clients, going back to previous behavior. 2) fixes a potential deadlock in the function 3) Relative paths now work correctly in all alarm property bindings.
Platform - IdP + User Sources
Security
Fixed a bug where edition-specific icons reverted to standard icons if browser navigation was used on the internal Ignition IdP Log In page
Security
Fixed a bug where the username label was no longer visible on the internal Ignition IdP login page unless focus was removed from the field
Security
Fixed the following issues:
- When using the Designer and also working with a User Management Component, it is possible to cause an error in the Designer if you modify and save the currently logged in user.
- When using the User Management component in s Vision Window, it is possible to cause the logged in user to have permissions issues on any tags or components that are tied to Authentication and Roles.
Security
IdP that's set as the System Identity Provider can no longer be deleted
Security
The designer must now be manually restarted after losing an IdP-based Gateway session.
Security
Users may now unselect a user source profile or identity provider in Config > Security > General settings. This helps alleviate a problem where users were unable to change the system user source profile or identity provider if there is only one choice and that one choice does not match the current setting's value.
Security
Added terminal web pages for IdP login to the Designer and Ignition Vision Clients
Platform - Licensing
Security
The licensing enforcement around tag historian functionality, and the tag historian module, has been tightened up. Customers with 3rd party modules that use tag historian functionality may encounter issues upon upgrade if the tag historian is not present, and will need to contact their sales representative in order to update their license.
Platform - Projects
Platform
Slowed the default project scan frequency to 5 minutes.
Platform - Scripting
Platform
An InvalidClassException was thrown when system.db.runPrepUpdate was called with parameters that resolved to BigDecimal objects.
Platform
Made system.util.getGlobals accessible as a constant at system.util.globals, and made values in the globals dictionary persist for the lifetime of the JVM instance.
Platform - Security Model
Security
Ignition Gateway's Session Cookie IDs are now rotated upon successful authentication from an IdP.
Platform - Web Interface
Infrastructure
Added config page to regenerate Ignition OPC UA Server and Client certificates
Infrastructure
Internal Ignition IdPs now have the option to allow users to be remembered for long durations. Internal IdP session timeout and expiration settings are now configurable on a per-IdP basis in the IdP config page.
Visualization
Added user messaging for success/fail on general security config page. Cleaned up UI for interstitial log in and access denied pages.
Visualization
All workspaces now have beginner-friendly "welcome" tab for creating resources and seeing what was recently edited.
Visualization
Config, Status, Home Page, Designer, and Create Project Roles are now upgraded to Security Level Permissions
Visualization
Internal IdP now has the appropriate branding based on Platform Edition and Product Area.
Reporting
Visualization
Made text shapes in reports follow the report's overall 'String For Null' property correctly.
Tag Historian
Data Model
Fixed issues introduced in RC1 in regards to tag history paths generated from the history binding and pen config dialogs in Vision.