Changelog

Todos los cambios notables en este proyecto serán documentados en este archivo.

El formato está basado en Keep a Changelogarrow-up-right, y este proyecto adhiere a Semantic Versioningarrow-up-right.


[1.0.0] - 2024-12-28

🎉 Release Inicial

Primera versión estable de Cierro - Plataforma SaaS para creación de propuestas comerciales inteligentes.

✨ Añadido

Editor de Propuestas

  • Editor WYSIWYG basado en TipTap con extensiones personalizadas

  • Generación de contenido con IA (Google Gemini, OpenAI GPT)

  • Bloques personalizables: texto, imágenes, tablas de precios, etapas

  • Exportación a PDF con diseño profesional

  • Sistema de plantillas predefinidas

  • Colaboración en tiempo real con Liveblocks + Yjs

  • Historial de versiones con comparación lado a lado

  • Chat integrado por propuesta

Gestión de Ventas

  • Dashboard con métricas y KPIs

  • Pipeline de propuestas (borrador, enviado, aprobado, rechazado)

  • Catálogo de productos/servicios

  • Sistema de descuentos configurables

  • Metas de ventas por ejecutivo

  • Comisiones configurables por producto/categoría

  • Reportes exportables (Excel, PDF)

Equipos y Roles

  • Sistema RBAC: admin, manager, member, viewer

  • Invitaciones por email

  • Gestión de permisos por rol

Suscripciones

  • Planes: Starter, Professional, Enterprise

  • Trial de 14 días

  • Integración con Reveniu para pagos

  • Límites por plan (presupuestos, IA, usuarios)

Integraciones

  • HubSpot: sincronización de contactos y deals

  • Pipedream: conexión con +1000 apps

  • Liveblocks: colaboración en tiempo real

Sistema de Emails

  • Emails transaccionales con Resend

  • Templates: bienvenida, trial, aprobación, invitación, pagos

  • Recordatorios automáticos de vencimiento

Personalización

  • Colores y tipografías de marca

  • Logo de empresa

  • Encabezados configurables

  • Biblioteca de imágenes

🔧 Configuración Técnica

  • Autenticación con Clerk

  • Base de datos PostgreSQL con Supabase

  • Edge Functions en Deno

  • Row Level Security (RLS) para control de acceso

  • Storage para archivos e imágenes


[1.2.0] - 2026-01-03

✨ Añadido

Nueva Arquitectura de URLs con Company Slug

  • Las rutas de la aplicación ahora usan el slug de la empresa: /:slug/dashboard, /:slug/proposals, etc.

  • Nuevo hook useCompanyNavigation para navegación consistente entre páginas

  • Cada empresa tiene un slug único generado automáticamente desde su nombre

  • Redirección automática de rutas legacy (/budgets) a la nueva estructura (/:slug/proposals)

  • Preparación para URLs públicas de propuestas compartidas (/p/:token)

  • Guard SlugGuard para validar que el slug en la URL coincide con la empresa activa

Sistema de Automatizaciones (Workflows)

  • Editor visual de flujos de trabajo basado en React Flow (@xyflow/react)

  • Triggers: Cambio de estado, creación de propuesta, propuesta por vencer, manual

  • Condiciones: Filtros por monto, cliente, ejecutivo, categoría

  • Acciones: Enviar email (Resend), notificaciones, webhooks, cambiar estado, Pipedream

  • Galería de plantillas predefinidas para casos comunes

  • Ejecución automática via Edge Function workflow-executor

  • Logging de ejecuciones en tabla workflow_executions

  • Restricción de acceso a roles admin y manager

Sistema de Tours Guiados

  • Nuevo sistema de tours interactivos con react-joyride para onboarding de usuarios

  • Tours específicos para cada sección: Dashboard, Propuestas, Clientes, Catálogo, Reportes, Equipo, Configuración y Flujos de Trabajo

  • Tooltip personalizado con diseño consistente con la app

  • Persistencia en localStorage para recordar tours completados

  • Posibilidad de saltar tours en cualquier momento

Datos de Demostración

  • Al completar el onboarding, se crean automáticamente datos de ejemplo:

    • 2 empresas cliente (Acme Corporation, Tech Solutions)

    • 3 contactos de ejemplo

    • 3 propuestas en diferentes estados (borrador, enviada, aprobada)

    • 1 meta de ventas para el mes actual

  • Banner en el Dashboard para eliminar datos demo con un clic

  • Columna is_demo en tablas budgets, client_companies, client_contacts y sales_goals

  • Funciones de base de datos seed_demo_data() y delete_demo_data() para gestión de datos demo

Vista Kanban de Propuestas

  • Nueva vista Kanban en la lista de propuestas para visualizar el pipeline de ventas

  • Columnas por estado: Borrador, Enviada, Aprobada, Facturada, Rechazada

  • Arrastrar y soltar para cambiar estado de propuestas entre columnas

  • Toggle entre vista Lista y Kanban con persistencia en localStorage

  • Columna "Facturada" determinada por presencia de invoiced_at

🔄 Cambiado

Rebranding: "Presupuesto" → "Propuesta"

  • Toda la terminología de la plataforma actualizada de "presupuesto" a "propuesta"

  • Afecta: textos de UI, botones, notificaciones, analytics, exportación PDF

  • Nombres internos de base de datos se mantienen por compatibilidad (budgets, etc.)

  • Nuevo enfoque de la plataforma como herramienta de propuestas comerciales completas

Reorganización de Configuración

  • Descuentos movido de Settings a una pestaña dentro de Catálogo

  • Productos eliminado de Settings (ya está en Catálogo)

  • Equipo eliminado de Settings (ahora es página independiente /team)

  • Settings ahora contiene: Empresa, Integraciones, Base de Conocimiento, Suscripción

Estructura de Rutas

  • /budgets/:slug/proposals

  • /budgets/new/:slug/proposals/new

  • /budgets/:id/:slug/proposals/:id

  • Todas las rutas protegidas ahora están bajo el slug de empresa

📁 Nuevos Archivos

  • src/hooks/useCompanyNavigation.ts - Hook para navegación con slug de empresa

  • src/pages/Workflows.tsx - Página principal de workflows

  • src/components/workflows/WorkflowEditor.tsx - Editor visual de flujos

  • src/components/workflows/WorkflowList.tsx - Lista de workflows

  • src/components/workflows/nodes/ - Nodos del editor (Trigger, Condition, Action)

  • src/components/workflows/panels/ - Paneles de configuración

  • src/components/workflows/templates/ - Galería y plantillas

  • supabase/functions/workflow-executor/ - Edge function para ejecución

  • src/components/tour/SectionTour.tsx - Componente wrapper para tours de sección

  • src/components/tour/TourTooltip.tsx - Tooltip personalizado para tours

  • src/components/tour/tours/index.ts - Definiciones de todos los tours

  • src/hooks/useTour.ts - Hook para gestión de tours

  • src/components/dashboard/DemoDataBanner.tsx - Banner para gestionar datos demo

  • src/components/proposals/ProposalsKanban.tsx - Vista Kanban de propuestas


[1.1.0] - 2026-01-02

✨ Añadido

Plantillas de Empresa

  • Nueva tabla company_templates para guardar plantillas personalizadas por empresa

  • Galería de plantillas muestra plantillas predefinidas y personalizadas de la empresa

  • Opción para marcar una plantilla como predeterminada

  • Los usuarios pueden guardar el contenido actual del presupuesto como nueva plantilla

🐛 Corregido

Seguridad y RLS

  • Corregida política RLS de INSERT en company_templates que impedía guardar plantillas

  • Corregida política RLS de SELECT en company_templates que impedía ver plantillas guardadas

  • Simplificadas las políticas RLS para evitar problemas con funciones de autenticación

🔄 Cambiado

Galería de Plantillas

  • Eliminados botones "Empezar desde cero" e "Importar" de la galería de plantillas

  • La galería ahora se refresca automáticamente al guardar una nueva plantilla


[Unreleased]

🚧 En Desarrollo

  • Integración con más CRMs (Salesforce, Zoho)

  • Firma digital de propuestas

  • Plantillas de email personalizables

  • API pública para integraciones

  • Aplicación móvil


Convenciones

Tipos de Cambios

  • ✨ Añadido - Nuevas características

  • 🔄 Cambiado - Cambios en funcionalidad existente

  • ⚠️ Deprecado - Características que serán eliminadas

  • 🗑️ Eliminado - Características eliminadas

  • 🐛 Corregido - Corrección de bugs

  • 🔒 Seguridad - Vulnerabilidades corregidas

Versionamiento

  • MAJOR (1.x.x): Cambios incompatibles con versiones anteriores

  • MINOR (x.1.x): Nueva funcionalidad compatible con versiones anteriores

  • PATCH (x.x.1): Correcciones de bugs compatibles


Última actualización