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

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.

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).

- 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

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

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

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.

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.

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

@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"

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/
