# io.Connect Desktop 10.3 Release Highlights

**URL:** <https://community.interop.io/t/io-connect-desktop-10-3-release-highlights/622>\
**Category:** io.Connect Desktop\
**Tags:** release, News, iocd-10\
**Created:** [July 8, 2026, 11:30am UTC](https://community.interop.io/t/io-connect-desktop-10-3-release-highlights/622 "2026-07-08T11:30:56Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![toni.petrov](https://yyz2.discourse-cdn.com/flex028/user_avatar/community.interop.io/toni.petrov/32/17_2.png) [@toni.petrov](https://community.interop.io/u/toni.petrov)\
**Post date:** [July 8, 2026, 11:30am UTC](https://community.interop.io/t/io-connect-desktop-10-3-release-highlights/622/1 "2026-07-08T11:30:56Z")

</div>

**io.Connect Desktop 10.3** is out with new APIs for inspecting Layout contents, new ways for apps to interact with **io.Manager** , more control over Workspaces behavior, download and zoom configuration improvements, support for hardware metadata in **io.Insights** , and partial support for HTML windows in the default platform mode.

## [Retrieving Layout Contents](https://docs.interop.io/desktop/getting-started/changelog/10-3/index.html#new_features-retrieving_layout_contents)

The Layouts API now includes a `getLayoutContents()` method for retrieving the contents of **Global Layouts** and **Workspace Layouts**. Docs:

- [getLayoutContents()](https://docs.interop.io/desktop/reference/javascript/layouts/api/index.html#API-getLayoutContents)
- [Retrieving Layout Contents](https://docs.interop.io/desktop/capabilities/windows/layouts/javascript/index.html#layout_operations-retrieving_layout_contents)
- [GetContentsOptions](https://docs.interop.io/desktop/reference/javascript/layouts/getcontentsoptions/index.html)
- [LayoutContents](https://docs.interop.io/desktop/reference/javascript/layouts/layoutcontents/index.html)

## [Interacting with io.Manager](https://docs.interop.io/desktop/getting-started/changelog/10-3/index.html#new_features-interacting_with_iomanager)

The `@interopio/manager-api` library now exposes a `ManagerLib()` factory function. When included in the `libraries` array during `@interopio/desktop` initialization, it adds a new `manager` property to the initialized io.Connect API object. Apps can then use `io.manager` to monitor the connection state to **io.Manager** and trigger data-fetching operations programmatically.

- [Initiating Interaction from io.Connect](https://docs.interop.io/manager/apis/initiating-interactions-from-io-connect/index.html)

## [Hardware Metadata in io.Insights](https://docs.interop.io/desktop/getting-started/changelog/10-3/index.html#new_features-hardware_metadata_in_ioinsights)

io.Insights can now include hardware metadata as resource attributes in all OpenTelemetry signals: metrics, traces, and logs.

Enable it by setting `addHardwareDataToAttributes` to `true` in the `otel` top-level key of `system.json`.

The added hardware attributes include CPU, memory, OS architecture, OS platform, OS release, and OS version metadata. This helps correlate performance data with the underlying hardware.

- [io.Insights](https://docs.interop.io/insights/general-overview/index.html)
- [System Configuration](https://docs.interop.io/desktop/developers/configuration/system/index.html)

## [Workspaces](https://docs.interop.io/desktop/getting-started/changelog/10-3/index.html#new_features-workspace_frame_on_top_state)

You can now dynamically control the z-order of a Workspaces App instance by using the `setOnTop()` method of a `Frame` instance.

- [Frame z-order](https://docs.interop.io/desktop/capabilities/windows/workspaces/javascript/index.html#frame-zorder)
- [Frame.setOnTop()](https://docs.interop.io/desktop/reference/javascript/workspaces/frame/index.html#Frame-setOnTop)

You can now subscribe to events for reordered Workspace tabs and window tabs. These events are triggered only when a tab is dragged to a different position without being removed from its current container. Docs:

- [onWorkspaceTabReordered()](https://docs.interop.io/desktop/reference/javascript/workspaces/api/index.html#API-onWorkspaceTabReordered)
- [onWindowTabReordered()](https://docs.interop.io/desktop/reference/javascript/workspaces/api/index.html#API-onWindowTabReordered)

The size of Workspace splitters - the draggable dividers between windows in a Workspace, can now be customized using the `splitterSize` property of the `settings` object within the `components` prop of the `<Workspaces />` component.

- [Workspace Splitter Size](https://docs.interop.io/desktop/capabilities/windows/workspaces/overview/index.html#extending_workspaces-splitter_size)

## [Downloads](https://docs.interop.io/desktop/getting-started/changelog/10-3/index.html#new_features-download_path)

`DownloadOptions` now accepts a `path` property when passed as the second argument to the `download()` method of an `IOConnectWindow` instance.

- [DownloadOptions](https://docs.interop.io/desktop/reference/javascript/windows/downloadoptions/index.html)

You can now control download auto save behavior at runtime with `setAutoSave()` and `getAutoSave()`, available through `iodesktop.downloads`.

- [Downloads](https://docs.interop.io/desktop/capabilities/windows/window-management/javascript/index.html#window_operations-download)

You can now instruct the platform to close that blank window io.Connect opens on download by setting `closeBlankDownloadWindows` under `windows.downloadSettings` in `system.json`.

- [Download Settings](https://docs.interop.io/desktop/developers/configuration/system/index.html#window_settings-downloads)

## [Zoom Keyboard Shortcuts](https://docs.interop.io/desktop/getting-started/changelog/10-3/index.html#new_features-zoom_keyboard_shortcuts)

Zoom keyboard shortcuts are now configurable through the `shortcuts` property of the `zoom` object under the `windows` top-level key in `system.json`.

- [System Configuration](https://docs.interop.io/desktop/developers/configuration/system/index.html)

## [URL Filter](https://docs.interop.io/desktop/getting-started/changelog/10-3/index.html#new_features-url_filter)

The `urlFilter` property under the `windows` top-level key in `system.json` now also accepts an array of regular expressions making it easier to define multiple allowed domain patterns without combining them into a single complex regular expression.

- [Filtering Web Requests](https://docs.interop.io/desktop/developers/configuration/system/index.html#window_settings-filtering_web_requests)

* * *

Full changelog: [io.Connect Desktop 10.3](https://docs.interop.io/desktop/getting-started/changelog/10-3/index.html)
