Релизы

Последние версии панели и что в них изменилось.

1.0.2.20261106140910

  • Служебная учётка почты vmail больше не предлагается владельцем сайта.

1.0.2.20261106140527

  • Подсказка про перенос домена на сервер показывает настоящие серверы имён зоны, а если зоны ещё нет - пример ns1.example.com.

1.0.2.20261106121902

  • Лицензии и обновления теперь работают через домен towerpanel.com, обновления скачиваются по HTTPS. Панель переходит на новый адрес сама.

1.0.2.20261106093949

  • Панель теперь называется TowerPanel, новый адрес проекта - towerpanel.com. Настройки, лицензии и работа сайтов не меняются.

1.0.2.20261104182534

  • Панель и установщик не ходят по перенаправлениям сервера обновлений и не скачивают архив больше 64 МБ
  • Установщик: при сбое запускает службы панели снова и заменяет файлы разом; адрес --server проверяется
  • Замена бинарников и файлов лицензии переживает сбой питания
  • Резервный ключ связи с сервером лицензий: сервер можно перевести на него без нового релиза

1.0.2.20261104161043

  • Обновление панели проверяется строже: связь демонов, версия и ещё полторы минуты после запуска; неудачный откат теперь виден в колокольчике
  • Лицензия: после оплаты в последний день панель спрашивает сервер лицензий каждый час, неудачный ввод ключа не снимает льготный период, раздел не подвисает на проверке
  • Без лицензии нельзя создать базу MongoDB импортом и восстановить копию другого сервера; права выдаются только на существующие базы

1.0.2.20261104153606

  • Лицензия подтверждается раз в сутки и действует неделю; без связи с сервером лицензий тариф сохраняется ещё неделю, раздел показывает оплаченный срок
  • Тестовый период теперь один на машину: переустановка панели нового не даёт
  • Ссылка в личный кабинет подписана ключом панели: привязать покупку можно только к своему серверу

1.0.2.20261104143513

  • Обновления: подпись каждого файла релиза теперь действует только для него самого - защита канала обновлений усилена
  • Без лицензии больше нельзя создать почтовый ящик или запустить сборку проекта compose

1.0.2.20261104115546

  • Docker: официальные образы Docker Hub (nginx, mysql и другие) доступны пользователям как обычно, даже если администратор вошёл в Docker Hub

1.0.2.20261104113855

  • IP-адреса: столбец “Сайты” и метка SLAAC; входы по SSH: неверный пароль считается один раз, сбой чтения журнала виден; смена имени хоста сохраняет псевдонимы в /etc/hosts

1.0.2.20261104113205

  • IP-адреса: главный адрес нельзя удалить или поставить чужой, при удалении адреса панель предупреждает о записях DNS на него
  • Входы по SSH: адрес входа можно заблокировать прямо с вкладки “Входы”; отметка “Знаю” на одном входе не скрывает другие

1.0.2.20261104102941

  • IP-адреса: дополнительный адрес с неподходящей маской больше не перехватывает маршрут, алиасы после перезагрузки поднимаются сами, неподнятый алиас виден и не мешает остальным
  • Внешний адрес NAT - только IPv4: адрес IPv6 там ломал FTP
  • Входы по SSH: предупреждение о входе root с нового адреса больше не теряется среди частых входов автоматики, повторные входы показаны одной строкой

1.0.2.20261104091315

  • Защита от внедрения чужого кода в страницы панели: строгая политика CSP, файлы WebDisk больше не открываются как страницы панели

1.0.2.20261104084057

  • SSL: выпуск не начинается, если часы сервера сильно расходятся с центром; автопродление сертификата пользователя видно в его журнале операций
  • Webhook Git больше не запускает деплой на звёздах, задачах и запросах на слияние; поддержан push из Bitbucket Cloud
  • Установка приложений: большие архивы скачиваются и на медленном канале; контейнер с каталогом сервера, переданный пользователю, можно менять

1.0.2.20261104082217

  • “Отозвать и выпустить замену” сначала выпускает новый сертификат и отзывает прежний только после него; сбой применения выпущенного сертификата теперь виден как ошибка
  • Пользователь подключает к своему сайту только свой сертификат; свой сертификат администратора на месте Let's Encrypt больше не заменяется автопродлением
  • Docker: тома проектов compose видны и удаляются владельцем, частные образы администратора пользователям не видны и не достаются без своего входа в реестр
  • Webhook Git не запускает деплой у заблокированного владельца и приостановленного сайта; сайт нельзя удалить во время деплоя; wsDoctor сообщает об обновлениях Ghost

1.0.2.20261104075616

  • Каталог данных панели защищён от подмены: веб-часть больше не может переименовать каталоги, с которыми работает root
  • “Заменить” сертификат и сертификат к CSR сразу применяются на сайтах, почте и FTP; CSR к рабочему сертификату больше не ломает его ключ
  • Автопродление Let's Encrypt продлевает все подошедшие сертификаты за раз; тестовый центр выпускает под именем “-test” и не затирает рабочий
  • Docker: строже проверка compose-файлов пользователей, лимиты памяти и процессора не выше ресурсов сервера, у сайтов с похожими именами больше нет общих томов
  • Установщик приложений не очищает сайт, пока проверки и скачивание не прошли; деплои из Git идут по очереди

1.0.2.20261103223809

  • Уведомления панели по почте снова подписываются DKIM (Postfix); с Exim - подсказка в настройках уведомлений, как включить подпись через ящик

1.0.2.20261103213957

  • Почта: подпись DKIM ставится только письмам, отправленным с логином ящика; письма mail() из PHP уходят без подписи - сайтам лучше отправлять через SMTP с ящиком (WP Mail SMTP и подобные)

1.0.2.20261103201130

  • Резервные копии: непрочитанные файлы видны в итоге копии предупреждением
  • DNS: ключ DKIM в кавычках или скобках записывается в зону верно; адрес администратора с точкой (john.doe@) сохраняется
  • Почта: автоответ сразу работает для новых псевдонимов ящика

1.0.2.20261103195907

  • Почта: своя запись DMARC (p=reject и т. п.) больше не заменяется при сохранении домена; смена почтового сервера сначала отправляет очередь писем
  • DNS: окно записей не стирает записи, появившиеся, пока оно было открыто; зона поддомена на этом сервере делегируется в родительской; файлы зон закрыты от других пользователей сервера
  • DNS: удаление подписанной зоны предупреждает о DS у регистратора и сохраняет её ключи
  • Базы данных: в экспорт и резервную копию попадают события (задания по расписанию) MySQL

1.0.2.20261103190909

  • Почта: ящик отправляет письма только от своих адресов и псевдонимов, пароль ящика принимается только по шифрованному соединению (почтовые программы без шифрования перестанут входить)
  • Почта: одновременные правки ящиков больше не теряются, письма удалённого домена не достаются новому владельцу того же домена
  • DNS: “Создать домен” не перезаписывает существующую зону; удаление зоны не трогает записи в Cloudflare; переезд сервера сохраняет подпись DNSSEC
  • Базы данных: восстановление PostgreSQL поверх не оставляет пустую базу при сбое; проверка и восстановление таблиц больших баз не обрываются
  • Резервные копии: база с необычным именем больше не мешает копии и очистке старых копий

1.0.2.20261103170528

  • График ресурсов на дашборде больше не теряет минуты и не показывает выбросы после перевода часов
  • “Информация о системе” удобно читается на телефоне
  • Уведомления, накопленные в тихие часы, приходят и после перезапуска панели
  • CRON: “Выполнить сейчас” запускает задание с теми же группами, что и по расписанию

1.0.2.20261103165703

  • Перезагрузка сервера предупреждает об идущих операциях
  • Дашборд: разделы на LVM и RAID, IPv6 и трафик через bond показываются верно
  • Уведомления: повторная проблема снова приходит в каналы, “снова здоров” - только после сообщения о проблеме, письма доходят до Gmail при Exim
  • Сайты: пароль на каталог действует по всем именам сайта, сайт, приостановленный root, владелец не включает, домены с национальными буквами принимаются
  • CRON: задание с @daily и другими сокращениями открывается в форме верно; смена часового пояса сразу действует на задания

1.0.2.20261103154229

  • Сайты: пароль на каталог действует и по HTTP, первый сайт пользователя создаётся, сохранение настроек не сбрасывает пул PHP, удаление файлов не задевает другой сайт
  • CRON: одно неверное расписание больше не отключает задания всех пользователей
  • После перехода на Ubuntu 26.04 панель показывает и использует новую версию PHP сайтов
  • wsDoctor проверяет SMART жёстких дисков в фоне, не будя спящие

1.0.2.20261103132117

  • WebDisk: оборванная загрузка больше не записывает обрезанный файл поверх прежнего
  • Файловый менеджер: не больше трёх долгих операций одновременно, распаковка проверяет свободное место, домашний каталог пользователя защищён от смены владельца и прав
  • Целостность файлов: видны подмена файла ссылкой и PHP в каталогах зависимостей; сайт, который не проверяется, - сигнал wsDoctor

1.0.2.20261103125416

  • Файловый менеджер: распаковывается простой .gz (dump.sql.gz), копируются и удаляются каталоги только для чтения, перемещение не теряет особые файлы
  • Журналы: в строках не показываются управляющие символы из запросов посетителей; у root всегда есть место для журнала в реальном времени

1.0.2.20261103122502

  • Файловый менеджер: root, работая в каталоге пользователя, не выходит по ссылкам за его пределы; распаковка не меняет владельца прежних файлов; “Упаковать и удалить” не удаляет то, что не попало в архив
  • Журналы сайтов закрыты от других пользователей сервера; большие архивы журналов и записи журнала служб больше не перегружают панель
  • Антивирус и контроль целостности не зависают на подложенных файлах и глубоких каталогах; у карантина есть предел числа файлов

1.0.2.20261103115021

  • Cloudflare Tunnel: туннель ходит в Nginx через закрытый сокет, и адрес посетителя больше не подделать с самого сервера

1.0.2.20261103102155

  • Fail2ban: текст из веб-почты и кода сайтов больше не может подставить чужой адрес в правила; журнал веб-почты - в журнале systemd
  • Журналы сайтов: ошибки PHP - в отдельном журнале “PHP - ошибки”, а не в журнале Nginx

1.0.2.20261103085917

  • Администраторы панели больше не меняют учётки root и других администраторов; root “с правами владельца” не меняет его пароль, 2FA, ключи и адреса входа
  • Перебор кодов 2FA ограничен и для учётки: 10 неверных кодов за 15 минут
  • Правка “Ротации журналов” сайта проверяется перед сохранением; перезапуск MariaDB и Apache из “Служб” не обрывается по времени

1.0.2.20261103083826

  • Процессы: пользователь видит только свои процессы; “Службы” не запускают выключение и перезагрузку сервера и не перезапускают wsp-root посреди задачи
  • Безопасность: ключ API не меняет защиту панели и отзывается при сбросе пароля и 2FA; “доверенный браузер” 2FA действует только в своей сети
  • Смена имени сервера правит и /etc/hosts, копии этого сервера после неё не считаются чужими
  • Настройки сайтов: правка конфига со сменой адресов применяется, сбой не оставляет Nginx или PHP остановленными, пересборка адресов сохраняется в истории конфигов

1.0.2.20261103080758

  • Fail2ban: правило “Вход в панель” больше не обмануть подставным именем в соединении - чужой адрес им не забанить; отвергнутые настройки Fail2ban не остаются на диске
  • Пользователи: базы и почтовые домены удалённого пользователя становятся свободными - новый пользователь с тем же именем их не получает
  • Apache: сайты пользователей - только с вариантом MPM-ITK (при Prefork все сайты Apache видят файлы друг друга), о прежних - сигнал wsDoctor
  • Ключ API “только чтение” и запросы HEAD больше ничего не меняют

1.0.2.20261103004308

  • Переезд сервера: базы, зоны, учётки MySQL и каталоги сайтов, которые уже есть на этом сервере, не перезаписываются
  • Установщик приложений: неподходящий пароль учётки базы - отказ до начала установки; база, созданная до сбоя, видна владельцу сайта

1.0.2.20261103002554

  • Уведомления: вход в панель с нового устройства приходит сразу и в тихие часы
  • Терминал: закрывается сам, если браузер пропал без закрытия соединения
  • Cloudflare: если режим SSL не удалось сменить во всех зонах, уже переключённые возвращаются обратно

1.0.2.20261102233024

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

1.0.2.20261102232117

  • Безопасность: клон сайта и установка приложений работают с правами владельца сайта
  • Вход в панель: сессия действует только из сети, где был вход; одновременные попытки входа с одного адреса идут по очереди
  • Уведомления: длинные сообщения обрезаются под предел Telegram и Discord; ночная сводка не теряется, если утром нет связи

1.0.2.20261102220052

  • Конфигурация ПО: прерванная установка пакетов доделывается и перед удалением, обновлением, расширениями PHP и сменой источников
  • Уведомления: после удаления и обновления ПО - что именно изменилось; “Отложить” у root не скрывает сигналы владельцев сайтов

1.0.2.20261102214857

  • Конфигурация ПО: ключ стороннего репозитория принимается, только если он настоящий ключ производителя
  • Источники пакетов: смена зеркала больше не откатывается из-за сломанного стороннего источника
  • Cloudflare: новая настройка “Домены пользователей” - домены, которые пользователи завели сами, в аккаунте Cloudflare не трогаются без неё
  • Установка ПО: “Будет снято” показывает всё, что снимется

1.0.2.20261102210241

  • Лицензия: действует только на своём сервере, перевод часов назад её не продлевает
  • Обновления: номер новой версии и “Что нового” подписаны, установщик не откатывает панель на старую версию

1.0.2.20261102200916

  • Обновление Ghost работает с правами владельца сайта, копия базы - в закрытом каталоге
  • Конфигурация ПО: смену версии нельзя прервать посередине, две операции не запускаются одновременно, “Обновить” не обрывается на медленном сервере