4.11.0 (2026-09-14)
New Features
- grace: объявлять о закрытии grace продлением после коммита вызывающего (a06d928)
- grace: ручка внешних сквадов панели для выбора «Заменить на указанный» (ac818ef)
- grace: тексты людям — «что остаётся доступным» словами оператора, письма в реестре редактора (6271802)
- grace: уведомления о выдаче и завершении grace-доступа; сквады из синхронизации при лежащей панели (428c811)
Bug Fixes
- auth: отвязка провайдера забывает полученный от него email и предупреждает об этом (1da7b0d)
- grace: конец grace-доступа — без DISABLED, без сдвига даты и без повторной выдачи (370e781)
- grace: фраза «что остаётся доступным» без склонения и в сообщении админам (fdb46b7)
- merge: объединение аккаунтов не теряет способ входа, реферальный код, промогруппу и дату регистрации (403383d)
- даты в WebSocket-событиях кабинета — ISO в UTC, а не строка для писем (33f34ed)
- имя зоны в SQL — литералом, иначе PostgreSQL не сводит GROUP BY (#3136) (cc14474)
- календарный день отчётов — по settings.TIMEZONE, а не по UTC (#3136) (69b0995)
- лимит трафика после продления — по тарифу, а не из настройки классического режима (6c343f7)
- расписания синхронизации и суточной проверки трафика — в поясе TIMEZONE, а не в UTC (f82e5b1)
Refactoring
- merge: один флаг вместо двух счётчиков рефералов — CodeQL: мёртвое присваивание (36b9f45)