You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ядро geekcodev/max-php-client поднято до ^1.0.6. В v1.0.6 ядра:
ApiClient::create() получил опцию global_rate_limiter (по умолчанию RateLimiter(30, 30)) — глобальный
предохранитель 30 req/s на весь API, применяется к каждому запросу (включая ретраи и загрузку медиа), при
исчерпании ядро ждёт пополнения, а не бросает исключение;
sendAnswer() без message шлёт тело {} вместо пустого тела (раньше API отвечал 400 Empty request body);
ChatAdminPermission получил deprecated-значения post_edit_delete_message/edit_message/delete_message —
теперь getBotMembership()/getChatAdmins()/getChatMembers() парсят чаты со старыми правами; addChatAdmin()
выдачу таких прав отклоняет (InvalidArgumentException) и получил параметр ?int $marker;
getChatAdmins() больше не шлёт query marker/count (их нет в спеке; параметры deprecated и игнорируются);
join_time — миллисекунды (документировано в спеке).
Новое
Глобальный rate limit выведен в конфиг адаптера: блок global_rate_limit (env MAX_GLOBAL_RATE_LIMIT_*, дефолт
30/30 rps). MaxServiceProvider передаёт его в ApiClient::create(globalRateLimiter: ...).
PHPDoc фасада Max синхронизирован с ядром v1.0.6: addChatAdmin(..., ?int $marker = null).
Изменение (BC)
Алиас middleware логирования переименован max_bot.log → max.log (единый нейминг с max.webapp/max.csp).
Потребителям, использовавшим max_bot.log в middleware роутов, нужно обновить роуты на max.log. Класс LogMaxRequestsMiddleware и конфиг/MAX_LOGGING_* не менялись.
Документация
README.md (Требования ^1.0.6, таблица env MAX_GLOBAL_RATE_LIMIT_*, сигнатуры фасада), AGENTS.md (constraints,
факт 30 rps, global_rate_limit.*) и .env.example синхронизированы с ядром v1.0.6 и новым алиасом max.log.
UPGRADE_PLAN.md обновлён (состояние, история прецедентов v1.0.6).
Затронутые сценарии
Ответ на callback без обновления сообщения (кнопка обработана, меню не меняется): sendAnswer теперь работает
(200 вместо 400 Empty request body) — ядро, правки в адаптере не требовались.
Чтение администраторов/участников на чатах со старыми правами: больше не падает с InvalidResponseException.
Интенсивная работа с API: глобальный предохранитель 30 rps защищает от rate limit независимо от числа диалогов.