# Guía de migración: 9.8.2 → 9.8.3

La versión **9.8.3** corrige el tratamiento de los valores `null` en las consultas del ORM. También incluye limpieza interna del código y mejoras de seguridad para reducir el riesgo de inyecciones SQL.

---

## Resumen

### Añadido

- Esta guía de migración.

### Modificado

- Las condiciones del ORM con un valor `null` ahora generan `IS NULL` en lugar de `= null`.
- Limpieza interna del código y mejoras de seguridad para reducir el riesgo de inyecciones SQL.

### Eliminado

- No se ha eliminado nada.

---

## Impacto en proyectos existentes

- No es necesario cambiar las llamadas existentes a `where`.
- Las consultas con condiciones `null` ahora encuentran correctamente las filas en las que la columna tiene el valor `NULL`. Los resultados podrían diferir de los de la versión 9.8.2 si la aplicación dependía del comportamiento incorrecto anterior.
- No se requieren cambios de configuración.
- No se requieren cambios en la base de datos.
- No se requieren cambios en la CLI.

Por ejemplo, esta condición del ORM:

```php
$list = Tag::where(['id_parent' => null]);
```

Antes generaba una consulta SQL equivalente a:

```sql
SELECT * FROM `tag` WHERE `id_parent` = null;
```

A partir de la versión 9.8.3, genera:

```sql
SELECT * FROM `tag` WHERE `id_parent` IS NULL;
```

---

## Objetivo de esta actualización

Esta versión tiene como objetivo:

- Corregir la generación de consultas del ORM para los valores `null`.
- Mejorar la calidad interna del código y reducir el riesgo de inyecciones SQL.

---

## Compatibilidad con versiones anteriores

La API del ORM sigue siendo compatible. El comportamiento de las consultas con condiciones `null` cambia para que encuentren correctamente los valores SQL `NULL`. Revisa cualquier solución provisional específica de la aplicación que hayas añadido para compensar el comportamiento anterior.

---

## Acción requerida por el desarrollador

En aplicaciones típicas no se requiere ninguna acción. Si tu aplicación incluye una solución provisional para el comportamiento anterior de las consultas con `null`, revísala después de actualizar.

---

## Notas

No se requiere ninguna migración de la base de datos.
