diff --git a/CHANGELOG.md b/CHANGELOG.md index bfc9067a..cbec9ab9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,29 +8,59 @@ Resume la evolución del proyecto para usuarios y colaboradores, destacando nuev correcciones, mejoras durante el desarrollo o cambios en la documentación. Cambios menores o internos pueden omitirse si no afectan al uso del proyecto. +## 0.5.0 (2026-05-03) + +PageTop 0.5.0 es la versión más ambiciosa hasta la fecha; concentra un largo periodo de trabajo en +refactorizaciones, nuevas abstracciones y mejoras que sientan las bases para una API estable y +robusta. + +Algunos cambios pueden romper la compatibilidad con versiones anteriores. Se recomienda consultar la +[documentación de PageTop](https://docs.rs/pagetop) para actualizar el código a un entorno más +expresivo y mejor preparado para crecer hacia la versión 1.0. Entre estos cambios destacan: + +- **Respuestas web completas**: soporte para páginas HTML, redirecciones HTTP, respuestas JSON, + cookies, y página de bienvenida integrada. +- **API de componentes consolidada**: ciclo de renderizado definitivo con `is_renderable`, manejo de + errores con `ComponentError` o mensajes de estado con `StatusMessage`/`MessageLevel`. +- **Temas hijo y macros de renderizado**: los temas pueden extenderse entre sí para sobrescribir el + renderizado de cualquier componente con `render_component!` y `setup_component!`. +- **Nueva acción `AlterMarkup`**: permite a extensiones y temas interceptar y transformar el HTML + final de cualquier componente antes de entregarlo. +- **Regiones y plantillas en temas**: los componentes `Region` y `Template` formalizan la gestión de + regiones, respaldados por una API de `Children` e `InRegion` completamente revisada. +- **Sistema de localización refactorizado**: nueva arquitectura interna con API más clara, mejor + integración en el contexto y soporte robusto para múltiples idiomas. +- **Tipos HTML consolidados**: unidades CSS, clase `Classes`, atributos HTML refactorizados y + cadenas internas optimizadas con `CowStr`. +- **Nuevas macros y utilidades de API pública**: macro `Getters` para exponer campos de componentes. +- **Configuración tipada**: nuevas opciones de configuración enumeradas para el log y otros + parámetros del sistema, con una gestión más expresiva y segura. +- **Recursos estáticos y trazabilidad**: gestión de recursos estáticos integrada en el núcleo de + PageTop y soporte para trazas y registro de eventos desde la propia librería. + ## 0.4.0 (2025-09-20) ### Añadido -- [app] Añade manejo de rutas no encontradas -- [context] Añade métodos auxiliares de parámetros -- [util] Añade `indoc` para indentar código bien +- (app) Añade manejo de rutas no encontradas +- (context) Añade métodos auxiliares de parámetros +- (util) Añade `indoc` para indentar código bien - Añade componente `PoweredBy` para copyright ### Cambiado -- [html] Cambia tipos `Option...` por `Attr...` -- [html] Implementa `Default` en `Context` -- [welcome] Crea página de bienvenida desde intro -- [context] Generaliza los parámetros de contexto -- [context] Define un `trait` común de contexto +- (html) Cambia tipos `Option...` por `Attr...` +- (html) Implementa `Default` en `Context` +- (welcome) Crea página de bienvenida desde intro +- (context) Generaliza los parámetros de contexto +- (context) Define un `trait` común de contexto - Modifica tipos para atributos HTML a minúsculas - Renombra `with_component` por `add_child` ### Corregido -- [welcome] Corrige giro botón con ancho estrecho -- [welcome] Corrige centrado del pie de página +- (welcome) Corrige giro botón con ancho estrecho +- (welcome) Corrige centrado del pie de página - Corrige nombre de función en prueba de `Html` - Corrige doc y código por cambios en Page @@ -40,20 +70,19 @@ internos pueden omitirse si no afectan al uso del proyecto. ### Documentado -- [component] Amplía documentación de preparación +- (component) Amplía documentación de preparación - Normaliza referencias al nombre PageTop - Simplifica documentación de obsoletos - Mejora la documentación de recursos y contexto ### Otros cambios -- 🎨 [theme] Mejora gestión de regiones en páginas -- ✅ [tests] Amplía pruebas para `PrepareMarkup' -- 🎨 [locale] Mejora el uso de `lookup` / `using` -- 🔨 [tools] Fuerza pulsar intro para confirmar input -- 💄 Aplica BEM a estilos de bienvenida y componente -- 🎨 Unifica conversiones a String con `to_string()` -- 🔥 Elimina `Render` para usar siempre el contexto +- (theme) Mejora gestión de regiones en páginas +- (tests) Amplía pruebas para `PrepareMarkup' +- (locale) Mejora el uso de `lookup` / `using` +- (tools) Fuerza pulsar intro para confirmar input +- Unifica conversiones a String con `to_string()` +- Elimina `Render` para usar siempre el contexto ## 0.3.0 (2025-08-16) diff --git a/Cargo.lock b/Cargo.lock index 53a49bb5..9f2766f3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1635,7 +1635,7 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "pagetop" -version = "0.4.0" +version = "0.5.0" dependencies = [ "actix-files", "actix-session", diff --git a/Cargo.toml b/Cargo.toml index 00784330..d55313ec 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pagetop" -version = "0.4.0" +version = "0.5.0" edition = "2021" description = """ @@ -89,4 +89,4 @@ pagetop-statics = { version = "0.1", path = "helpers/pagetop-statics" } pagetop-aliner = { version = "0.0", path = "extensions/pagetop-aliner" } pagetop-bootsier = { version = "0.0", path = "extensions/pagetop-bootsier" } # PageTop -pagetop = { version = "0.4", path = "." } +pagetop = { version = "0.5", path = "." }