Изменения в версии 5.1.2
По сравнению с версией 5.1.1.
Исправления
Приём сообщений с пустым телом. Значение или ключ нулевой длины (пустое тело без флага null) больше не приводят к ошибке разбора. Обработаны все форматы сериализации:
| Сердес | Результат при пустом теле |
|---|---|
Строка |
"" |
ДвоичныеДанные |
пустые двоичные данные |
Uuid |
Неопределено |
СтруктураJson, СоответствиеJson, Xml |
Неопределено |
Игнорировать |
Неопределено, тело не пропускается лишний раз |
Принцип: если у формата есть корректное представление пустого тела, возвращается пустое значение этого типа; если нет — возвращается Неопределено, значение не подменяется выдуманным.
В версии 5.1.1 такие сообщения обрабатывались частично: пустое тело в форматах Uuid, JSON и XML приводило к исключению при разборе, а не к возврату значения.
Совместимость
Изменений в метаданных нет, миграция не требуется.
Изменилось поведение приёма для сердесов Uuid, СтруктураJson, СоответствиеJson и Xml: при пустом теле сообщения приёмная процедура теперь получает Неопределено вместо исключения. Если прикладной код рассчитывал на прерывание обмена в этом случае, проверку нужно добавить явно.