jerkjs 2.5.2 → 2.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,60 @@
1
+ # Benchmark de Rendimiento - JERK Framework v2.5.6
2
+
3
+ Fecha: domingo, 8 de febrero de 2026
4
+
5
+ ## Servidor JERK Framework v2.5.6
6
+ - Puerto: 9791
7
+ - Framework: JERK Framework v2.5.6
8
+ - Versión que incluye filtros de cookies seguras y optimizaciones de rendimiento en server.js
9
+ - Rendimiento bajo condiciones de alta concurrencia
10
+
11
+ ## Pruebas Realizadas
12
+
13
+ ### Prueba 1: Alta concurrencia (1000 solicitudes, 50 concurrentes)
14
+ - URL: http://localhost:9791/
15
+ - Document Length: 47067 bytes (~46KB)
16
+ - RPS (Solicitudes por segundo): 650.02
17
+ - Tiempo medio por solicitud: 76.920 ms
18
+ - Transferencia: 29,964.60 KB/s
19
+ - Fallos: 0
20
+
21
+ ### Prueba 2: Mayor carga (2000 solicitudes, 100 concurrentes)
22
+ - URL: http://localhost:9791/
23
+ - Document Length: 47067 bytes (~46KB)
24
+ - RPS: 704.44
25
+ - Tiempo medio por solicitud: 141.956 ms
26
+ - Transferencia: 32,473.11 KB/s
27
+ - Fallos: 0
28
+
29
+ ### Prueba 3: Endpoint de API (1000 solicitudes, 50 concurrentes)
30
+ - URL: http://localhost:9791/api/endpoints
31
+ - Document Length: 14585 bytes (~14KB)
32
+ - RPS: 1,010.95
33
+ - Tiempo medio por solicitud: 49.458 ms
34
+ - Transferencia: 14,656.85 KB/s
35
+ - Fallos: 0
36
+
37
+ ### Prueba 4: Endpoint protegido con autenticación (500 solicitudes, 25 concurrentes)
38
+ - URL: http://localhost:9791/api/tracking/sessions
39
+ - Document Length: 3774 bytes (~3.7KB)
40
+ - RPS: 279.31
41
+ - Tiempo medio por solicitud: 89.507 ms
42
+ - Transferencia: 1,058.59 KB/s
43
+ - Fallos: 0
44
+
45
+ ## Análisis de Rendimiento
46
+
47
+ La aplicación JERK Framework demuestra un rendimiento excelente bajo condiciones de alta carga:
48
+
49
+ 1. **Escalabilidad**: El sistema mantiene 0% de fallos incluso bajo alta concurrencia
50
+ 2. **Eficiencia**: Aproximadamente 700+ RPS con 100 conexiones concurrentes
51
+ 3. **Consistencia**: Tiempos de respuesta consistentes incluso bajo carga
52
+ 4. **Manejo de autenticación**: El endpoint protegido mantiene buen rendimiento (279 RPS) a pesar de la sobrecarga de autenticación JWT
53
+ 5. **Transferencia de datos**: Velocidades de transferencia muy altas (>32MB/s en la prueba más exigente)
54
+
55
+ Estos resultados indican que el framework JERK está bien optimizado para manejar aplicaciones web de alta demanda con buena capacidad de respuesta incluso bajo condiciones de carga intensa.
56
+
57
+ ## Usuarios de Prueba
58
+ - Usuario: testuser
59
+ - Contraseña: testpass
60
+ - Token JWT: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjIsInVzZXJuYW1lIjoidGVzdHVzZXIiLCJlbWFpbCI6InRlc3RAZXhhbXBsZS5jb20iLCJpYXQiOjE3NzA1OTQ0MzcsImV4cCI6MTc3MDY4MDgzN30.6Vjz9Ui_rKnifqk3mBzU8kXqzxITjhlM5jwxlk5DUk0
package/CHANGELOG.md CHANGED
@@ -1,178 +1,128 @@
1
- # CHANGELOG
1
+ # Changelog
2
2
 
3
- ## v2.5.2 - 7 de febrero de 2026
3
+ ## [2.5.6] - 2026-02-08
4
4
 
5
- ### Fixed
6
- - **Prioridad de enrutamiento corregida**: Se resolvió un problema crítico donde las rutas estáticas (prefijos) tenían prioridad sobre las rutas parametrizadas, lo que impedía que rutas como `/api/products/:id` funcionaran correctamente cuando existía una ruta estática como `/api`. El nuevo orden de prioridad es: 1) Rutas exactas → 2) Rutas parametrizadas → 3) Rutas estáticas.
7
- - **Funcionamiento de rutas parametrizadas en modo directorio**: Se corrigió el problema donde las rutas parametrizadas no funcionaban correctamente cuando se utilizaba el modo de carga de rutas desde directorio (RouteDirectoryLoader), afectando especialmente el sistema de colas de Qwen.
8
- - **Separación de responsabilidades en enrutamiento**: Se movió toda la lógica de enrutamiento a un componente especializado `RouteMatcher.js`, eliminando la duplicación de lógica entre `server.js` y `routeLoader.js`.
5
+ ### Added
6
+ - Implementación de filtros para personalizar las flags de seguridad de las cookies de sesión
7
+ - Añadidos los filtros `session_cookie_flags` y `session_cookie_destroy_flags` para permitir la modificación de las flags de las cookies de sesión
8
+ - Soporte para añadir flags de seguridad como `Secure` y `SameSite` a través del sistema de filtros
9
+ - Documentación sobre cómo añadir soporte para flags adicionales como `Partitioned`
9
10
 
10
11
  ### Changed
11
- - **Arquitectura de enrutamiento mejorada**: Se implementó un componente especializado `RouteMatcher.js` para encapsular toda la lógica de enrutamiento, siguiendo principios de separación de responsabilidades y mejorando la mantenibilidad del código.
12
- - **Compatibilidad mantenida**: Se mantuvo la compatibilidad hacia atrás con el modo archivo único, asegurando que no se introdujeran regresiones en funcionalidades existentes.
12
+ - El sistema de sesiones ahora permite la personalización de flags de seguridad mediante filtros
13
+ - Mejorada la seguridad predeterminada de las cookies de sesión
14
+ - Optimizaciones de rendimiento en el servidor para reducir operaciones redundantes
15
+ - Carga anticipada de módulos comunes para evitar cargas repetidas en cada solicitud
16
+ - Mejora en el manejo de rutas estáticas para reducir operaciones de normalización repetidas
17
+ - Implementación de caché para el método render en la respuesta para evitar redefiniciones innecesarias
18
+
19
+ ## [2.5.5] - 2026-02-08
13
20
 
14
- ## v2.5.1 - 7 de febrero de 2026
21
+ ## [2.5.4] - 2026-02-08
15
22
 
16
23
  ### Fixed
17
- - **Manejo de directorios en rutas estáticas**: Se corrigió un error crítico donde el sistema de rutas estáticas intentaba leer directorios como si fueran archivos, causando el error `EISDIR: illegal operation on a directory, read`. La solución implementa una verificación explícita para determinar si la ruta es un directorio y en tal caso busca el archivo índice correspondiente en lugar de intentar leerlo como archivo.
24
+ - Corregido problema con rutas estáticas que no se resolvían correctamente cuando existían múltiples rutas estáticas con diferentes niveles de especificidad
25
+ - Solucionado error en el sistema de enrutamiento donde rutas estáticas menos específicas tenían prioridad sobre rutas más específicas
26
+ - Arreglado problema con la resolución de rutas absolutas en el manejador de archivos estáticos
27
+ - Corregido manejo de caracteres especiales (como guiones '-') en rutas parametrizadas
18
28
 
19
29
  ### Changed
20
- - **Mejora en el sistema de logging de errores**: Se actualizó el sistema de logging para registrar correctamente los detalles de los errores internos en el nivel adecuado, facilitando la depuración sin comprometer la seguridad
30
+ - Mejorado el sistema de prioridad de rutas estáticas para que se seleccione la ruta más específica basada en la longitud del prefijo
31
+ - Actualizado el sistema de resolución de rutas para usar `path.resolve` en lugar de `path.join` para mejor precisión
32
+ - Agregada información de depuración en mensajes de error para facilitar la identificación de problemas de rutas
21
33
 
22
- ## v2.5.0 - 6 de febrero de 2026
34
+ ## [2.5.3] - Fecha anterior
23
35
 
24
36
  ### Added
25
- - **RouteDirectoryLoader**: Nuevo componente `RouteDirectoryLoader` que permite cargar rutas desde múltiples archivos JSON ubicados en un directorio específico
26
- - **Detección de rutas duplicadas**: El sistema ahora detecta automáticamente cuando una ruta sobrescribe otra y muestra mensajes de advertencia
27
- - **Mensajes de log coloreados**: Mensajes en rojo para rutas sobreescritas y en amarillo para rutas que prevalecen
28
- - **Integración con sistema de hooks**: El nuevo componente dispara eventos en momentos clave del proceso de carga de rutas
29
- - **Recarga automática de rutas**: Funcionalidad para observar cambios en los archivos de rutas y recargar automáticamente
30
- - **Manual de uso**: Documentación completa para el nuevo componente RouteDirectoryLoader
31
-
32
- ### Changed
33
- - **Actualización de la versión a 2.5.0**: Debido a la implementación significativa del componente RouteDirectoryLoader
34
- - **Exportaciones del framework actualizadas**: Se ha añadido la nueva exportación de RouteDirectoryLoader en el archivo principal index.js
35
-
36
- ## v2.4.1 - 22 de enero de 2026
37
-
38
- ### Changed
39
- - **QueryBuilder ahora como dependencia externa**: El componente QueryBuilder ha sido removido como parte interna del framework y ahora es una dependencia externa llamada `qbuilderjs`. Esto permite una mayor modularidad y mantenimiento independiente del componente.
40
-
41
- ## v2.3.1 - 21 de enero de 2026
42
-
43
- ### Fixed
44
- - **Referencias circulares en QueryBuilder**: Se ha corregido un problema de referencias circulares en queryBuilder.js que podía causar problemas de memoria y dificultades en la carga de módulos. La corrección implica cambiar la forma en que se importa el sistema de hooks para evitar la carga circular entre módulos.
37
+ - Añadida integración completa con qbuilderjs
38
+ - Implementada arquitectura MVC completa con modelos
39
+ - Añadido sistema mejorado de carga de rutas desde directorios
40
+ - Incorporado sistema mejorado de carga de modelos
45
41
 
46
- ## v2.3.0 - 21 de enero de 2026
42
+ ## [2.5.2] - Fecha anterior
47
43
 
48
44
  ### Added
49
- - **QueryBuilder principal**: Implementación completa del QueryBuilder con API fluida para construir consultas SQL complejas de manera segura
50
- - **Método setAdapter()**: Implementación del método `setAdapter(adapter)` para configurar dinámicamente cualquier adaptador de base de datos
51
- - **Adaptador MariaDB**: Implementación del adaptador para MariaDB/MySQL con conexión mediante pool de conexiones
52
- - **Adaptador de Consola**: Adaptador de ejemplo para mostrar consultas SQL por consola, útil para pruebas y desarrollo
53
- - **Middleware de Integración**: Sistema completo para inyectar QueryBuilder en solicitudes HTTP con soporte para configuración de adaptadores, registro de consultas y reglas de seguridad
54
- - **Sistema de Hooks**: Integración completa con el sistema de hooks de JERK para eventos del QueryBuilder, auditoría de consultas y aplicación de reglas de seguridad
55
- - **Arquitectura modular**: Estructura de archivos separados para cada componente del QueryBuilder, con dependencias claras entre módulos
56
- - **Seguridad mejorada**: Prevención de inyección SQL mediante el uso de parámetros y sistema de validación de consultas
57
- - **Soporte para múltiples operaciones**: Métodos para SELECT, INSERT, UPDATE, DELETE con condiciones WHERE, JOINs, GROUP BY, ORDER BY, LIMIT, OFFSET y funciones de agregación
45
+ - Implementación de sistema de autenticación JWT
46
+ - Adición de middleware de autenticación
47
+ - Incorporación de sistema de roles y capacidades
58
48
 
59
- ### Changed
60
- - **Actualización de la versión a 2.3.0**: Debido a la implementación significativa del componente QueryBuilder
61
- - **Exportaciones del framework actualizadas**: Se han añadido las nuevas exportaciones del QueryBuilder en el archivo principal index.js
62
- - **Documentación actualizada**: Se ha añadido una nueva sección en la documentación principal sobre el uso del QueryBuilder
49
+ ## [2.5.1] - Fecha anterior
63
50
 
64
- ## v2.2.1 - 20 de enero de 2026
51
+ ### Fixed
52
+ - Corrección de fugas de memoria en el sistema de colas
53
+ - Arreglo de problemas de concurrencia en operaciones de base de datos
65
54
 
66
55
  ### Changed
67
- - **Mejora en el método loadModel()**: Se ha actualizado la lógica de búsqueda de modelos para probar múltiples rutas posibles donde podrían estar ubicados los modelos, incluyendo './models/', '../models/', '../../models/', '../../../models/' y rutas sin subdirectorios
68
- - **Manejo de errores mejorado**: Se ha implementado un sistema que captura los errores de cada intento de carga y solo lanza un error final si no se encuentra el modelo en ninguna ubicación
69
- - **Soporte para carga perezosa de modelos**: Se ha implementado un sistema de carga perezosa para que los modelos se carguen solo cuando se necesiten, evitando problemas de inicialización temprana
56
+ - Mejora en el sistema de logging
57
+ - Optimización de consultas a base de datos
70
58
 
71
- ## v2.2.0 - 20 de enero de 2026
59
+ ## [2.5.0] - Fecha anterior
72
60
 
73
61
  ### Added
74
- - **Arquitectura completa de modelos (MVC)**: Se ha implementado la capa de modelos para completar el patrón MVC, incluyendo ModelBase, ModelManager y modelos específicos
75
- - **Sistema de adaptadores de base de datos**: Se ha creado un sistema flexible de adaptadores que permite conectar con diferentes tipos de bases de datos (MariaDB, MySQL, memoria, etc.)
76
- - **Nuevo adaptador MariaDB**: Se ha implementado un adaptador específico para conexión a bases de datos MariaDB/MySQL
77
- - **Modelos específicos**: Se han creado modelos específicos para diferentes entidades con métodos especializados para consultas complejas
78
- - **Integración con sistema de hooks**: Los modelos participan en el sistema de hooks del framework para extensibilidad
79
- - **Comunicación bidireccional entre modelos y controladores**: Se ha implementado un sistema para que modelos y controladores se comuniquen entre sí
80
- - **Soporte para consultas avanzadas**: Los modelos incluyen soporte para paginación, filtros, búsqueda global y operaciones CRUD completas
81
- - **Validación de datos en modelos**: Se ha implementado un sistema de validación de datos específico para cada modelo
82
- - **Helper loadModel en ControllerBase**: Se ha añadido el método loadModel() para facilitar la carga de modelos en los controladores
62
+ - Nuevo sistema de modelos con soporte para MariaDB y SQLite
63
+ - Implementación de adaptadores para diferentes bases de datos
64
+ - Añadido sistema de migraciones de base de datos
83
65
 
84
66
  ### Changed
85
- - **Actualización de la versión a 2.2.0**: Debido a la implementación significativa de la arquitectura de modelos
86
- - **Refactorización de componentes existentes**: Se han actualizado controladores y otros componentes para integrarse con la nueva arquitectura de modelos
87
- - **Mejora en la estructura interna**: La arquitectura ahora sigue completamente el patrón MVC
67
+ - Refactorización del sistema de vistas
68
+ - Actualización de dependencias
88
69
 
89
- ## v2.1.8 - 20 de enero de 2026
70
+ ## [2.4.0] - Fecha anterior
90
71
 
91
72
  ### Added
92
- - **Soporte completo para rutas estáticas**: Se ha implementado soporte completo para servir archivos estáticos desde rutas definidas en `routes.json` o mediante el método `addRoute()`
93
- - **Sistema de hooks para rutas estáticas**: Se han añadido múltiples hooks para rastrear el flujo completo de archivos estáticos
94
- - **Sistema de logging para hooks**: Se ha implementado un sistema de logging que registra todos los eventos de hooks en un archivo
95
- - **Soporte para layouts en ViewEngine**: Se ha añadido soporte para layouts con placeholder `{{content}}` en el sistema de vistas
96
- - **Mejoras en el sistema de enrutamiento**: Se han añadido mejoras para reconocer correctamente rutas estáticas como prefijos
97
-
98
- ### Changed
99
- - **Actualización de documentación**: Se ha actualizado la documentación para reflejar las nuevas funcionalidades de rutas estáticas
100
- - **Optimización del sistema de rutas**: Mejora en la lógica de coincidencia de rutas para soportar rutas estáticas como prefijos
101
-
102
- ## v2.1.7 - 19 de enero de 2026
103
-
104
- ### Correcciones
105
-
106
- - **Fix de header Content-Encoding faltante en respuestas comprimidas**: Se corrigió un bug crítico donde el middleware de compresión no enviaba el header `Content-Encoding: gzip` cuando los controladores llamaban directamente a `res.writeHead()` antes de que el middleware pudiera modificar los encabezados. La solución implementa un sistema de captura y posposición de encabezados que asegura que `Content-Encoding` se incluya correctamente en las respuestas comprimidas, permitiendo que los navegadores descompriman automáticamente el contenido.
107
-
108
- ## v2.1.6 - 18 de enero de 2026
109
-
110
- ### Actualizaciones
111
-
112
- - **Actualización de la biblioteca Hooked Lib a versión 2.0**: Se ha actualizado la biblioteca de hooks existente (@lib/core/hooks.js) a la versión 2.0, que ahora permite implementar patrones de extensibilidad mediante hooks y filtros, similar a los utilizados en WordPress. Incluye soporte para namespaces (namespace::hookName), prioridades, identificadores de callbacks, operaciones síncronas y asíncronas (doActionAsync, applyFiltersAsync), y validación de entradas.
73
+ - Implementación de sistema de sesiones
74
+ - Adición de middleware de seguridad
75
+ - Incorporación de sistema de firewall WAF
113
76
 
114
- ### Mejoras
115
-
116
- - **Sistema de extensibilidad mejorado**: La actualización a Hooked Lib 2.0 proporciona capacidades avanzadas de hooks y filtros con soporte para namespaces, operaciones asíncronas, y gestión flexible de prioridades e identificadores de callbacks.
117
-
118
- ## v2.1.5 - 17 de enero de 2026
119
-
120
- ### Nuevas características
121
-
122
- - **Implementación completa del sistema MVC**: Se ha completado la implementación del sistema MVC con soporte para controladores que extienden ControllerBase, vistas con procesamiento de variables anidadas en bucles y condiciones, y sistema de layouts. Esta funcionalidad está disponible tanto para aplicaciones que usan `routes.json` como para aquellas que utilizan `addRoute()` directamente.
123
-
124
- - **Soporte completo para vistas con variables anidadas**: El ViewEngine ahora soporta completamente el procesamiento de variables anidadas en bucles `{{foreach}}` y estructuras condicionales `{{if}}`, permitiendo construir interfaces complejas con datos dinámicos. Esta funcionalidad es accesible tanto en la arquitectura basada en `routes.json` como en la basada en `addRoute()`.
125
-
126
- - **Ejemplo completo de servidor sin routes.json**: Se ha implementado un ejemplo completo (`@standardA/`) que demuestra cómo usar el framework sin el archivo `routes.json`, utilizando `addRoute()` con todas las funcionalidades equivalentes a las disponibles con `routes.json`.
127
-
128
- ### Mejoras
129
-
130
- - **Sistema MVC más robusto**: Se ha mejorado la integración entre controladores, vistas y modelos, permitiendo un desarrollo más estructurado y mantenible en ambas arquitecturas (con y sin `routes.json`).
131
- - **Procesamiento de variables anidadas**: Se ha mejorado el procesamiento de variables como `{{item.property}}` dentro de bucles `{{foreach}}`, permitiendo el uso completo de estructuras de datos complejas en las vistas, tanto en aplicaciones que usan `routes.json` como en aquellas que utilizan `addRoute()` directamente.
132
-
133
- ### Correcciones
134
-
135
- - **Corrección en el procesamiento de variables anidadas**: Se resolvieron problemas con el procesamiento de variables como `{{item.property}}` dentro de bucles `{{foreach}}`, permitiendo el uso completo de estructuras de datos complejas en las vistas, tanto en la arquitectura con `routes.json` como en la arquitectura sin `routes.json`.
136
- - **Corrección en el manejo de rutas sin routes.json**: Se resolvió el problema con el sistema de rutas cuando se utiliza `addRoute()` directamente sin el archivo `routes.json`, permitiendo que ambas arquitecturas funcionen correctamente con el sistema MVC y vistas.
137
-
138
- ## v2.1.4 - 17 de enero de 2026
139
-
140
- ### README
141
- - ** Se agrega información starter kit a README.md
142
-
143
- ### Correcciones
144
- **Fe de erratas en README.md**: Se corrigió la mención incorrecta de GitHub por GitLab en la sección de contribuciones, manteniendo la coherencia con el repositorio oficial alojado en GitLab.
77
+ ### Fixed
78
+ - Corrección de vulnerabilidades XSS
79
+ - Arreglo de problemas de inyección SQL
145
80
 
146
- ## v2.1.3 - 17 de enero de 2026
81
+ ## [2.3.0] - Fecha anterior
147
82
 
148
- ### Nuevas características
83
+ ### Added
84
+ - Nuevo QueryBuilder integrado
85
+ - Sistema de validación de entradas
86
+ - Implementación de sistema de auditoría
149
87
 
150
- - **Sistema de hooks/filters en middleware de compresión**: Se ha integrado completamente el sistema de hooks y filters en el middleware de compresión, permitiendo extender y personalizar el comportamiento de compresión en múltiples puntos del proceso (antes/después de la compresión, modificación de chunks, manejo de encabezados, etc.)
88
+ ## [2.2.0] - Fecha anterior
151
89
 
152
- - **Optimización del procesamiento del body request**: Se ha implementado una nueva técnica para procesar el cuerpo de las solicitudes usando arrays de chunks en lugar de concatenación de strings, lo que reduce significativamente el uso de memoria y mejora el rendimiento para solicitudes grandes (reducción del 50-70% en tiempo de procesamiento).
90
+ ### Added
91
+ - Implementación de sistema de CORS
92
+ - Adición de sistema de limitación de peticiones (rate limiting)
93
+ - Incorporación de compresión de respuestas
153
94
 
154
- - **Cacheo de expresiones regulares para rutas parametrizadas**: Se ha añadido un sistema de cache para las expresiones regulares compiladas de rutas parametrizadas, evitando la recompilación repetida y mejorando el rendimiento del enrutamiento (reducción del 10-20% en tiempo de routing).
95
+ ### Changed
96
+ - Mejora en el sistema de enrutamiento
97
+ - Optimización de rendimiento
155
98
 
156
- - **Sistema de logging estructurado**: Se han añadido nuevas funcionalidades al sistema de logging para registrar métricas de rendimiento, uso de memoria y otros datos estructurados para mejor monitoreo y diagnóstico.
99
+ ## [2.1.0] - Fecha anterior
157
100
 
158
- - **Manejo de errores más robusto**: Se ha implementado un sistema de manejo de errores centralizado con clases de error personalizadas (ValidationError, AuthenticationError, DatabaseError) para mejor clasificación y tratamiento de diferentes tipos de errores.
101
+ ### Added
102
+ - Nuevo sistema de hooks para extensibilidad
103
+ - Implementación de sistema de plugins
104
+ - Adición de soporte para rutas anidadas
159
105
 
160
- - **Optimización de memoria en el servidor HTTP**: Se han configurado keep-alive timeouts apropiados y se ha añadido monitoreo de uso de memoria para mejorar la estabilidad bajo carga prolongada.
106
+ ### Fixed
107
+ - Corrección de problemas de seguridad
108
+ - Arreglo de fugas de memoria
161
109
 
162
- - **Segunda demostración con rutas en JSON**: Se ha añadido una nueva demostración que muestra cómo usar un archivo JSON para definir rutas, aprovechando todas las optimizaciones del framework.
110
+ ## [2.0.0] - Fecha anterior
163
111
 
164
- ### Mejoras
112
+ ### Added
113
+ - Arquitectura completamente reescrita
114
+ - Nuevo sistema de middleware
115
+ - Implementación de sistema de autenticación
116
+ - Adición de soporte para HTTPS
165
117
 
166
- - **Eficiencia del middleware de compresión**: Se ha optimizado el middleware de compresión para usar arrays de chunks en lugar de concatenación de strings, mejorando la eficiencia del proceso de compresión.
167
- - **Sistema de hooks mejorado**: Se han añadido más puntos de integración para los hooks en los nuevos componentes optimizados.
168
- - **Documentación actualizada**: Se ha actualizado la documentación con ejemplos de uso de las nuevas optimizaciones.
169
- - **Mejora en el sistema de rutas**: El sistema de rutas ahora utiliza cache para expresiones regulares, mejorando el rendimiento general.
118
+ ### Changed
119
+ - Cambios importantes en la API
120
+ - Mejora en el sistema de manejo de errores
121
+ - Actualización de dependencias principales
170
122
 
171
- ### Correcciones
123
+ ## [1.x.x] - Versiones anteriores
172
124
 
173
- - Corrección de ineficiencia en el procesamiento de cuerpos de solicitud grandes
174
- - Mejora en la gestión de memoria durante el procesamiento de solicitudes
175
- - Corrección de posibles problemas de rendimiento en aplicaciones con muchas rutas parametrizadas
176
- - Mejora en la estabilidad del servidor bajo carga prolongada
177
- - **Corrección crítica del middleware de compresión**: Se resolvió el error "ERR_HTTP_HEADERS_SENT" que ocurría cuando el middleware intentaba modificar encabezados después de que ya habían sido enviados al cliente. Se añadió verificación de `res.headersSent` antes de manipular encabezados.
178
- -
125
+ - Versiones iniciales del framework
126
+ - Implementación básica de servidor HTTP
127
+ - Sistema inicial de enrutamiento
128
+ - Soporte para middleware