- `configure_service` como `configure_router(Router) -> Router`.
- Macro `static_files_service!` como `serve_static_files!`.
- `ResultPage<M, E>` eliminado; handlers devuelven `Result<M, E>`.
- `ErrorPage` implementa `IntoResponse` en lugar de `ResponseError`.
- Registro con `OnceLock`; eliminados `drop_extensions` y `app.welcome`.
- `Redirect` devuelve `Response`; docs y ejemplos actualizados.
Sustituye el módulo `service` por `web` y adapta toda la API al modelo
de Axum: router inmutable, extractores via `FromRequestParts` y
servicios Tower para archivos estáticos.
- `HttpRequest` pasa a ser un tipo propio, mínimo y clonable.
- `configure_services` pasa a `configure_routes`.
- `EmbeddedFilesService` pasa a `ServeEmbedded`.
- Elimina `session_lifetime` de `Server` (va a `pagetop-auth`).
- Actualiza tests y ejemplos a la nueva API.
- Modulariza la lógica de localización.
- Actualiza la estructura de `Locale` para mejorar la resolución y
gestión de idiomas.
- Introduce `RequestLocale` para manejar la negociación de idioma basada
en las peticiones HTTP.
- Mejora `L10n` para ofrecer una gestión más flexible de traducciones
con argumentos dinámicos.
- Actualiza la implementación de `LangId` en `Page` para garantizar una
identificación de idioma coherente.
- Elimina código obsoleto y simplifica la gestión de identificadores de
idioma.
Como `String::from()` y `.to_string()` son equivalentes, se sustituyen
todas las ocurrencias de `String::from()` por `to_string()` para mayor
coherencia y legibilidad.
Añade el interfaz común que debe implementar cualquier extensión de
PageTop para añadir nuevas funcionalidades a la aplicación en forma de
servicios web y API de uso.
- Soporta jerarquía de ficheros TOML que mapean ajustes a estructuras
fuertemente tipadas con valores predefinidos.
- Permite definir configuraciones distintas para cada entorno.
- Añade la macro `include_config!` para facilitar la asignación modular
de ajustes de configuración.
- Añade documentación detallada y tests de verificación.
- Crea el crate raíz `pagetop` y configura el workspace con
`helpers/pagetop-macros`.
- Añade las macros #[pagetop::main] y #[pagetop::test] que envuelven
Actix-web para crear aplicaciones y pruebas asíncronas sin depender
explícitamente del framework.
- Reexporta, mediante el módulo `service`, los tipos esenciales de
Actix-web para gestionar servidores y servicios web.
- Implementa `Application::{new, run, test}` para simplificar el
arranque y la ejecución de tests.
- Expone `pagetop::prelude` con las macros, `service` y `Application`
para una API pública coherente.
- Incorpora ejemplo `examples/app-basic.rs` que levanta un servidor web
vacío con el código mínimo para hacerlo.