Skip to content

v4.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 03 Aug 16:22
f553d18

4.0.0 (2026-08-03)

⚠ BREAKING CHANGES

  • config: меняется не только имя переменной, но и формат значений — вместо UUID панельных пользователей нужны числовые id. Автоматически сконвертировать нельзя: uuid из 3.0.0 исчез, и панель их больше не знает.

New Features

  • admin: add Bedolaga-first User Detail contracts (57e2794)
  • cabinet: панельная идентичность и контракты под 3.0.0 (2b97440)
  • config: TRAFFIC_EXCLUDED_USER_UUIDS переименован в _USER_IDS (88a92f7)
  • db: числовая панельная идентичность remnawave_id (898bcf4)
  • remnawave: бэкфил панельной идентичности (b97e5f6)
  • remnawave: клиент API под 3.0.0 (c763514)
  • remnawave: сервисный слой на числовую идентичность (6da10bc)
  • remnawave: хендлеры, миддлвари и Web API под 3.0.0 (c897d38)

Bug Fixes

  • admin: лог при пропуске синка панели у подписки без UUID (3d77bc2)
  • admin: отмена рекуррента Lava при сбросе выбранной подписки (2f2006a)
  • notifications: MissingGreenlet при уведомлении о регистрации по кампании (0f1beff)
  • remnawave: grace-сессия строки-донора не теряет идентичность (dc09e78)
  • remnawave: бэкфил не блокируется одной парой и отдаёт id живой строке (5cd3adb)
  • remnawave: бэкфил не откатывался целиком на single-tariff (d461784)
  • remnawave: бэкфилл падал на старте и брал не тот режим (deeb24f)
  • remnawave: бэкфилл привязывал чужой аккаунт, создание падало на индексе (98e63b0)
  • remnawave: вебхук не проверял соседей, и подписи тестов врали (70d35c1)
  • remnawave: защита от противоречивых uuid не работала на первом прогоне (928ce20)
  • remnawave: карта uuid не праймилась, холостой прогон писал в БД (e9445ee)
  • remnawave: ложный успех при удалении устройств, окно суток и happ-ссылка (b007de8)
  • remnawave: не терять и не подсовывать протухшую идентичность подписки (bef6e6d)
  • remnawave: несовпадение владельца снова вело к очистке, а не к перепривязке (ea4db92)
  • remnawave: повторный прогон бэкфила и выбор живой подписки (b515c3d)
  • remnawave: поля, которых нет в контракте 3.0.0, и след прогона бэкфила (babf846)
  • remnawave: порядок UPDATE'ов при переносе панельного id (28b01f1)
  • remnawave: протухший id больше не решает за пользователя (83c6415)
  • remnawave: след прогона врал, а защита индекса не мешала записи в панель (fe3dc5b)
  • remnawave: суточная проверка снова не сработала бы, а граница id ослабла (3c31285)
  • remnawave: точный ключ не должен проигрывать догадке и ронять синк (d2fd3d5)
  • remnawave: холостой прогон бэкфила называл свой отчёт «conflicts» (6b7204b)
  • settings: осмысленные категории для настроек, начинающихся с глагола (e6f1505)

Documentation

  • remnawave: точное обоснование раздельных flush при переносе id (6eb80c6)