Notas de la versión - v0.9.0
Título: Mejorar el procesamiento acotado y la evaluación contextual
Versión: v0.9.0
URL de la versión: https://github.com/blinklabs-io/plutigo/releases/tag/v0.9.0
Comparación: v0.8.1…v0.9.0
Compatibilidad de red recomendada ⚠️
Sección titulada «Compatibilidad de red recomendada ⚠️»| Red | Compatible |
|---|---|
| mainnet | ⛔ |
| preprod-testnet | ✅ |
| preview-testnet | ✅ |
| musashi | ✅ |
Esta versión refuerza la seguridad de las entradas y salidas, añade una evaluación validada con cancelación y métricas, y hace más predecible la ejecución de reproducciones.
Seguridad y formato
Sección titulada «Seguridad y formato»- Mejoró la decodificación FLAT y el análisis de texto: aplicó límites predeterminados de
16 MiBpara la entrada,1,048,576nodos de programa,524,288elementos por colección y límites dependientes del protocolo para los campos de los constructores. Plutigo ahora rechaza las entradas, cantidades de nodos y anchos de colección que superan los límites antes de procesarlos.PrettyWithLimitsyPrettyTermWithLimitsaceptan límites configurables de profundidad y salida, mientras quePrettyyPrettyTermusan valores predeterminados seguros y devuelven una cadena vacía cuando falla un límite.NameToDeBruijnahora usa búsquedas de tiempo constante en el mapa de profundidades y restaura correctamente los nombres ocultos por sombreado.
Evaluación y reproducción
Sección titulada «Evaluación y reproducción»- Amplió
cek.EvaluateText: el llamador proporciona el lenguaje del libro mayor y el contexto del protocolo, y la función admite la validación de fase uno, el control de la versión de ejecución, la cancelación yMachine.RunContext. Plutigo ahora validaEvalContexty los modelos de costes de la máquina, rechaza costes no válidos y satura la aritmética del presupuesto y los costes en lugar de permitir el desbordamiento circular. Las métricas CEK opcionales informan de los pasos, la profundidad máxima de la pila y los recuentos y presupuestos de llamadas por función incorporada. La carga y ejecución de reproducciones ahora aceptan contexto y límites, aplican los presupuestos del conjunto de pruebas y de los casos antes de decodificar, propagan la cancelación e impiden que Plutigo marque como correctos los casos cancelados. La documentación para quienes integran Plutigo y los ejemplos ejecutables cubren las API actualizadas, los ejemplos de uso reflejan el nuevo comportamiento y la disponibilidad de las funciones incorporadas de PV11 cuenta con cobertura de conformidad. Cambio incompatible:NewMachineahora requiere unEvalContextválido y no nulo, y las API de carga y ejecución de reproducciones requieren contexto y límites.
Docs authored by Doc Holiday