Casi 10 años después del lanzamiento de la rama 3.0 y 20 años después de la fundación del proyecto, se ha publicado la biblioteca JavaScript jQuery 4.0. Según W3Techs, el 70.9 % de los 10 millones de sitios web más visitados de la web la utilizan. El código jQuery se distribuye bajo la licencia MIT.
El lanzamiento de jQuery 4.0 contiene cambios que rompen la compatibilidad con versiones anteriores, pero los desarrolladores aseguran a la mayoría de los usuarios que pueden migrar a la nueva versión sin problemas con cambios mínimos en su código. Se puede usar un complemento dedicado para simplificar la migración. Las mejoras en la compatibilidad con versiones anteriores incluyen la eliminación de código obsoleto, la eliminación de algunos parámetros internos no documentados, la eliminación de comportamientos excesivamente complejos y la eliminación de API previamente obsoletas. La eliminación de las API y los navegadores obsoletos ha reducido el tamaño del archivo gzip que contiene la biblioteca en 3 KB (la versión reducida ahora ocupa 19.5 KB y la versión completa, 27.5 KB).
Entre los cambios:
- Se ha eliminado la compatibilidad con IE 10 y navegadores anteriores (IE 11 aún es compatible, pero se eliminará en Query 5.0), así como con otros navegadores más antiguos como Edge Legacy, Android Browser y Firefox antes de la rama 115.
- Se ha incorporado compatibilidad con la API de tipos confiables. Esta API está diseñada para proteger contra manipulaciones del DOM que generan secuencias de comandos entre sitios (DOM XSS), como el procesamiento incorrecto de datos proporcionados por el usuario en bloques eval() o inserciones ".innerHTML", que pueden provocar la ejecución de código JavaScript en el contexto de una página específica. Los métodos jQuery ahora aceptan código HTML en forma de objetos TrustedHTML.
- El código jQuery se ha convertido para utilizar módulos JavaScript ESM (módulo ECMAScript) y se puede enviar e importar como un módulo.
- Las siguientes funciones se han eliminado y se marcaron como obsoletas: jQuery.isArray, jQuery.parseJSON, jQuery.trim, jQuery.type, jQuery.now, jQuery.isNumeric, jQuery.isFunction, jQuery.isWindow, jQuery.camelCase, jQuery.nodeName, jQuery.cssNumber, jQuery.cssProps y jQuery.fx.interval. Se recomienda usar las funciones estándar de JavaScript Array.isArray(), JSON.parse(), String.prototype.trim() y Date.now() en lugar de estas funciones.
- Se eliminaron los métodos internos no documentados del objeto Array: push, sort y splice.
- El orden de manejo de eventos de cambio de enfoque se ha adaptado a la especificación W3C: desenfoque, enfoque hacia afuera, enfoque y enfoque hacia adentro.
- El tamaño de la versión delgada, que no contiene los módulos ajax y efectos, se ha reducido a 19.5k al detener la entrega de objetos diferidos (se recomienda utilizar las Promesas estándar) y devoluciones de llamadas.
Fuente: opennet.ru

