Did $EventData in UDSelect change in 2026.3.0.0?

A fix for this issue has been implemented in version 2026.3.3

Did $EventData in UDSelect change in 2026.3.0.0?

avatar

After updating to 2026.3.0.0 a screen didn't work for me anymore.

After debugging I found that the $EventData variable in the -onchange of the UDSelect now returns "string" instead of string.
So it includes double quotes in the variable itself.
So if I use my UDSelect to select for instance value abcdef then "abcdef" gets returned instead of abcdef in the $EventData
So char 34 in front and in the back.

Is this by design?

I fixed my screen by inserting a .Trim('"') later in the code where I needed that variable.

All Comments (8)

avatar

Hello @denistiri

Thank you for reporting this.

I reviewed the published changes for PowerShell Universal 2026.3.0.0, and I do not see a documented change indicating that the value returned by $EventData for New-UDSelect -OnChange should now include double quotes.

Since you observed this behavior immediately after upgrading, I would like to validate it as a possible behavioral change before confirming whether it is expected.

We will attempt to reproduce this internally using 2026.3.0.0 and compare the $EventData value returned by the same New-UDSelect configuration against the previous behavior.

Could you please confirm the exact PowerShell Universal version you upgraded from, where the same code was working without requiring .Trim('"')?

References:
https://forum.devolutions.net/topics/56197/devolutions-powershell-universal-version-2026300-september-15-2026

Best regards,
Ruben Tapia

avatar

Hi, I've come across the same issue (among lots of others, will be posting bug reports in a minute). The documentation hasn't changed but the output of $EventData seems to be raw JSON data instead of unserialized objects.

avatar
Hello @denistiri

Thank you for reporting this.

I reviewed the published changes for PowerShell Universal 2026.3.0.0, and I do not see a documented change indicating that the value returned by $EventData for New-UDSelect -OnChange should now include double quotes.

Since you observed this behavior immediately after upgrading, I would like to validate it as a possible behavioral change before confirming whether it is expected.

We will attempt to reproduce this internally using 2026.3.0.0 and compare the $EventData value returned by the same New-UDSelect configuration against the previous behavior.

Could you please confirm the exact PowerShell Universal version you upgraded from, where the same code was working without requiring .Trim('"')?

References:
https://forum.devolutions.net/topics/56197/devolutions-powershell-universal-version-2026300-september-15-2026

Best regards,
Ruben Tapia


@rubentapia
I went from 2026.2.4 to 2026.3.0

avatar

I am seeing the same thing, but with New-UDTextbox, in 2026.3.0 and 2026.3.1. Here is an example:

New-UDTextbox -Id "value" -Label "Enter Value" -OnValidate {
If ($EventData.length -eq 0) {
New-UDValidationResult -ValidationError "Value is required."
} Elseif (-not ($EventData -match "^[-A-Za-z0-9.]+$")) {
New-UDValidationResult -ValidationError "Only alphanumeric characters, dot (.) and hyphen (-) are allowed."
} Else {
New-UDValidationResult -Valid
}
}

This works correctly in 2026.2.4. If you leave the UDTextbox blank in 2026.2.4, and tab out of it, then $EventData.length is 0 and you see the correct validation error: "Value is required." But in 2026.3.x, in the same situation, $EventData is set to "" (two double quotes), so $EventData.length is 2 and the check fails when it should succeed. If you enter any other value in the UDTextbox and tab out of it in 2026.3.x, $EventData is surrounded by double quotes, and the match always fails even in cases where it should succeed, because the regex does not include quotes (and it shouldn't, because I don't want to allow quotes). In 2026.2.4, $EventData is not surrounded by double quotes, and the match statement works correctly.

avatar

I've raised an issue for this. It certainly seems like a regression. We will take a look in dev.

Adam Driscoll
PowerShell Expert and Software Architect at Devolutions

avatar
avatar

This is still present in 2026.3.2, and I haven't tried 2026.3.3 yet. I posted the same bug with the following example code

New-UDApp -Content {
    New-UDSelect -Label 'Protocol' -Id 'ProtocolSelect' -Option {
        New-UDSelectOption -Name "HTTP" -Value http
        New-UDSelectOption -Name "HTTPS" -Value https
        New-UDSelectOption -Name "Serial" -Value serial
    } -DefaultValue 'http' -FullWidth -OnChange {
        Show-UDToast -Persistent -Message $EventData
    }
}
avatar

I removed my .trim solution in 2026.3.3 and it still works, so it seems fixed in 3.3

A fix for this issue has been implemented in version 2026.3.3