Дата публикации:Sun, 18 Jan 2026 13:04:50 +0300
После почти 10 лет с момента публикации ветки 3.0 и спустя 20 лет после основания проекта состоялся релиз JavaScript-библиотеки jQuery 4.0, используемой по данным организации W3Techs на 70.9% из 10 млн наиболее посещаемых сайтов в сети. Код jQuery распространяется под лицензией MIT.
Выпуск jQuery 4.0 содержит изменения, нарушающие обратную совместимость, но по заверению разработчиков большинство пользователей смогут безболезненно перейти на новую версию с минимальными изменениями в своём коде. Для упрощения миграции можно использовать специальный плагин. Нарушения обратной совместимости связаны с удалением устаревшего кода, удалением некоторых внутренних недокументированных параметров, прекращением поддержки некоторого излишне усложнённого поведения и прекращением поддержки API, ранее объявленных устаревшими. Удаление устаревших API и браузеров позволило сократить размер gzip-архива с библиотекой на 3 КБ (slim-версия теперь занимает 19.5 КБ, а полная - 27.5 КБ).
Среди изменений:
- Прекращена поддержка браузера IE 10 и более старых версий (поддержка IE 11 сохранена, но будет удалена в Query 5.0), а также других старых браузеров таких как Edge Legacy, Android Browser и Firefox до ветки 115. Встроена поддержка API Trusted Types, развиваемого для защиты от манипуляций с DOM, приводящих к межсайтовому скриптингу (DOM XSS), например, при некорректной обработке полученных от пользователя данных в блоках eval() или вставках ".innerHTML", что может привести к выполнению JavaScript-кода в контексте определённой страницы. В методы jQuery теперь может передаваться HTML-код в форме объектов TrustedHTML. Код jQuery переведён на использование JavaScript-модулей ESM (ECMAScript Module) и может поставляться и импортироваться как модуль. Удалены функции, ранее помеченные устаревшими: jQuery.isArray, jQuery.parseJSON, jQuery.trim, jQuery.type, jQuery.now, jQuery.isNumeric, jQuery.isFunction, jQuery.isWindow, jQuery.camelCase, jQuery.nodeName, jQuery.cssNumber, jQuery.cssProps и jQuery.fx.interval. Вместо данных функций рекомендуется использовать штатные JavaScript-функции Array.isArray(), JSON.parse(), String.prototype.trim() и Date.now() Удалены недокументированные внутренние методы объекта Array - push, sort и splice. Порядок обработки событий смены фокуса приведён к соответствию спецификации W3C - blur, focusout, focus и focusin. Размер урезанного варианта (slim), не содержащий модули ajax и effects, сокращён до 19.5k за счёт прекращения поставки объектов Deferred (рекомендуется использовать штатные Promises) и Callbacks.
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=64637