This release includes 1 breaking change for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
+6 more
ReleasePort's take
Light signalPico 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 summaryAdded a public C embedding API with VM lifecycle, evaluation, native function registration, and error handling.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| 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:
nullboolnumber
- 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:
picopico.hlibpico.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
About Pico
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]