v0.0.x: Early releases

15 June 2026

Pre-alpha, v0.0.0 to v0.0.73: the core framework, a first admin, and the first sketches of most of what ships today.

Summary

Pre-alpha. Seventy-odd small releases took PhlatPage from an import of an older framework to a running core. Each one is folded into this entry; the git history has the detail.

What came out of it

  • Pages and the registry. A page is a folder with index.json and data.json, no database for content. A SQLite registry indexes them, with a query DSL (limit, offset, dot-paths) and FTS5 full-text search, including weighted and fuzzy matching.
  • Records. The universal index.json/data.json split moved onto Record, and the Record, Page and User hierarchy was collapsed. Page::new() creates pages from code.
  • Files and images. Page-UUID file identity, a public file mirror, image variants with a transform DSL, layered presets and effects, and a configurable image driver.
  • Fields. The field and fieldtype system with site and addon overrides, Field/FieldValue split, validation, and the blocks, stack, object and collection containers.
  • Routing and views. {name} route tokens, real before/after hooks, view-scoped routers and controllers, tiered error templates, block-targeted rendering, and the {fragment} and {companion} Latte tags.
  • Addons. Loading from addons/ and site/addons/, automatic @alias names, addon-provided fieldtypes and fields, and the first admin, Clockwork and UI addons.
  • Platform. PHP 8.4 property hooks, a Toolkit with its first PHPUnit tests, a permission system, session scoping and idle timeouts, a CSP nonce, an env.cli.json override, and Deployer-safe entry points.
  • History. Git-backed drafts and publish history appeared in v0.0.12, and was reworked several times before v0.5.

Since removed

Worker mode (classic FrankenPHP mode is the default), the SSE toolkit, the first collection fieldtype, the admin template editors, and the old page-tree UI.

Comments

No comments yet. Be the first!

Loading form…