Skip to content

Pico

v0.2.0 Breaking

This release includes 1 breaking change for platform teams planning a safe upgrade.

Published 15d Editors & IDEs
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

bytecode-vm c compiler compiler-design embeddable embeddable-scripting-language
+6 more
interpreter language programming-language register-vm scripting-language virtual-machine

ReleasePort's take

Light signal
editorial:auto 12d

Pico v0.2.0 introduces a comprehensive public C embedding API and associated VM lifecycle, evaluation, native function registration, error handling, and callback features.

Why it matters: The new C embedding API (severity 40) enables direct integration of the PiCo runtime into host applications, providing control over script execution, error reporting, and native‑function interop for developers building embedded systems.

Summary

AI summary

Added a public C embedding API with VM lifecycle, evaluation, native function registration, and error handling.

Changes in this release

Feature Medium

Adds public C embedding API in `pico.h`

Adds public C embedding API in `pico.h`

Source: llm_adapter@2026-07-15

Confidence: high

Feature Medium

Adds embeddable runtime library target `libpico.a`

Adds embeddable runtime library target `libpico.a`

Source: llm_adapter@2026-07-15

Confidence: high

Feature Medium

Adds VM lifecycle APIs: `pico_vm_create()` and `pico_vm_destroy()`

Adds VM lifecycle APIs: `pico_vm_create()` and `pico_vm_destroy()`

Source: llm_adapter@2026-07-15

Confidence: high

Feature Medium

Adds source evaluation from C via `pico_vm_eval()`

Adds source evaluation from C via `pico_vm_eval()`

Source: llm_adapter@2026-07-15

Confidence: high

Feature Medium

Adds C-to-PiCo function calls with `pico_vm_call()`

Adds C-to-PiCo function calls with `pico_vm_call()`

Source: llm_adapter@2026-07-15

Confidence: high

Feature Medium

Adds PiCo-to-C native function registration via `pico_vm_register_native()`

Adds PiCo-to-C native function registration via `pico_vm_register_native()`

Source: llm_adapter@2026-07-15

Confidence: high

Feature Medium

Adds public value helpers for null, bool, and number types

Adds public value helpers for null, bool, and number types

Source: llm_adapter@2026-07-15

Confidence: high

Feature Medium

Adds runtime error access via `pico_vm_last_error()`

Adds runtime error access via `pico_vm_last_error()`

Source: llm_adapter@2026-07-15

Confidence: high

Feature Medium

Adds output and error callbacks: `pico_vm_set_output()` and `pico_vm_set_error_output()`

Adds output and error callbacks: `pico_vm_set_output()` and `pico_vm_set_error_output()`

Source: llm_adapter@2026-07-15

Confidence: high

Feature Low

Adds install support for binary `pico`, header `pico.h`, library `libpico.a`, documentation, and examples

Adds install support for binary `pico`, header `pico.h`, library `libpico.a`, documentation, and examples

Source: granite4.1:30b@2026-07-15-audit

Confidence: low

Bugfix Medium

Prevents embedded scripts from terminating host process via `os.exit()`

Prevents embedded scripts from terminating host process via `os.exit()`

Source: llm_adapter@2026-07-15

Confidence: high

Full changelog

Host programs can now create a PiCo VM, evaluate PiCo source code, register native C functions, call PiCo functions from C, capture script output, and read runtime errors.

Highlights

  • Added public C embedding API in pico.h
  • Added embeddable runtime library target libpico.a
  • Added VM lifecycle APIs:
    • pico_vm_create()
    • pico_vm_destroy()
  • Added source evaluation from C:
    • pico_vm_eval()
  • Added C-to-PiCo function calls:
    • pico_vm_call()
  • Added PiCo-to-C native function registration:
    • pico_vm_register_native()
  • Added public value helpers for:
    • null
    • bool
    • number
  • Added runtime error access:
    • pico_vm_last_error()
  • Added output and error callbacks:
    • pico_vm_set_output()
    • pico_vm_set_error_output()
  • Embedded scripts can no longer terminate the host process through os.exit()
  • Added embedding examples
  • Added an external CMake example for linking against an installed PiCo runtime
  • Added install support for:
    • pico
    • pico.h
    • libpico.a
    • documentation
    • examples

The public value API is intentionally small in this release. It currently supports null, bool, and number.

Breaking Changes

  • os.exit() can no longer terminate the host process

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track Pico

Get notified when new releases ship.

Sign up free

Beta — feedback welcome: [email protected]