Skip to content

Tags: ktav-lang/php

Tags

v0.8.1

Toggle v0.8.1's commit message
Ktav PHP 0.8.1: native and standalone pure PHP backends

v0.8.0

Toggle v0.8.0's commit message
PHP ktav 0.8.0

v0.6.4

Toggle v0.6.4's commit message
Release PHP binding 0.6.4

v0.6.0

Toggle v0.6.0's commit message
php 0.6.0 — key escaping (sync with Ktav spec 0.6.0)

v0.5.0

Toggle v0.5.0's commit message
Release 0.5.0 — Ktav spec 0.5.0

v0.3.1

Toggle v0.3.1's commit message
Release 0.3.1 — sync to ktav 0.3.1 + spec 0.1.1

v0.3.0

Toggle v0.3.0's commit message
Release 0.3.0 — sync to ktav 0.3.0

Thin bump — PHP binding wraps the Rust ktav crate via FFI/cdylib.
Behaviour change from upstream:
- key: (value) and key: ((value)) now error with
  InlineNonEmptyCompound { body: paren-string }. Use raw form key:: (value).

Cargo.toml: ktav 0.2.0 → 0.3.0; package version 0.2.0 → 0.3.0.
NativeLib::LIB_VERSION: 0.1.1 → 0.3.0 — was stale, runtime now fetches
the matching cabi asset from the v0.3.0 GitHub Release.
spec submodule synced (paren-string fixtures tightened — 46d94a7).
CHANGELOG.md updated.

All 101 specs pass locally (Kahlan).

v0.2.0

Toggle v0.2.0's commit message
Release 0.2.0

v0.1.2

Toggle v0.1.2's commit message
0.1.2: pick up ktav 0.1.5 (structured errors API)

Upstream Rust crate now exposes Error::Structured(ErrorKind) with
byte-offset spans, retroactive #[non_exhaustive] on the error
enums, and a public ktav::thin event-based parser. The PHP
binding's user-visible behaviour is unchanged: KtavException
carries the same human-readable message (Display strings for the
seven canonical categories are byte-identical to ktav 0.1.4 —
verified by ktav's own pinning tests).

Mapping ktav::ErrorKind to a structured PHP exception hierarchy
(KtavMissingSeparatorSpaceException, KtavDuplicateKeyException,
etc.) is separate follow-up work, tracked in the workspace's
STRUCTURED_ERRORS.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>