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).