Skip to content

馃殌 VersaCompiler v2.2.0

Choose a tag to compare

@kriollo kriollo released this 28 Oct 18:04
· 6 commits to main since this release

[2.2.0] - 2025-10-28

Added

  • Patr贸n Builder con interfaz fluida: La funci贸n vd() ahora retorna un objeto VersaDumpsBuilder que permite encadenar m茅todos de configuraci贸n
  • 13 m茅todos de extensi贸n del builder:
    • label(string): Define etiqueta personalizada expl铆cita
    • color(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 complejas
    • once(): 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 general
      • success(): Color verde para operaciones exitosas
      • warning(): Color amarillo para advertencias
      • error(): Color rojo para errores cr铆ticos
      • important(): Color naranja para datos importantes
  • Sistema de metadata: Nuevo campo opcional metadata en el payload que incluye color, includeTrace y max_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 extensiones
    • SEMANTIC_METHODS.md: Gu铆a r谩pida de m茅todos sem谩nticos
    • PAYLOAD_SPECIFICATION.md: Especificaci贸n t茅cnica completa del payload JSON
  • Ejemplos avanzados:
    • example/advanced.php: 10 ejemplos con todas las extensiones
    • example/semantic-methods.php: 7 ejemplos de m茅todos sem谩nticos
    • example/payload-examples.php: 14 ejemplos de payloads para implementaci贸n del servidor

Changed

  • Propiedades readonly: $host y $port ahora son readonly (PHP 8.1+) para evitar mutabilidad
  • Valores por defecto mejorados: Config con fallback a 127.0.0.1:9191 usando operador ??
  • Firma del m茅todo vd(): Ahora acepta par谩metro metadata opcional: 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 (de index a User)
  • Mejorada detecci贸n de estilo tradicional para evitar falsos positivos

Performance

  • Ejecuci贸n condicional: if() y unless() 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