6.4 KiB
6.4 KiB
Changelog
Todos los cambios notables en este proyecto serán documentados en este archivo.
El formato está basado en Keep a Changelog, y este proyecto adhiere a Semantic Versioning.
[1.1.0] - 2025-11-26
✨ Añadido
API REST Completa
- Endpoint
event.ip_request: Búsqueda de IPs disponibles en un segmento de red- Acepta parámetro
segmentpara especificar el tercer octeto (0-255) - Retorna lista de IPs disponibles y en uso
- Filtra automáticamente IPs administrativas (1-30, 254)
- Incluye contadores de IPs disponibles, en uso y filtradas
- Acepta parámetro
- Endpoint
event.ip_check: Verificación de estado de una IP específica- Acepta parámetro
ipcon dirección completa (172.16.X.X) - Retorna estado: disponible, en uso o desconocido
- Incluye información del tipo de IP (administrativa vs. cliente)
- Proporciona recomendaciones de uso
- Acepta parámetro
- Soporte para webhooks: Habilitado
supportsWebhookEvents: trueen manifest - Manejo de peticiones JSON: Detección automática de Content-Type para API vs Frontend
Arquitectura y Código
- Clase
ApiHandlers.php: Manejadores dedicados para eventos de API RESThandleApiRequest(): Router principal de eventoshandleIpRequest(): Procesamiento de búsqueda de IPshandleIpCheck(): Procesamiento de verificación de IPs
- Clase
IpSearchService.php: Servicio de búsqueda de IPs con lógica de negociobuscarIpsDisponibles(): Búsqueda de IPs en segmento específicoobtenerIpsEnUso(): Obtención de IPs desde API UNMSisAdminIp(): Método estático para detectar IPs administrativasgetIpType(): Método estático para obtener información del tipo de IP
- Sistema de filtrado de IPs: Clasificación automática de IPs administrativas vs. cliente
- Rango administrativo: .1-.30 y .254
- Rango cliente: .31-.253
- Etiquetas visuales en frontend
- Filtrado automático en API REST
Documentación
- README.md completo: Documentación profesional del plugin
- Guía de instalación y configuración
- Documentación completa de API REST
- Ejemplos de uso en múltiples lenguajes (cURL, PHP, JavaScript, Python)
- Tabla de códigos de error
- Troubleshooting y soporte
- CHANGELOG.md: Archivo dedicado para control de versiones
🔄 Mejorado
- Separación de responsabilidades: Lógica de negocio separada en clases dedicadas
- Manejo de errores mejorado: Respuestas JSON estructuradas con códigos de error descriptivos
- Sistema de logging: Logs más detallados y organizados para debugging
- Registro de tipo de petición (HTML vs JSON)
- Logging de eventos API procesados
- Información de errores con stack traces
- Compatibilidad dual: Frontend HTML y API REST funcionan simultáneamente
- Detección automática del tipo de petición
- Sin interferencia entre modos
- Validación de datos: Validación robusta de parámetros en API
- Validación de formato de IP
- Validación de rangos de segmento
- Mensajes de error descriptivos
🔧 Técnico
- Namespace PHP:
SiipAvailableIpspara evitar conflictos - Manejo global de errores: Error handler para convertir errores PHP en respuestas JSON
- Configuración SSL: Soporte para certificados autofirmados en desarrollo
- Timeouts configurados: Timeouts de conexión y ejecución para API UNMS
[1.0.1] - 2025-11-25
✨ Añadido
- Frontend web moderno: Interfaz de usuario con diseño responsive y atractivo
- Diseño con gradientes y glassmorphism
- Tipografía Google Fonts (Inter)
- Animaciones suaves y micro-interacciones
- Modo oscuro integrado
- Búsqueda de IPs por segmento: Campo de entrada para tercer octeto
- Función copiar al portapapeles: Botón de copia rápida para cada IP
- Feedback visual al copiar
- Compatible con navegadores modernos
- Estadísticas en tiempo real: Contadores de IPs disponibles y en uso
- Tarjetas de estadísticas visuales
- Actualización dinámica tras búsqueda
- Integración con API UNMS: Conexión directa con UISP Network
- Obtención de IPs en uso desde dispositivos
- Soporte para HTTPS
- Manejo de errores de conexión
🔄 Mejorado
- Conexión con API UNMS: Optimización de peticiones HTTP
- Timeouts configurables
- Mejor manejo de errores de red
- Logging de respuestas
- Búsqueda de IPs: Algoritmo optimizado para comparación de rangos
- Ordenamiento de IPs por último octeto
- Cálculo eficiente de IPs disponibles
- Validación de segmentos (0-255)
🐛 Corregido
- Mejoras en la estabilidad de conexión con API UNMS
- Corrección de validación de segmentos fuera de rango
- Fix en ordenamiento de IPs en tabla de resultados
[1.0.0] - 2025-11-25
✨ Lanzamiento Inicial
Funcionalidades Core
- Búsqueda básica de IPs: Funcionalidad principal del plugin
- Búsqueda en rangos 172.16.X.x
- Detección de IPs en uso
- Cálculo de IPs disponibles
- Integración con UISP CRM: Plugin nativo para UCRM
- Instalación vía interfaz de plugins
- Configuración desde panel de administración
- Acceso desde menú de reportes
- Interfaz web básica: Primera versión del frontend
- Formulario de búsqueda simple
- Tabla de resultados
- Diseño básico responsive
Configuración
- Parámetros de configuración:
- Dirección IP/dominio del servidor
- Token de API UCRM
- Token de API UNMS (opcional)
- Modo debug
- Nivel de logging
Integración
- API UNMS: Conexión con UISP Network para obtener IPs
- Sistema de logs: Archivo
plugin.logpara debugging - Compatibilidad: UCRM 1.0.0+ y UNMS 1.0.0+
Tipos de Cambios
- ✨ Añadido: Para nuevas funcionalidades
- 🔄 Mejorado: Para cambios en funcionalidades existentes
- 🐛 Corregido: Para corrección de bugs
- 🔧 Técnico: Para cambios técnicos internos
- 🗑️ Eliminado: Para funcionalidades removidas
- ⚠️ Deprecado: Para funcionalidades que serán removidas
- 🔒 Seguridad: Para parches de seguridad
Versionamiento
Este proyecto sigue Semantic Versioning:
- MAJOR (X.0.0): Cambios incompatibles con versiones anteriores
- MINOR (0.X.0): Nueva funcionalidad compatible con versiones anteriores
- PATCH (0.0.X): Correcciones de bugs compatibles con versiones anteriores
Última actualización: 26 de noviembre de 2025