Osumi Framework
es en eu v9.10.0 GitHub

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:

OMiddleware::PHASE_BEFORE
OMiddleware::PHASE_AFTER_RENDER
OMiddleware::PHASE_AFTER_RESPONSE

En 9.9.0, una ruta ya migrada como:

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:

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:

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:

9.9.0

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

{
    "last_migrated": "9.9.0"
}

en:

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:

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:

composer update osumionline/framework --with-dependencies

No es necesario realizar ninguna acción adicional.