Вышла jQuery 4.0
Возможно, звучит как шутка, но вышла новая версия популярной JS-библиотеки jQuery - 4.0. Напомню, что версия 3.0 вышла почти 10 лет назад.
По данным организации W3Techs эту библиотеку используют на 70.9% из 10 млн наиболее посещаемых сайтов в сети.
Выпуск jQuery 4.0 содержит изменения, нарушающие обратную совместимость и связанные с удалением устаревшего кода, удалением некоторых внутренних недокументированных параметров, прекращением поддержки некоторого излишне усложнённого поведения и прекращением поддержки API, ранее объявленных устаревшими.
Для упрощения миграции можно использовать специальный плагин.
Причем удаление поддержки устаревших API и браузеров позволило сократить размер gzip-архива с библиотекой на 3 КБ (slim-версия теперь занимает 19.5 КБ, а полная - 27.5 КБ).
Среди основных изменений:
- Прекращена поддержка браузера IE 10 и более старых версий (поддержка IE 11 сохранена, но будет удалена в jQuery 5.0), а также других старых браузеров таких как Edge Legacy, Android Browser и Firefox до ветки 115.
- Встроена поддержка API Trusted Types, развиваемого для защиты от манипуляций с DOM, приводящих к межсайтовому скриптингу (DOM XSS), например, при некорректной обработке полученных от пользователя данных в блоках eval() или вставках ".innerHTML", что может привести к выполнению JavaScript-кода в контексте определённой страницы. В методы jQuery теперь может передаваться HTML-код в форме объектов TrustedHTML.
- jQuery теперь использует модули 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()
- Размер урезанного варианта (slim), не содержащий модули ajax и effects, сокращён до 19.5k за счёт прекращения поставки объектов Deferred (рекомендуется использовать штатные Promises) и Callbacks.
https://blog.jquery.com/2026/01/17/jquery-4-0-0/
Post #3235
3.14K