Repository navigation
2026.9.10
Changes for existing servers
- In a
multipart/form-databody, the parts of an array-valued field are now namedname[]: checkbox and radio sets, a lone checkbox,select[multiple], and a file input withmultiple. A single-valued field keeps its bare name. JSON bodies are unchanged. A server written to the earlier bare-key naming must map the suffix back. See Field Names and Values in the submission protocol. - An authored
namemust not end in[].
New
- A PHP implementation of the server.
php/holds the server parser conformance class and the envelope layer as the Composer packagewebsanity/formsanity(PHP 8.4+). It is written from the specs and pinned by the shared vectors, the demo pages, and a replay of what the client posts.docs/php.mdshows how to use it. A Composer install carries only the PHP product, the specs, the vectors, and the docs. - The spec's
durationandus-dollarpattern rows are restored, the server's reading of a partly relevant set is stated, and a value that names no member of a choice group is arelevancefailure.
Full Changelog: 2026.9.9...2026.9.10