v0.4.2
Highlights
v0.4.2 makes raw PHP scalars the default for generated method arguments, so out of the box you can pass plain int/float/string without wrapping them in \Pnlx\Types\*. It also ships the in-repo agent skills documentation under .agents/.
use_php_scalars_in_params on by default
features.use_php_scalars_in_paramsnow defaults totrue: generated methods accept a raw PHP scalar argument directly, instead of requiring a\Pnlx\Types\*wrapper.- Applied consistently across every layer that resolves the flag:
- Rust manifest serde default (
#[serde(default = "default_true")]) and thePnlFeaturesDefaultimpl. - PHP
Pnlx\Runtime::useScalarsInParams()falls back totruewhen the key is absent frompnl.json, so hand-written manifests that omit the field behave the same as generated ones. - JSON schema (
schemas/pnl/2026-07-01/schema.json) now records"default": true.
- Rust manifest serde default (
- To keep the stricter wrapper-only behavior, set
features.use_php_scalars_in_paramstofalseinpnl.json.
Removed the redundant install flag
- Dropped
pnl install --enable-use-php-scalars-in-paramsand itsInstallOptionsplumbing — the feature is on by default, so opting in is no longer needed. Opting out is done by editingpnl.json.
Agent skills documentation
- Added
.agents/skills/guidance:pnl-usage,pnl-php-sdk, andpnlx-authoringSKILL.mdfiles (surfaced to Claude Code via the.claude/skillssymlink).
Documentation
- Updated
docs/en/configuration.mdanddocs/ja/configuration.mdto describetrueas the default forfeatures.use_php_scalars_in_params.
Validation
- Rust:
cargo build,cargo clippy,cargo fmt --check, andcargo test(152 passed) all clean. - PHP: PHPUnit (61 tests, 276 assertions) and PHPStan level max pass.