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.
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
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.
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
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.
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
Thanks @Adam Driscoll
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
}
}I removed my .trim solution in 2026.3.3 and it still works, so it seems fixed in 3.3