Перейти к основному содержанию
Вышел jQuery 4.0.0 — первое крупное обновление библиотеки почти за десять лет

Вышел jQuery 4.0.0 — первое крупное обновление библиотеки почти за десять лет

Вышел jQuery 4.0.0 — первое крупное обновление библиотеки почти за десять лет

Команда jQuery выпустила версию 4.0.0 — первый мажорный релиз популярной JavaScript-библиотеки почти за десятилетие. Обновление стало итогом длительного цикла разработки и нескольких предварительных версий и уже доступно для загрузки на официальном сайте

Вышел jQuery 4.0.0 — первое крупное обновление библиотеки почти за десять лет

Одним из ключевых нововведений стала поддержка Trusted Types — механизма, связанного с политиками безопасности браузера (Content Security Policy). Теперь jQuery может безопасно работать с HTML-контентом в рамках директивы required-trusted-types-for, снижая риск XSS-уязвимостей. Кроме того, разработчики перевели большинство асинхронных загрузок скриптов на использование тегов <script>, чтобы избежать ошибок CSP, связанных с inline-кодом. В отдельных случаях, например при передаче кастомных заголовков, по-прежнему используется XHR.

jQuery 4.0.0 также получил более «облегчённую» сборку. Из библиотеки удалены deferred-объекты и callbacks — механизм, который долгое время использовался для работы с асинхронным кодом. По словам разработчиков, в большинстве сценариев их можно заменить нативными Promise, которые поддерживаются всеми актуальными браузерами, за исключением Internet Explorer 11. Для проектов, где поддержка IE 11 всё ещё критична, рекомендуется использовать основную сборку или подключать полифилы. Более старые версии IE (10 и ниже) в jQuery 4.0.0 больше не поддерживаются.

Несмотря на возраст — библиотеке уже около 20 лет — jQuery остаётся крайне распространённой. По данным W3Techs, её используют 70,9% всех сайтов. Сейчас проект развивается под эгидой OpenJS Foundation и по-прежнему ориентирован на упрощение работы с DOM, событиями и анимацией с учётом кроссбраузерности.

Среди других изменений в версии 4.0.0:

  • порядок обработки focus-событий приведён в соответствие со спецификацией W3C, что стало breaking change по сравнению с предыдущими версиями;
  • библиотека больше не переопределяет нативное поведение браузеров и следует актуальным стандартам;
  • из прототипа jQuery удалены методы, предназначенные исключительно для внутреннего использования (push, sort, splice), — разработчикам предлагается использовать стандартные методы массивов.

jQuery 4.0.0 — это попытка библиотеки «повзрослеть» и вписаться в современные требования безопасности (CSP). Самым болезненным моментом для старых проектов станет изменение порядка событий фокуса и удаление Deferred. Если ваш проект активно использует сложную логику асинхронности из 2015 года, переход потребует тщательного рефакторинга.