Saltar al contenido

Historial de versiones

Changelog

Seguimos el estándar Keep a Changelog y Versionado Semántico.

◆ Próximamente
v2.3.0 2026-06-24
Agregado
  • Tracking de efectividad de formularios: Métricas automáticas de rendimiento para cada formulario
  • Sistema de suscripciones refactorizado: Arquitectura simplificada con un solo plan activo por cuenta
  • Pricing diferenciado para planes manuales: Recargo configurable para cuentas con gestión manual
  • Plan Trial Gratuito: 50 contactos, 200 envíos/mes, 7 días de duración
  • Arquitectura de payment gateways: Sistema flexible para múltiples pasarelas de pago
  • Sistema de transferencias bancarias: Workflow completo con verificación por admin
  • Cache de límites en account: Campos `max_contacts_cached`, `max_sends_cached`, `max_forms_cached`
  • Contadores de uso: `contacts_used`, `forms_used` para optimizar queries
  • Bajas programadas de cuentas: Los superadmins pueden programar la fecha de baja de una cuenta
Mejorado
  • Página de Listas modernizada: Nuevo diseño coherente con sistema de componentes modernos
  • Optimización de dashboards: Reducción drástica de queries y mejora de tiempos de carga
Cambiado
  • Estandarización de timestamps: Convención `_on` para eventos pasados aplicada a tabla `account`
Eliminado
  • Código legacy de FormData: Modelo, controlador y vistas eliminados (tabla `form_data` no existe desde hace tiempo)
  • Migración de datos: 22 cuentas migradas exitosamente de `account_plan` a `account_subscription`
  • Tabla account_plan renombrada: `account_plan` → `account_plan_legacy` (respaldada)
  • Actualización de queries y relaciones: Todas las referencias a `account_plan` actualizadas para usar `account_subscription`
Removido
  • Columnas obsoletas de `account`: `trial_started_at`, `trial_expires_at`, `status`, `external_id`, `auto` (movidos a subscription)
  • Columna `max_users_crm` de `plan` (módulo CRM eliminado previamente)
  • Referencias a tickets/CRM en código activo: Limpieza completa de código residual del módulo CRM/Tickets eliminado
  • Módulo OneDrive/SkyDrive completo: Sistema de almacenamiento en OneDrive eliminado por no usarse
  • Componentes y modelos CRM adicionales: Funcionalidades implementadas exclusivamente para CRM/Tickets eliminadas
Corregido
  • Undefined array key 'callback' en API de formularios con código vacío
  • Generación de short_name para campos de formulario (solo nuevos registros)
  • Nombres de columnas en ejemplos de API
  • Uso de `created_at` → `created_on` en comando MigratePlans
  • Path incorrecto en `Account::createDatabase()` impedía ejecutar migraciones al crear cuentas desde admin
  • Pérdida de selección de plan en formulario de cuenta al haber errores de validación
v2.2.0 2026-05-31
Agregado
  • Sistema de galería de templates: Templates profesionales pre-diseñados disponibles al crear campañas
  • API pública de formularios con encriptación Fernet para integraciones externas
  • Gestión completa de API keys desde panel de administración
  • Generación automática de ejemplos de API con campos dinámicos
  • Botón de "Integración API" en vista de formularios
Cambiado
  • Migración completa del sistema de campos de contacto a JSON
  • Optimización de validación DNS (solo en registros nuevos o con email modificado)
Corregido
  • Propagación de datos de Blacklist a Contact en webhooks
  • Validación de formularios con short_name vacíos o 'other'
v2.1.0 2026-05-18
Agregado
  • Editor Templatical (v0.8.1): Editor visual moderno basado en MJML con compilación en frontend
  • Custom blocks avanzados: Botón personalizable y Redes Sociales (16 plataformas, 3 estilos)
  • Sistema de concurrencia para edición de templates (evita conflictos entre usuarios)
  • Upload de imágenes con optimización automática en Templatical
  • Wake-up detection para renovar locks después de suspensión del PC
  • Conversión automática de merge tags `{{}}` ↔ `[]` para compatibilidad
Cambiado
  • Fuentes email-safe completas (10 fuentes con fallbacks optimizados)
  • Ocultar branding "Powered by Templatical"
Corregido
  • Fondo negro en canvas del editor Templatical
  • Referencias circulares y HTML mal formado en compilación MJML
  • Múltiples problemas de estilo en preview del editor
  • Bloqueo de sesión cuando otro usuario toma control
  • Eliminación accidental del footer de desuscripción
Seguridad
  • Autenticación obligatoria con hash encriptado para acceder al editor Templatical
v2.0.0 2026-04-01
Agregado
  • Detección de bots en aperturas y clicks: Diferencia entre aperturas reales y automáticas (Apple Mail Privacy, Gmail)
  • Métricas separadas de actividad bot vs humana en reportes de campañas
  • Columna `is_bot` en campaign_subscriber con contadores `bot_opens` y `bot_clicks`
  • Diseño avanzado de formularios: Fuentes Google Fonts, colores personalizados, estilos de botón
  • Vista previa dual de formularios (embed iframe + página completa)
  • Mensaje personalizable para validación de campo único
  • Emoji picker en editor Mosaico con soporte mejorado para Gmail
  • Logging de warnings de compatibilidad de templates Mosaico
  • Nueva página de gestión de listas con layout de 2 columnas
  • Botones de compartir link y envío de prueba en vista previa (step 4)
Cambiado
  • Estandarización de timestamps: `created_on`, `updated_on` (pasados), `scheduled_at` (futuros)
  • Aplicación de `color_bg` solo al header en formularios tipo view
  • Forzar HTTPS en links de emails y tracking de Mailgun
  • Traducción de headers de exportación a español
Corregido
  • Detección incorrecta de bots en webhooks de Mailgun (campo `client-info.bot`)
  • Fix de emojis en Gmail (charset y encoding)
  • Corrección de path de caché en replaceSrc de imágenes
  • Filtrado de campañas en FixMosaicoImagesCommand (solo no enviadas)
  • Ampliación de `listing_names` de VARCHAR(1024) a TEXT
v1.9.0 2026-03-27
Agregado
  • Gestión centralizada de dominios de envío: UI de administración para dominios Mailgun
  • Módulo `/admin/` completo con acceso restringido a superadmins
  • Comando `domainsync` para sincronización automática con Mailgun API
  • MailgunDomainService con reintentos automáticos para errores 5xx
  • Validación de dominios asignados por cuenta
  • Soporte para dominios públicos compartidos
  • Verificación de webhooks configurados en Mailgun
Removido
  • Módulo CRM/Tickets completo (no se usaba, bloqueaba migración PHP 8)
  • EExcelView/PHPExcel (190 archivos)
  • Comando SendCommand (envío masivo ahora en Python)
  • Endpoint `/campaign/configuration` obsoleto
  • ~570 líneas de código muerto en Campaign.php
Cambiado
  • Migración de exports de campañas a XLSXWriter
  • Navbar de administración con links horizontales
v1.8.0 2026-03-26
Agregado
  • Soporte completo para PHP 8.1
  • Campos de sistema en ContactField (`is_system`, `column_name`)
  • Campos con selección múltiple (`multiple=1`)
  • Opción "Permitir otros valores" en campos de selección (`allow_other=1`)
  • Relación `contact_field_id` en FormField (reemplaza `short_name`)
  • Métodos mágicos en Contact para acceso unificado a campos
Cambiado
  • Actualización de dependencias para PHP 8:
  • Formato de `fields` en Contact ahora usa placeholders en vez de IDs
Removido
  • dotzero/yii-sentry (incompatible con PHP 8)
  • tebazil/db-seeder (dependía de faker abandonado)
v1.7.0 2026-01-23
Removido
  • Columna redundante `account_id` de todas las tablas tenant
  • 14 modelos actualizados (Contact, Campaign, Listing, Template, etc.)
  • 10 controladores actualizados
  • Código comentado y vistas `_view.php` no utilizadas
Cambiado
  • Uso de `Yii::app()->utility->accountId` en lugar de `$model->account_id`
  • Actualización de URLs públicas para mantener parámetro `?a=` (routing)
Corregido
  • Flujo de formularios embebidos con `setAccountId()` correcto
  • Envío de emails de notificación con validación de cuenta
v1.6.0 2026-01-29
Agregado
  • Sanitización automática de `unsubscribed_on` con valores '0000-00-00 00:00:00'
  • Scope `active()` para contactos activos (`is_blacklisted=0`)
  • Propagación de datos en webhooks sin saves redundantes
  • Transacciones en `Blacklist::afterSave()`
Corregido
  • Errores MySQL con modo `NO_ZERO_DATE` activo
  • Optimización de consultas a Blacklist (solo cuando email cambia)
v1.5.0 2025-12-15
Agregado
  • Editor HTML externo (tipo 4) para templates de Stripo
  • Preservación completa de `<head>`, `<style>` y `@media queries`
  • Validación obligatoria de link de desuscripción
  • Editor Mosaico con templates base en archivos (standard.html, wide.html)
Cambiado
  • Columna `base_template` reemplaza `is_base` en Template
  • Método `getBaseTemplateHtml()` para acceso unificado
Seguridad
  • Headers de seguridad HTTP completos en .htaccess
  • X-Frame-Options con excepción para formularios embebidos
  • Fail2ban configurado con 5 jails activos
  • Filtro apache-wp-scan para detectar scanners
  • `Agregado` - Nuevas funcionalidades
  • `Cambiado` - Cambios en funcionalidades existentes
  • `Deprecado` - Funcionalidades que serán removidas próximamente
  • `Removido` - Funcionalidades eliminadas
  • `Corregido` - Correcciones de bugs
  • `Seguridad` - Mejoras de seguridad