Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions content/en/docs/releasenotes/workstation/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,62 @@ cascade:

These release notes cover changes made to the [Mendix Workstation](/mendix-workstation/).

## 3.6.0

### Release date: April ??, 2026

### Workstation Management

* Testing improvements - We have enhanced the **Test Your Station** page by making it simpler to send messages to devices without enforcing strict validations. In addition, the page now displays the connection status for each device, as well as the last recorded error, if any.

#### New Features

test coverage

### Workstation Client

#### New Features

SetupDevice
SetupDevice(name, class, initialize, createDevice, entity, onConnect, onMessage, onDisconnect)

A new high-level API makes creating reusable peripheral modules easier. Solves get/create race condition and doesn't require any use of subscription APIs.

Other additions



removes Station_User association

fixes ParseTighteningResultRevision001 name

moved all subscription JSAs into _USE_ME/Subscriptions

adds /rest/stationconnector/publickey API for future app-key setup improvements

### Fixes

fixes bug where not receiving devices list wouldn't trigger connection timeout - now using shared abort signal

fixes bug where late discovered devices aren't added to internal device list

fixes bug where callbacks fail after object arguments are garbage collected - now keeps subscriptions to all objects that we hold to prevent garbage collection

fixes bug where new devices aren't connectable


### Deprecations

* We have removed support for named events using strings and string expressions instead of object attributes.
* We have deprecated the following actions:

* `SendMessage` and `WaitForResponse` - Deprecated in favor of `SendDeviceMessage` and `WaitForDeviceMessage`
* `SubscribeToMessages` (with `subscribeOnce` and implicit connection) - Deprecated in favor of `SubscribeToDeviceMessages`, `Unsubscribe`, and `ConnectDevice`
* `SubscribeToErrors` (with `subscribeOnce` and implicit connection) - Deprecated in favor of `SubscribeToDeviceErrors`, `Unsubscribe`, and `ConnectDevice`
* `UnsubscribeByDevice` and `UnsubscribeByContext` - Deprecated in favor of `Unsubscribe`

The deprecated actions are longer exposed as nanoflows and have been moved to the `_USE_ME/Deprecated` folder.

## 3.5.0

### Release date: March 12, 2026
Expand Down
37 changes: 27 additions & 10 deletions content/en/docs/workstation/wks-build-app.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,18 +65,35 @@ To change a user's role or remove them from the workspace, click the three-dot i

## Getting Started with Custom Logic for Device Interaction

Now that you are ready to start using Mendix Workstation, you can implement your own custom logic for interacting with devices. The following nanoflows and Java actions are essential for establishing connections, sending or receiving messages, and managing device interactions:
Now that you are ready to start using Mendix Workstation, you can implement your own custom logic for interacting with devices. The following nanoflows and actions serve as the core building blocks for integrating devices into your Mendix applications and tailoring the functionality to your specific requirements.

### Nanoflows

The following nanoflows and Java actions are essential for establishing connections, sending or receiving messages, and managing device interactions:

* **GetStation** - Retrieves the computer information connected to the Client.
* **SendMessage** - Sends data or commands to the connected device. For more information about the supported message syntax, see [Message Syntax for File, Smart Card, and Bluetooth Devices](/mendix-workstation/device-syntax/).
* **SubscribeToMessages** - Subscribes to device messages and triggers a nanoflow when messages are received.
* **SubscribeToErrors** - Subscribes to device connection errors and triggers a nanoflow when errors occur.
* **Unsubscribe** - End the subscription to device messages or errors.
* **UnsubscribeByContext** - End all subscriptions related to a context object.
* **UnsubscribeByDevice** - End all subscriptions related to a specific device.
* **DisconnectDevice** - Unsubscribe and completely disconnect from a specific device.

These nanoflows and actions serve as the core building blocks for integrating devices into your Mendix applications and tailoring the functionality to your specific requirements.
* **SendDeviceMessage** - Sends data or commands to the connected device. For more information about the supported message syntax, see [Message Syntax for File, Smart Card, and Bluetooth Devices](/mendix-workstation/device-syntax/).
* **WaitForDeviceMessage** - Waits for a message from the connected device for the duration of the specified timeout period.
* **WaitForObjectChange** - Waits for changes in the specified object for the duration of the specified timeout period.
* **SubscribeToDeviceMessages** - Subscribes to device messages and triggers a nanoflow when messages are received.
* **SubscribeToDeviceErrors** - Subscribes to device connection errors and triggers a nanoflow when errors occur.
* **SubscribeToObjectChanges** - Subscribes to changes in the specified object.
* **Unsubscribe** - Ends the subscription to device messages or errors.
* **SetupDevice** - Creates and configures a device with the specified parameters.
* **ConnectDevice** - Connects to a specific device.
* **DisconnectDevice** - Unsubscribes and completely disconnects from a specific device.
* **Initialize** - Initializes the Client without creating a station or device.
* **GetStation** - Retrieves the Station object.
* **CreateStation**, **CommitStation**, **CreateDevice**, **CommitDevice** - Internal nanoflows, required to support the React strict mode.

### Widgets

The following widgets allow you to specify when to execute an action:

* **On Load/Unload** - Execute the action when the widget is first rendered, or when it is removed (unloaded).
* **On Change** - Execute the action when the specified attribute changes.
* **On Equal** - Execute the action when an attribute is equal to the specified expression.
* **On True** - Execute the action when the specified expression is true.

### Understanding the Domain Model

Expand Down
2 changes: 1 addition & 1 deletion content/en/docs/workstation/wks-message-syntax.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ The section below shows a sample test that you can run to verify the configurati
* **Allow writing files** - **Yes**
* Use the default values for everything else
4. Register the Station to your computer (assuming the Workstation Client is installed there).
5. In your Workspace, navigate to **Test Your Station** and click on the configured file device.
5. In your Workspace, navigate to **Test Your Station** and click **Test** by the configured file device.
6. Enter `3#test.txt#Hello from Mendix` in the **Send Message** field, and then press **Send Message**.

The test should show a response like `S#3#C:\MyTestFolder\test.txt` to indicate that the text file *test.txt* was successfully written to *MyTestFolder*.
Expand Down