🔖 Prepara publicación de pagetop 0.5.0

This commit is contained in:
Manuel Cillero 2026-05-03 22:57:20 +02:00
parent c426be67fb
commit e033a0ceef
3 changed files with 50 additions and 21 deletions

View file

@ -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 correcciones, mejoras durante el desarrollo o cambios en la documentación. Cambios menores o
internos pueden omitirse si no afectan al uso del proyecto. 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) ## 0.4.0 (2025-09-20)
### Añadido ### Añadido
- [app] Añade manejo de rutas no encontradas - (app) Añade manejo de rutas no encontradas
- [context] Añade métodos auxiliares de parámetros - (context) Añade métodos auxiliares de parámetros
- [util] Añade `indoc` para indentar código bien - (util) Añade `indoc` para indentar código bien
- Añade componente `PoweredBy` para copyright - Añade componente `PoweredBy` para copyright
### Cambiado ### Cambiado
- [html] Cambia tipos `Option...` por `Attr...` - (html) Cambia tipos `Option...` por `Attr...`
- [html] Implementa `Default` en `Context` - (html) Implementa `Default` en `Context`
- [welcome] Crea página de bienvenida desde intro - (welcome) Crea página de bienvenida desde intro
- [context] Generaliza los parámetros de contexto - (context) Generaliza los parámetros de contexto
- [context] Define un `trait` común de contexto - (context) Define un `trait` común de contexto
- Modifica tipos para atributos HTML a minúsculas - Modifica tipos para atributos HTML a minúsculas
- Renombra `with_component` por `add_child` - Renombra `with_component` por `add_child`
### Corregido ### Corregido
- [welcome] Corrige giro botón con ancho estrecho - (welcome) Corrige giro botón con ancho estrecho
- [welcome] Corrige centrado del pie de página - (welcome) Corrige centrado del pie de página
- Corrige nombre de función en prueba de `Html` - Corrige nombre de función en prueba de `Html`
- Corrige doc y código por cambios en Page - Corrige doc y código por cambios en Page
@ -40,20 +70,19 @@ internos pueden omitirse si no afectan al uso del proyecto.
### Documentado ### Documentado
- [component] Amplía documentación de preparación - (component) Amplía documentación de preparación
- Normaliza referencias al nombre PageTop - Normaliza referencias al nombre PageTop
- Simplifica documentación de obsoletos - Simplifica documentación de obsoletos
- Mejora la documentación de recursos y contexto - Mejora la documentación de recursos y contexto
### Otros cambios ### Otros cambios
- 🎨 [theme] Mejora gestión de regiones en páginas - (theme) Mejora gestión de regiones en páginas
- ✅ [tests] Amplía pruebas para `PrepareMarkup' - (tests) Amplía pruebas para `PrepareMarkup'
- 🎨 [locale] Mejora el uso de `lookup` / `using` - (locale) Mejora el uso de `lookup` / `using`
- 🔨 [tools] Fuerza pulsar intro para confirmar input - (tools) Fuerza pulsar intro para confirmar input
- 💄 Aplica BEM a estilos de bienvenida y componente - Unifica conversiones a String con `to_string()`
- 🎨 Unifica conversiones a String con `to_string()` - Elimina `Render` para usar siempre el contexto
- 🔥 Elimina `Render` para usar siempre el contexto
## 0.3.0 (2025-08-16) ## 0.3.0 (2025-08-16)

2
Cargo.lock generated
View file

@ -1635,7 +1635,7 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
[[package]] [[package]]
name = "pagetop" name = "pagetop"
version = "0.4.0" version = "0.5.0"
dependencies = [ dependencies = [
"actix-files", "actix-files",
"actix-session", "actix-session",

View file

@ -1,6 +1,6 @@
[package] [package]
name = "pagetop" name = "pagetop"
version = "0.4.0" version = "0.5.0"
edition = "2021" edition = "2021"
description = """ description = """
@ -89,4 +89,4 @@ pagetop-statics = { version = "0.1", path = "helpers/pagetop-statics" }
pagetop-aliner = { version = "0.0", path = "extensions/pagetop-aliner" } pagetop-aliner = { version = "0.0", path = "extensions/pagetop-aliner" }
pagetop-bootsier = { version = "0.0", path = "extensions/pagetop-bootsier" } pagetop-bootsier = { version = "0.0", path = "extensions/pagetop-bootsier" }
# PageTop # PageTop
pagetop = { version = "0.4", path = "." } pagetop = { version = "0.5", path = "." }