Safari Technology Preview 251: ignoreCase для Unicode property escapes. Локальная диагностика: корпус «U+код → pattern → flags → match span → контрольная пара»; одно обратимое воздействие, независимый контроль, privacy-stop и пакет для разработчика без реальных данных.
Диагностическая граница запроса
Запрос «как проверить ignoreCase для Unicode property escapes в режимах u и v Safari Technology Preview 251» отвечает на одну самостоятельную боль: регулярное выражение с Unicode property escape и флагом i не совпадает с ожидаемой регистровой парой в режимах u или v. Узкий ожидаемый ответ здесь не равен обещанию исправления на любом сайте: нужно различить статус reproduced, not reproduced, unsupported, environment-blocked и unknown на одном фиксированном стенде. Главный соседний эффект, который обязан быть отделён, — визуальное сходство символов, не являющихся одной регистровой парой. Поэтому до любого действия записывают наблюдение словами, а не диагнозом, и заранее задают успешный исход: регистровая пара ведёт себя согласованно в заданном режиме, а таблица хранит code point вместо визуально неоднозначного глифа. Если результат не повторяется после rollback, первая попытка не считается доказательством.
Первичный факт без расширения вывода
Официальные Release Notes WebKit датированы 26 августа 2026 года и относят пункт к Safari Technology Preview 251: исправлено игнорирование case-insensitive matching для Unicode property escapes в режимах u и v. Прямая первичная запись — 319064@main. Эта пара источников подтверждает наличие и техническую границу change item, но не подтверждает частоту жалоб, поисковый спрос, результат на конкретном устройстве, перенос в stable Safari или причину любого внешне похожего сбоя. Публичная ветка о релизе служит только свежим community lead; её комментарии и поисковый сниппет не используются как evidence. Вывод статьи ограничен указанной функцией и локальным воспроизведением.
Паспорт чистого стенда
Безопасный fixture: локальный набор отдельных Unicode code points с известными регистровыми парами и двумя RegExp, отличающимися только флагом u или v. До canary фиксируются pattern, flags, code point в U+, исходный символ, boolean match и длина совпадения. Каждое поле получает expected, observed, время и отметку валидности, а итоговый рабочий артефакт — корпус «U+код → pattern → flags → match span → контрольная пара». Стенд использует только синтетические данные: не сохраняются IP, cookie, токены, Authorization, полные приватные URL, реальные логи, имена профилей, локальные пути и пользовательское содержимое. Если обязательное наблюдение нельзя снять без таких данных, проверку прекращают. Нельзя заменять отсутствующее значение догадкой или добавлять вторую мутацию ради красивого результата.
Контрольная пара до воздействия
Контроль строится независимо от основной гипотезы: простая буквенная пара без property escape при тех же флагах. Он должен быть готов до воздействия и отличаться только проверяемым механизмом. Если контроль тоже меняется, результат main-fixture получает статус invalid, потому что возможны общая среда, renderer, cache или тестовая обвязка. Отдельно проверяется риск «визуальное сходство символов, не являющихся одной регистровой парой»: его признак записывают рядом с основным, не смешивая строки. Такой дизайн не доказывает массовость, зато позволяет опровергнуть слишком широкое объяснение и не отправлять команде ложноположительный баг-репорт.
Один обратимый canary
Единственное воздействие: добавить только флаг i к одному и тому же property escape, затем удалить его. Сначала снимается baseline, затем выполняется только это действие, после заранее выбранного settle-события записываются pattern, flags, code point в U+, исходный символ, boolean match и длина совпадения, после чего выполняется полный rollback и повтор baseline. Успех узкой проверки означает: регистровая пара ведёт себя согласованно в заданном режиме, а таблица хранит code point вместо визуально неоднозначного глифа. Никаких изменений production, чужих страниц, реальных аккаунтов или сетевой маршрутизации процедура не требует. Если rollback не возвращает исходное состояние, прогон помечается invalid даже при убедительном скриншоте; следующий эксперимент начинают только после чистого восстановления.
Вердикт, stop-line и handoff
Решение оформляется через корпус «U+код → pattern → flags → match span → контрольная пара». PASS допустим только когда выполнено условие «регистровая пара ведёт себя согласованно в заданном режиме, а таблица хранит code point вместо визуально неоднозначного глифа» и независимый контроль остаётся валиден. NOT REPRODUCED означает лишь отсутствие симптома на этом fixture, а не отсутствие проблемы у всех. Stop-line: остановиться, если ввод прошёл нормализацию, locale-specific case mapping или копирование через редактор. Для handoff достаточно версии TP 251, минимального кода, обезличенных значений «pattern, flags, code point в U+, исходный символ, boolean match и длина совпадения», результатов контроля, статуса rollback и ссылки на 319064@main. Материал не обещает индексацию, позиции, универсальную поддержку, стабильный релиз или автоматическое исправление проекта.
Материал подготовлен редакцией VOne с помощью ИИ; дата, WebKit Release 251, primary commit 319064@main, техническая граница, контроль, обратимость, privacy-stop и роль community lead постатейно проверены 29 августа 2026 года.
Источники и проверка
- WebKit — Release Notes for Safari Technology Preview 251 проверено 2026-08-29
- WebKit commit 319064@main проверено 2026-08-29
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.