Saltar al contenido

Notas de la versión: v0.70.1

Título: Fortalecer la recuperación, la seguridad de las API y la fiabilidad del ledger

Fecha: 26 de agosto de 2026

Versión: v0.70.1

Esta versión fortalece la reversión, el almacenamiento, el descubrimiento de pares, el ledger, la gobernanza y el tratamiento de transacciones, además de mejorar la seguridad de las API, los controles de exposición de red, el comportamiento de los relays y las dependencias de compilación.

NetworkCompatible
mainnet
preprod-testnet
preview-testnet
musashi
  • Mejoró la conversión durante las reversiones para que WatchTx informe errores de flujo en lugar de exponer pánicos de conversión, obtenga las reversiones profundas de forma síncrona y conserve el cursor de cada flujo para no omitir respuestas Undo secuenciales.

  • Limitó el tiempo de espera del apagado del almacenamiento; las solicitudes activas de restauración o truncamiento ahora provocan un reinicio supervisado cuando el almacenamiento no puede confirmar que terminó de drenar.

  • Aseguró la limpieza de extracciones en Windows mediante controladores de directorio verificados para cambiar nombres, desvincular y eliminar directorios, evitando la sustitución de rutas después de la verificación.

  • Validó las transacciones de bloques de endosadores de Leios contra el orden del manifiesto, el hash del cuerpo, el tamaño codificado y el consumo de CBOR antes de almacenarlas en caché o persistirlas; también descarta las entradas persistidas obsoletas y vuelve a obtenerlas.

  • Actualizó el ejemplo del explorador Blockfrost a Vite 8.2.2 para recibir las correcciones de Vite y las actualizaciones de dependencias del proyecto de origen.

  • Renovó los flujos de trabajo de publicación y Antithesis para usar Docker login action 4.6.0, con mejoras de seguridad del proyecto de origen y errores OIDC más claros.

  • Rechazó las configuraciones de inicio que habilitan instantáneas automáticas con S3 o GCS como almacenamiento principal, manteniendo disponibles las instantáneas manuales de CLI y Bark.

  • Verificó la recuperación en el límite entre Byron y Shelley para que los parámetros de Shelley aparezcan en el primer bloque Shelley y se borren cuando una reversión vuelve a Byron.

  • Elevó el SDK de credenciales de AWS a 1.19.37 para incluir los componentes actuales de credenciales en el conjunto de dependencias.

  • Amplió la compatibilidad con AWS S3 mediante la versión 1.107.3, que corrige las cabeceras de checksum al firmar previamente las solicitudes y mejora el tratamiento de respuestas HTTP 200 que contienen errores.

  • Restableció el estado de recuperación ante el mismo fallo después de que avanzara la punta confirmada, conservándolo cuando el nodo reproduce la misma punta.

  • Redujo el volumen de registros y el tráfico DNS del descubrimiento del ledger mediante caché DNS negativa, comprobaciones de la lista de denegación y de pares conocidos antes de la resolución DNS, deduplicación normalizada de nombres de host, espera progresiva para actualizaciones de emergencia y registros más silenciosos de errores esperados.

  • Exigió una configuración explícita de midnight.serverEnabled antes de servir tráfico gRPC de Midnight, hizo que la reflexión requiera activación expresa, mantuvo loopback como valor predeterminado y exigió allowInsecureRemote o TLS para el acceso remoto mediante texto plano.

  • Conservó los descriptores de procedencia y atestación al ensamblar manifiestos de publicación de Buildx.

  • Aplicó el umbral de VRF derivado del stake fuera de los slots de superposición del génesis, manteniendo una validación específica para esos slots.

  • Precisó las respuestas de parámetros de protocolo de la era Byron: Blockfrost devuelve 404 cuando los parámetros no están disponibles, UTxORPC devuelve FailedPrecondition, Mesh evita sustituir los parámetros y drep_activity=0 sigue siendo válido.

  • Sincronizó la observación de la resincronización terminal en las pruebas de recuperación del ledger con la entrega de eventos almacenada en búfer, haciendo deterministas las aserciones resistentes a condiciones de carrera.

  • Canceló los consumidores de mempool eliminados para que las esperas bloqueadas de NextTx terminen y devuelvan nil durante la limpieza de la conexión.

  • Completó el adaptador de estado de gobernanza para exponer las raíces de propósito de Conway, decodificar acciones persistidas con los parámetros activos, filtrar correctamente las acciones expiradas, promulgadas y pendientes, y derivar slots de expiración inclusivos.

  • Serializó las rondas de actualización del descubrimiento del ledger para ejecutar una sola ronda a la vez y restableció la programación de reintentos después de rondas interrumpidas, fallidas o con pánico.

  • Confirmó las transacciones después del commit para que WaitForTx acepte únicamente eventos de la cadena activa posteriores al commit, ignore eventos de reversión y block-fetch, elimine confirmaciones duplicadas y cierre las suscripciones de forma segura.

  • Actualizó el ejemplo Sundae Preview a Vite 8.2.2 para recibir las correcciones ascendentes de HMR y sourcemap.

  • Limitó los mensajes de las solicitudes Connect unarias a 1 MiB tanto comprimidos como descomprimidos antes de la decodificación y la autenticación, y devuelve HTTP 429 para las solicitudes demasiado grandes.

  • Excluyó del relay la conexión de origen de cada voto de par aceptado y avanzó correctamente los cursores del relay.

  • Devolvió de forma atómica a las reservas el valor AVVM de Byron eliminado durante la transición de Shelley a Allegra, con protección contra desbordamientos y seguridad ante reversiones y reproducciones.

  • Acotó la ejecución restrictiva de Plutus durante la fase 2 mediante el MaxTxExUnits por transacción de cada conjunto de parámetros de protocolo en Alonzo, Babbage y Conway, manteniendo la comparación de los presupuestos declarados de los redeemers y contabilizando los lotes de slippage posteriores.

  • Importó los parámetros de protocolo compatibles de la época actual y de la anterior durante la recuperación del estado del ledger con Mithril, verificó su disponibilidad antes de inicializar las recompensas, limpió transaccionalmente el estado provisional de recompensas y omitió solo las épocas de recompensas afectadas cuando faltaban parámetros.

  • Cerró los lectores de fragmentos inmutables en todas las rutas de retorno de búsqueda de bloques, permitiendo la limpieza en Windows y evitando identificadores de archivo sin liberar.

  • Condicionó las auditorías de continuación a la punta aplicada del ledger: las ventanas de reversión solo se activan cuando el punto de reversión coincide con la punta aplicada, y las ventanas obsoletas se borran cuando la puesta al día deja atrás al ledger aplicado.

  • Hizo determinista el orden de llegada de ChainSync en las pruebas mediante un reloj inyectable, mientras que la producción usa time.Now.

  • Eliminó el WriteTimeout HTTP de Bark, establecido en 30 segundos, tanto para servidores TLS como de texto plano, conservando los tiempos de espera de cabecera de lectura y de inactividad para permitir respuestas de streaming de larga duración.

  • Evitó los lotes no confirmados de txpump de DevNet al enviar una transacción por ronda, poner en cuarentena las salidas durante 600 slots según la duración del slot del génesis y esperar a que los nodos del perfil estén saludables.

  • Denegó de forma permanente los pares de red incorrecta después de discrepancias de network-magic tipadas durante el handshake, durante toda la vida de PeerGovernor en memoria, suprimiendo su redescubrimiento hasta el reinicio y manteniendo transitorias las discrepancias de la misma red.

  • Alineó los conjuntos de votación del comité para que los recuentos solo incluyan miembros sentados, no expirados y no dimitidos con autorización activa de hot-key; ExpiresEpoch es inclusivo y los recuentos ignoran los votos no autorizados.

  • Conservó las pruebas de discrepancia de paridad de Koios cuando fallan las comprobaciones o falla el reemplazo de una discrepancia, esperando a que las lecturas requeridas tengan éxito antes de reemplazar las discrepancias de forma atómica.

  • Limitó los handshakes entrantes no autenticados con un plazo absoluto de 10-second fuera del bucle de aceptación, cerró las conexiones pendientes durante el apagado y liberó las reservas de capacidad cuando fallan.

  • Actualizó golang.org/x/net de 0.57.0 a 0.58.0.

  • Validó que los rangos de brecha de Mithril obtenidos fueran no vacíos, continuos, estuvieran enlazados por hash y coincidieran con los puntos inicial y final solicitados antes de persistirlos; las respuestas discordantes de los pares pasan a otro par.

  • Continuó la ingestión de transacciones después de errores de decodificación por transacción o fallos de admisión no terminales, registrando y omitiendo la transacción afectada; los errores terminales de apagado siguen deteniendo el flujo de entrada del par.

  • Redujo la carga predeterminada del conjunto de pruebas al exigir la etiqueta de compilación dingo_live_lifecycle_integration para las pruebas activas del ciclo de vida de dos nodos, añadir make test-live-lifecycle como comando de ejecución y eliminar la caché redundante de Go y la carga innecesaria.

  • Retuvo la última clave KES evolucionada correctamente cuando falló un paso de evolución posterior, permitiendo que la firma continúe.

  • Rechazó versiones, offsets, alineaciones y órdenes de índices inmutables con formato incorrecto o no compatibles, devolviendo errores en lugar de producir lecturas inválidas o pánicos.

  • Acotó el backfill de inicio del indexador de Midnight a la punta aplicada del ledger, evitando escaneos duplicados, exponiendo indicadores de progreso y fallando rápidamente cuando no puede resolver la punta aplicada.

Registro completo de cambios: v0.70.0…v0.70.1


Doc Holiday logo

Docs authored by Doc Holiday

Editar página

Última actualización: