Home / Downloads / Release Notes

Ignition Release Notes

Fixes, changes and features In Ignition

Version 8.1.11

Released October 19, 2021
Area
Change Type
Description

AB Suite

Connectivity
Fixed an issue where the Logix's driver Connected and Hostname diagnostics tags have no value if the gateway is started up with the device offline.

Commissioning

Infrastructure
Fixed an issue in commissioning UI where keyboard-based actuation of webpage elements (i.e. "Next" button) might generate duplicate submission events.

Designer Launcher

Infrastructure
All launchers now shrink their window sizes to fit lower resolution monitors
Infrastructure
The Designer and Vision Client Launchers now always retrieve the latest project properties and gateway settings when launching regardless of how recently they were retrieved.

DNP3

Connectivity
Fixed an issue where tags referencing DNP3 aliased points would remain in good quality even after those aliased points have been deleted.
Connectivity
Fixed an issue which caused the DNP3 request queue to be backed up if IIN bits are constantly set on requests from the outstation. When in this state, editing and saving the device connection would lead to unbounded number of threads.
Connectivity
Fixed a bug which would cause large Analog Output point writes (35+ at the same time) to fail.

EAM

Enterprise
EAM scripting & binding functions are now hidden on Agents and can only be used on Controller Gateways.

Installers

Infrastructure
The installer on linux correctly applies the user command line argument when running the install as root
Infrastructure
Text Mode upgrades using the installer now appropriately remove old 3rd party modules which were marked for upgrade if their filenames don't match that of the new module.

OPC-UA

Connectivity
Fixed an issue where remote providers exposed via OPC are identified with original names instead of name given as remote provider

Perspective

Visualization - Web
Fixed issue that could cause bidirectional bindings on View parameters to inadvertently write back when loading the view.
Visualization - Web
The majority of this work does not result in any detectable change to the user, _but_ there were additional component properties added: * `interaction.chartZoomLevel`: READ-ONLY - Corresponds to the level of zoom in place on the actual chart. * `interaction.rangeZoomLevel`: READ-ONLY - Corresponds to the level of zoom in place on the range brush when in Historical mode. While we currently don't have a way to enforce the ""read-only"" nature of these properties, any external changes to them will not update the level of zoom displayed on the chart. They are just meant to report the level of zoom and should not be modified by the user. These properties start at a default value of `1` (1x) and are updated as the user zooms in/out of the chart or the range brush (in Historical mode).
Visualization - Web
The date picker icon will always show for properties that support Date types.
Visualization - Web
Adds the ability to adjust the tick label display and the tick count for a user-defined Y axis on the Power Chart, Time Series Chart, and Chart Range Selector. New component properties are exposed to allow for this, and both properties default to a value of `Auto` (current/default behavior) to allow for backwards compatibility. #### General Behavior When the tick count is `Auto`, Y axis ticks will be added/removed based on the height of the chart, and the tick spacing is adjusted around whole numbers (if appropriate). When the tick count is set to a numeric value, ticks will be generated precisely at the location where that tick should be show (divide 100 by the number of ticks, and that ""percentage position"" is where the tick will be shown on the axis). This does not account for whole numbers, and the value will be very precise to that tick location in the axis. If using the Property Editor, the user can enter their own value of select from the follow suggested values: ``` ""Auto"": ""Auto"", ""2"": 2, ""4"": 4, ""6"": 6, ""8"": 8, ""10"": 10 ``` When the tick label format is `Auto`, the D3 format `~f` is used. This creates a fixed point number that will trim any insignificant trailing zeros (`1000.00` --> `1000` or `.100100` --> .1001`). The user can also provide a string value that represents a [D3 format](https://github.com/d3/d3-format). If using the Property Editor, the user can enter their own value of select from the follow suggested values: ``` ""Auto"": ""Auto"", ""Integer [1234]"": ""d"", ""2 Decimal Points [1234.00]"": "".2f"", ""4 Decimal Points [1234.0000]"": "".4f"", ""Comma-Separated Integer [1,234]"": "",.0f"", ""Comma-Separated w/ 2 Decimal Points [1,234.00]"": "",.2f"", ""Percentage [123400%]"": "".0%"", ""Currency [$1,234.00]"": ""$,.2f"", ""Hexadecimal (lowercase) [4d2]"": ""x"", ""Hexadecimal (uppercase) [4D2]"": ""X"", ""Binary [10011010010]"": ""b"", ""Octal [2322]"": ""o"", ""Exponential [1.234000e+3]"": ""e"" ``` #### Power Chart Any entry under the `axes` component property now has `axes[x].tick.count` and `axes[x].tick.label.format` properties available. Additionally, when using the Settings menu at runtime, there are new text fields at the bottom of **Edit Axes** form for the **Tick Count** and **Tick Label Format** values. The tick count will take a string value (if string, treated as `Auto`) or a numeric value. The tick label format will take a string value and pass it forward. The value must be a valid D3 Format value. ![image](https://media.github.ia.local/user/49/files/e2983880-154b-11ec-9840-02bff21e5433) #### Time Series Chart Any entry under the `plots[x].axes` component property now has `plots[x].axes[x].tick.count` and `plots[x].axes[x].tick.label.format` properties available. #### Chart Range Selector The `yAxis` component property now has `yAxis.tick.count` and `yAxis.tick.label.format` properties available.
Visualization - Web
Added new component style props and repurposed some existing style props to better represent the style as defined: - `headerStyle`: Applied to all table column headers. Can be overridden on a style-by-style basis by both the `columns[X].style` and `columns[X].header.style` component properties. - `headerGroupStyle`: Applied to all `headerGroups`. - `bodyStyle`: Applied top the table body. Mostly good for changing the background color of the table body. - `footerStyle`: Applied to all table column footers. Can be overridden on a style-by-style basis by both the `columns[X].style` and `columns[X].footer.style` component properties. - `footerGroupStyle`: Applied to all `footerGroups`. - `selection.style`: Applied to the visual selection. Works best for styling only the selected color/border as this is a separate layer than the text showing below the selected display. This does NOT impact the highlight style as the mouse is hovered over the table. - `pager.style`: Applied to the pager container. Mostly good for changing the background color. - `filter.style`: Applied to the filter display. - `columns[X].style`: Now applied to the header, cells, and footer of an entire column. Gives the ability to style an entire column separate of the rest of the grid. - `emptyMessage.style`: Applied to the overall empty message display area.
Visualization - Web
When using the Login and Logout events, URLs with valid special characters are now correctly encoded to avoid any 500 errors
Visualization - Web
When clicking a Pipe Connection arrow to create a new connection a new Undo action will be created, even if the the new connection has not been moved.
Visualization - Web
Button Components with Quality Overlays and long text will no longer display outside its bounding box.
Visualization - Web
Fix infinite update loop occurring with view object and array, bidirectionally bound, inout parameters.
Visualization - Web
Map component now has a maxBounds property by default that a user can set two latitude longitude coordinate points to limit a user to only being able to interact between the set max bounds points.
Visualization - Web
Property Bindings will no longer appear to affect Properties of Components outside their view with the same Property & Component Path. This issue was evident within the Property Editor when two or more views were open, and a Component with a shared Component and Property Path's bindings changed due to a binding.
Visualization - Web
When deleting a component, and undoing the delete, the component is placed at its original z-index.
Visualization - Web
Setting a Slider Component's meta.visible to false no longer results in part of the slider being visible.
Visualization - Web
Max Bounds Map property default value should be undefined to allow for no bounds at all

Platform - Alarms

Data Model
Fixed an issue where the Gateway did not enforce access controls using the alarm management permission when system.alarm.createRoster() was invoked by Vision Clients
Data Model
- Leading and trailing whitespace on roster names are now trimmed before creating the roster. - Blank roster names are now rejected.
Data Model
Fixed: Alarm Journals will now respect the "Store Shelved Events" setting
Data Model
Fixed a regression which caused the "State" runtime alarm property to show the same value as "EventState". The State property now shows the full state (Active/Cleared, Un/Acknowledged) like it did in 8.1.4 and prior.
Data Model
Fixed issue where remote pipeline monitoring was accidentally removing an event after the first update, missing the subsequent updates.

Platform - IdP + User Sources

Security
Identity providers now have an optional backup configuration that will automatically load when a redundant gateway setup's role switches from master to backup.
Security
Fixed an issue where IdP-based authentication could fail in the designer or vision client if a proxy intercepts Gateway responses and forwards them using chunked transfer encoding

Platform - Module System

Platform
Acceptance of third-party module license (with non-UTF-8 content) now correctly computes and stores the representative checksum.

Platform - Other

Platform
Added the ability to modify and change tag providers on an Edge Gateway. Only one standard tag provider can still be used on Edge, but, if changing between platform editions, another tag provider can be selected instead of previously being forced to used the default Edge provider.

Platform - Projects

Platform
Fixed an issue where large project imports through the gateway could show an error even if the project imported successfully.
Platform
Project names now allow hyphen characters, i.e. `my-project`.

Platform - Redundancy

Enterprise
Fixed redundancy issue where the backup's project sync status remained OutOfDate after reconnecting with the master.

Platform - Scripting

Platform
system.alarm.queryStatus() and queryJournal() now wrap their results in a PyAlarmEvent
Platform
`system.util.audit()` script function now correctly parses sequences/lists supplied to the `originatingSystem` parameter. Tuple pairs of strings (id/value) within a sequence are also accepted. Error reporting has been improved in situations where `originatingSystem` parameter values are invalid.

Platform - Security Model

Security
- Fixed an issue where Perspective sessions would not close using the system.perspective.closeSession scripting function immediately after inactivity logout is triggered - Inactivity timeout is no longer active when project is public, inactivity timeout action is ""logout"", and user is not authenticated to begin with

Platform - Tags

Data Model
Tag XML imports from Ignition 7 would lose bindings configured on alarm pipeline settings (active, clear, ack pipelines)
Data Model
Log files are now created in logs/legacy-tag-conversion when upgrading 7.x gateways to 8.1. The logs contain more detailed information about any potential problem tags after upgrade.
Data Model
Improved the ranking of tags upon legacy upgrade, resulting in more efficient and more correct loading of the new tag provider.
Data Model
system.tag.exists is no longer inefficient when checking UDT instances.
Data Model
Added overload to WriteHandler which takes SecurityContext so that third party module authors may be able to author a WriteHandler which accepts SecurityContext associated with write requests to their Managed Tag Provider's tags
Data Model
7.9 remote tag providers are now exposed in 8.1 OPC server when the option is enabled
Data Model
Tags with bound dataTypes will now correctly load when a Value property is set.
Data Model
Wildcard subscriptions were browsing into tag properties unnecessarily, causing processing delays for large tag sets. This could cause delays in publishing values through MQTT Transmission.
Data Model
Writing to elements of arrays obtained from system.tag.read* Gateway-scoped script invocations should no longer write back to the element in the Tag's array instance

Platform - Web Interface

Visualization - Web
* `object-path` dependency in the `@inductiveautomation/ignition-react` web package was no longer used. Dependency removed. * `resolve-url-loader` dependency in the `@inductiveautomation/map` web package (which uses `adjust-sourcemap-loader` which uses `object-path`) was no longer used. Dependency removed.

Reporting

Visualization - Swing
Fixed an issue with the 'Row Selector' component not correctly firing mouse events from scripting.

SFC

Data Model
Tag reference action on SFC transition editor inserts incorrect tag paths.
Data Model
An edit to an SFC action step timer script will not mark the chart as having changed, resulting in the potential loss of the script edit if no other element of the chart is modified before save.

SQL Bridge

Data Model
Run-always expression items that target other Tags should write regardless of the trigger status.

Tag Historian

Data Model
Fixed a bug where history enabled tags having a "Max time between records" default value of 1 would have an incorrect "Max Time Between Samples" value of 0 when upgraded from 7.9 to 8.x
Data Model
Fixed an issue where querying for future historical values within the Vision Easy Chart would render interpolated non-existent 0 values.
Data Model
Historical deadband mode of "off" was not being respected.
Data Model
Tag history "max time between values" stores the last previously stored value, instead of the current value (which may be different, if a deadband is applied)

Vision

Visualization - Swing
Calling 'setSelectedRow' on the power table now adjusts correctly for row sort
Visualization - Swing
Fixed an issue where the 'Client Menubar Font' property was being ignored.
Visualization - Swing
launchers no longer try to force SSL for backup gateways which don't have SSL configured.
Visualization - Swing
The Vision Sound Player component no longer gives an error popup if no output device is found and logs the message instead.
Visualization - Swing
Launchers no longer try to force SSL for backup gateways which don't have SSL configured.