# Guía de migración: 9.7.4 → 9.8.0

La versión **9.8.0** incorpora una nueva herramienta para añadir elementos personalizados a <head>.

Esta versión supone un cambio importante para los usuarios que ya habían configurado `ext_css_list` o `ext_js_list`.

---

## Resumen

### Añadido

- Se han añadido `setHeadElements`, `getHeadElements` y `addHeadElement` a `OConfig`.
- Opción para definir elementos personalizados globales en la configuración de la aplicación mediante `head_elements`.

### Cambio

- Las opciones de configuración `ext_css_list` y `ext_js_list` dejarán de funcionar.
- Estas opciones de configuración no afectarán al archivo `Config.json`, pero se ignorarán.
- Se ha añadido la opción `head_elements` al archivo `Config.json`.

### Eliminado

- Las opciones de configuración `ext_css_list` y `ext_js_list` dejarán de funcionar.
- Estas opciones de configuración no afectarán el archivo `Config.json`, pero se ignorarán.
- Se eliminaron los métodos `setExtCSSList`, `getExtCSSList`, `addExtCssList`, `setExtJSList`, `getExtJSList` y `addExtJsList` de `OConfig`.

---

## Impacto en proyectos existentes

Los usuarios que tenían definidas las opciones `ext_css_list` o `ext_js_list` en `Config.json` deberán cambiarlas, ya que dejarán de funcionar.

Por ejemplo:

```json
{
	"ext_css_list": ["https://example.com/example.css"],
	"ext_js_list": ["https://example.com/example.js"]
}
```

Deberá cambiarse a:

```json
{
	"head_elements": [
		{
			"item": "link",
			"attributes": {
				"rel": "stylesheet",
				"href": "https://example.com/example.css"
			}
		},
		{
			"item": "script",
			"attributes": {
				"src": "https://example.com/example.js"
			}
		}
	]
}
```

---

## Objetivo de esta actualización

Esta actualización de la documentación tiene como objetivo:

- Proporcionar una opción global para agregar elementos personalizados a <head>
- En lugar de tener formas separadas de agregar archivos CSS o JS externos, ahora los usuarios podrán agregar cualquier tipo de elemento: CSS, JS, metaetiquetas, enlaces canónicos...

---

## Compatibilidad con versiones anteriores

Los usuarios con `ext_css_list` o `ext_js_list` verán que esos enlaces dejan de funcionar y no se cargan en su aplicación.

---

## Acción del desarrollador requerida

Si un usuario tiene `ext_css_list` o `ext_js_list`, deberá actualizarlos a la nueva opción de configuración `head_elements`.

---

## Notas

Es posible que futuras versiones hagan referencia a esta documentación base al introducir cambios de arquitectura o comportamiento.
