Skip to main content

Миграция с 7.26 на 7.27

7.27.0

Изменения в сборке Frontend

  • Поднята версия NodeJS до 18.20.1

Изменения в XML API

  • Атрибут search-on-clear поля <search-buttons> был перенесен в элемент <filters> таблицы под именем fetch-on-clear.
  • Атрибут search-on-change фильтра таблицы был переименован в fetch-on-change.
  • Атрибут icon был удален из виджетов.
  • Атрибут position был переименован в icon-position в элементе <output-text>.
  • Атрибут position поменял свое значение в ячейке <icon>. Теперь это позиция иконки относительно текста (было наоборот: позиция текста относительно иконки).
  • Прекращена поддержка схемы menu-2.0.
  • Атрибуты icon, label, visible, enabled, datasource, model были удалены из <action>.

7.27.16

Изменения в Java API

  • Произошли изменения в механизме сериализации\десериализации дат. Раньше была возможность преобразовать любую строку указанного формата к дате в формате ISO 8601. Для этого использовались настройки n2o.engine.rest.dateformat.deserialize и n2o.engine.rest.dateformat.serialize.
    Но у этого механизма было несколько проблем. Одна из самых очевидных, что для любого значения типа String будет произведена попытка приведения к одному из указанных в настройке форматах.
    Вторая проблема - абсолютно все строки подходящие под формат будут приведены к датам. Во избежании этого ранее была введена настройка n2o.engine.rest.dateformat.exclusion-keys, где можно перечислить список игнорируемых полей.

    По итогу мы решили полностью отказаться от этого механизма и удалить все вышеназванные настройки. Это значит, что все даты в n2o будут храниться в виде строк (любого формата!). Соответственно в маппинги и нормализации они будут попадать будучи типом String.
    Для того, чтобы поменять тип значения, можно указать атрибут domain="localdate" или domain="localdatetime". После этого значение будет преобразовано в тип java.time.LocalDate или java.time.LocalDateTime соответственно.

    Стоит напомнить, что атрибут domain временно не поддерживается во входящих полях query.xml.