Changelog

История обновлений платформы Bothost — исправления, новые функции и улучшения.

v1.4.0 Скоро В разработке
Исправление
RAM-лимиты тарифов применяются корректно
Боты на тарифах Basic и Pro получали 256 МБ оперативной памяти вместо 1 ГБ и 2 ГБ соответственно. Бот мог падать в crash-loop через некоторое время работы — без ошибок в коде, просто из-за нехватки памяти. Исправлено: лимиты теперь соответствуют тарифу.
Исправление
«Обновить из Git» всегда подтягивает последний коммит
Кнопка могла пересобирать бота на устаревшем коммите вместо актуального HEAD ветки. Изменения в репозитории не применялись, образ пересобирался идентичным. Теперь ручное обновление всегда берёт свежий код.
Исправление
Двойное нажатие «Обновить» не запускает несколько сборок одновременно
Повторный клик по кнопке во время активной сборки теперь игнорируется, лишних задач в очереди не возникает.
Исправление
Пользовательские переменные TOKEN, API_TOKEN, TELEGRAM_BOT_TOKEN доступны для редактирования
Эти переменные ошибочно скрывались в панели переменных окружения. Теперь они отображаются и редактируются как обычные переменные.
Исправление
Скачивание большой базы данных (SQLite >80 МБ) больше не падает с ошибкой
При попытке скачать файл базы данных размером более ~80 МБ возникала ошибка нехватки памяти на сервере. Реализована потоковая передача без буферизации.
Исправление
Авторизация приватного репозитория не ломается при повторных деплоях
Многократное сохранение настроек бота могло приводить к некорректной кодировке токена доступа к репозиторию. Следствие — ошибка «Invalid username or token» при сборке, хотя токен был правильным. Исправлено.
Исправление
Логи Python-ботов видны сразу, не теряются при крашах
Python в неинтерактивном режиме буферизировал вывод, и при неожиданной остановке буфер терялся — логи показывались пустыми. Добавлен системный параметр PYTHONUNBUFFERED=1, вывод идёт в реальном времени.
Исправление
Причина остановки контейнера отображается понятно
При нехватке памяти (OOM Kill) и при ошибке кода теперь показывается читаемое сообщение в дашборде, а не просто «Логи пусты».
Исправление
Указанный при создании порт учитывается при сборке
Внутренний порт, заданный в форме создания бота, теперь корректно прописывается в образ. Раньше всегда использовался порт 3000 вне зависимости от настроек.
v1.5.0 Скоро В разработке
Новое
Смена токена бота без пересоздания
Новая вкладка «Токен» в настройках бота. Больше не нужно удалять и заново создавать бота, чтобы сменить BOT_TOKEN.
Новое
Редактирование параметров бота после создания
Домен, внутренний порт, ветка репозитория и главный файл теперь можно изменить в настройках без удаления бота. Данные и переменные окружения при этом сохраняются.
Новое
Архив вместо удаления
Удалённый бот перемещается в архив, откуда его можно восстановить. Окончательное удаление — отдельное действие с подтверждением.
Новое
Просмотр базы данных прямо в браузере
SQL-интерфейс в дашборде: выполняйте запросы к SQLite-базе бота без скачивания файла.
Новое
Мониторинг и Telegram-уведомления
Алерты о падении бота, превышении памяти и завершении сборки прямо в Telegram. Простые графики CPU и RAM в дашборде.
Новое
Бэкап данных бота одной кнопкой
Скачать архив содержимого /app/data (базы данных, файлы) в любой момент. Автоматические ежедневные бэкапы на платных тарифах.
Новое
Установка системных пакетов без Dockerfile
ffmpeg, imagemagick, wkhtmltopdf и другие популярные утилиты можно добавить через поле настроек при создании бота. Кастомный Dockerfile для этого не нужен.
Новое
Dockerfile как вариант в списке языков
При создании бота «Dockerfile» доступен напрямую в выборе стека, рядом с Python/Node.js/Go. Чекбокс искать больше не нужно.
Новое
Умные подсказки при ошибках сборки
Типичные ошибки (MODULE_NOT_FOUND, неверный WORKDIR, отсутствие зависимостей) автоматически распознаются и сопровождаются ссылкой на нужный раздел документации.
Новое
Документация: деплой FunPay-ботов
Пошаговое руководство с готовым Dockerfile, примером конфигурации и списком переменных окружения для ботов на FunPayAPI.
Улучшение
Быстрее сборка
кеш зависимостей между деплоями — Переход на Docker BuildKit: pip install и npm install используют кеш, повторные сборки ускоряются в 2–3 раза.
Улучшение
Логи сохраняются после обновления бота
Пересборка из Git или смена переменных окружения больше не стирает историю логов.
Улучшение
Корректный graceful shutdown
При перезапуске и редеплое бот получает сигнал на завершение и время (до 30 сек) чтобы дообработать текущие запросы. Меньше потерянных сообщений в продакшене.
Улучшение
Терминал: автоматическое переподключение и правильный размер
Консоль в дашборде переподключается при разрыве соединения, корректно передаёт размер окна терминала.
Улучшение
Кнопка «Копировать логи»
В окне логов появилась кнопка копирования всего содержимого в буфер обмена.
Улучшение
WebSocket и долгие соединения
Настроены корректные таймауты прокси для долгоживущих WebSocket-соединений. Документация с примерами.
v1.3.0 29.07.2026
Исправление
DNS в Docker-контейнерах
Errno -2 на VPS с systemd-resolved — На серверах с Ubuntu/Debian /etc/resolv.conf указывал на 127.0.0.53 (systemd-resolved), недоступный изнутри контейнера. Боты падали с «Name or service not known» при обращении к SMTP, Telegram API и любым внешним сервисам. Теперь контейнеры явно получают DNS 8.8.8.8 / 1.1.1.1. Переопределяется через BOTHOST_CONTAINER_DNS в .env.
Исправление
Переменные окружения применяются с первого раза
Кнопка «Сохранить» вызывала /api/bots/restart, который перезапускал контейнер без изменения конфига. Теперь используется /api/bots/update-env — контейнер пересоздаётся с новым env.
Исправление
Удаление и переименование переменных окружения
Переменные, созданные при деплое (но отсутствующие в БД), были видны в просмотре, но не отображались в редакторе и не могли быть удалены. Форма редактирования теперь строится из объединения данных контейнера и БД.
Исправление
Невозможно удалить последнюю переменную окружения
JS блокировал удаление единственной оставшейся строки. Ограничение снято — можно полностью очистить env.

Нет записей для выбранного фильтра

Чтобы добавить новую версию — создайте файл _changelog/v1.4.0.md по тому же шаблону.