К основному содержанию
NeBlask · продуктовый changelog

What's New in NeBlask

Публикуем каждое улучшение — новые метрики, источники данных, интерфейс. Открыто и без маркетинговых обёрток: что реально изменилось и когда. Методология версионируется по SemVer.

57релизов
463улучшений
v6.12.3актуальная
  1. v6.12.3 21 августа 2026

    Без DataForSEO: шесть бесплатных источников, починенные лицензии, омонимы Wikipedia

    Владелец решил пока не пополнять DataForSEO — раунд «делай всё, что можно без него». Индекс от DFS не зависит (CrUX-срез по 65 странам, крон 15-го числа). Добавлены Wikipedia pageviews, HIBP-утечки, Affiliate Guard Dog (профильный для affpapa сигнал: 17 rogue + 148 warning брендов), реестр авторизованных операторов Бразилии SPA (48 брендов, .bet.br-домены), RDAP (регистратор/истечение/DNSSEC), Common Crawl (размер сайта, «закрыт от ботов»). Вскрыто: 80 из 159 «статей Wikipedia» были омонимами, импорт лицензий MGA не запускался с 07.08, матчер лицензий не знал про юрлицо-оператора.

    • feature `neblask:wiki-pageviews` — просмотры статьи за 13 месяцев (daily-эндпоинт Wikimedia, monthly за закрытый месяц отдаёт лишь 1-е число), MoM/YoY/пик; строка в блоке «Популярность и авторитет». `neblask:hibp-breaches` — Have I Been Pwned (1026 утечек, один запрос): 1win 96M записей, Paddy Power 591K, Borgata/MGM 27,9M; янтарная плашка «Утечка данных»; матч по названию только у утечек без своего домена (aura.com/playbook.vc — тёзки).
    • feature `neblask:affiliate-guard-dog` — 1800 партнёрских программ из индекса AGD (rogue 85 / predatory 328 / certified 289): сматчено 564 бренда — rogue 17 (Unibet с 2008, Ladbrokes, PokerStars, William Hill, Videoslots…), warning 148 (1xbet, 22bet, Betwinner, Casumo, 888casino, Roobet…) с флагами «Predatory T&Cs»/«Negative Carryover» и датой «Moved to Rogue House». Красная/янтарная плашка «Партнёрская программа…» на паспорте, `signals.affiliate_guard_dog` в API.
    • feature `neblask:brazil-spa` — 85 юрлиц / 188 марок / 164 домена .bet.br с gov.br: 48 брендов получили лицензию `spa-br` (портария SPA/MF), 10 новых .bet.br-доменов. Предохранитель: юрлицо на >3 брендов (Skill On Net LTDA → 25 немецких вайтлейблов) считается группой и не матчится.
    • feature `neblask:rdap` — RDAP вместо WHOIS: регистратор, created/expires, EPP-статусы, DNSSEC; закрыто 40 из 453 дыр whois_created; «истекает через N дн.» янтарём на паспорте (William Hill: 12 дней). Лимиты по зонам: SIDN (.nl) и Nominet режут с первого запроса — breaker считается per-TLD. `neblask:cc-index` — Common Crawl CDX: URL/хосты/доля 403 («закрыт от ботов»: bet365 94%), рост между кроулами, первый кроул; блок «Web footprint».
    • fix Wikipedia: 80 из 159 статей в `extra.wikipedia` были чужими (Lemon → цитрус, Kraken → чудовище, Vegas → город, Toto → сантехника, Coral → кораллы). `WikipediaPull` теперь требует гемблинг-слова в описании, иначе пробует «Name (bookmaker)/(casino)/(company)» (Coral → «Coral (bookmaker)»), иначе `exists=false, homonym=true`. Омонимы сброшены, полный перепрогон запущен.
    • fix Лицензии: `neblask:import-mga-licenses` (Puppeteer по JS-реестру MGA) не был ни в расписании, ни в autopilot с 07.08 — теперь в autopilot/14д. `LicenseMatcher` получил шаг «ядро юрлица == юрлицо-оператор бренда»: MGA 27 → 60 матчей (лицензий MGA 19 → 61), общий пулл перезапущен. Скреперы KSA (реестр переехал) и ADM (Liferay) мертвы — по 5 лицензий, хвост.
    • ops В autopilot: wiki-pageviews 30д, hibp 7д, rdap 30д, cc-index 60д, brazil-spa 7д, affiliate-guard-dog 14д, import-mga-licenses 14д. API-контракт: 82 сигнала. `trans_choice()` в партиалах заменён на `Nav::plural` (давал «2 юрисдикция»). +45 тестов.
  2. v6.12.2 21 августа 2026

    Перепроверка и обогащение: 8 блоклистов, реестр Curaçao CGA, честный freshness, DFS-guard

    Третий заход за день — по просьбе владельца «перепроверь всё основательно и обогащай». Блоклистов стало 8 юрисдикций (добавлены Греция, Норвегия, Швейцария): 1013 из 1979 брендов в ≥1 реестре. Подключён публичный реестр лицензий Curaçao Gaming Authority (PDF, 661 лицензия + 31 отзыв): лицензий CGA в базе 18 → 144, два отзыва на таймлайне (KTO, GeniePlay). Найдено, что neblask:freshness по построению всегда говорил OK, а у autopilot не было защиты от нулевого баланса DataForSEO — оба закрыты.

    • feature Блоклисты +GR (HGC, xlsx через ZipArchive, 14.8k апексов с датой решения), +NO (Lottstift, CSV с версионной ссылкой со страницы), +CH (Gespa + ESBK, PDF через pdftotext, 4k апексов с датами). CH считается загруженным только если пришли обе половины. Итог: GR 657, PL 635, IT 478, CH 400, CZ 135, BE 132, FR 59, NO 48 брендов.
    • feature `neblask:cga-registry` — реестр Curaçao Gaming Authority: PDF с CDN (самый свежий по дате в имени), pdftotext, парсер переносов юрлиц/статусов и опечаток регулятора. Матчинг по ядру юрлица с `extra.operator`, точному имени/алиасу бренда, pg_trgm ≥ 0.8 (порог 0.6 давал только ложные: Horizonix→horizon). B2B-лицензии в бренды не пишутся. 95 B2C-лицензий → 135 строк брендов (Dama N.V. → Oshi/Joo/24Casino; Scores55 → mBit/7Bit/KatsuBet). 31 запись enforcement-реестра → `neblask_enforcement_actions` (license_revoked). Миграция: unique лицензии стал (regulator, number, brand) — одно юрлицо на много казино.
    • fix `neblask:freshness` считал свежесть сигнала как `max(updated_at)` строк бренда с ключом — любое обновление бренда чем угодно делало сигнал «свежим», отсюда вечный «0 stale». Теперь `max(checked_at)` самого сигнала; добавлены Blocklists, Operator, Sanctions, CrUX, PageSpeed, Trustpilot deep, Site crawl, Enforcement, Domain backlinks.
    • fix Autopilot: баланс DataForSEO читается один раз за прогон; при балансе < $0.50 все DFS-задачи (trends, clickstream, domain-rank и organic-traffic из FREE_TASKS, который исторически тратил $1.2/прогон без учёта) пропускаются с пометкой вместо падений «40200 Payment Required». `--dry-run` показывает баланс.
    • fix TrustScore: отозванные/истёкшие лицензии (revoked, expired, suspended, surrendered, lapsed) больше не дают баллов в regulatory-компоненте — до этого отзыв CGA считался как активная лицензия (+3).
    • data 8 «main»-доменов из serp_discovery оказались чужими площадками (quora, weebly, bigcartel, tiktok.com, yelp, blogspot, gitbook) → kind=rejected, их crux/blocklist/urlscan сброшены. Оператор: приоритет материнских регуляторов (UKGC/MGA/GI/IM/Alderney/CGA) над локальными рыночными — William Hill → WHG (International) Limited (GB) вместо WHG Ceuta S.A. (ES); паспорт показывает «Страна лицензии» и «Источник: реестр регулятора UKGC / Casino Guru / Wikipedia (LLM)».
    • ops SanctionsCheck при исчерпанной квоте OpenSanctions возвращает 0 (интервал 1д, алерт был бы ежедневным шумом); `cga` добавлен в config/neblask.php regulators; OpenAPI-описание signals → 79 типов; +22 теста (BlocklistSourcesTest 11, CgaRegistryTest 11).
  3. v6.12.1 21 августа 2026

    Догон по решению владельца: ScrapFly-регуляторы, новые источники популярности, шардинг, бюджетные дыры

    Владелец разрешил тратить ScrapFly и квоты: NJDGE и DGOJ снова отдают enforcement (+110 записей с датами), три новых источника популярности/авторитета (CrUX top-1M уже собран: 637 брендов; Open PageRank и Cloudflare Radar ждут бесплатных ключей), pagespeed/trustpilot-deep/site-crawl поставлены в autopilot, Safe Browsing ходит батчами по 500, у тяжёлых парсеров появился --workers. Попутно найдены две причины «никогда» в статусе autopilot: domain-rank оценивался в $0.40 при дневном бюджете $0.33, а PageSpeed читал ключ через env() и годами работал без ключа.

    • fix Enforcement NJDGE: старые страницы DGE удалены (честный 404), данные теперь из WP REST `njoag.gov/wp-json/wp/v2/posts?categories=127,66` через ScrapFly (asp, us; 25 кредитов/прогон). DGOJ: сайт убрал префикс `/es/` — отсюда 404 отовсюду; подключены реестр `datos-estudios/resoluciones-sancionadoras` (год, оператор, ES/YYYY/NNN, тип) и `/novedades` (1 кредит/страница). Испанские ключевые слова и суммы («1.200.000 euros», «1,5 millones de euros»). published_at заполнен у всех новых строк; matched-to-brand: DGOJ 20.
    • feature `neblask:crux-rank` — Chrome UX Report top-1M (CSV без ключа, ~5 с прогон): 637 брендов с рангом (top-1k: 10, top-5k: 19, top-10k: 28, top-50k: 101). Апекс засчитывается только если бренд им владеет — иначе b9casino получал top-1000 от quora.com. `neblask:openpagerank` (батчи по 100, заголовок API-OPR) и `neblask:cf-radar` (rank/bucket/категории/top-локации, circuit-breaker на 429) готовы и ждут `OPENPAGERANK_API_KEY` / `CLOUDFLARE_RADAR_TOKEN` в .env — до этого пишут маркер skipped_no_api_key и не светятся в API.
    • interface Паспорт: блок «Популярность и авторитет» (CrUX top-N, OPR, Radar + аудитория) — монохром, моно-цифры; `signals.crux/openpagerank/cf_radar` в API v1 (контракт 79).
    • fix Autopilot: domain-rank оценивался в $0.40 за 200 доменов при дневном бюджете $0.33 — `canSpend()` не проходил ни разу, отсюда «Domain Rank: никогда». Ручной прогон по всему каталогу вскрыл вторую ошибку: константа `COST_DOMAIN_RANK=0.002` занижала цену в 12 раз — `backlinks/summary/live` стоит $0.024/домен, 997 доменов съели весь баланс DataForSEO ($23.94 → −$0.02). Данные получены (1088 доменов с backlinks/rank), но trends/clickstream встанут с «Payment Required» до пополнения. Константа исправлена, слот autopilot — 12 самых старых доменов ($0.29) раз в 30 дней, DomainRank идёт stalest-first вместо алфавита. PageSpeed читал `env('GOOGLE_PAGESPEED_KEY')` — на проде после config:cache это null; переведён на `config('services.google.pagespeed_key')`.
    • ops В autopilot добавлены pagespeed (300/нед), trustpilot-deep (100/нед, ScrapFly), site-crawl (150/нед, ~13 кредитов/бренд), crux-rank/openpagerank/cf-radar (30д). Разовые догоны запущены: pagespeed 500, trustpilot-deep 300 (готово), site-crawl 300.
    • performance Safe Browsing v4 — батчи до 500 URL за один POST вместо запроса на бренд (одна схема https: API канонизирует URL); сбой запроса больше не пишет not_found на 14 дней; починен preserveKeys-баг, из-за которого бренд, бывший is_safe=true, не мог стать false. Ключ подвязан к Google-ключу PageSpeed — владельцу осталось включить Safe Browsing API в проекте 1080501741246.
    • performance `--workers=N --worker=K` (шардинг по id, трейт `ShardsByWorker`) у 13 тяжёлых команд: DeepScan, ScreenshotCapture, SecurityCheck, SupportScan, SiteCrawl, GeoScan, GeoScanExtended, BonusesScan, TrustpilotReviews, PageSpeed, DnsInfra, DomainHealth, WhoisAge (последним трём добавлен --limit). DomainHealth при шарде не перезаписывает сводный снапшот.
    • test +45 тестов: WorkerShardingTest (13), SafeBrowsingBatchTest (9), PopularitySourcesTest (9), EnforcementParsingTest +14 (NJ JSON, реестр DGOJ, испанские суммы).
  4. v6.12.0 21 августа 2026

    Блоклисты регуляторов, оператор без LLM, stalest-first по-настоящему

    Новый сигнал паспорта — реестры блокировок пяти регуляторов (IT ADM, FR ANJ, PL Минфин, BE Gaming Commission, CZ Минфин): 814 из 1987 брендов с доменами в ≥1 реестре. Юрлицо-оператор теперь собирается из лицензий и каталогов без LLM: 48 → 690 брендов. Найдено, что фикс same-100-brands от 20.08 был мёртвым кодом — ни один парсер не передавал ключ свежести; подключён во все 22. Закрыты три тихих бага, которые подменяли данные: 429 от OpenSanctions записывался как «clean», urlscan 19 часов крутил 429 вхолостую, autopilot падал целиком из-за одной задачи.

    • feature `neblask:blocklist-sync` — реестры доменов, предписанных к блокировке: IT (txt, 10.5k апексов), FR (csv с датой решения), PL (XML API, 26k апексов), BE (HTML), CZ (CSV cp1250 с версионной ссылкой). Матчинг по eTLD+1 (`App\Support\Apex`), зеркала по подстроке намеренно не считаются. В autopilot раз в 7 дней, без ключей, прогон ~1 мин. Блок «Блокировки регуляторов» на паспорте, `signals.blocklist` в API v1.
    • interface Паспорт: красный блок с таблицей «страна · регулятор · домен · с какой даты · записей». У лицензированных в стране операторов (кросс-чек с реестром лицензий: adm/anj/gc-be) — янтарный бейдж «лицензия в стране есть»: в ADM попадает международный .com, локальная .it работает легально. Текст блока прямо говорит, что это не оценка честности выплат.
    • feature `neblask:operator-extract` переписан: wiki-описание есть лишь у 160 брендов, поэтому добавлена цепочка без HTTP — `neblask_brand_licenses.legal_entity` (реестры регуляторов) → Casino Guru owner/operator → AskGamblers company → CasinoListings → Casino Guru краткий (только с корпоративным суффиксом). Флаг `--no-llm`. Покрытие operator ok: 48 → 690 брендов; страна = юрисдикция лицензии с пометкой `operator_country_basis`.
    • fix Critical: stalest-first в `loadBrandsForScraping()` (v6.11.0) не работал — все 22 вызова шли без `$freshnessKey` и по-прежнему крутили первые 100 брендов алфавита (serp: обновлённые за 3 дня = ранги 1..100 по имени). Ключ прописан в каждый парсер (SiteCrawl → about_page, DeepScan → languages), закреплено тестом. Медиана возраста ~35 сигналов (22 дня) начнёт падать с ближайших прогонов.
    • fix `neblask:sanctions-check`: HTTP 429 от OpenSanctions молча превращался в «clean» с checked_at — за один прогон так «очистили» 400 брендов, включая реальные хиты по Parimatch/Pin-Up/Betwinner (санкции СНБО Украины) и литовскому списку нелегалов. Теперь 429 = исключение без записи, стоп после 3 подряд; ложные clean сегодняшнего прогона сброшены. Плюс фильтр схожести имён (`Polar Limited` больше не матчит «ЗАПОЛЯРНАЯ СТРОИТЕЛЬНАЯ КОМПАНИЯ») и очистка спецсимволов запроса (`A/S` давал HTTP 400). В autopilot — 100 брендов ежедневно вместо 50 раз в 30 дней.
    • fix `neblask:urlscan-fingerprint`: анонимная квота 500 search/день на IP; прогон `--limit=2500` 19 часов ловил 429 (3×60с на бренд) и не записал ничего. Добавлены `API-Key` из `config('services.urlscan.api_key')`, ожидание по `X-Rate-Limit-Reset-After`, остановка после 3 брендов подряд с 429 (`RateLimitedException`). Без ключа рост покрытия ≤150 брендов/день.
    • fix Autopilot возвращал FAILURE при любой упавшей задаче из 60 — cron-алерт «autopilot failed» приходил каждый день с 15.08. Теперь FAILURE только если не отработала ни одна задача; частные падения остаются в `Log::error` и `--status`. `withoutOverlapping(1200)` вместо дефолтных 24 часов.
    • fix `neblask:enforcement-sync`: MGA переехал на `/licensee-hub/enforcement-register/` (аккордеон с датой в заголовке) — 0 → 30 записей с датами; UKGC отдаёт даты текстом «20 August 2026» — `published_at` был NULL у 100% строк, теперь заполнен у UKGC/MGA. `extractOperator`: без `/u` em dash резал UTF-8 и терял оператора; `\bpenalis\b` не матчил «penalised»; `matchBrand` получил `word_similarity` для юрлиц длиннее бренда («William Hill Organization Ltd» → william-hill).
    • security `neblask:whois-age`: `shell_exec("whois {$domain}")` без экранирования — домен приходит из discovery-парсеров. Теперь `escapeshellarg`.
    • performance Sleep-дефолты выровнены по реальным лимитам API: DnsInfra и SecurityCheck 1→0 (локальный резолвер / каждый бренд — свой хост, −40 мин на прогон), Wikipedia-парсеры 1→0.3, Reddit 2→6 (10 req/min без auth — раньше каждый третий запрос получал 429 и sleep 30), VirusTotal 2→16 (4 req/min), AppStore 1→3. CasinomeisterPull: eager-load доменов вместо N+1.
    • ops Убиты 16 осиротевших bash-вотчеров с 07–20.08: `until [ $(pgrep -f "artisan neblask" | wc -l) -le N ]` никогда не завершается — pgrep матчит собственную командную строку. Миграция `2026_08_21_090000` фиксирует pg_trgm и CHECK `neblask_brands_extra_object_chk`, которые жили только на проде.
    • API API v1 `brands/{slug}.signals`: добавлены `operator`, `sanctions`, `urlscan_fingerprint`, `blocklist` — контракт расширен с 72 до 76 сигналов (расширение, не breaking change).
    • test +98 тестов / 240 ассертов: `BrandMergeExtraTest` (атомарный merge, CHECK), `ScrapesIntoBrandExtraTest` (stalest-first, mergeIntoExtra не затирает данные при сбое), `OperatorExtractTest` (LLM-мок + structured-цепочка), `EnforcementParsingTest` (regex-регрессия delimiter `#`, pg_trgm-матчинг), `UrlscanFingerprintTest` (circuit-breaker на 429, API-Key). Полный сьют: 929 → 1027+ зелёных.
    • research Исследование 50+ источников: следующая волна — CrUX top-1M (CSV без ключа), Open PageRank и Cloudflare Radar (бесплатные ключи — за владельцем), Kahnawake permit holders, OONI, реестр Curaçao CGA (PDF), блоклисты GR/NO/CH, Brazil SPA. Отклонены с причинами: Google Ads Transparency, PhishTank, Spamhaus, eCOGRA.
  5. v6.11.0 20 августа 2026

    Compliance на паспорте + fix same-100-brands + перф

    Compliance-блоки (оператор, санкции, whitelabel, enforcement-timeline) появились на паспорте бренда. Найден и исправлен critical-баг покрытия: 30+ парсеров годами обходили одни и те же 100 брендов в алфавите — Winbet/Zenit/Zeus никогда не попадали в extra. Плюс убран лишний refresh() из Brand::mergeExtra (-35k SELECT/сутки).

    • interface Паспорт бренда: 4 новых блока — Оператор (юрлицо + страна + штаб-квартира + год + тикер), Санкции (зелёная 'проверено' / красная 'В санкционном списке' с деталями), Whitelabel-платформа (SoftSwiss/Playtech/EveryMatrix + hosting IP/ASN), Timeline enforcement-действий регуляторов. Живой хит: /neblask/brand/nordicbet — BML Group Ltd в литовском списке нелегального игорного бизнеса.
    • fix Critical: `ScrapesIntoBrandExtra::loadBrandsForScraping` использовал `orderBy('name')->limit(N)` — 30+ парсеров годами обходили одни и те же первые 100 брендов в алфавите. Winbet/Zenit/Zeus никогда не попадали в extra. Заменено на stalest-first (NULL checked_at первыми, потом самые старые), опциональный параметр $freshnessKey — backward-compat.
    • performance Brand::mergeExtra() больше не вызывает $this->refresh() — 35k лишних SELECT'ов в сутки убрано. Grep подтвердил: ни один парсер не читает $brand->extra сразу после mergeExtra.
    • performance TrustpilotPull получил --limit=N + stalest-first sort. Autopilot вместо 2373 брендов × 2s (~120 мин прогон) теперь берёт 100 самых устаревших каждый слот (~6 мин, полное покрытие за 24 недели).
    • fix Blade cache: crumbs.blade.php скомпилированная версия сыпала 'unexpected token endif' 86 раз с 11:21. view:clear закрыл, /neblask/brand/twin снова 200.
    • fix Убран /tmp/diag_datesort.php (ручной скрипт, конфликтовал с symfony/var-dumper dump()).
  6. v6.10.0 20 августа 2026

    Compliance-модуль: операторы, Companies House, санкции, enforcement

    Три новых слоя данных для каждого бренда: юрлицо-оператор (LLM из wiki), корпоративные записи (Companies House UK), санкции (OpenSanctions) + timeline enforcement-действий 8 регуляторов (UKGC/MGA/Spelinspektionen/KSA/iGO/PGCB/NJDGE/DGOJ).

    • data OperatorExtract (LLM через CloseRouter): вытаскивает юрлицо-оператора из wiki-описания (Evoke plc, Betsson AB, Kindred Group plc, LeoVegas Gaming Ltd, Ålands Penningautomatförening — уже в базе). Свежесть 90 дней, интервал autopilot 90д.
    • data CompaniesHouseLookup: директора, PSC (persons with significant control), финансовая отчётность юрлица через api.company-information.service.gov.uk. Ждёт COMPANIES_HOUSE_API_KEY в .env (бесплатный ключ на developer.company-information.service.gov.uk).
    • data SanctionsCheck: OFAC/EU/UN/UK sanctions + PEP-статус для оператора и всех директоров через api.opensanctions.org. Ждёт OPENSANCTIONS_API_KEY в .env (OpenSanctions v4 требует ключ на все endpoints — free tier у них есть).
    • data EnforcementSync: timeline штрафов, отзывов лицензий, AML-нарушений 8 регуляторов (UKGC/MGA/Spelinspektionen/KSA/iGO/PGCB/NJDGE/DGOJ). Новая таблица neblask_enforcement_actions с fuzzy-match к бренду через pg_trgm. UKGC пилот: £4.75M Evolution Malta, £900k Petfre, £609k QuinnBet AML.
    • fix EnforcementSync HTML-parser: regex delimiter '#' конфликтовал с '#' внутри character class [^"#], роняло 4 регулятора из 8. Delimiter заменён на '~', перезапуск догоняет пропущенное.
    • performance Autopilot 55 → 60 задач (+5 compliance/enforcement). AutopilotRegistryTest 64 passed. Все команды регистрированы, опции валидны.
  7. v6.9.0 20 августа 2026

    Whitelabel-детекция + аудит: 5 фиксов, +6 сирот в autopilot

    Аудит парсеров 20.08 выявил 8 дыр — все критичные закрыты. Плюс новый источник urlscan.io детектит whitelabel-платформы (SoftSwiss, Playtech, EveryMatrix). Ещё 2 источника в работе.

    • data Новый источник urlscan.io: детекция whitelabel-платформ (SoftSwiss/Playtech/EveryMatrix/BetConstruct/Microgaming/Rush Street/Evolution) по filename-паттернам в сканах. Пилот: 3 из 7 брендов детектированы. Работает без API-ключа через публичный /search/ endpoint.
    • fix DomainHealth snapshot→extra рассинхрон: паспорта показывали данные 24-дневной давности. Патч в saveReport() + batch UPDATE 2040 доменов. Догон запущен.
    • fix Бренд tennisi (id=82): extra было типа 'number', ломало jsonb_object_keys и freshness-скрипты. UPDATE + CHECK constraint не даст повторить.
    • data Autopilot +6 сирот: bonuses (14д), sponsorships (30д), reddit-deep (14д), guru-complaints-deep (21д), askgamblers-deep (21д), public-financials (30д). Раньше эти парсеры бежали неизвестно кем — данные могли молча остановиться.
    • performance Лимиты deep-scan/screenshot/pagespeed подняты с 50-100 до 200. При 2373 брендах цикл 47 дней → 12 дней, покрытие догонится за 2 недели вместо 2 месяцев.
    • performance AutopilotRegistryTest 63 passed: уже поймал 'public-financials --limit=100' (нет такой опции) до деплоя. Ловит регрессы класса 'переименовал команду, забыл в autopilot' — 4 такие ошибки висели в проде 19.08.
  8. v6.8.0 20 августа 2026

    Двойное хранилище: sync snapshot→extra для 3 парсеров

    Аудит 20.08 нашёл ту же грабля, что была у trust-score: TrustpilotPull/AppStorePull/PlayStorePull пишут только snapshot, extra устаревает на месяцы. API и паспорт бренда читают extra в первую очередь — молча отдавали старые числа. Плюс +6 парсеров в autopilot и guard-тест против такого регресса.

    • fix TrustpilotPull теперь синхронизирует neblask_brands.extra['trustpilot'] после Storage::put — покрытие 645→1294 брендов (+2×), рейтинги свежие сегодня.
    • fix AppStorePull + PlayStorePull теперь синхронизируют extra['appstore']/['playstore'] после snapshot — паспорт бренда перестанет показывать рейтинги 22-дневной давности.
    • data Autopilot +6 задач: support-scan (21д), pagespeed (21д), trustpilot-reviews (14д), geo-scan-extended (30д), social-deep (30д), screenshot-capture (30д). Ранее эти парсеры жили без крон-крышки, данные застряли на 30.07 (~22 дня).
    • performance AutopilotRegistryTest (53 теста): проверяет, что каждая команда из FREE_TASKS/DISCOVERY_TASKS существует и принимает объявленные опции (--limit, --sleep, --force). Ловит регресс из серии «переименовал команду, забыл в autopilot» — 4 такие ошибки висели в проде 19.08.
  9. v6.7.0 18 августа 2026

    Крон-крышка для всех парсеров: +22 бесплатных в autopilot

    Аудит парсеров 18.08 показал, что 22 бесплатных парсера жили без расписания и данные по ним застряли на 30.07 (19 дней). Все — под крышкой autopilot с интервалами 7-30 дней.

    • data SERP-анализ (1122 бренда), Google Trends (1275), Google News (1421), Casinomeister (1450), Sitejabber, ThePOGG, CasinoListings, Gambling.com (1273), Wizard of Odds (1273), Forum mentions (448), VirusTotal (1171), Safe Browsing (1151), Security extended (1157), DNS-инфра (1412), ScamAdviser (1088), Casino Guru deep, Trustpilot deep, iOS+Android reviews, Affiliate T&C, Homepage deep scan (620), GEO-версии, Organic traffic — все обновляются каждые 7-30 дней.
    • performance Autopilot теперь покрывает 43 бесплатные задачи (было 21) — раскладывает по дневным слотам, чтобы дневной запуск (05:00 UTC) не забивался неделю.
    • fix Новые парсеры на проекте отныне обязаны добавляться в FREE_TASKS+FREE_INTERVALS в Autopilot.php — иначе данные умрут молча, замечено через месяц из freshness-алерта.
  10. v6.7.0 10 августа 2026

    Промо-календарь + НеРейтинг + Реструктуризация навигации

    Три крупных обновления платформы за 07–10 августа.

    • feature /promo — календарь рекламных слотов для 4 Telegram-каналов, 2 слота/канал/день, CRUD с паролем
    • feature /nerating — антирейтинг операторов: скреперы жалоб, SimHash-дедупликация, AI-обогащение
    • feature Реструктуризация навигации: dropdown Ещё, NeBaza, NeNews, чипы + карточки на главной
    • feature CSS-аудит: миграция на build.sh, удаление легаси site.css, CssBuildIntegrityTest
    • feature Промо-календарь: прошедшие дни скрыты, список бронирований под сеткой
    • fix Восстановлен sshd после инцидента с frankenphp restart 07.08
    • fix Аудит 10.08: потерянные новости, подделка IP, парсеры — 11 агентов
  11. v6.6.0 06 августа 2026

    Навигация и надёжность парсеров

    Меню и URL приведены к одной семье, ложные ночные алармы автопилота отключены, паспорт бренда перестал показывать устаревший trust score.

    • interface Новости — первым пунктом меню (важнее продуктовых зонтиков).
    • interface URL зарплатных отчётов, сравнений и методологии переехали под /nearbihunter/* — одна семья с самими вакансиями. Старые /reports, /comparisons, /methodology (и слаги) отдают 301.
    • interface Глоссарий вынесен из меню NeArbiHunter в «Ещё» — это отдельный раздел, не часть вакансий.
    • interface В меню «Инструменты» стабильные (NeMail, NeAhrefs, NeConf) отделены линией от альф (NeAntik, NeClip).
    • interface «Доска объявлений» убрана из меню — её открывает всегда-видимый боковой виджет, дубликат в меню путал.
    • fix neblask:domain-health больше не даёт ложный «task failed» на 43% ошибок: 401/403/429/451 (Cloudflare-защита от datacenter-IP) не считаются деградацией обхода — домены живы для пользователей, только не пускают наш краулер.
    • data neblask:trust-score теперь self-heal: после снапшота команда батчем синхронизирует neblask_brands.extra['trust_score']. Раньше extra застревал (749 из 1440), и API /brands/{slug} отдавал устаревшие оценки (twin 42 вместо 34, jetton 34 вместо 28).
    • performance Бот @AffPapa_Bot: composer LLM ушёл в очередь intake ещё вчера; сегодня добавлены timeout=85с и failed() — при таймауте пользователю приходит «попробуй ещё раз», не тишина, дублей LLM-запросов нет (85 < retry_after 90).
  12. v6.5.1 05 августа 2026

    API Backward Compatibility Restored

    • feature Восстановлены 45 сигналов /brands/{slug}, выпавших при рефакторинге 04.08 (serp, google_trends, google_news, trustpilot_deep, askgamblers_deep, reddit_deep, scamadviser, virustotal, crt_sh, wayback, telegram и др.) — те же ключи и поля, что в v9
    • feature Итого 72 типа сигналов: 70 из v9 + public_financials + sponsorships
    • feature Смоук всех 21 эндпоинта: 200 OK; envelope (source/license/docs/generated_at/data) не менялся
    • feature Контрактные тесты: 40 passed (315 assertions)
    • feature OpenAPI: описание signals обновлено под полный список
  13. v6.5.0 05 августа 2026

    Wave 22: Operator Financials, Sponsorships, RU-Bookmakers Autoupdate

    • feature public_financials: выручка/прибыль/штат/тикер операторов из Wikipedia infobox — 38 брендов (Flutter, Entain, Evoke, Kindred, Betsson, DraftKings и др.)
    • feature sponsorships: спонсорские связи из Wikipedia-статей брендов — 89 брендов (клубы, лиги, персоны с контекстом)
    • feature neblask:ru-bookmakers: автообновление раздела «Легальные БК России» (vredbuk NUXT_DATA) — еженедельно
    • feature Паспорт бренда: 2 новые секции — «Финансы оператора» и «Спонсорство» (итого 28)
    • feature API: восстановлены affiliate_rankings и brand_bidding после рефакторинга + добавлены public_financials и sponsorships
    • feature Scheduler: +3 команды (ru-bookmakers weekly, public-financials/sponsorships monthly)
  14. v6.4.0 05 августа 2026

    Раздел «Легальные букмекеры России»

    • feature Новая страница /neblask/bookmakers: единственный сегмент рынка РФ с открытой отчётностью
    • feature Финансы 16 операторов за 2022-2025: выручка, доля рынка, прибыль, GGR %, динамика
    • feature Рыночные показатели: целевые отчисления на спорт и комиссии ЕЦУПИС по годам
    • feature Спонсорские портфели 10 БК: 158 контрактов с разбивкой по видам спорта, нейминг-сделки
    • feature Амбассадоры 18 БК: 372 персоны с аудиторией по платформам
    • feature Партнёрские программы 16 БК: CPA, RevShare, гибрид, admin fee, источники трафика
    • feature Сводная матрица позиций в 8 независимых рейтингах (Спортс, РБ, Legalbet, Metaratings и др.)
    • feature Пункт «БК России» в навигации NeBlask
  15. v6.3.0 31 июля 2026

    Wave 20: Affiliate Rankings, Brand Bidding, Affiliate Network Mapping

    • feature Affiliate Rankings: composite score from 12 rating sources (AskGamblers, Trustpilot, Casinomeister, ThePogg, etc.), normalized to 0-10 scale — 661 brands enriched
    • feature Brand Bidding: SERP analysis identifying affiliates and competitor operators ranking for brand keywords — 1054 brands analyzed
    • feature Affiliate Network Mapping: cross-reference of which affiliates promote which brands, top affiliates by coverage (Trustpilot 1004, AskGamblers 672, Casino.Guru 308)
    • feature Frontend: 2 new passport sections — horizontal bar chart for aggregator ratings, affiliate SERP presence list
    • feature API: affiliate_rankings and brand_bidding signals added (66 total mappings)
    • feature Total passport sections: 26 (was 24)
  16. v6.2.0 31 июля 2026

    Wave 19: Mass Enrichment Sprint + API v9

    • feature Mass parallel parsing: 28 parsers running simultaneously on ScrapFly sleep=0-1
    • feature Signal coverage: 5 signals at 99%+, 12 at 80%+, 26 at 50-90%
    • feature API v9: added geo_extended, wizardofodds, social, crt_sh signals (64 total mappings)
    • feature Trust Score recalculated for all 1,276 brands after enrichment
    • feature Materialized views refreshed (1,275 brand summaries, 61 country summaries)
    • feature Killed expensive parsers (geo-scan, geo-scan-extended, site-crawl) to conserve credits
    • feature Cleaned corrupted numeric JSONB keys from 2 brands
    • feature Data growth: 43,414 signal records (+6,861 since v6.1.0), 34.0 avg signals/brand
    • feature ScrapFly: 881K/1M credits used, 119K remaining
  17. v4.0.0 30 июля 2026

    Wave 13: Maximum Enrichment

    13 новых типов сигналов (33→46), 15 парсеров параллельно, ScrapFly 1M план

    • feature ScamAdviser trust score 0-100 с highlights (ScrapFly JS+ASP)
    • feature Trustpilot Reviews — отзывы + AI-категоризация настроений
    • feature Google Safe Browsing — проверка безопасности домена (бесплатный API)
    • feature VirusTotal/OTX — репутация, малвэр, pulse count (ScrapFly 1кр)
    • feature Security Extended — HSTS preload, CAA, security headers score, cookies
    • feature Bonuses — welcome bonus, free spins, wagering, промо-акции
    • feature Deep Scan — languages, live_chat, structured_data, content_depth, tech_stack, affiliate_program
    • feature PageSpeed — Core Web Vitals (Performance, Accessibility, Best Practices)
    • data 45 типов сигналов, 20 900+ записей (было 33/14 764)
    • data guru_games 234→775 (100%), organic 338→764, dns_infra 422→729
    • interface ScamAdviser card, Security dashboard, Bonuses, PageSpeed ring charts, Site Profile
    • API API v5 — все 13 новых сигналов в brand response
  18. v3.9.0 29 июля 2026

    Wave 12: Verification & Documentation Sync

    Верификация данных после Wave 11, обновление llms.txt (10→23 регулятора), синхронизация документации и memory

    • data Бренды 775→776 (+1 после верификации)
    • data Подтверждено 23 регулятора в реестре лицензий (было указано 10 в llms.txt)
    • data 14 764 сигнальных записи по 33 типам — все верифицированы
    • fix llms.txt: обновлён список регуляторов 10→23 (UKGC, MGA, GGL, PAGCOR, AGCO, ANJ, SRIJ и др.)
    • fix Документация API и changelog синхронизированы с актуальным состоянием БД
    • content Карта проекта и memory-файлы обновлены актуальными цифрами
  19. v3.8.0 30 июля 2026

    Wave 11: Data Enrichment & New Sources

    4 новых источника данных, 100% RTP coverage, консолидация провайдеров, 15 скраперов в LicensesPull, 27+ фиксов дизайн-системы

    • data 4 новых источника: DNS Infrastructure (MX/SPF/DMARC), Wayback Machine age, Telegram channels, Responsible Gambling certs
    • data 737 игр без RTP → 0: все 8482 игры с RTP (100% coverage)
    • data 4 дубля провайдеров объединены (128→124)
    • data 52 провайдера получили метаданные (website, founded, HQ)
    • data 67 игр исправлен kind (slot→live/table)
    • data +64 лицензии (356→420), +47 брендов с лицензиями
    • data Новый скрапер Gibraltar (gc-gi), 13 лицензий
    • data 15 скраперов подключены к LicensesPull (было 6)
    • data +7 ground truth строк (Колумбия, Бразилия, Нигерия, Кения, ЮАР, Филиппины, Румыния)
    • data 93 новых немецких бренда обогащены
    • fix 3 SQL injection исправлены (trending, Momentum, ComplaintsPull)
    • fix 9 дублей scheduler×autopilot убраны
    • fix OOM 128MB в MarketData.php исправлен
    • fix Alpine.js поиск на /brands исправлен (input вне x-data)
    • interface 27+ фиксов дизайн-системы «Лента» (цветовая семантика, JetBrains Mono, hover)
    • stats Итого: 775 брендов, 8482 игры (100% RTP), 124 провайдера, 420 лицензий, 33 типа сигналов, 65 artisan-команд
  20. v3.6.0 28 июля 2026

    Wave 8: API Expansion + Data Quality Blitz

    6 новых API endpoints, расширенные signals, массовый синк данных, Trust Score v2.0 пересчёт, UI-полировка

    • API 6 новых endpoints: /trust-scores, /compare, /games/{slug}, /providers/{slug}, /trending, расширенный /brands/{slug}
    • API Расширенные signals в brand card: payment_methods, descriptions (en/ru), social, wikipedia, reddit, observatory, tranco, urlhaus, casinoorg, kick, domain_health
    • API Домены с полными данными: whois, backlinks, health, dns
    • data Meta Ads 114→598 брендов с рекламными данными
    • data AppStore/PlayStore→683 брендов, Trustpilot→683 брендов
    • data Wikipedia 445→601, Homepage scrape 395→538, Monthly demand 234→654 стран-брендов
    • data CrUX performance data 11K→74K записей
    • data Wallets добавлены для 6 крипто-брендов (Stake, BC.Game и др.)
    • data Twitch/Kick данные синхронизированы
    • feature Games: +946 игр (8482 total), +1299 RTP (7745 total), 11/12 пустых провайдеров заполнены
    • feature Pragmatic Solutions классифицирован как platform (не game provider)
    • feature Trust Score v2.0 пересчёт с полными данными, transparency component работает
    • interface Trust Score v2.0 визуализация: 6 компонентов (scale, regulatory, reputation, transparency, infrastructure, digital_presence)
    • interface Соцсети X/Instagram/Facebook/LinkedIn в карточке бренда
    • interface Кошельки отображаются зелёным моно (JetBrains Mono)
    • fix 3 API-бага починены (null responses, missing fields, incorrect sorting)
    • fix Мусорные not_found записи скрыты из API-ответов
    • fix Scheduler дополнен недостающими задачами
    • fix Sponsor-flush механизм восстановлен
    • content llms.txt обновлён на formula 2.0
    • API OpenAPI спецификация расширена на все новые endpoints
  21. v3.5.1 28 июля 2026

    Wave 7.1: Transparency + DataForSEO + Mop-up

    Transparency component implemented, DataForSEO enrichment, free scraper retries

    • feature Trust Score Transparency component: 8 сигналов, avg 5.61/15 (было ~0)
    • data Organic traffic 44.8%→53% via DataForSEO
    • data Backlinks 45.5%→49.3% via DataForSEO (ещё растёт)
    • data Social 84%→96.8% — social-pull retry для оставшихся
    • data Reddit 88%→94.6% — полный рефреш 683 брендов
    • data Casino Guru 64.1%→66.9% — retry 300 брендов
    • data AI English 37.9%→42.2% (воркеры продолжают)
    • data Meta Ads полный прогон запущен (600 брендов)
    • data BrandMetaScraper social links: IG 41, FB 28, TW 28, TG 33, YT 16, LI 13
    • data Data Freshness: все 24 источника OK
    • performance MV refreshed после всех обновлений
  22. v3.5.0 28 июля 2026

    Wave 7: Data Completeness + Quality Polish

    Синхронизация snapshot→extra, аудит качества данных, фиксы матчеров, социальные ссылки из HTML

    • data Snapshot→extra sync: Trust Score, AppStore, PlayStore, Meta Ads, Kick, Domain Health теперь в API
    • data Trust Score 0%→97.1% — пересчёт v2.0 + полная синхронизация в brand extra
    • data AppStore/PlayStore 0%→92.5%/92.7% — 17 iOS + 71 Android приложений
    • fix CasinoOrg matcher: 26.8%→77.7% — переработан алгоритм сопоставления
    • data Wikipedia 46.9%→70.9% — массовый re-run Wikipedia API
    • feature BrandMetaScraper: парсинг social-ссылок (FB/IG/TW/YT/TG/LinkedIn) из HTML
    • data YouTube data merge: unified extra→youtube + social→youtube (134 бренда)
    • data Twitter handles extracted from homepage meta-tags (24 бренда)
    • data Domain Health synced to 710 domains в extra
    • fix Tennisi: восстановлен повреждённый extra=0, обогащён из snapshots
    • data Data quality audit: 0 orphans, 0 dupes, 0 broken FK
    • data AskGamblers retry для улучшения покрытия
    • data brand-meta --force с социальным парсером (400 доменов)
    • performance Materialized views refreshed после всех data syncs
    • data AI English enrichment 23.7%→35%+ (2 воркера продолжают)
    • data crt.sh 29.1%→31.2% (воркер продолжает)
  23. v3.4.0 28 июля 2026

    Wave 6: Full Coverage + Infrastructure + GEO

    Trust Score v2, MV+FTS, GEO-оптимизация, 30+ источников на 90%+ покрытии, полный аудит данных

    • data Payment Methods — 684/684 (100%), полное покрытие
    • data Organic Traffic — 170→571 (83.5%), DataForSEO $2.94
    • data Social Pull — 239+ YouTube-каналов, квота YouTube guard
    • data Tranco Rank обновлён — 248→326 (потолок top-1M)
    • data AskGamblers обновлён — 177→214
    • data AI Enrichment English — 684 брендов, 2 воркера, Claude Sonnet 5
    • data Ground Truth — 59→108 строк, 25 рынков, brand revenues
    • feature Trust Score v2.0 — новый компонент digital_presence (WHOIS, DNS, Apps, payments)
    • feature Калибровка 54/54 стран — 0 uncalibrated, tier 1/2/3 по данным
    • performance Materialized Views — brand_summary + country_summary, hourly refresh
    • performance Full-Text Search — tsvector + GIN + trigger автообновление
    • feature Data Freshness — мониторинг 24 источников, daily Telegram alert
    • feature GEO — llms.txt по стандарту, JSON-LD на brand/hub/country/report pages
    • feature Citation meta + Dublin Core на всех страницах для AI-цитируемости
    • feature Speakable schema на отчётах (Google AI voice)
    • fix Аудит данных — 8 дублей провайдеров merged, 1 дубль бренда merged
    • fix 30 просроченных лицензий status active→expired
    • fix Kick.com API переписан под новые эндпоинты
    • fix MetaAdLibraryClient env()→config() для кешированного конфига
    • feature Autopilot в scheduler — ежедневно 05:00 UTC
  24. v3.3.0 28 июля 2026

    Wave 5: Full Coverage + Trust Intelligence

    Trust Score 684 брендов, WHOIS/DNS, Kick.com/Twitch, App Store/Play Store, 30+ источников данных

    • feature Trust Score — scoring-модель для 684 брендов (A/B/C/D/F грейды)
    • interface Trust Score badge в паспорте бренда — круг с грейдом, tooltip с компонентами
    • interface Sparkline тренда спроса интегрирован в паспорт бренда
    • data WHOIS age — возраст домена для 684 брендов
    • data DNS info — NS/A/CDN записи для 710 доменов (100%)
    • data App Store — поиск iOS-приложений для 684 брендов
    • data Play Store — поиск Android-приложений для 684 брендов
    • data Kick.com — стримы slots/casino (184 стрима, 26K+ зрителей, API переписан)
    • data Twitch — стримы slots/casino (64 стрима, 13K+ зрителей)
    • data Payment Methods — массовый сбор для 684 брендов (GPT-5.4-mini)
    • data Social Pull — 135+ YouTube-каналов, TG-ссылки
    • data Brand Meta — homepage meta до 684 (100%)
    • data crt.sh — SSL-сертификаты добиты до 684 брендов
    • data Meta Ads Library — рекламные креативы брендов
    • fix Kick.com API — переписан под новые эндпоинты (старые 404)
    • fix MetaAdLibraryClient — env() → config() для совместимости с кешем
    • feature Autopilot в cron — ежедневный запуск в 05:00 UTC
    • interface Payment Methods секция на странице бренда
    • interface Social Links секция (YouTube + Telegram) на странице бренда
    • interface Mobile Apps badges (App Store + Play Store) на странице бренда
  25. v3.2.0 28 июля 2026

    Wave 4: Infrastructure + Data Pipeline

    GIN-индексы, Redis-кеш x23, тренды, платёжные методы, соцсети, sparkline

    • performance GIN-индексы на 4 jsonb-таблицы (neblask_brands, domains, games)
    • performance Redis-кеш паспортов — x23 ускорение (1036ms → 45ms)
    • data Monthly snapshots — 684 бренда, cron каждые 30 дней
    • data AGCC Alderney — 22-й регулятор, 22 лицензии
    • data Payment Methods pipeline (GPT-5.4-mini) — методы оплаты брендов
    • data Social Pull — YouTube + Telegram каналы брендов
    • interface Sparkline-компонент тренда спроса (SVG 120x32)
    • fix CORS API — config/cors.php вместо ручных заголовков
    • fix TempMail throttle 10/min, Web routes throttle 120/min
    • feature QueueHealthCheck — мониторинг очередей каждые 5 мин + Telegram-алерты
    • feature Scheduler heartbeat + withoutOverlapping на neblask:index
    • fix FreemodelClient fallback на CloseRouter при недоступности freemodel.dev
  26. v3.1.0 27 июля 2026

    Wave 3: Полное покрытие — 41 регулятор, 26 источников, AI-описания

    Третья волна расширения: 10 новых регуляторов, бесплатные API безопасности (crt.sh, Mozilla Observatory, URLhaus), интеграция slot.report (5598 слотов), AI-обогащение описаний брендов через Claude Sonnet 5.

    • data Новые регуляторы: Coljuegos (CO), HGC (GR), GC-BE (BE), GCC (LT), TMA-EE (EE), SRIJ (PT), DGOJ (ES) + KSA (NL), NJDGE (NJ), PGCB (PA) — итого 41 регулятор
    • data crt.sh — Certificate Transparency: верификация SSL-сертификатов доменов казино
    • data Mozilla Observatory — автоматический security grade (A+ до F) для каждого домена
    • data URLhaus — проверка доменов на малварь и фишинг в реальном времени
    • data slot.report — интеграция каталога 5 598 слотов от 83+ провайдеров
    • feature AI-обогащение: автоматические SEO-описания брендов через Claude Sonnet 5
    • feature Trust Score v2: пересчёт с учётом security grade, SSL и malware-check
    • API Открытые фиды лицензий: /neblask/licenses.json и /neblask/licenses.csv (CC BY 4.0)
    • performance 26 бесплатных источников данных — бюджет DataForSEO оптимизирован до ~$10/мес
  27. v3.0.0 27 июля 2026

    Mega Data Expansion: 684 бренда, 2115 игр, Open API, 15 источников

    Крупнейшее обновление NeBlask: утроение базы брендов и игр, 12 регуляторов с публичными реестрами, 65 стран, открытый REST API для AI-агентов, 15 интегрированных источников данных.

    • data Бренды 234 → 684 (x2.9): Casino.guru каталог, AffPapa компании, DFS SERP domain discovery
    • data Игры 902 → 2 115 (x2.3): SlotCatalog парсинг, 83 провайдера (+29 новых: PG Soft, JILI, CQ9, Spadegaming и др.)
    • data Регуляторы 6 → 12: MGA (Playwright DOM-харвест), KGC, GSC Isle of Man, PAGCOR (PDF), GGL, ONJN — 243 лицензии привязаны
    • data Страны 53 → 65: +12 гео (RU, AE, HU, RS, IL, SA, EG, MA, ID, MY, SG, TW), 270K ключевых слов (+11 языков)
    • data Ground Truth: 59 записей GGR регуляторов, корреляция SoD vs GGR Pearson r=0.84
    • data Новые сигналы: Trustpilot (652), Reddit (603), Wikipedia (320), Tranco (248), YouTube (127), whois (389 доменов), DNS (320), CrUX, Twitch, крипто-кошельки
    • feature Open REST API v1: 13 эндпоинтов без авторизации, OpenAPI 3.1 spec, CORS, rate-limit 120 req/min, пагинация, фильтры
    • feature Эндпоинт /trending: top-20 растущих брендов с change_pct за месяц
    • feature Trust Score v2: пересчёт по 684 брендам с учётом всех новых сигналов (avg 17.8, top NetBet 68)
    • interface Quick Stats Bar: счётчики брендов/игр/стран/регуляторов на главной NeBlask
    • interface Trending Movers Widget: top-5 растущих брендов с процентом роста
    • interface Live Search: клиентский поиск брендов на Alpine.js
    • API llms.txt обновлён для 13 AI-ботов, robots.txt Allow /api/neblask/, Schema.org WebAPI JSON-LD
    • performance Cron-ревизия: 46 задач, бюджет DataForSEO ~$9.9/мес (было бы $250/мес без оптимизации)
    • fix Trustpilot: данные писались в snapshot, не в extra — починено + бэкфил 250 брендов
    • fix HeadlessFetcher: env(SCRAPFLY_KEY) не работал с config:cache — переведено на config()
  28. v2.8.0 26 июля 2026

    API-каталог каналов + медиаплан-калькулятор

    Каталог TG-каналов переведён на API tg.observer с автосинхронизацией каждые 15 минут. Медиаплан-калькулятор с выбором каналов, расчётом бюджета и экспортом CSV.

    • feature Медиаплан-калькулятор: чекбоксы, sticky bar с суммой охвата/цены/CPM, экспорт CSV
    • data Каталог каналов через API tg.observer (380 каналов, автосинхронизация 15 мин)
    • fix NeAgent: счётчики анимации (x-intersect → x-init, Alpine без Intersect)
    • fix Методология: текст на полную ширину контейнера (было 720px)
    • fix Changelog: нормализация данных (строки → объекты, дефолты для title)
    • interface Страновые пилюли: горизонтальный скролл вместо переноса строк
    • interface Таблица каналов: исправлен мобильный вид (правильные nth-child после чекбоксов)
    • performance API-клиент tg.observer: ETag/304, rate limit 4 req/s, Retry-After
  29. v2.7.0 25 июля 2026

    SEO Intelligence + Game Catalog Refresh

    Пульс-дашборд рынка iGaming + обновление каталога игр

    • feature Brand Radar — дашборд пульса рынка
    • data Game Catalog: +388 новых игр от 22 провайдеров
    • fix CasinoGuruScraper: новая URL-структура casino.guru
    • fix HeadlessFetcher: fix userAgent bug
  30. v2.6.0 25 июля 2026

    SEO Intelligence: тренды, возможности, Game Radar

    Три новых аналитических раздела NeBlask: кросс-страновые тренды роста, SEO-возможности и лента релизов слотов.

    • feature /neblask/trends — кросс-GEO тренды роста: TOP-50 брендов по динамике за 2-6 мес
    • feature /neblask/opportunities — SEO-возможности: бренды без Trustpilot/AppStore/PlayStore
    • feature /neblask/radar — Game Radar: лента 505 слотов с RTP, волатильностью, фильтр по провайдерам
    • interface TOP-5 Growing Markets виджет на странице бренда — рынки с макс. ростом MoM
    • fix Исправлен матчинг Trustpilot/AppStore/PlayStore (JSON по slug, не по имени)
    • interface Навигация: Тренды, Возможности, Radar добавлены во все 20 NeBlask-страниц
  31. v2.5.0 25 июля 2026

    Mega Data Expansion

    50 стран, 105K ключей, 234 бренда, 23 отчёта, YouTube + Trustpilot + AppStore обогащение

    • data 15→50 стран с clickstream данными
    • data 27K→105K ключевых слов (25 языков)
    • data Все 234 бренда с clickstream
    • data YouTube каналы: 21 бренд найден
    • data Trustpilot: 108 брендов
    • data PlayStore 22 + AppStore 52 бренда
    • data Trust Score v1.2 пересчитан (avg 27.7)
    • content 15 новых страновых отчётов
    • interface COUNTRY_ORDER 15→52 стран в UI
    • data KeywordBuilder: de_at/de_ch/lv/et модификаторы
    • data Meta Ads Library: 86 брендов
  32. v2.4.0 25 июля 2026

    50 рынков · 275K сигналов · 199 лицензий

    Массовое расширение данных: clickstream 50 стран, 234/234 брендов, 199 лицензий, 105K ключей

    • data Clickstream по 50 странам (было 15): SE, NL, RO, AU, FR, TR, BE, PT, FI, GR, CZ, AT, CH, IE, BG, HR, UA, JP, KR, TH, VN, NG, KE, ZA, GH, LT, LV, EE, MT, CL, NZ, PE, UY, PA, CR
    • data 105K ключевых слов (было 27K): 25 языков, 4 новых (немецкий, латышский, эстонский)
    • data 199 лицензий (было 53): полный прогон 7 регуляторов (UKGC, MGA, DGA, SGA, KSA, ADM, ANJ)
    • data 234/234 брендов с clickstream-данными (было 86/234)
    • fix Починка double-encoded aliases у 86 брендов
    • performance Trust Score v2: средний балл 27 (было 13.5)
  33. v2.3.1 25 июля 2026

    Пагинация каталога игр + мобильная полировка

    Каталог игр: 50 на страницу вместо 505, серверная фильтрация по типу, мобильная оптимизация.

    • performance Пагинация каталога игр: 50 на страницу (было 505), DOM 696 вместо 4813 элементов
    • feature Серверная фильтрация по типу (Все/Слоты/Live) через ?kind=
    • interface Active-состояние карточек (scale 0.97), hover только для pointer: fine
    • interface Мобильная проверка: все страницы без горизонтального переполнения
  34. v2.3.0 25 июля 2026

    Расширение каталога: 234 бренда, 53 страны, 505 игр

    +86 операторов, +26 стран, +30 провайдеров, +300 игр, 13 новых языков.

    • data Каталог брендов: 148 → 234 (Турция, Балканы, ЛатАм, Африка, крипто, Азия)
    • data Страны: 27 → 53 (Финляндия, Норвегия, Чехия, Греция, Грузия, Украина, Япония и др.)
    • data Провайдеры игр: 24 → 54 (Betsoft, Spribe, BGaming, Evoplay, Habanero, IGT и др.)
    • data Каталог игр: 205 → 505 (crash-игры, live-казино, 300+ слотов)
    • feature KeywordBuilder: 13 новых языков (fi, no, cs, el, bg, hr, lt, tr, ja, ko, th, vi, uk)
    • interface Сравнительная таблица: обновлены числа (230+ брендов, 53 страны)
  35. v2.2.0 25 июля 2026

    YouTube Data API: каналы брендов

    Автоматический поиск и мониторинг YouTube-каналов брендов казино.

    • data YouTube Data API v3: автоматический поиск каналов брендов (68 найдено)
    • interface YouTube виджет на странице бренда: подписчики, просмотры, видео
    • data brands.json seed: добавлено поле youtube (channel, subscribers, views, videos)
    • feature Cron: еженедельное обновление YouTube stats
    • data Лидеры: Sportingbet 2.6M, Bet9ja 1.5M, Superbet 836K подписчиков
  36. v2.1.3 25 июля 2026

    Рейтинги AskGamblers + Casino.org

    Парсинг рейтингов с обзорных сайтов + виджет на странице бренда.

    • data AskGamblers CasinoRank: 47 брендов (ScrapFly + smart slug matching)
    • data Casino.org Expert Rating: 6 брендов (US-market, HeadlessFetcher)
    • interface Виджет «Рейтинги обзорных сайтов» с progress bar на странице бренда
    • API brands.json seed: добавлено поле reviews (askgamblers, casinoorg)
    • fix False positive матчинг убран (goldbet≠Golden Nugget, starcasino≠PlayStar)
  37. v2.1.2 25 июля 2026

    Инфраструктурный виджет + 3 новых парсера лицензий

    Возраст домена, CDN, хостинг, ранг, бэклинки на странице бренда + GGL/ONJN/CGA парсеры.

    • feature Виджет «Инфраструктура»: возраст домена, CDN/хостинг, ранг и бэклинки
    • API brands.json seed: добавлено поле infrastructure
    • feature neblask:askgamblers — рейтинги AskGamblers (API + ScrapFly fallback)
    • feature neblask:casinoorg — рейтинги Casino.org через ScrapFly
    • data GGL (Германия), ONJN (Румыния), CGA (Кюрасао) — 3 новых парсера лицензий
    • fix Выбор основного домена: предпочитается .com, затем по наивысшему рангу
  38. v2.1.1 24 июля 2026

    Whois, DNS-разведка, Domain Rank

    Возраст доменов, определение CDN/хостинга, ранг и бэклинки через DataForSEO.

    • feature neblask:whois-age — возраст доменов через системный whois (121 домен)
    • feature neblask:dns-info — DNS-разведка: NS/A/CNAME + определение CDN и хостинга
    • data neblask:domain-rank — ранг, бэклинки через DataForSEO Backlinks Summary
    • feature Cron: 3 новые задачи (whois monthly, DNS monthly, domain-rank weekly)
    • fix Meta Ads лимит 86→148 в cron schedule
    • fix WhoisAge: исправлен отрицательный возраст (Carbon 3 signed diffInDays)
  39. v2.1.0 25 июля 2026

    NeAntik, Blask-спонсор, сортировка брендов, Alpine.js, 3 новых отчёта

    • feature /neantik: раздел антидетект-браузера NeVision — сравнение с 5 платформами, A→B→A fingerprint check, changelog 4 версий
    • feature Система спонсоров: Blask = gold sponsor с промокодом NEBLASK1, авто-протухание, клик-трекинг (beacon + Redis), Schema.org SpecialAnnouncement
    • feature /neblask/sponsor-stats: дашборд спонсоров с basic auth и CSV-экспортом
    • feature /necard: лендинг платёжных карт для аффилиатов — квалификация $300k+, сравнение 4 таблицами
    • feature /neagent: агентские рекламные аккаунты FB/Google/TikTok — сравнение 5 провайдеров, форма заявок
    • interface Сортировка брендов по столбцам (SoI / BAP / TG / лицензии) — Alpine.js sortable
    • fix Alpine.js self-hosted: Alpine не был подключён, таблицы не работали
    • fix Changelog data fix: 29 строковых записей → типизированные объекты {type, text}, удалён дубль v1.9.0
    • content 3 новых отчёта: Mexico, Argentina, India (country reports)
    • API OG-изображения: динамические og:image для брендов и стран
    • data JSON-LD fix: @context → Blade-safe через @php блоки (Laravel 13 совместимость)
    • interface Навигация: все 6 Ne-продуктов в основном меню (убраны «скоро» бейджи у NeCard/NeAgent), очищены 4 конфликтующих CSS-override, dropdown «Ещё» для вторичных ссылок
    • data Trustpilot: автоматический скрапер рейтингов 86 брендов через ScrapFly + виджет с распределением звёзд на странице бренда
    • data Domain Health: автоматическая проверка SSL-сертификатов + HTTP-статуса 121 домена с виджетом на странице бренда
    • infra ScrapFly API key вынесен из env() в config/services.php (production-safe с кэшем конфига)
    • infra Cron: neblask:trustpilot (пт 05:00) + neblask:domain-health (пн 06:00)
    • feature Trust Score: композитный рейтинг доверия 0-100 (лицензии, Trustpilot, SSL, кошельки, масштаб) с виджетом на странице бренда
    • fix Storage path fix: убрана дубликация private/ в путях DomainHealth, TrustpilotPull и контроллере
    • feature App Store: рейтинги iOS-приложений через iTunes Search API (бесплатно, без ключа) с виджетом на странице бренда
    • feature Trust Score на витрине брендов: колонка с сортировкой + Trust Score в brands.json фид
    • improvement Trust Score v1.1: App Store рейтинг iOS-приложения как буст репутации (+3 за ≥4.5, +2 за ≥4.0, +1 за ≥3.0)
    • feature brands.json: добавлены поля app_store (rating, rating_count, app_name) и trust_score
    • feature Google Play: рейтинги Android-приложений через ScrapFly + виджет на странице бренда
    • improvement Trust Score v1.2: Play Store рейтинг как дополнительный буст репутации (+2 за ≥4.5, +1 за ≥4.0)
    • feature Колонка GP (Google Play) в таблице /brands — сортируемый рейтинг Android-приложений
    • improvement brands.json фид v6: добавлены play_store, trustpilot и domain_health данные
    • feature Сравнительная таблица «Почему NeBlask» — NeBlask vs Blask vs H2 GC vs SimilarWeb на странице страны
    • fix Movers: имена брендов теперь полностью видны на мобильных и узких экранах
    • feature Методология: описание NeBlask Index и концепции OTSoS (Overall Transparency Share of Search)
    • feature Сравнительная таблица «Почему NeBlask» — полный редизайн: карточная обёртка, группы по категориям, зелёные чекмарки, бейдж «Бесплатно», sticky-колонка на мобиле, hover-состояния
    • feature Каталог брендов расширен: 86 → 148 операторов (+62 новых бренда)
    • feature Каталог провайдеров: 8 → 24 студии (+16 новых)
    • feature Каталог игр: 26 → 205 слотов и live-игр (+179 новых)
    • feature География: 15 → 27 стран (+12 новых рынков: SE, NL, RO, AU, FR, BE, PT, NG, KE, ZA, CL, NZ)
    • fix Таблица «Почему NeBlask»: фикс CSS specificity для заголовков групп
  40. v2.0.0 24 июля 2026

    SEO: sitemap, JSON-LD Dataset, llms.txt; Meta Ads all 86 brands

    • API sitemap.xml: 155 NeBlask URL (бренды, страны, игры, провайдеры, отчёты, фиды)
    • API llms.txt: секция NeBlask для AI-краулеров
    • API JSON-LD Dataset schema (schema.org/Dataset) на каждой странице бренда
    • data Meta Ads: полный прогон всех 86 брендов через ScrapFly — 55 с собственной рекламой
    • data MetaAdsSync: инкрементальная запись снэпшота (crash-safe)
    • fix MetaAdLibraryClient: fix has_own_ads в early return
    • feature Карточка «Лидеры Meta Ads» на хабе NeBlask: топ-5 брендов + OWN-бейдж
    • interface Колонка Meta Ads на витрине /neblask/brands с числом активных объявлений
    • API JSON-LD DataCatalog schema на главной NeBlask для Google Dataset Search
    • feature Meta Ads в сравнении брендов (/neblask/compare): строка с числом объявлений + OWN
    • API meta_ads в JSON-фиде brands.json: total, has_own_page, platforms
  41. v1.9.0 24 июля 2026

    Cron-расписание + humanized platforms

    • data Cron: US licenses sync каждую среду 08:30 MSK
    • data Cron: Meta Ads sync каждый четверг 09:00 MSK (ScrapFly)
    • interface UI: AUDIENCE_NETWORK → Audience Network и другие платформы в Meta Ads блоке
    • data Полный прогон Meta Ads по всем 86 брендам каталога
  42. v1.8.0 24 июля 2026

    Meta Ad Library live data + Google Ads Transparency

    • feature MetaAdLibraryClient переписан на ScrapFly (без Facebook App Review)
    • data Команда neblask:meta-ads:sync — сбор активных реклам по всем брендам
    • interface UI: счётчик упоминаний, собственные FB-страницы, платформы на бренде
    • feature Exact-phrase поиск — has_own_ads отделяет прямую рекламу от упоминаний
    • data Протестировано: DraftKings 790, FanDuel 1000, BetMGM 1600, bet365 3900
  43. v1.7.0 24 июля 2026

    US Licensing + Meta Ad Library client

    • interface Панель US Licensing на страницах брендов — показывает лицензии NJ DGE и PA PGCB для 8+ US-брендов
    • fix PgcbScraper: фикс извлечения бренда из multi-prefix доменов (casino.pa.bet365.com → Bet365)
    • API Facebook App Secret → .env (Meta Ad Library API ожидает App Review)
    • feature FACEBOOK_APP_SECRET в config/services.php
    • feature NJ DGE: verified — PDF доступен, authorized sites migrated to njoag.gov
  44. v1.6.0 24 июля 2026

    US лицензионные реестры + Meta Ad Library

    Скраперы NJ DGE (9 permit holders) и PA PGCB (23 iGaming + 11 sports операторов). Meta Ad Library API клиент.

    • feature NJ DGE scraper: 9 iGaming permit holders из публичного PDF
    • feature PA PGCB scraper: 23 iGaming + 11 sports wagering операторов
    • feature Meta Ad Library API клиент (ждёт FACEBOOK_APP_SECRET)
    • API Artisan: neblask:us-licenses:sync --state=nj|pa|all
    • performance poppler-utils (pdftotext) установлен на сервере
  45. v1.5.0 24 июля 2026

    Twitch Slots + BTC links + deploy-audit

    Twitch-панель на брендах, BTC explorer links, deploy-audit.sh, slug в mentions

    • feature Twitch Slots панель на странице бренда (стримы, зрители, brand mentions)
    • feature deploy-audit.sh — проверка здоровья сервера в 1 команду
    • fix BTC explorer links → blockstream.info (было etherscan.io для всех)
    • fix BTC chain badge — оранжевый цвет #F7931A
    • data slug в Twitch brand_mentions для надёжного матчинга по бренду
  46. v1.4.0 24 июля 2026

    Live-цены CoinGecko + BTC через Blockstream

    Балансы крипто-казино теперь считаются по актуальному курсу (CoinGecko, кэш 10 мин). BTC-кошельки через Blockstream Esplora без API-ключа.

    • data CoinGecko Simple Price API — актуальные курсы ETH/BNB/BTC (без ключа, кэш 10 мин)
    • data Blockstream Esplora — BTC-балансы без API-ключа
    • data Stake BTC hot-wallet: 11 036 BTC = $718M (bc1qm34lsc...j77s3h)
    • fix Балансы пересчитаны: ETH был $3800 (hardcode), реальный курс $1884
  47. v1.3.0 24 июля 2026

    Twitch Streams + 16 кошельков 6 казино

    Twitch API для Slots-стримов. On-Chain расширен: 16 адресов 6 казино, $64M+ tracked.

    • data Twitch Helix API — снимок живых Slots-стримов каждые 2 часа
    • feature Поиск упоминаний брендов в заголовках стримов
    • data On-Chain: 16 ETH/BSC кошельков (Stake, BC.Game, Roobet, Rollbit, Duelbits, Shuffle)
    • fix BSC USDT: 18 decimals вместо 6 — правильные балансы
    • feature Product changelog: /neblask/changelog + JSON-фид
  48. v1.2.0 24 июля 2026

    On-Chain: реальные балансы крипто-казино из блокчейна

    Впервые в NeBlask — данные прямо с блокчейна. Публичные hot-wallet балансы крипто-казино в реальном времени. Blask таких данных не показывает.

    • data Etherscan V2 API интегрирован (единый endpoint для ETH/BSC/Polygon)
    • feature Новый блок On-Chain на странице бренда: адрес, chain-тег, баланс USD, ссылка на explorer
    • data Первый live-показатель: Stake.com hot-wallet = $16 000 435 (3607 ETH + 2.29M USDT)
    • performance Автообновление каждые 6 часов, 5 req/s throttle
    • fix Совместимость @php short-syntax с PHP 8.5 и Livewire compiler
  49. v1.1.0 24 июля 2026

    Догоняем Blask по формулам, обгоняем по фичам

    Полный набор Blask-эквивалентных метрик (BAP, SoI, Market Explanation) плюс наши уникальные преимущества: Ad Intelligence и Integrated Demand с TG-сигналами.

    • feature BAP (Brand Accumulated Power): формула 0.60·SoS + 0.25·growth + 0.15·retention
    • data SoI (Share of Interest) для 26 seed игр × 15 стран через DataForSEO Clickstream, $2.52 total
    • feature Market Explanation MVP: авто-блок «что случилось» из новых лицензий + moверов
    • feature Ad Intelligence-панель: кросс-ссылки на Meta Ad Library / Google Ads Transparency / Similarweb
    • feature Predictive 30-day forecast (linear OLS на last-6-mo) с delta% MoM
    • feature Integrated Demand: интеграция с NeTGStat (382 TG-канала) — уникальный сигнал
  50. v1.0.5 24 июля 2026

    Конфиг-driven отчёты + Heatmap + Regulator recent-delta

    Отраслевые отчёты стали шаблонизированными — новый рынок = запись в config. Плюс тепловая карта рынков и changelog регуляторов.

    • content Отчёты Italy, UK, Germany, Sweden (в дополнение к Бразилии)
    • feature Heatmap стран × брендов на /neblask/heatmap
    • feature Regulator changelog: прирост лицензий за 7/30 дней
  51. v1.0.0 24 июля 2026

    v1.0 методологии — стабилизация

    Первый стабильный релиз методологии по SemVer. Historical snapshots для настоящего time-series, сравнение брендов, встраиваемый виджет.

    • feature Compare-page: 2-3 бренда рядом на одном графике /neblask/compare
    • data Historical snapshots — gzipped NDJSON каждый понедельник
    • feature Country movers-блок на странице страны (top-3 растущих/падающих)
    • feature Widget-embed для внешних сайтов: iframe с индексом страны
    • content Sweden report — второй контент-магнит
    • content Version tag методологии v1.0.0 + changelog
  52. v0.9.0 24 июля 2026

    Хаб брендов, movers на главной, публичные фиды

    Расширяем витрины: топ-brands, movers-блок «кто вырос/упал», открытые фиды под CC BY 4.0. Первый отраслевой отчёт по Бразилии.

    • feature Overlay-сравнение брендов на графике страны
    • feature Movers/Trending блок на /neblask
    • API Публичные seed-эндпоинты: brands.json, regulators.json
    • feature Витрина провайдеров игр
    • content Первый отраслевой отчёт: /neblask/reports/brazil-2026-07
  53. v0.8.0 24 июля 2026

    ScrapFly как fallback, +5 стран, Stakelogic fix

    Антибот-защита через ScrapFly как второй уровень fallback. Расширили покрытие до 15 стран.

    • fix Stakelogic не путается со Stake в LicenseMatcher (word-boundary + blocklist)
    • data +5 новых стран: MX, DE, CO, PH, AR
    • data ScrapFly как второй fallback в HeadlessFetcher (CF-bypass)
  54. v0.7.0 23 июля 2026

    Живые лицензии — 6 регуляторов онлайн

    Настоящие данные из реестров: UKGC, MGA, DGA, ADM, AGCO, ANJ, SGA. Матчинг брендов с реальными лицензиями.

    • data UKGC — CSV-дампы регулятора через headless-браузер
    • data MGA (Angular SPA) — вытащен через DOM после render
    • data SGA — живьём через JSON API + улучшен матчер
    • data +4 регулятора: DGA, ADM, AGCO, ANJ через forceHeadless
    • data Каталог провайдеров игр из SlotCatalog + Casino Guru
  55. v0.6.0 23 июля 2026

    Фундамент лицензий и каталог игр

    Первый большой этап данных: schema для лицензий, скраперы регуляторов, каталог iGaming-игр.

    • data Схема brand_licenses + модель BrandLicense
    • data Базовый класс LicenseScraper + Artisan-команда neblask:licenses
    • feature Виджет «Лицензии» на странице бренда
    • API Открытый фид licenses.json + CSV
    • data Каталог iGaming-игр: провайдеры, игры, key-запросы
    • feature Страницы /neblask/games (топ) и /neblask/game/{slug}
  56. v0.5.0 23 июля 2026

    Blask-подобный интерфейс

    Полная переверстка UI под Blask-стиль: хаб стран, страница страны с графиком и брендами, витрины методологии.

    • interface Хаб стран, страница страны, витрина всех брендов
    • interface Интерактивные графики — hover/touch тултип со значениями
    • interface Единый nb-shell для страницы бренда и методологии
    • content Блок спонсоров + манифест открытости
    • content Витрина /neblask/markets — карточки стран с регулятором и типом рынка
    • content Карта 41 регулятора + hero-блок NeBlask на главной
  57. v0.1.0 22 июля 2026

    Первый пуск NeBlask

    Проект стартует: аналитика спроса на iGaming, открытая и бесплатная. Blask.com — B2B за €300+/мес, мы — CC BY 4.0.

    • feature Первый прототип индекса спроса
    • data DataForSEO Clickstream API — источник поисковых сигналов
    • content Опубликована методология с SemVer-версионированием
Changelog обновляется автоматически при каждом релизе. JSON — changelog.json. Хочешь предложить фичу — напиши в поддержку.

Спонсоры проекта

Компании, которые помогают держать аналитику открытой
свежие базы — в канале Подписаться на канал