Skip to content

v1.5.0 ​

Дата выпуска: 2026-11-11

Версия добавляет подключение локального AI-ядра ai-core, расширенный вход через LDAP, реестр документов пространства, опросы, слайды и HTML-блоки на доске. Изменён формат лицензионного ключа.

Новые возможности ​

  • AI-функции через локальное AI-ядро ai-core: генерация изображений в панели «flip AI», «Изменить с AI» и «Удалить фон» для изображений на доске. ai-core — необязательный компонент; подключение и требования — в разделе Конфигурация ai-core.
  • Вход через LDAP и Active Directory: несколько контроллеров домена, дополнительный фильтр учётных записей UserFilter, автоматическое добавление пользователя в пространство при первом входе и привязка профиля flip к постоянному идентификатору учётной записи каталога (например, objectGUID). (backend)
  • Реестр документов пространства: раздел «Все документы» в левом меню, список документов с фильтрами по команде, создателю, тегу, папке и флипу, корзина документов и поиск по документам.
  • Панель «Структура» на флипе: дерево команд, папок, флипов и документов пространства с поиском и фильтром по тегам.
  • Режим «Только чтение» для документа и блок «Связанные документы» в карточке документа с входящими и исходящими ссылками.
  • Элемент «Опрос» в меню «Инструменты фасилитатора»: настройки «Анонимное голосование», «Выбор нескольких ответов», «Правильный ответ» и «Только участники пространства».
  • Инструмент «Слайды»: колода слайдов из фреймов на доске с шаблонами, режимом «На весь экран» с заметками докладчика и показом через «Запустить презентацию». Показ запускают только участники пространства.
  • Инструмент «HTML-блок»: HTML-страница на доске в изолированном фрейме с редактором «Редактировать HTML». Размер HTML — до 2 МБ.
  • Форматы ячеек таблицы «Флажок» и «Раскрывающийся список» в меню «Формат ячеек»; при повторяющихся значениях в строке или столбце предлагается «Сделать раскрывающийся список?». (frontend)
  • Новые инструменты MCP-сервера: генерация изображений и удаление фона (get_image_generation_info, generate_image, place_generated_image, remove_background), опросы (add_poll), реестр документов пространства (list_space_docs, list_space_doc_filters, get_space_docs_structure), слайды (add_slide_deck, add_slide) и HTML-блоки (add_html_block, update_html_block). (mcp-server)

Улучшения ​

  • Новый формат лицензионного ключа. Ранее активированный ключ продолжает действовать; новый ключ активируется только в новом формате, ключ старого формата отклоняется. (backend)
  • Если время сервера PostgreSQL отстаёт от последнего зафиксированного приложением более чем на 14 часов, лицензия считается истёкшей до исправления времени. (backend)
  • При включённом LDAP вход по паролю flip отключается; администратор, заданный при установке, входит по своему паролю. (backend)
  • Учётные записи, отключённые в Active Directory, не могут войти при Attributes.AccountStatus: userAccountControl; число попыток входа через LDAP ограничено: 10 в минуту на один логин. (backend)
  • Сброс кэша прав и тегов больше не сканирует все ключи Valkey: удаление участника из команды не блокирует Valkey. (backend)
  • Настройка «Скругление углов» для изображений в меню «Граница». (frontend)
  • Фрейм, нарисованный внутри другого фрейма, забирает элементы под собой. (frontend)
  • Поддержка Apple Pencil на iPad: касания ладонью игнорируются во время рисования пером, доска не смещается за пером без касания экрана. (frontend)
  • Список команд в левом меню разделён на «Мои команды» и «Состою как участник». (frontend)
  • Обзор профиля пространства показывает число созданных флипов, участников, команд и использование лицензий. (frontend)
  • Файл index.html интерфейса отдаётся с заголовком Cache-Control: no-cache: после обновления браузер загружает новую версию интерфейса без очистки кэша. (frontend)
  • Инструмент get_elements возвращает не более 500 элементов и 256 КиБ за вызов с признаком truncated и смещением nextOffset; search_elements также возвращает признак truncated. (mcp-server)
  • Запрос к /mcp с телом больше 8 МиБ отклоняется с кодом 413. (mcp-server)
  • Лимит памяти Go-рантайма (GOMEMLIMIT) устанавливается автоматически в 80% от лимита памяти контейнера, если переменная GOMEMLIMIT не задана. (mcp-server)

Изменения конфигурации ​

backend ​

  • AI.LocalCore.BaseURL — добавлен. Адрес API ai-core: схема, хост и порт, без пути; пустое значение или отсутствие секции AI выключает AI-функции. Пример: http://flip-ai-core:9100. См. Конфигурация backend.
  • AI.LocalCore.Token — добавлен. Токен доступа к ai-core, не короче 32 символов; совпадает с Auth.Local.Token в конфигурации ai-core. Пример: результат openssl rand -hex 32. См. Конфигурация backend.
  • Auth.LdapAuthConfig.Address — изменён формат: список адресов контроллеров домена, перебираемых по порядку при недоступности. Строка с одним адресом или адресами через запятую поддерживается. Пример: ["ldaps://dc-1.example.ru:636", "ldaps://dc-2.example.ru:636"]. См. Конфигурация backend.
  • Auth.LdapAuthConfig.UserFilter — изменено поведение: фильтр применяется при поиске учётной записи (ранее не использовался). Синтаксис LDAP-фильтров RFC 4515 без подстановок; ошибка синтаксиса — ошибка запуска. Пример: (memberOf=CN=allow-flip,OU=Groups,DC=example,DC=ru). См. Конфигурация backend.
  • Auth.LdapAuthConfig.LoginAttributes — добавлен. Атрибуты LDAP, по которым ищется учётная запись по введённому логину; по умолчанию — атрибут из Attributes.Mail. Пример: [userPrincipalName, mail]. См. Конфигурация backend.
  • Auth.LdapAuthConfig.AutoJoinSpace — добавлен. При true пользователь, прошедший UserFilter, при первом входе становится участником пространства без приглашения. Пример: true. См. Конфигурация backend.
  • Auth.LdapAuthConfig.Attributes.ID — добавлен. Атрибут с постоянным идентификатором учётной записи для привязки профиля flip. Пример: objectGUID. См. Конфигурация backend.
  • Auth.LdapAuthConfig — добавлена проверка при запуске: обязателен Attributes.Mail, адреса — только со схемой ldap:// или ldaps://, UseTLS: true не сочетается с ldaps://. При ошибке backend не запускается. См. Конфигурация backend.

Действия при обновлении ​

  1. Подключите ai-core или отключите его. В шаблонах Helm-чарта (values.yaml) и docker-compose.yaml компонент ai-core включён:
    • для подключения создайте базу flip_ai_core, задайте строку подключения (AI_CORE_POSTGRES_DSN в .env для Docker Compose, секрет ai-core-config для Kubernetes), заполните конфигурацию ai-core и секцию AI конфигурации backend по инструкции; обеспечьте исходящий доступ по HTTPS к ai.flip-chart.ru;
    • для отключения укажите ai-core.enabled: false в values.yaml или удалите сервис flip-ai-core из docker-compose.yaml (см. Отключение).
  2. Если используется вход через LDAP, проверьте секцию Auth.LdapAuthConfig конфигурации backend до обновления:
    • укажите Attributes.Mail;
    • уберите UseTLS: true при адресах ldaps://;
    • проверьте UserFilter: фильтр теперь применяется; удалите его, если ограничение не требуется.
  3. Проверьте синхронизацию времени сервера PostgreSQL (NTP) — от неё зависит проверка срока действия лицензии.
  4. Для продления лицензии запросите ключ нового формата: ключ старого формата не активируется.
  5. Не прерывайте первый запуск backend после обновления. Если запуск был прерван, проверьте наличие невалидных индексов запросом SELECT indexrelid::regclass FROM pg_index WHERE NOT indisvalid;, удалите найденные индексы командой DROP INDEX CONCURRENTLY <индекс>; и перезапустите backend; если индекс не создан повторно, выполните его CREATE INDEX CONCURRENTLY из файла миграции в каталоге /flip/migrations контейнера backend.

Миграции базы данных

При первом запуске backend строит индексы по таблицам elements и flips (CREATE INDEX CONCURRENTLY). На больших базах запуск backend занимает больше времени; запись в таблицы при построении индексов не блокируется. Если миграция завершилась ошибкой по тайм-ауту блокировки, перезапустите контейнер backend.

Документация flip On-Premise и Cloud