Repository navigation
Releases: kriollo/versadumps-php
Releases · kriollo/versadumps-php
Release list
v2.2.2
v2.2.1
[2.2.1] - 2025-10-29
Added
- Helper method
isVersaDumpsFrame(): Nueva función interna para identificar de manera confiable los frames internos de VersaDumps y reducir falsos positivos - Heurística mejorada para selección de caller: Prioriza archivos con namespace
app\y archivos del proyecto sobre vendor y frames internos - Fallbacks sensatos: Sistema de respaldo mejorado cuando no se encuentra el caller ideal
Changed
- Detección de caller frame mejorada: Manejo especial de
VersaDumpsBuilder::__destructpara capturar correctamente el archivo/línea del usuario cuando se usa el patrón builder - Refactorización de lógica de skip: Centralizada la lógica para omitir frames internos usando el nuevo helper
isVersaDumpsFrame() - Consistencia en comillas: Aplicados cambios menores de formato en ejemplos y código fuente para mayor consistencia
Fixed
- Corregida la captura de archivo/línea real del usuario cuando se usa el builder pattern con ejecución lazy (destructor)
- Reducidos falsos positivos en la detección de frames del caller
- Mejorada la fiabilidad en la identificación del punto de llamada real en el código del usuario
Full Changelog: v2.2.0...v2.2.1
🚀 VersaCompiler v2.2.0
[2.2.0] - 2025-10-28
Added
- Patrón Builder con interfaz fluida: La función
vd()ahora retorna un objetoVersaDumpsBuilderque permite encadenar métodos de configuración - 13 métodos de extensión del builder:
label(string): Define etiqueta personalizada explícitacolor(string): Establece color personalizado (10 colores disponibles)trace(int): Incluye stack trace con N niveles (default: 5)depth(int): Limita profundidad de serialización para estructuras complejasonce(): Ejecuta solo la primera vez (útil en loops)if(bool): Ejecución condicional (solo si true)unless(bool): Ejecución condicional (solo si false)send(): Forzar ejecución inmediata sin esperar al destructor- Métodos semánticos para clasificación visual:
info(): Color azul para información generalsuccess(): Color verde para operaciones exitosaswarning(): Color amarillo para advertenciaserror(): Color rojo para errores críticosimportant(): Color naranja para datos importantes
- Sistema de metadata: Nuevo campo opcional
metadataen el payload que incluyecolor,includeTraceymax_depth - 10 colores predefinidos: red, green, blue, yellow, purple, orange, pink, cyan, gray, white
- Ejecución lazy: El builder ejecuta automáticamente en su destructor o con
send()explícito - Cache para once(): Sistema de cache basado en archivo:línea:label para evitar ejecuciones duplicadas
- Documentación completa:
BUILDER_EXTENSIONS.md: Documentación detallada de todas las extensionesSEMANTIC_METHODS.md: Guía rápida de métodos semánticosPAYLOAD_SPECIFICATION.md: Especificación técnica completa del payload JSON
- Ejemplos avanzados:
example/advanced.php: 10 ejemplos con todas las extensionesexample/semantic-methods.php: 7 ejemplos de métodos semánticosexample/payload-examples.php: 14 ejemplos de payloads para implementación del servidor
Changed
- Propiedades readonly:
$hosty$portahora son readonly (PHP 8.1+) para evitar mutabilidad - Valores por defecto mejorados: Config con fallback a
127.0.0.1:9191usando operador?? - Firma del método vd(): Ahora acepta parámetro
metadataopcional:vd(array $data = [], ?string $label = null, array $metadata = []) - Backward compatible: El estilo tradicional
vd("label", $data)sigue funcionando sin cambios - Detección mejorada: Mejor lógica para distinguir estilo tradicional vs moderno
- README actualizado: Documentación completa con ejemplos de todas las características
Fixed
- Eliminadas variables no utilizadas en
processCallerFrame:$frame,$function,$class - Corregido nombre de clase en
example/index.php(deindexaUser) - Mejorada detección de estilo tradicional para evitar falsos positivos
Performance
- Ejecución condicional:
if()yunless()evitan procesamiento innecesario - Once cache: Reduce overhead en loops grandes
- Depth control: Limita serialización de estructuras profundas
Full Changelog: v2.1.0...v2.2.0
v2.1.0
Added
- Inferencia automática de nombres de variable: Cuando no se proporciona etiqueta explícita,
vd()ahora detecta automáticamente el nombre de la variable pasada- Soporte para variables simples:
vd("", $miVariable)→ label:$miVariable - Soporte para propiedades de objeto:
vd("", $obj->propiedad)→ label:$obj->propiedad - Soporte para elementos de array:
vd("", $array[indice])→ label:$array[indice] - Fallback seguro: expresiones complejas no detectadas no causan errores
- Soporte para variables simples:
Changed
- Refactorización de la lógica de detección: Centralizada toda la inferencia de nombres de variable en el método
processCallerFrame - Helper simplificado: El helper global
vd()ahora es más limpio y sin duplicación de código - Mejor separación de responsabilidades: Una sola ubicación para la lógica de análisis de código fuente
Fixed
- Eliminada duplicación de lógica entre helper global y método
processCallerFrame - Mejorada la detección del frame caller para reportar correctamente la función que invoca
vd()
Full Changelog: v2.0.0...v2.1.0
V2.0 -> upgrade to php8.1
[2.0.0] - 2025-09-02
Added
- Parser YAML propio: Implementada clase
YamlParserpara reemplazarsymfony/yamly evitar conflictos de versiones en proyectos consumidores- Soporte completo para configuraciones básicas (key: value, arrays, comentarios)
- Manejo de tipos: strings, integers, floats, booleans, null, arrays
- Generación de archivos YAML desde arrays PHP
- Configuraciones de herramientas de desarrollo actualizadas para PHP 8.1+ con compatibilidad mejorada:
php-cs-fixer: Migrado a reglas@PHP81Migrationy versiones compatibles (^3.40)rector: Actualizado a sintaxis v1.x conLevelSetList::UP_TO_PHP_81laravel/pint: Actualizado a versión^1.15compatible con PHP 8.1
v1.2.3
[1.2.3] - 2025-08-31
Added
- Ajusta el nombre del archivo desde donde se produce la llamada de la funcion vd para una mejor experiencia en el desarrollo y uso de la herramienta versadumps Visualizer (actualizaciones en
src/VersaDumps.phpyexample/index.php).
Fixed
- Correcciones menores y mejoras en la lógica de normalización y ejemplos.
Full Changelog: v1.2.2...v1.2.3
🚀 Versadump-php 1.2.1
[1.2.1] - 2025-08-29
Added
- Soporte recursivo y seguro en la normalización de objetos (manejo de colecciones, DateTime, prevención de recursión y lectura de propiedades privadas/protegidas).
Fixed
- Corregida clase en
example/index.phpy robustecimiento de la selección de frame.
Full Changelog: v1.1.0...v1.2.1
🚀 Versadump-php 1.1.0
[1.1.0] - 2025-08-29
Added
- Normalización automática de objetos en
vd(): si el objeto definetoArray()se usará; si implementaJsonSerializablese usarájsonSerialize(), y como fallbackget_object_vars(). - Selección mejorada del frame que disparó
vd()en el payload (se omiten el helper global y la propia clase para reportar la función real, p.ej.test).
Full Changelog: v1.0.0...v1.1.0
🎉 ¡Lanzamiento oficial: versaDUMPS-PHP v1.0!
[1.0.0] - 2025-08-29
Added
- Singleton
VersaDumpscongetInstance()y helper globalvd()(cargado víaautoload.files). - CLI
bin/versadumps-initpara crearversadumps.ymlen el proyecto consumidor. - Detección robusta de
versadumps.ymly localización devendor/autoload.phpen varios escenarios. - Configuración inicial para php-cs-fixer, Laravel Pint y Rector (dev-dependencies).
- Archivos de packaging y documentación para publicación en Packagist.
Fixed
- Múltiples ajustes de compatibilidad con proyectos consumidores y mejoras de UX del bin.
- Configuración de
rector.phpcorregida y ejecuciones de dry-run completadas.