OmniFlow — история версий

Версии перечислены сверху вниз, от новой к старой. Обновляясь, читайте разделы «Важно при обновлении» у всех версий новее вашей — свою и более старые пропускайте, их шаги вы уже прошли. Перешагнуть версию можно, её ручной шаг — нет: он остаётся обязательным, даже если этой версии у вас не стояло.

Заметки живут дольше образов. Реестр хранит несколько последних поставок, а заметки — все, поэтому версия, помеченная здесь как «история», описана, но уже не скачивается. Это нормально: список нужен, чтобы понимать путь обновления, а не чтобы ставить старое. На главной — только то, что ставится.
версиядатасостояниечто в ней
0.76.02026-10-25текущаяValkey — обязательная часть платформы: при его недоступности ядро больше не ведёт звонки по копии в памяти, а дожидается хранилища. Исходы набора оператора доказываются, а не угадываются. Одна миграция БД (165), её катит сервис migrator сам. Меняется только образ corenode.
0.75.02026-10-23доступнаЖурнал администратора тенанта, напоминания — отдельной стратегией, назначение id SIP-точек ядром, устойчивость шины к RELOAD без auth callout. Включает исправление 0.74.1 (сама 0.74.1 в реестр не выпущена). Три миграции БД (159-core-journal, 163, 164), их катит сервис migrator сам.
0.74.12026-10-23история⚠ В реестр не выпущена — номер пропущен, исправление вошло в 0.75.0.
0.74.02026-10-22историяНадёжная обработка звонка в ядре и починенный перевод звонков. Четыре миграции БД (159–162), их катит сервис migrator сам. Обновлять только целиком и в тихое время: Core, CU и Asterisk останавливаются и поднимаются вместе, идущие звонки обрываются. Совместной работы старого и нового поколения нет.
0.73.12026-10-20доступнаИсправление поверх 0.73.0. Миграций нет, руками ничего делать не нужно — меняется только образ corenode.
0.73.02026-10-16доступнаТранскрибация записей по расписанию, проверки и JSON-значения env стратегий, IP-транки разных тенантов на одном адресе провайдера, починка фризов шины под нагрузкой подключений. Одна миграция БД (158-core-sbc-desired-trunks-ip-port) — меняет уникальный индекс транков, существующие данные ей не мешают; катится сервисом migrator сама. Меняется образ Kamailio — ./omniflow-ctl upgrade пересоздаст SBC-юниты, это короткий перерыв регистраций и звонков: обновлять при нуле активных звонков.
0.72.02026-10-14доступнаСинтез речи на своих серверах (Piper и vosk) и прогрев TTS-кэша без звонка, справочник сценариев, глобальная коммуникационная панель, NAT-пинг SIP-телефонов. Две миграции БД (153-core-users-panel-flags, 155-core-tts-cache-sample-rate) — только добавляют колонки, катятся сервисом migrator сами, руками ничего делать не нужно.
0.71.42026-10-14доступнаПатч линии 0.71: перевод звонка больше не обрывает разговор. Миграций БД нет. При обновлении с 0.71.2 и раньше вместе с этой версией приходит миграция 0.71.3 (153-core-trunk-caller-numbers) — её катит сервис migrator сам.
0.71.32026-10-12доступнаПатч линии 0.71: номер звонящего провайдеру по белому списку транка, дополнительные транковые порты SIP-контура, исправления звонков, чатов MAX и Авито. Одна миграция БД (153-core-trunk-caller-numbers) — катится сервисом migrator сама, руками ничего делать не нужно. Изменения версий 0.66–0.71.2 в этом файле пока не описаны.
0.68.0—доступназаметок нет
0.65.52026-09-18история⚠ Замена платформенного объектного хранилища: вместо MinIO (лицензия AGPL-3.0, разработка community-редакции остановлена в феврале 2026) в поставку входит SeaweedFS 4.47 (Apache-2.0) под нейтральным именем сервиса s3store. Код платформы работал с хранилищем по протоколу S3 и не менялся — меняются compose, .env и то, где лежат данные. Схема БД и API не менялись, миграций нет.
0.65.42026-09-17историяПатч к 0.65.3: гибче адресация входящих правил маршрутизации к контурам SIP-фронта, факт «маршрут не найден» виден в журнале звонка на всех путях, сборка поставки ускорена в разы (для администратора это означает быстрее выходящие патчи).
0.65.32026-09-17историяПатч к 0.65.2: платформа на чистой установке поднимается без ручных обходов, а звонок со сценарием больше не уходит в тишину.
0.65.22026-09-16историяПервая версия, которая ставится на чистую машину до конца. Сменилась топология по умолчанию.
0.65.12026-09-16история⚠ Промежуточная публикация: три блокирующих дефекта, из-за которых стек не поднимается без ручных обходов. Перечислены ниже — все закрыты в 0.65.2.
0.65.02026-09-15история⚠ Растекание конфигурации SBC по контурам (SBCSYNC) и реестр узлов (UNITREG): транки и SIP-точки заводятся один раз в ядре и сами доезжают до всех SIP-контуров.
0.63.12026-07-31историяПервая поставка, опубликованная в реестр в нынешнем виде: одна версия в реестре, стек наблюдаемости выведен из поставки отдельным проектом.

0.76.0 текущая2026-10-25

Valkey — обязательная часть платформы: при его недоступности ядро больше не ведёт звонки по копии в памяти, а дожидается хранилища. Исходы набора оператора доказываются, а не угадываются. Одна миграция БД (165), её катит сервис migrator сам. Меняется только образ corenode.

Что сделать при обновлении

1. Обновлять целиком и в тихое время: Core, CU и Asterisk останавливаются и поднимаются вместе, идущие звонки обрываются. Совместной работы со звонками 0.75.0 нет. 2. Дождаться нуля активных звонков, затем ./omniflow-ctl upgrade 0.76.0 → ./omniflow-ctl doctor (шаг «Valkey» обязан быть зелёным) → ./omniflow-ctl up. 3. Стратегии обновлять не обязательно — они работают как раньше. Защита исходов набора со стороны стратегии (ответивший оператор не выдаётся как недозвон, быстрый исход отбоя) появится с их новыми версиями на SDK 0.25.6+. 4. Переменная CHAIN_MAX_CHECKPOINT_BACKLOG больше не читается — если задана в .env, её можно удалить, старту она не мешает.

Изменено

Добавлено

Исправлено

Известные ограничения

Стратегии к этой версии

Новых версий нет; работают стратегии 0.75.0.

0.75.0 доступна2026-10-23

Журнал администратора тенанта, напоминания — отдельной стратегией, назначение id SIP-точек ядром, устойчивость шины к RELOAD без auth callout. Включает исправление 0.74.1 (сама 0.74.1 в реестр не выпущена). Три миграции БД (159-core-journal, 163, 164), их катит сервис migrator сам.

Что сделать при обновлении

Добавлено

Исправлено

Известные ограничения

Стратегии к этой версии

strategy-vq 0.6.0, strategy-reminder-dialer 0.1.0, strategy-mibs-main 0.2.12, strategy-transcribe-batch 0.1.1; панель оператора — 0.7.6.

0.74.1 история2026-10-23

⚠ В реестр не выпущена — номер пропущен, исправление вошло в 0.75.0.

Исправление поверх 0.74.0. Миграций нет, руками ничего делать не нужно — меняется только образ corenode; обновление при живых звонках допустимо (пересоздаётся только core-node).

Исправлено

0.74.0 история2026-10-22

Надёжная обработка звонка в ядре и починенный перевод звонков. Четыре миграции БД (159–162), их катит сервис migrator сам. Обновлять только целиком и в тихое время: Core, CU и Asterisk останавливаются и поднимаются вместе, идущие звонки обрываются. Совместной работы старого и нового поколения нет.

Исправлено

Изменено

Что сделать при обновлении

1. Дождаться нуля активных звонков. 2. ./omniflow-ctl upgrade 0.74.0 → ./omniflow-ctl doctor → ./omniflow-ctl up. Миграции 159–162 прокатятся до старта Core. 3. Только после поднятия Core — стратегии: им нужна платформа 0.74.0 (ai-reception 0.0.7, chat-queue 0.1.2, dial-by-code 0.5.2, mibs-main 0.2.10, pay-select 0.2.5, reminder-dialer 0.0.6, simple-main 0.4.2, tcardio-main 0.1.4, vq 0.5.1) — ./omniflow-ctl strategies upgrade. 4. Откат ниже 0.74.0 не поддерживается: миграции 160–161 переводят времена обращений на миллисекунды, прежний Core снова пишет их с большей точностью.

0.73.1 доступна2026-10-20

Исправление поверх 0.73.0. Миграций нет, руками ничего делать не нужно — меняется только образ corenode.

Исправлено

0.73.0 доступна2026-10-16

Транскрибация записей по расписанию, проверки и JSON-значения env стратегий, IP-транки разных тенантов на одном адресе провайдера, починка фризов шины под нагрузкой подключений. Одна миграция БД (158-core-sbc-desired-trunks-ip-port) — меняет уникальный индекс транков, существующие данные ей не мешают; катится сервисом migrator сама. Меняется образ Kamailio — ./omniflow-ctl upgrade пересоздаст SBC-юниты, это короткий перерыв регистраций и звонков: обновлять при нуле активных звонков.

Версии 0.72.1 в реестре нет: её исправление (скачивание файлов с русскими буквами в имени) входит сюда.

Новое

Исправлено

При обновлении

0.72.0 доступна2026-10-14

Синтез речи на своих серверах (Piper и vosk) и прогрев TTS-кэша без звонка, справочник сценариев, глобальная коммуникационная панель, NAT-пинг SIP-телефонов. Две миграции БД (153-core-users-panel-flags, 155-core-tts-cache-sample-rate) — только добавляют колонки, катятся сервисом migrator сами, руками ничего делать не нужно.

Новое

Исправлено

0.71.4 доступна2026-10-14

Патч линии 0.71: перевод звонка больше не обрывает разговор. Миграций БД нет. При обновлении с 0.71.2 и раньше вместе с этой версией приходит миграция 0.71.3 (153-core-trunk-caller-numbers) — её катит сервис migrator сам.

Исправлено

0.71.3 доступна2026-10-12

Патч линии 0.71: номер звонящего провайдеру по белому списку транка, дополнительные транковые порты SIP-контура, исправления звонков, чатов MAX и Авито. Одна миграция БД (153-core-trunk-caller-numbers) — катится сервисом migrator сама, руками ничего делать не нужно. Изменения версий 0.66–0.71.2 в этом файле пока не описаны.

Новое

Исправлено

0.65.5 история2026-09-18

Замена платформенного объектного хранилища: вместо MinIO (лицензия AGPL-3.0, разработка community-редакции остановлена в феврале 2026) в поставку входит SeaweedFS 4.47 (Apache-2.0) под нейтральным именем сервиса s3store. Код платформы работал с хранилищем по протоколу S3 и не менялся — меняются compose, .env и то, где лежат данные. Схема БД и API не менялись, миграций нет.

Образ установщика ctl:0.65.5 переиздан 21.09.2026. Номер версии и тег прежние, содержимое новое — исправлена раскладка прав каталога установки (см. ниже). Если вы тянули omniflow/ctl:0.65.5 до этой даты, повторите docker pull; команда из INSTALL.md идёт с --pull always и сделает это сама. Тогда же, 21.09.2026, опубликованы образы, которых в 0.65.5 не хватало: rtpengine и девять strategy-*. Без них docker compose up -d с профилем strategies вставал на manifest unknown, а медиа-прокси было нечем поднять. Остальные образы платформы (corenode, asterisk, kamailio, ui, rtpe-agent) не менялись — обновлять инсталляцию целиком не нужно.

Изменено

Раньше это валило узел ядра целиком: установка проходила, контейнеры поднимались, а платформа молча крутилась в перезапусках. Теперь библиотека грузится только в момент, когда действительно нужна, и её отказ остаётся локальным: платформа работает, у вложений в чате просто не будет миниатюр (в логе — warning, у сообщения показывается иконка файла вместо картинки). Телефония, запись, маршрутизация не затронуты.

Если чат с вложениями нужен, проверьте процессор — вывод должен быть непустым:

lscpu | grep -o -E 'sse4_2|popcnt' | sort -u

Пусто — смените модель CPU виртуальной машины на host. ⚠ Нужен полный останов и старт машины, а не reboot: на работающей модель процессора не меняется.

Что сделать руками при обновлении с версии, где хранилище было MinIO

Автоматического переноса нет: платформа поставлена в считанных инсталляциях, и перенос делается вручную на остановленной платформе.

1. Остановить узлы платформы (docker compose stop core-node и остальные узлы corenode). 2. В .env: S3_ENDPOINT=http://s3store:9000; S3_ACCESS_KEY/S3_SECRET_KEY — литералы (если раньше ссылались на ${MINIO_ROOT_USER} — подставить значения; при символах вне алфавита — задать новый секрет); удалить MINIO_ROOT_USER, MINIO_ROOT_PASSWORD, IMAGE_MINIO, IMAGE_MC; добавить IMAGE_S3STORE=<реестр>/omniflow/seaweedfs:4.47. 3. Обновить docker-compose.yml до версии 0.65.5, создать apps/s3store/data и положить рядом apps/s3store/entrypoint.sh из поставки (установщик кладёт его сам). 4. docker compose up -d s3store, дождаться healthy. 5. Перенести данные любым S3-клиентом (например rclone copy) из старого хранилища (http://minio:9000, прежние ключи) в новое (http://s3store:9000) — четыре бакета, ключи объектов не меняются. Сверить количество и размеры объектов. 6. Поднять узлы платформы новым образом; в логах узла — четыре строки s3store: bucket ready. 7. Снять прежние контейнеры по именам: docker rm -f omniflow-minio omniflow-minio-init (не --remove-orphans — он снесёт и другие контейнеры, поднятые вне текущего набора compose-файлов). Каталог apps/minio/data оставить холодным бэкапом и удалить, когда убедитесь, что записи открываются.

Зеркала образов minio и mc из реестра registry.omniflow.ru удалены 18.09.2026. На уже поставленные инсталляции это не влияет — образ у них скачан локально. Но установка версии 0.64–0.65.4 с нуля на новом сервере теперь пройдёт только если IMAGE_MINIO и IMAGE_MC в .env не заданы (тогда образы тянутся с Docker Hub); если они указывают на registry.omniflow.ru — установка встанет на скачивании. Ставьте 0.65.5.

0.65.4 история2026-09-17

Патч к 0.65.3: гибче адресация входящих правил маршрутизации к контурам SIP-фронта, факт «маршрут не найден» виден в журнале звонка на всех путях, сборка поставки ускорена в разы (для администратора это означает быстрее выходящие патчи).

Изменено

Важно при обновлении

0.65.3 история2026-09-17

Патч к 0.65.2: платформа на чистой установке поднимается без ручных обходов, а звонок со сценарием больше не уходит в тишину.

Исправлено

⚠ *Уточнение от 17.09.2026: сам речевой шлюз в поставку не входит — его образа в реестре нет. Этот пункт снимал препятствие на стороне медиа-движка, но озвучки и распознавания в стандартной установке нет ни до, ни после него. В 0.65.4 механизм подключения изменён целиком (см. ниже), и эта настройка больше не применяется.*

Важно при обновлении

0.65.2 история2026-09-16

Первая версия, которая ставится на чистую машину до конца. Сменилась топология по умолчанию.

Изменено

Важно при обновлении

0.65.1 история2026-09-16

Не устанавливать. Версия не поднимается без трёх ручных обходов подряд; всё перечисленное исправлено в 0.65.2.

Промежуточная публикация: три блокирующих дефекта, из-за которых стек не поднимается без ручных обходов. Перечислены ниже — все закрыты в 0.65.2.

0.65.0 история2026-09-15

Растекание конфигурации SBC по контурам (SBCSYNC) и реестр узлов (UNITREG): транки и SIP-точки заводятся один раз в ядре и сами доезжают до всех SIP-контуров.

Те же блокирующие дефекты, что у 0.65.1 — ставить следует 0.65.2 или новее.

Важно при обновлении

0.63.1 история2026-07-31

Первая поставка, опубликованная в реестр в нынешнем виде: одна версия в реестре, стек наблюдаемости выведен из поставки отдельным проектом.

Версия остаётся в списке, потому что часть инсталляций обновляется именно с неё, а путь 0.63.1 → 0.65.x проходит через заметки выше.