Release Notes: v1.5.7‑hotfix1 (2026‑06‑11)
Hotfix release for version v1.5.7 addressing a specific user issue and enhancing security key management. No breaking changes, manual migrations, or configuration updates are required.
Key changes
1. Fix for client deletion error
Resolved the «failed — save: record not found» error that occurred when attempting to delete a client whose database record had already been removed. This situation could arise due to:
- a stale list entry;
- concurrent deletion from another session or browser tab;
- re‑submitted deletion request.
Now, client deletion operations (both single and bulk) are idempotent:
- Deleting a client that is already absent returns a successful no‑op (no operation).
- In bulk deletion, the system skips IDs that are already gone and proceeds with deleting the remaining clients.
- Genuine database errors still result in a failed request.
2. SUI_COOKIE_KEY generator implementation
Added a new feature for managing session cookie keys:
- Available as menu item 23 in the
s‑uiinterface. - Generates the
SUI_COOKIE_KEYand stores it in/etc/s‑ui/secretbox.env(same restricted file used for the secretbox key). - Supports key rotation with rollover: when a new key is generated, it signs new session cookies, while up to two previous keys remain accepted — this ensures users are not logged out during rotation.
- The installer now automatically generates the
SUI_COOKIE_KEYif it is absent (existing keys are never overwritten and no prompts are shown), ensuring compatibility with non‑interactive installations and updates.
Upgrade process
- Straightforward drop‑in binary replacement for v1.5.7.
- After the first upgrade that introduces the key, sessions signed with the previous built‑in fallback key will be signed out once — users need to log in again.
RU
Примечания к релизу: v1.5.7‑hotfix1 (2026‑06‑11)
Хотфикс для версии v1.5.7, устраняющий конкретную пользовательскую проблему и улучшающий управление ключами безопасности. Ломающих изменений, ручных миграций и изменений конфигурации не требуется.
Основные изменения
1. Исправление ошибки при удалении клиента
Устранена ошибка «failed — save: record not found», возникавшая при попытке удалить клиента, запись о котором уже отсутствовала в базе данных. Такая ситуация могла возникнуть из‑за:
- устаревшей записи в списке;
- параллельного удаления из другой сессии или вкладки браузера;
- повторно отправленного запроса на удаление.
Теперь операции удаления клиентов (как одиночные, так и массовые) являются идемпотентными:
- Удаление клиента, который уже отсутствует, завершается успешно как no‑op (без выполнения операций).
- При массовом удалении система пропускает ID, которые уже отсутствуют, и продолжает удалять остальных клиентов.
- Настоящие ошибки базы данных по‑прежнему приводят к сбою запроса.
2. Реализация генератора SUI_COOKIE_KEY
Добавлена новая функция для управления ключами сессионных cookie:
- Доступна как пункт 23 в интерфейсе
s‑ui. - Генерирует ключ
SUI_COOKIE_KEYи сохраняет его в файле/etc/s‑ui/secretbox.env(тот же защищённый файл, который используется для ключа secretbox). - Поддерживает ротацию ключа с плавным переходом: при генерации нового ключа он подписывает новые сессионные cookie, а до двух предыдущих ключей продолжают приниматься — это гарантирует, что пользователи не будут разлогинены во время ротации.
- Установщик теперь автоматически генерирует
SUI_COOKIE_KEY, если он отсутствует (существующие ключи никогда не перезаписываются и никаких запросов не появляется), что обеспечивает совместимость с неинтерактивными установками и обновлениями.
Процесс обновления
- Простая замена бинаря для v1.5.7.
- После первого обновления, добавляющего ключ, сессии, подписанные прежним встроенным fallback‑ключом, будут разлогинены один раз — пользователям нужно будет войти заново.