Notas de la versión - v0.46.0
v0.46.0
Sección titulada «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.
✨ Aspectos destacados
Sección titulada «✨ Aspectos destacados»-
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 rollbacksy el control del asistente ahora gestionan las notificaciones de reversión de forma independiente de las notificaciones deBlocks 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_afterindicado 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,/healthchecky/eventsen la raíz, mientras que/v1/fcmy/v1/qrcodepermanecen bajo/v1; Swagger está disponible en/swagger/. -
Validó la entrada del token FCM: Las solicitudes de la API ahora validan
fcmTokenantes 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.ManagedPluginy a la implementación compartidaplugin.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-levelni los ajustes de registro de nivel superior relacionados. Adder ahora controla el registro de salida seleccionado medianteoutput.log.levelo--output-log-level.
⚠️ Compatibilidad de eventos
Sección titulada «⚠️ Compatibilidad de eventos»-
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.
💪 Mejoras
Sección titulada «💪 Mejoras»-
Preservó los valores de depósitos de gobernanza: Los depósitos de certificados de gobernanza ahora conservan todo el rango de valores
uint64sin 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
amd64yarm64ahora se publican sin el componente de bandeja. -
Resolvió una vulnerabilidad de
crypto/x509en las descargas de la bandeja: Las compilaciones ahora utilizan Go1.27.3y requieren Go1.26.10.
📚 Documentación
Sección titulada «📚 Documentación»-
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-pooly--filter-drepcon 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.
Docs authored by Doc Holiday