Skip to content

2026.9.10

Choose a tag to compare

@janscarton janscarton released this 10 Sep 06:15
· 3 commits to main since this release

Changes for existing servers

  • In a multipart/form-data body, the parts of an array-valued field are now named name[]: checkbox and radio sets, a lone checkbox, select[multiple], and a file input with multiple. 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 name must not end in [].

New

  • A PHP implementation of the server. php/ holds the server parser conformance class and the envelope layer as the Composer package websanity/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.md shows how to use it. A Composer install carries only the PHP product, the specs, the vectors, and the docs.
  • The spec's duration and us-dollar pattern 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 a relevance failure.

Full Changelog: 2026.9.9...2026.9.10