Notas de la versión - v0.5.0
v0.5.0 (27 de agosto de 2026)
Sección titulada «v0.5.0 (27 de agosto de 2026)»Título: Alinear las comprobaciones de compatibilidad y ampliar la compatibilidad con el lenguaje Plutus
Fecha: 27 de agosto de 2026
Versión: v0.5.0
Esta versión alinea la disponibilidad de las funciones integradas con el lenguaje del ledger de Plutus y el protocolo de Cardano, amplía la compatibilidad con V4 y la serialización, refuerza la validación de programas y mejora el manejo de entradas grandes o con límites.
✨ Novedades
Sección titulada «✨ Novedades»-
Mejoró la disponibilidad de las funciones integradas: Plutigo ahora comprueba cada operación integrada según el lenguaje del ledger de Plutus y la versión principal del protocolo de Cardano seleccionados, en lugar de considerar disponibles todas las operaciones después de la regla PV11 anterior que desbloqueaba todas las funciones. La disponibilidad sigue los límites de protocolo Alonzo 5, Vasil 7, Valentine 8, Chang 9, Plomin 10 y Dijkstra 12. Los lotes V4 requieren la versión principal 12 del protocolo, mientras que la versión principal 0 del protocolo solo comprueba el lenguaje. El motor de ejecución y las comprobaciones de conformidad usan la misma matriz de disponibilidad.
-
Amplió la compatibilidad con el lenguaje V4: Plutigo ahora incluye los nombres autorizados de los parámetros del modelo de costes V4 y las funciones integradas
multiIndexArray,policiesyassetCount, con las etiquetas estables 101 a 103. Las funciones integradas V4 permanecen no disponibles hasta que el protocolo las active.multiIndexArrayacepta matrices o listas tipadas, requiere índices enteros de 64 bits no negativos, comprueba los límites y limita cada solicitud a 1.024 índices. El orden de los parámetros V4 ya no sigue el de V3, por lo que los presupuestos de ejecución pueden diferir. -
Conservó el comportamiento de
consByteStringen V1 y V2: Los prefijos de enteros positivos y negativos grandes ahora usan una reducción de módulo 256 con redondeo hacia abajo, de acuerdo con las variantes V1 y V2. Las variantes C y E de V3 y posteriores siguen requiriendo valores de 0 a 255.
🔧 Correcciones
Sección titulada «🔧 Correcciones»- Reforzó la validación de programas Plutus con contexto:
ProgramContextyValidateProgramahora aplican el contexto del lenguaje del ledger y del protocolo, mientras queParseWithContext,DecodeWithContextyDecodeDeBruijnWithContextaplican las mismas comprobaciones durante el análisis y la decodificación. Estas API verifican las versiones compatibles de Untyped Plutus Core (UPLC) 1.0.0 y 1.1.0, la disponibilidad de las funciones integradas, las funciones integradas no disponibles en ramas sin evaluar, el requisito de UPLC 1.1.0 para la sintaxisConstryCase, y el límite de 1.024 campos de los constructores a partir de PV11. La decodificación durante la reproducción también usa el contexto.
⚡ Rendimiento
Sección titulada «⚡ Rendimiento»- Optimizó la decodificación de enteros grandes: El formato de serialización FLAT ahora acumula los enteros grandes directamente en el almacenamiento de palabras nativas y usa una ruta rápida
uint64. El decodificador escala linealmente con asignaciones limitadas y conserva el comportamiento de truncamiento.
📦 Cambios adicionales
Sección titulada «📦 Cambios adicionales»- Estabilizó los tipos de universo compatibles: La serialización FLAT ahora proporciona etiquetas estables para los valores G1, G2 y del bucle de Miller de BLS12-381, además de los tipos de matrices y valores, y devuelve bytes idénticos después de los recorridos de ida y vuelta. Los tipos
ProtoArrayyValueadmiten análisis y formato; el motor de ejecución conserva la identidad de las matrices y los valores, valida las entradasValuecanónicas y el decodificador rechaza las cargas BLS independientes no compatibles.Machine.RunContext(ctx, term)proporciona cancelación síncrona,valueDataacepta como máximo 40.000 entradas y el decodificador impone un límite de 64 bytes en las hojas o fragmentos de cadenas de bytes codificadas en CBOR; las infracciones devuelvenDecodeLimitError.
📋 Información importante
Sección titulada «📋 Información importante»Las integraciones que usan análisis con contexto o manejo de entradas con límites deben actualizar sus rutas de error para adaptarse a las nuevas comprobaciones de validación y límites.
🙏 Agradecimiento
Sección titulada «🙏 Agradecimiento»Gracias por usar Plutigo.
Comparar: v0.4.0…v0.5.0
Docs authored by Doc Holiday