diff --git a/cf7-spam-to-telegram.php b/cf7-spam-to-telegram.php index bcab529..47e6e06 100644 --- a/cf7-spam-to-telegram.php +++ b/cf7-spam-to-telegram.php @@ -2,7 +2,7 @@ /** * Plugin Name: CF7 Spam → Telegram * Description: Пересылает spam-заявки Contact Form 7 в Telegram-группу с эвристической оценкой. - * Version: 1.0.0 + * Version: 1.0.4 * Author: Vladimir Bryzgalov * Requires PHP: 7.4 * Requires at least: 6.0 @@ -17,7 +17,7 @@ if (!defined('ABSPATH')) exit; define('CF7STG_PLUGIN_FILE', __FILE__); define('CF7STG_PLUGIN_DIR', plugin_dir_path(__FILE__)); define('CF7STG_PLUGIN_URL', plugin_dir_url(__FILE__)); -define('CF7STG_VERSION', '1.0.0'); +define('CF7STG_VERSION', '1.0.4'); require_once CF7STG_PLUGIN_DIR . 'includes/class-plugin.php'; \Cf7stg\Plugin::register_autoloader(); diff --git a/readme.txt b/readme.txt index 71969b2..3c9c856 100644 --- a/readme.txt +++ b/readme.txt @@ -4,7 +4,7 @@ Tags: contact-form-7, telegram, spam, flamingo Requires at least: 6.0 Tested up to: 6.9 Requires PHP: 7.4 -Stable tag: 1.0.0 +Stable tag: 1.0.4 License: GPLv2 or later Пересылает в Telegram-группу submissions CF7, помеченные как спам, с эвристической оценкой «похоже клиент / неясно / похоже спам». @@ -24,5 +24,23 @@ License: GPLv2 or later == Changelog == += 1.0.4 = +* Fix: PhoneParser больше не склеивает цифры из соседних полей при flatten через `\n` / `\t`. +* Fix: Flamingo `_from_email` используется как `your-email` только если содержит `@`; `_from_name` больше не маппится. +* New: `FieldDetector` — fallback-поиск имени и e-mail по значению, когда на форме нестандартные ключи полей (`text-211`, `name_user` и т.п.). +* UX: Dashboard-виджет «CF7 Spam → Telegram» отображается всегда (статус очереди), а не только при ошибках. +* UX: В ретроспективной выгрузке по умолчанию `0` дней (без ограничения по дате). + += 1.0.3 = +* Fix: Убрана `tel:`-кнопка в inline_keyboard (Telegram Bot API отклонял `tel:` URL с HTTP 400). +* Fix: HTTP 4xx ответы Telegram (кроме 429 rate-limit) теперь классифицируются как permanent — записи сразу помечаются failed, без 5 бесполезных retry. +* Fix: `FlamingoHelper::extract_fields` берёт значения из `_field_*` мета, а не из пустого `_fields`-массива. + += 1.0.2 = +* Fix: Activator регистрирует `cron_schedules` фильтр до `wp_schedule_event` — без этого кастомный интервал `cf7stg_every_minute` не существовал в момент активации и cron никогда не срабатывал. +* Fix: Autoloader корректно маппит классы с `_` (например, `Settings_Page`, `Interface_Spam_Source`) в файлы с дефисами. +* Fix: Поправлен неверный Punycode-пример в документации. +* Fix: Honeypot теперь hard override → label=spam (weighted -5 был недостаточен для перевеса положительных сигналов). + = 1.0.0 = * Первый релиз.