I have to update my Blob Server and my Image Streamer for this. Since there won't be any more features in the 8.1 branch, I will simply keep the previous module file available for users not yet on 8.1.49+. No separate branch.
If there are any bug fixes, users will have to upgrade the platform too, just like any IA bugfix.
2 Likes
Release Notice
Embr v8.1 - 2026.6.6
This release bumps the minimum compatible Ignition version from 8.1.33 to 8.1.49, allowing users to run Embr Periscope on 8.1.49+.
Minor Changes
f64c92d : Bump minimum compatible Ignition version from 8.1.33 to 8.1.49.
2 Likes
bmusson
August 24, 2026, 9:37pm
106
Critical Bug Report
The upgrade to Jython 2.7.4 in Ignition 8.3.8 has impacted usage of Periscope's system.perspective.runJavaScript* functions.
opened 05:31PM - 24 Aug 26 UTC
closed 07:42PM - 31 Aug 26 UTC
bug
periscope
8.3
# [Periscope] Project library toast calls fail with `KeyError: self` in Ignition… 8.3.8 unless sessionId/pageId are explicitly provided
## Description
After upgrading to Ignition 8.3.8, existing Periscope toast helper functions in a project library began failing with a `KeyError: self`.
The same code worked prior to Ignition 8.3.8.
This call previously worked:
```python
system.perspective.runJavaScriptAsync('''
(content, options) => {
periscope.toast(content, options)
}''', args)
```
In Ignition 8.3.8, the call succeeds when changed to:
```python
system.perspective.runJavaScriptAsync(
function='''(content, options) => {
periscope.toast(content, options)
}''',
args=args,
sessionId=None,
pageId=None
)
```
## Steps to Reproduce
1. Upgrade to Ignition 8.3.8.
2. Call a Periscope toast helper from a project library script.
3. Execute a toast using `system.perspective.runJavaScriptAsync(...)`.
4. Observe the exception.
5. Add `sessionId=None` and `pageId=None`.
6. Observe that the same code executes successfully.
## Expected Behavior
Existing project library toast calls continue to function after upgrading to Ignition 8.3.8.
## Actual Behavior
The call fails with a `KeyError: self` unless `sessionId=None` and `pageId=None` are explicitly provided.
## Stack Trace
```text
KeyError: self
at com.mussonindustrial.embr.perspective.gateway.reflect.ComponentModelKt.getComponentModelScriptWrapper(ComponentModel.kt:14)
at com.mussonindustrial.ignition.embr.periscope.scripting.JavaScriptFunctions.runJavaScript(JavaScriptFunctions.kt:85)
...
```
Error:
```text
java.lang.Throwable: Traceback (most recent call last):
File "<function:runAction>", line 2, in runAction
File "<module:Toast>", line #, in create
KeyError: self
at org.python.core.Py.KeyError(Py.java:220)
...
Caused by: java.lang.Throwable: KeyError: 'self'
```
## Environment
- Ignition 8.3.8 (b2026071409)
- Java 17.0.19 (Azul)
- Perspective
- Periscope
- Calls made through a project library script
## Additional Information
Explicitly providing:
```python
sessionId=None,
pageId=None
```
allows the toast functionality to work successfully.
I have a fix coming but I'll need a day or two to properly test things.
Until then, a workaround is available in the GitHub issue.
I'll update this post once a fix is available.
Thanks @jason_wellman for the report!
Fix Available
This has been fixed in:
(8.3) Periscope 0.14.5
(8.1) Periscope 0.16.4
See Embr's GitHub Release page for the latest available versions.
4 Likes
bmusson
August 31, 2026, 8:32pm
107
Release Notice
Embr v8.1 - 2026.8.31
Embr v8.3 - 2026.8.31
This release resolves a runJavaScript error reported by @jason_wellman
Thanks Jason!
This error was a result of a pretty naive approach to grabbing the current Periscope component context from the current PyFrame . The fixed approach has been backported to 8.1, even though it didn't seem to be affected.
5 Likes