Ignition 8.3.1: New Secrets Management Scripting API, Launcher Support For JVM Arguments, And More!

The release train has chugged through the autumn terrain of brightly colored leaves, emitting puffs of pumpkin spice-scented steam, to deliver some fantastic new updates in the first branch of Ignition 8.3.
Ignition 8.3.1 offers a new scripting API for Secrets Management, launcher support for JVM arguments, a tag browser refresh button, and plenty more new improvements.
New Scripting API For Secrets Management
One of the most exciting new features in 8.3.1 is the addition of a new Secrets Management scripting API for retrieving secrets from secret providers, as well as for encryption and decryption.
This new feature provides a lot more flexibility, and supports a single generic API for listing and reading secrets (the most frequent use case for secrets) for any provider type.
The new scripting functions include:
- system.secrets.encrypt(plaintext)
Encrypt a plaintext into a ciphertext using the same platform encryption service that backs embedded configuration secrets and the internal secret provider. - system.secrets.decrypt(ciphertext)
Decrypt a ciphertext into a plaintext using the same platform encryption service that backs embedded configuration secrets and the internal secret provider. - system.secrets.getProviders()
Browse a list of secret providers configured in the system. Each list entry includes the name, description, and type of provider. - system.secrets.getSecrets(providerName)
Browse a list of secrets configured in a secret provider referenced by name. Each list entry includes the name of the secret. - system.secrets.readSecretValue(providerName, secretName)
Read the plaintext value of a secret given the name of the provider and the name of the secret in the provider.
These APIs enable you to do two things. First, you can hard-code your encrypted secrets and use the decrypt function to decrypt the ciphertext during script runtime. And second, you can store your secrets in a secret provider and use the scripting function to read the secret's plaintext value during script runtime. We recommend the second approach, since it’s a lot easier to manage secrets when they are all in providers rather than being scattered everywhere (or worse, scrawled across a rainbow of random sticky notes!).
Launcher File Associations Now Support JVM Arguments
Ignition 8.3.1 adds support for JVM arguments in file associations for designers and Vision clients – an update that provides you with additional options while still retaining strong SCADA security.
Since file associations exist on disk, they can have more options than deep links for security. So when folks in the Ignition community requested that we increase the amount of parameters in file associations, we were happy to deliver!
If you want to apply JVM arguments into your file associations, such as your custom-built .vision or .designer file extensions for example, this new update makes that possible. You can apply additional arguments to the JSON structure using the new key jvmArguments when you want to specify an array of JVM arguments towards specific Vision clients and designers without exposing launchers to users.

Tag Browser Refresh Button
In response to another community request, 8.3.1 adds a handy refresh button to the Tag Browser when using Event Streams, Perspective Tag, and Perspective Tag History bindings, ensuring you can stay on top of changes in the moment.
This new update is vital for when you’re browsing for tags or any designer subsystem and need to know if something is updating on the spot. Previously, when the Tag Selector was open and you added a new tag, the new tag wouldn’t appear as an option in the selector. There were workarounds to this issue: close and reopen the dialog, or save the project, in order to have a newly added tag appear. But this update enables you to refresh the tree with the current tags from the Gateway with a single click, so you can speed your workflow up.

Toggle Visibility Of Alarm Metrics
There’s a new setting in the Tag Browser in 8.3.1 — Display Alarm Metrics — enabling you to toggle the visibility of all tag and folder aggregated alarm metrics.
Since having tag and folder metrics visible in the Tag Browser at all times eats up valuable real estate on a screen, this new feature gives you greater control of your view and lets you customize it to suit your needs at any given moment. Whatever selection you choose will be retained with any restart of the designer. And while the default state is to show the alarm metrics, if you ever want to hide them it’s now as simple as unchecking a checkbox.

OPC UA Improvements
8.3.1 delivers a number of helpful OPC improvements.
First, we’ve added an OPC UA description attribute in returned PyOPCTag objects when calling system.opc.browseServer(). This enables you to retrieve third-party OPC server description values and expose them either through scripting or through other tag properties in Ignition to include some additional context.
We’ve also added a mapping between an exposed documentation tag property and its OPC UA server’s description attribute. Additionally, there’s a new Timestamp Source configuration setting for OPC UA connections. And lastly, there’s a new Max Holding Registers Per Write Request setting for the Modbus Driver.
Tags & UDTs Improvements
There are a couple updates related to tags and UDTs to highlight in 8.3.1, which help speed up tag imports and offer more control over timestamps.
We’ve improved the latency of tag imports for all file types within the 8.3.1 designer, greatly reducing the memory overhead required for larger imports.
Additionally, we’ve added a new Preserve Source Timestamp property for derived tags. This comes in handy if you're trying to do JSON parsing on individual tags. It lets you choose whether you want to rely on the source value timestamp of a derived tag or use the timestamp that appears after it has executed all of its calculations. This new property is extremely helpful, and in some instances is a downright must-have, since most regulated industries don’t allow you to alter the original source timestamp.

New Keyboard Shortcuts
Lastly, 8.3.1 adds new keyboard shortcuts for switching between tools (F1 through F10) in Perspective’s Drawing Editor, a helpful improvement that supports a more streamlined workflow. These keyboard shortcuts can be attached to action button tooltips, while the updated status bar provides succinct tool descriptions.

8.3.1 also fixes a couple issues for Mac users: now the CTRL key is properly translated to the Command (⌘) key on Mac and ⌘ + Drag no longer triggers the context menu.
The Indefatigable Release Train Carries On
Find out more about the updates in 8.3.1 in the release notes and the Ignition user manual. And if you’ve got any idea, big or small, for how to improve Ignition, please don’t be a stranger — the ideas portal is always open!
The Ignition 8.3.2 release train is already speeding along without missing a beat, set to bring you more Ignition features and improvements in late November.