Skip to content

Release Notes - v0.6.0

Title: Improve evaluation reliability, data handling, and conformance coverage

Date: September 7, 2026

Version: v0.6.0

Comparison: v0.5.1…v0.6.0

This release improves Plutigo evaluation reliability, data handling, JSON safety, cost model isolation, and conformance verification.

  • Added explicit Plutus data normalization: data.Normalize now creates independent copies of constructor, map, and list values, resets their definite or indefinite encoding state, copies mutable constructor tags, and handles containers stored in value form. Callers must apply it at the script or evaluator boundary to give scripts a fresh canonical encoding without changing the bytes preserved by Decode.
  • Improved evaluation error reporting: Script evaluation now preserves script, built-in function, and type error classes, matches context cancellation and deadline errors, maps unexpected evaluator failures to internal errors, and maps unexpected built-in function failures to built-in errors. These classifications make failures easier to identify and handle reliably.

  • Bounded JSON parsing: Plutigo now checks nesting depth and node count while parsing, before allocating the complete tree, and reports parser limit errors while accepting structures at the semantic boundary. This limits resource use while preserving valid boundary cases.

  • Isolated cost model settings: Each evaluation now uses independent built-in cost settings, preventing shared mutable defaults, data races, and unpredictable execution unit results during concurrent evaluations.

  • Expanded conformance verification: The harness now recursively finds .uplc and .flat fixtures under tests/conformance, requires canonical or legacy budget files, separates parse and decode failures from evaluation failures, compares FLAT encoded output byte for byte and text output as formatted terms, checks CPU and memory budgets, and selects V3 or V4 language and protocol settings by path. Fixtures with missing budget files or inconsistent failure markers now fail validation, and the harness leaves runtime behavior unchanged.

Thank you for using Plutigo.



Doc Holiday logo

Docs authored by Doc Holiday

Edit page

Last updated: