# Guía de migración: 9.9.0 → 9.9.1

La versión **9.9.1** es una versión de mantenimiento que corrige un problema en el sistema de migraciones automáticas introducido en Osumi Framework 9.9.0.

No es necesario realizar cambios en el código de la aplicación al actualizar de 9.9.0 a 9.9.1.

---

## Resumen

9.9.1 corrige la detección de rutas que ya utilizan las constantes nativas de fases de Middleware:

```php
OMiddleware::PHASE_BEFORE
OMiddleware::PHASE_AFTER_RENDER
OMiddleware::PHASE_AFTER_RESPONSE
```

En 9.9.0, una ruta ya migrada como:

```php
ORoute::get(
    '/profile',
    ProfileComponent::class,
    [
        OMiddleware::PHASE_BEFORE => [
            LoginMiddleware::class
        ]
    ]
);
```

podía ser interpretada incorrectamente por la migración de Filters legacy como si todavía fuera una definición de Filters.

Esto podía provocar un error similar a:

```text
Legacy route contains a Filter expression that cannot be migrated automatically.
Use only ClassName::class entries.
```

9.9.1 corrige esta detección para que las rutas que ya utilizan constantes nativas de Middleware sean reconocidas como ya migradas y se conserven sin cambios.

---

## Cambios necesarios en la aplicación

Ninguno.

No hay:

- cambios de API;
- cambios de configuración;
- cambios de base de datos;
- cambios necesarios en rutas;
- cambios necesarios en Middlewares;
- cambios necesarios en DTOs.

Las aplicaciones que ya funcionan correctamente con 9.9.0 pueden actualizar directamente a 9.9.1.

---

## Migraciones del framework

La versión 9.9.1 **no añade un nuevo paso de migración**.

El último paso de migración sigue siendo:

```text
9.9.0
```

Por tanto, es normal que una aplicación que utiliza Osumi Framework 9.9.1 tenga:

```json
{
    "last_migrated": "9.9.0"
}
```

en:

```text
ofw/tmp/state.json
```

El estado guarda el último paso de migración ejecutado, no necesariamente la versión exacta instalada del framework.

En un proyecto nuevo instalado directamente con 9.9.1, el runner puede ejecutar:

```text
0.0.0 → 9.9.1
```

y aplicar el paso de migración existente `9.9.0` cuando corresponda.

---

## Actualización

Actualiza el framework normalmente mediante Composer:

```bash
composer update osumionline/framework --with-dependencies
```

No es necesario realizar ninguna acción adicional.
