¿Por qué WordPress usa jQuery v1.12.4 desactualizado?

31 oct 2016, 11:38:32
Vistas: 20.8K
Votos: 32

Mientras revisaba el código fuente, noté que WordPress usa jQuery v1.12.4. ¿Por qué WordPress utiliza esta versión desactualizada de jQuery?

1
Comentarios

La respuesta es muy simple: WP quiere mantener la compatibilidad con navegadores antiguos. WP tiene suficientes usuarios que aún necesitan soporte para IE8 como para poder eliminarlo todavía.

Simba Simba
1 nov 2016 11:57:24
Todas las respuestas a la pregunta 3
1
36

Hay muchos temas y plugins que utilizan jQuery cargado por el núcleo de WordPress. Cada vez que jQuery se actualiza, existe el riesgo de que temas y plugins más antiguos dejen de funcionar (porque muchos de ellos todavía se utilizan pero ya no se actualizan). Por eso también ves jquery-migrate.js en tu código fuente. Es un script que detecta funciones antiguas utilizadas por plugins/temas y se asegura de que sigan funcionando en versiones más nuevas de jQuery.

Migrar a la familia jQuery 3.x haría que muchos plugins/temas dejaran de funcionar, porque no es posible tener un script de migración para todo lo que está obsoleto. Por eso todavía se desarrollaban nuevas versiones de la familia 1.x mientras ya existían las familias 2.x y 3.x. No habrá nuevas versiones de 1.x y 2.x después de 1.12 y 2.2, excepto parches (de seguridad). Aunque jQuery 1.12 no está obsoleto ahora, lo estará en un futuro cercano.

Así que WordPress está en un dilema. Si no actualiza a una versión superior de jQuery, no puede mantenerse al día con las nuevas posibilidades. Sin embargo, si actualiza, los sitios más antiguos dejarán de funcionar. Lo más probable es que WordPress espere unos años, para que los temas/plugins antiguos se vayan eliminando de todas formas, y luego salte a la familia 3.x.

Aclaración

Lo anterior podría sugerir que migrar de versiones 1.x a 3.x no es realmente posible. Eso no es cierto. Solo es un poco complicado. El truco es actualizar primero a 1.12, depurar el resultado usando el script de migración más antiguo y luego agregar el script de migración 3.0, que sí funciona con 1.12. Instrucciones detalladas aquí.

Actualización de seguridad

Los desarrolladores notarán que Google Dev Tools / Lighthouse informa que los sitios de WordPress son vulnerables debido a la presencia de esta versión antigua de jQuery, o al menos así parece. En realidad, todo lo que hace Lighthouse es verificar si esta biblioteca tiene vulnerabilidades mencionadas en la Base de Datos de Vulnerabilidades de Snyk. Si revisas esto en detalle, verás que la versión 1.12.4 está limpia. Dado el amplio uso de 1.12.4, puedes contar con que cualquier vulnerabilidad grave se solucionará rápidamente.

Actualización de migración

El salto a jQuery 3.x se realizó en WordPress 5.5 y se finalizó en la versión 5.7. Para aquellos que todavía necesitan la versión anterior, hay un plugin que te permite revertir a una versión anterior de jQuery.

31 oct 2016 12:03:20
Comentarios

Solo para agregar un poco de información adicional - tanto jQuery 1.x como 2.x estuvieron siendo actualizados activamente hasta mayo de este año, la diferencia entre ellos era simplemente que 1.x tenía compatibilidad con IE8, y 2.x eliminó los parches y correcciones para esos navegadores problemáticos. 3.x es la nueva versión, y lleva las cosas un paso más allá cambiando varias interfaces para ser compatibles con las interfaces "oficiales" de HTML5/JavaScript (es decir, donde hacía las cosas de la misma manera, las cosas se estandarizaron después de que jQuery tuviera sus propias versiones haciendo el mismo tipo de cosas).

Rycochet Rycochet
1 nov 2016 11:22:56
8
23
  • No está desactualizado
  • Migrar a 2.x o 3.x es demasiado pronto, la gente todavía usa IE8 que solo es compatible con 1.x
31 oct 2016 12:00:18
Comentarios

@LightnessRacesinOrbit De acuerdo, pero según mi experiencia esta pregunta es muy acertada en cuanto al nivel promedio de un desarrollador de WP.

MonkeyZeus MonkeyZeus
31 oct 2016 20:49:45

En pocas palabras: v1.12.4 no está desactualizado :)

Tara Tara
1 nov 2016 22:39:44

Actualización para enero 2018: La idea de que está desactualizado a pesar de seguir siendo la versión incluida por defecto en WordPress ya no es una "tontería". Se han identificado vulnerabilidades XSS en la versión 1.12.4 y la rama 1.x ya no recibe actualizaciones. La solución recomendada es actualizar a jQuery 3.x https://snyk.io/test/npm/jquery/1.12.4?severity=high&severity=medium&severity=low

squarecandy squarecandy
17 ene 2018 19:28:41

Además, cuando usas Lighthouse, Google te indica que la versión 1.12.4 contiene vulnerabilidades de seguridad conocidas, por lo que no deberías usarla.

phpheini phpheini
26 jun 2018 12:25:49

Dar soporte a IE8, algo que ni siquiera Microsoft hace en este punto, es irresponsable. Mantiene a personas usando un navegador obsoleto con problemas de seguridad. Si alguien usa IE8, necesita dejar de hacerlo.

Aslan French Aslan French
18 dic 2018 03:50:08

Esta respuesta y algunos de los comentarios están desactualizados. JQuery 1.x y 2.x ya no reciben parches según la página principal jquery.com

Flimm Flimm
29 may 2019 12:56:43

@DavidA.French Apoyo la moción. Los desarrolladores deben DEJAR de adaptarse a los usuarios que se niegan a actualizar. Hubo un tiempo en el que todos aspiraban a tener compatibilidad total en todos los navegadores posibles conocidos, y esos malos hábitos persisten. Tal vez cuando internet deje de funcionarles, esas personas actualizarán a un navegador moderno. En este punto, si no estás en la última versión de uno de los principales navegadores (IE y AOL no cuentan para nada), internet no debería doblegarse por ti. ¿En serio IE8? Eres menos del 1% de la web, [dicho en AOL] "Adiós"

KFish KFish
29 ago 2019 07:19:28

Creo que esta respuesta ya debería eliminarse. Incluso puedes usar IE 11 en Windows 7, así que no hay razón para seguir dando soporte a IE 8.

Adrian Adrian
5 sept 2019 09:20:27
Mostrar los 3 comentarios restantes
2

Para ser aún más preciso.

La rama 1.x incluye soporte para IE 6/7/8 y la rama 2.x no lo incluye.

https://blog.jquery.com/2016/05/20/jquery-1-12-4-and-2-2-4-released/

2 nov 2016 02:10:56
Comentarios

Esta no es una respuesta completa.

Flimm Flimm
29 may 2019 12:57:02

Esa es la razón más importante para descartarlo.

KFish KFish
29 ago 2019 07:20:36