Notas de la versión - v0.204.2
v0.204.2
Sección titulada «v0.204.2»Título: Mejorar la gestión de pares y la validación de protocolos
Versión: v0.204.2
La versión 0.204.2 mejora el manejo de respuestas de LocalStateQuery, refuerza la validación de CBOR y Point, hace seguro el formato de conexiones con direcciones incompletas y evita que las confirmaciones de transacciones no válidas avancen el estado.
💪 Mejoras
Sección titulada «💪 Mejoras»-
Amplió el manejo de respuestas de LocalStateQuery: Las aplicaciones pueden sobrescribir el tiempo de espera de lectura de segmentos del muxer con
ouroboros.WithMuxerSegmentReadTimeoutomuxer.NewWithSegmentReadTimeout; un valor<= 0desactiva el límite de tiempo. También pueden sobrescribir el límite de reensamblado predeterminado de 16 MB conProtocolConfig.MaxReadBufferSizeolocalstatequery.WithMaxReadBufferSize. La implementación vacía segmentos en cola de forma oportunista, limita el crecimiento del búfer, observa el apagado y lee los datos de la era actual sin una condición de carrera. Los pares de confianza que responden lentamente pueden admitir respuestas de larga duración o de varios segmentos grandes sin desconexiones prematuras. -
Actualizó la codificación de constructores generales de Plutus: Los constructores generales ahora usan la etiqueta CBOR
102con[constructor_number, fields]. El decodificador rechaza la etiqueta heredada101y los números de constructor que superan el rangouintde la plataforma, al tiempo que conserva las alternativas compactas. Las aplicaciones deben volver a codificar los constructores con la etiqueta101como etiqueta102. -
Reforzó la validación de Cardano Point: El decodificador acepta únicamente matrices definidas que contengan cero o dos elementos. Los valores de dos elementos deben contener una posición
uint64y un hash de exactamente 32 bytes. El decodificador rechaza los datos finales, las matrices indefinidas, los valores etiquetados y las entradas con formato incorrecto sin cambiar el valor de Point cuando falla la validación. -
Hizo seguro el formato de las conexiones:
ConnectionId.String()ahora representa una dirección local o remota ausente como<nil>y conserva el formatolocal<->remote. Un identificador de conexión parcialmente rellenado ahora se formatea sin provocar un pánico. -
Evitó la inflación de confirmaciones de transacciones: El protocolo rechaza las respuestas
ReplyTxIdsque contienen más identificadores de los solicitados conprotocol.ErrProtocolViolationRequestExceededantes de avanzarackCount. Las respuestas vacías, exactas y parciales siguen siendo compatibles.
Compatibilidad de red recomendada ⚠️
Sección titulada «Compatibilidad de red recomendada ⚠️»| Red | Compatible |
|---|---|
| mainnet | ⛔ |
| preprod-testnet | ✅ |
| preview-testnet | ✅ |
| musashi | ✅ |
Versión: v0.204.2
Comparar: v0.204.1…v0.204.2
Docs authored by Doc Holiday