- `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.
- `From<T: Component> for ChildOp: with_child()` acepta componentes
directamente sin envolverlos en `Child::with(...)`.
- `From<Child> for ChildOp` para completar las conversiones implícitas.
- Actualiza ejemplos y tests con la nueva API en bootsier y aliner.
Añade `Theme::parent()` para declarar jerarquías de herencia entre
temas. Sustituye la acción `PrepareRender<C>` por el método
`Theme::prepare_component()` y la macro `render_component!`.
El nombre anterior era ambiguo (podría referirse a cualquier operación
del contexto); `AssetsOp` describe exactamente lo que hace: operar sobre
los recursos del documento.
- Añade nueva hoja de estilos (normalize.css) al tema básico.
- Activa la extensión de la página de bienvenida por defecto en el
registro de extensiones.
- Añade traducciones en inglés y español para el contenido de la página
de bienvenida.
- Incluye estilos CSS y recursos gráficos para el diseño y disposición
de la página de bienvenida.
- Añade acciones BeforeRender y AfterRender para ejecutar código
personalizado antes y después de renderizar un componente.
- Introduce la acción PrepareRender para personalizar totalmente el
renderizado de un componente.
- Se actualizan las definiciones de acciones para utilizar el nuevo
"trait" ActionDispatcher.
- Se crea un nuevo trait ComponentTrait para definir componentes
renderizables.
- Se implementan las estructuras Children y Child para gestionar
componentes hijos dentro de un componente padre.
- Se añade OptionComponent para encapsular de forma segura componentes
opcionales y poder usarlos en otros componentes.
- Incluye los recursos favicon, hojas de estilo y scripts JavaScript.
- Se introduce una estructura de contexto que, además de gestionar el
idioma y el uso de parámetros contextuales, permite administrar estos
recursos en documentos HTML.
- Mantiene fijas las rutas absolutas en las funciones de la macro html!.
- Introduce un alias interno del crate (`extern crate self as pagetop;`)
en `src/lib.rs` para que las expansiones funcionen uniformemente en
tests, ejemplos y dependencias externas.
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.
- Añade dosnuevas macros `include_files` y `include_files_service` para
incluir los recursos preparados con `pagetop-build`.
- Añade nueva función útil `absolute_dir` y sus tests correspondientes.
- 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.