Skip to content

s-ui v1.5.7-hotfix1

Choose a tag to compare

@github-actions github-actions released this 11 Jun 07:00

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‑ui interface.
  • Generates the SUI_COOKIE_KEY and 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_KEY if 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‑ключом, будут разлогинены один раз — пользователям нужно будет войти заново.