4.6.1
(fix): Fix undiscriminated union deserializer misclassifying payloads. The generated
deserializer now checks that all required wire keys are present in the JSON
object before attempting to convert to each variant, preventing the first
variant from always winning when Jackson’s builder silently accepts missing
required fields.
(fix): Replace switch-on-type WebSocket message dispatch with shape-based trial
deserialization. Messages are now matched by checking required-field presence
and literal values before attempting Jackson conversion. This correctly handles
AsyncAPI channels where multiple message schemas share the same discriminator
value (e.g., two “History” variants with disjoint required fields).