Saltar al contenido

Notas de la versión - v0.46.0

Título: Plugins, eventos e instaladores

Versión: v0.46.0

Comparar: v0.45.0…v0.46.0

Esta versión mejora el procesamiento de plugins y los flujos de trabajo, ajusta los controles de registro y la gestión de eventos, incorpora instaladores para macOS y Windows, refuerza la fiabilidad de la bandeja y amplía la documentación sobre gobernanza.

  • Aclaró la precedencia de configuración y los guardados: La configuración sigue este orden de prioridad ascendente: valores predeterminados, configuración YAML, variables de entorno y opciones explícitas de línea de comandos. Adder también serializa los guardados atómicos de configuración y los sincroniza de forma más segura durante las actualizaciones simultáneas.

  • Separó las notificaciones de reversión de la cadena: La preferencia Chain rollbacks y el control del asistente ahora gestionan las notificaciones de reversión de forma independiente de las notificaciones de Blocks minted.

  • Documentó la arquitectura de la aplicación: La guía de arquitectura explica el flujo de procesamiento, el modelo de plugins, la precedencia de configuración, la concurrencia, el comportamiento de apagado y la integración con la bandeja y la API.

  • Mejoró el filtrado de pools de Cardano: Los filtros de pools ahora coinciden con los procedimientos de votación SPO, mientras que la ausencia de credenciales de participación ya no produce coincidencias ni accesos inseguros.

  • Amplió el registro operativo: Los campos estructurados y los registros específicos de cada componente facilitan la interpretación de la salida de inicio, sincronización de cadena, push, Telegram y webhook. Adder oculta los tokens FCM confidenciales y limita la exposición de las URL y las cargas de webhook en los registros.

  • Refinó el análisis de opciones de plugins: Los valores separados por comas de los filtros de Cardano, los tipos de evento y las intersecciones de ChainSync ahora ignoran los espacios circundantes y las entradas vacías, por lo que las listas con formato de bloques YAML coinciden correctamente con los valores configurados. Los valores de intersección vacíos siguen el comportamiento que configura --input-chainsync-intersect-tip.

  • Ajustó los reintentos de entrega de Telegram: La salida de Telegram ahora espera el intervalo retry_after indicado por Telegram cuando el sondeo largo encuentra una limitación de frecuencia, lo que reduce los reintentos prematuros.

  • Aclaró las rutas de documentación de la API: Los clientes de la API ahora acceden a /ping, /healthcheck y /events en la raíz, mientras que /v1/fcm y /v1/qrcode permanecen bajo /v1; Swagger está disponible en /swagger/.

  • Validó la entrada del token FCM: Las solicitudes de la API ahora validan fcmToken antes de procesarlas.

  • Fortaleció las cargas multipart de Telegram: La salida de Telegram puede reintentar las respuestas HTTP/2 GOAWAY, evita los cuerpos multipart vacíos en las llamadas sin campos y cuenta los campos de solicitud con mayor precisión. Las cargas almacenadas pueden utilizar más memoria.

  • Introdujo el ciclo de vida de plugins administrados: Los autores de plugins personalizados en Go deben migrar al contrato de ciclo de vida plugin.ManagedPlugin y a la implementación compartida plugin.Base; la gestión anterior del ciclo de vida ya no funciona.

  • Determinó el orden de procesamiento: Adder valida las conexiones entre plugins, inicia los consumidores antes que los productores, conserva el orden configurado de los filtros y detiene los componentes en orden inverso.

  • Propagó los fallos terminales de plugins: Un fallo terminal ahora detiene el flujo de inmediato y deja disponible el componente y el error responsables mediante el estado del flujo.

  • Detuvo las reconexiones de ChainSync durante la cancelación: ChainSync ahora termina los intercambios iniciales de conexión y los intentos de reconexión cuando se apaga el flujo.

  • Canceló las reconexiones de UTxORPC durante el apagado: UTxORPC ahora termina la espera entre reintentos cuando se apaga el flujo.

  • Interrumpió la entrega de Push durante la cancelación: Las solicitudes de tokens y los envíos FCM de las notificaciones Push ahora se detienen cuando se apaga el flujo.

  • Evitó los reintentos de webhook después de la cancelación: La entrega de webhook deja de reintentar cuando se apaga el flujo y no informa la cancelación como un error de entrega.

  • Alineó las épocas de ChainSync con la red seleccionada: El estado de ChainSync ahora calcula los números de época a partir de los límites de eras de la red configurada.

  • Rechazó las actualizaciones de WebSocket fallidas: El streaming de eventos ahora devuelve errores de WebSocket en lugar de cambiar silenciosamente a SSE cuando un cliente solicita una actualización a WebSocket.

  • Eliminó la configuración de registro anterior: Adder ya no acepta --logging-level ni los ajustes de registro de nivel superior relacionados. Adder ahora controla el registro de salida seleccionado mediante output.log.level o --output-log-level.

  • Actualizó la integración de API generada: Las integraciones ahora pueden importar el módulo OpenAPI generado desde github.com/blinklabs-io/adder/openapi.

  • Reforzó la gestión de eventos de webhook: Los eventos malformados o desconocidos ya no provocan un panic en la salida de webhook. Adder envía los errores a través del canal de errores del plugin y coordina de forma segura el cierre y los reintentos.

  • Preservó los valores de depósitos de gobernanza: Los depósitos de certificados de gobernanza ahora conservan todo el rango de valores uint64 sin signo, en lugar de limitar los valores a enteros con signo de 64 bits.

  • Evitó la acumulación de procesos de la bandeja: Las carpetas, las URL y los instaladores que se abren desde la bandeja ahora terminan de forma asíncrona, lo que evita que queden procesos secundarios activos.

  • Reforzó el funcionamiento de la bandeja en Windows: La bandeja registra diagnósticos en su archivo de Windows, se recupera de los panic durante el inicio, permite una sola instancia por sesión y gestiona con mayor fiabilidad el registro del servicio, la identidad de los procesos y los reinicios.

  • Corrigió el comportamiento de eventos y notificaciones de la bandeja: Las conexiones iniciales pueden recibir eventos en directo sin reproducir eventos almacenados, las reconexiones restauran la reproducción, los enlaces del explorador abren la transacción o el bloque correctos en la red seleccionada y los pools y DReps seguidos reciben solo las notificaciones pertinentes con el voto de gobernanza del DRep seguido.

  • Deshabilitó la bandeja en los artefactos de versión de FreeBSD: Los paquetes de FreeBSD para amd64 y arm64 ahora se publican sin el componente de bandeja.

  • Resolvió una vulnerabilidad de crypto/x509 en las descargas de la bandeja: Las compilaciones ahora utilizan Go 1.27.3 y requieren Go 1.26.10.

  • Publicó ejemplos de la biblioteca: El sitio de documentación ahora aloja ejemplos de la biblioteca de Adder junto con la guía del producto.

  • Describió la referencia de eventos de gobernanza: La documentación ahora describe los campos de input.governance, los tipos de acción admitidos, las estructuras anidadas y ejemplos de filtrado, con ejemplos de esquema alineados con los datos de eventos emitidos.

  • Habilitó la validación del flujo con Dingo: Los flujos de Docker y macOS conectan Adder con Dingo mediante una conexión compartida en la red preview de Cardano y comprueban que Adder reanuda desde el punto más reciente, mientras que las ejecuciones locales limitan el crecimiento de los registros de contenedor.

  • Consolidó la guía de resolución de problemas: La documentación ahora cubre diagnósticos de conexión, configuración, filtros, FCM y webhook, mensajes de error comunes y la elaboración de perfiles de fugas de goroutines de Go 1.26 con GOEXPERIMENT=goroutineleakprofile.

  • Precisó los ejemplos de filtros y gobernanza: El README ahora relaciona --filter-address, --filter-pool y --filter-drep con sus variables de entorno y claves de configuración, explica los valores separados por comas y el comportamiento AND/OR, y documenta la coincidencia de eventos de gobernanza para direcciones de participación y de pago, además de identificadores DRep bech32 y hexadecimales.


Doc Holiday logo

Docs authored by Doc Holiday

Editar página

Última actualización: