Changelog
io.Connect Desktop 9.17
Release date: 26.10.2026
| Components | Version |
|---|---|
| Electron | 44.9.3 |
| Chromium | 152.0.7977.167 |
| Node.js | 24.22.0 |
The following libraries are bundled with io.Connect Desktop 9.17 and will be used for auto injection:
| Injected Library | Version |
|---|---|
@interopio/desktop |
6.17.0 |
@interopio/fdc3 |
2.7 |
Electron Upgrade
io.Connect Desktop 9.17 comes with an upgraded version of Electron. This upgrade was made to address security issues related to the underlying Electron framework.
The new Electron version contains the mitigation for compromised eMudhra intermediate certificates (CVE-2026-115570), as well as security fixes backported from upstream Chromium, V8, ANGLE, PDFium, and Skia.
TLS connections using certificates issued through these intermediate certificates are now rejected both by the Chromium networking stack used by web apps and by the Node.js tls, https, and fetch modules. This announcement by Google provides information about the compromised certificates.
New Features
Detecting Unresponsive Apps
⚠️ Note that this feature is valid only for apps of type
"window","workspaces", and"webGroup".It's now possible to enable detecting unresponsive web apps. When enabled, io.Connect Desktop checks each web app at regular intervals and considers it unresponsive when it fails a specified number of consecutive checks. The checks are performed regardless of whether the app window is visible and whether the user is interacting with it.
Unresponsive web apps are detected in io.Connect Windows, Workspaces Apps, and Web Group Apps. Each
<iframe>loaded from a different site than the web app is checked separately, while each<iframe>loaded from the same site is checked together with the web app.Unresponsive web apps are reported in the
application.logfile located in the%LocalAppData%/interop.io/io.Connect Desktop/UserData/<ENV>-<REG>/logsfolder on Windows and in the~Library/Application Support/interop.io/io.Connect Desktop/UserData/<ENV>-<REG>/logsfolder on macOS where<ENV>-<REG>represents the environment and region of io.Connect Desktop (e.g.,DEMO-INTEROP.IO). When an app becomes responsive again, the platform logs the approximate interval for which the app has been unresponsive.If possible, the JavaScript call stack of the unresponsive app is collected and added to the app logs. When the call stack can't be collected, you can instruct the platform to create a memory dump file for the unresponsive app.
To enable detecting unresponsive web apps, use the
"hangDetector"top-level key in thesystem.jsonsystem configuration file of io.Connect Desktop:{ "hangDetector": { "enabled": true, "probeInterval": 2000, "missedProbes": 5 } }⚠️ Note that the settings for detecting unresponsive web apps are applied only from the local system configuration on platform startup. Values from remote configuration sources are ignored.
The
"hangDetector"object has the following properties:
Property Type Description "callStack"objectSettings for collecting the JavaScript call stack of an unresponsive web app. The collected call stack is added to the app logs. "crossCheck"objectSettings for an additional check that confirms whether a web app failing the regular checks is really unresponsive. Prevents an app from being reported as unresponsive when the regular checks fail for reasons unrelated to the app. It's recommended to keep this check enabled. "enabled"booleanIf true, will enable detecting unresponsive web apps. Defaults tofalse."missedProbes"numberNumber of consecutive checks a web app must fail to be considered unresponsive. The minimum is 2, the maximum is100. Defaults to5."probeInterval"numberInterval in milliseconds at which to check whether each web app and each <iframe>loaded from a different site is responsive. The minimum is100, the maximum is60000. Defaults to1000."throttledMaxProbeInterval"numberMaximum interval in milliseconds between checks of a web app running in the background (i.e., its window is minimized or has been hidden after being shown, and the app allows background throttling). To save resources, the interval for checking such an app doubles after each successful check up to this value, and returns to the value of "probeInterval"as soon as a check fails or the app is no longer in the background. As a result, an unresponsive app in the background may be detected up to this interval later than a visible one. Doesn't apply to apps with"backgroundThrottling"set tofalsein their app definition, or to windows created hidden and never shown - these are always checked at the interval specified in"probeInterval". Values lower than"probeInterval"are raised to it. The minimum is100, the maximum is60000. Defaults to8000.The
"callStack"object has the following properties:
Property Type Description "enabled"booleanIf true(default), will collect the JavaScript call stack of an unresponsive web app."timeout"numberInterval in milliseconds to wait for the call stack to be collected. The app is reported as unresponsive when the call stack is collected or when this interval elapses, whichever comes first. If the interval elapses, the app is reported without a call stack. A call stack can't be collected when the app is blocked outside JavaScript (e.g., by a synchronous network request). The minimum is 100, the maximum is60000. Defaults to5000.The
"crossCheck"object has the following properties:
Property Type Description "enabled"booleanIf true(default), will enable the additional check. A web app that passes it won't be reported as unresponsive, and if it has already been reported, the report will be withdrawn. Iffalse, a web app whose regular checks fail for reasons unrelated to the app may remain reported as unresponsive until its window is closed."interval"numberInterval in milliseconds at which to run the additional check while a web app is failing the regular checks. The minimum is 100, the maximum is60000. Defaults to5000.Memory Dumps
⚠️ Note that this feature is valid only for apps of type
"window","workspaces", and"webGroup".io.Connect Desktop can create memory dump files for unresponsive web apps when detecting unresponsive web apps is enabled via the
"hangDetector"top-level key. This may be useful in cases where the JavaScript call stack of an unresponsive web app can't be collected.The memory dump files are handled as crash reports according to the settings specified in the system configuration.
⚠️ Note that memory dump files contain the memory of the app process and may include sensitive data.
To enable creating memory dump files for all web apps, use the
"hangDump"property of the"windows"top-level key in thesystem.jsonfile:{ "windows": { "hangDump": { "enabled": true } } }To enable creating memory dump files per app, use the
"hangDump"property of the"details"top-level key in the app definition. The app level settings override the system level ones:{ "name": "my-app", "type": "window", "details": { "url": "https://example.com/my-app", "hangDump": { "enabled": true, "when": "always", "minInterval": 120000 } } }The
"hangDump"object has the following properties:
Property Type Description "enabled"booleanIf true, will enable creating memory dump files for unresponsive web apps. Defaults tofalse."minInterval"numberMinimum interval in milliseconds between two memory dump files for the same web app or <iframe>. Regardless of this setting, only one memory dump file is created each time an app becomes unresponsive, no matter how long it stays unresponsive. The minimum is1000, the maximum is3600000. Defaults to60000."when""js-stack-failed"|"always"Specifies when to create a memory dump file. Set to "js-stack-failed"to create a memory dump file only when the JavaScript call stack of the unresponsive app can't be collected (e.g., when the app is blocked by a synchronous network request). In this case, the memory dump file is created after the interval specified in the"timeout"property of the"callStack"object under the"hangDetector"top-level key elapses. Set to"always"to create a memory dump file every time an app becomes unresponsive. Defaults to"js-stack-failed".
Improvements & Bug Fixes
Upgraded to Electron 44.9.3 (Chromium 152).
Fixed issues with preload scripts where the fallback script wasn't used when the preload script content wasn't valid JavaScript, preload scripts and injected CSS files with long URLs could be resolved to the wrong cached file, and the cached preload scripts were deleted on platform shutdown.
Fixed an issue where a non-critical app failing to start during the boot sequence caused the platform to shut down.
Fixed an issue where app windows weren't cascaded when placement settings were specified in the app definition.