Updates
<p>What changed in each PhlatPage release.</p>
Current state
Alpha. The latest release is v0.5.2.
The core framework is built and running: pages as JSON folders, a SQLite registry with a query DSL and full-text search, a per-page file store with image variants, and fieldtypes including the stack, blocks, repeater and collection containers. Git-backed drafts, publish and revisions are part of core. Locked records are enforced, and anything an addon ships is read-only to the CMS. Built-in addons cover the admin, the CLI, Clockwork debugging and a UI component set.
Tests cover the Toolkit classes and the core system: pages, routing, the registry, files, locking, page moves and addon mounts. The built-in addons have none yet.
Roadmap
- Stabilize the admin UI
- Add test coverage for the built-in addons
Each entry below covers one tagged release.
-
<p>The release tasks are renamed: phlat:tag tags and pushes, phlat:release publishes the Forgejo release.</p>
-
v0.9.2 19 Oct 2026<p>The cache and History's deploy key move out of data/storage into data/cache and data/git.</p>
-
v0.9.1 19 Oct 2026<p>composer.lock is tracked, and backup:create reports what it is doing.</p>
-
v0.9.0 19 Oct 2026<p>Collection items move out of per-item folders into one SQLite database per collection field, which is never in git.</p>
-
v0.8.1 19 Oct 2026<p>collection:export and Csv are removed, and Record::create() requires a guard.</p>
-
v0.8.0 19 Oct 2026<p>Blocks can opt into a server-side fragment cache, collections gain count, sum and prune, and a registry rebuild refuses other requests with a 503 instead of exposing a half-built index.</p>
-
v0.7.9 18 Oct 2026<p>Every record is created through Record::create(), so two creators of the same slug or uuid can't both win.</p>
-
v0.7.8 18 Oct 2026<p>Saves lock against concurrent writers, the admin uploads several files at once with a progress bar, and the edit panel remembers its tab.</p>
-
v0.7.7 17 Oct 2026<p>Outbound Http requests start at once and run concurrently, and their responses are read lazily.</p>
-
v0.7.6 17 Oct 2026<p>A file is public exactly when a template has asked for its URL, recorded in the registry instead of the file's index.json.</p>
-
v0.7.5 17 Oct 2026<p>The login URL comes from the mounted login page, and the PHP memory limit drops to 64M.</p>
-
v0.7.4 14 Oct 2026<p>env.json and env.cli.json move back to data/.</p>
-
v0.7.3 6 Oct 2026<p>Hidden belongs to Page, and a collection item has no published or hidden flag of its own.</p>
-
v0.7.2 6 Oct 2026<p>A page with no published key in its index.json is live.</p>
-
v0.7.1 6 Oct 2026<p>Admin saves are recorded in History automatically, and the Changes page becomes a History page with one Sync button.</p>
-
v0.7.0 5 Oct 2026<p>The registry search index is keyed by registry id, and a rebuild no longer takes quadratic time.</p>
-
v0.6.2 5 Oct 2026<p>URLs are limited to lowercase slugs and file names, error messages and URL fields are locked down, and registry queries escape LIKE wildcards.</p>
-
v0.6.1 3 Oct 2026<p>A field's context (path, uuid, page, view, url) is passed apart from the options its author wrote.</p>
-
v0.6.0 3 Oct 2026<p>Worker mode, SSE and the admin Templates screen are removed, the ui addon becomes a set of daisyUI components, Clockwork does nothing unless debug is on, and the session classes split into login and scoped values.</p>
-
v0.5.4 3 Oct 2026<p>A site's override of an addon view now gets the site's global controller data.</p>
-
v0.5.3 3 Oct 2026<p>Pages get a published flag and an access limit that visitors and queries both respect, and the admin gains a page Settings tab, a ⌘K search palette and page status lights.</p>
-
v0.5.2 1 Oct 2026<p>The page tree shows published, draft, uncommitted and locked state as four status dots.</p>
-
v0.5.1 1 Oct 2026<p>Locked records and addon-shipped pages are enforced, pages can be moved, the query engine is split out of the registry, and fields gain previews, a pages fieldtype and color palettes.</p>
-
v0.5.0 30 Sep 2026<p>Git history moves into core, addons are referenced by alias and mounted from config, and the global helper functions become template functions.</p>
-
v0.4.5 30 Sep 2026<p>The edit panel follows preview navigation, and a draft flag guards unsaved changes.</p>
-
v0.4.4 30 Sep 2026<p>The admin navigation is rebuilt around a page tree, a page picker and dual panels, and dead page routes are removed.</p>
-
v0.4.3 30 Sep 2026<p>The dev image moves to Alpine and compose pulls it prebuilt, and resolveField() keeps its underscore context keys again.</p>
-
v0.4.2 30 Sep 2026<p>The admin is reorganized: browse becomes edit, search is its own page, and a nav bar replaces the toolbar links.</p>
-
v0.4.1 30 Sep 2026<p>Fixed the image publish task failing when more than one tag points at HEAD.</p>
-
v0.3.5 29 Sep 2026<p>Pages autosave drafts with a draft/published preview toggle, the Changes page gets diffs and bulk actions, and password becomes a fieldtype.</p>
-
v0.3.4 29 Sep 2026<p>Users get profile fields and avatars, the admin gets a profile page, and the first system tests land.</p>
-
v0.3.3 29 Sep 2026<p>The admin head gets a site override hook, and the logo moves to a top-level template.</p>
-
v0.3.2 28 Sep 2026<p>Before hooks now run on auto-rendered pages, the runtime image no longer bakes in site/, and the preview resizes without reloading.</p>
-
v0.3.1 28 Sep 2026<p>The release Docker image gets zip support so Composer isn't stuck without it.</p>
-
v0.3.0 28 Sep 2026<p>The hand-written docs browser is replaced by a live reference generated from PHP reflection, the runtime moves to FrankenPHP with optional worker mode, and a self-contained Docker image ships for releases.</p>
-
v0.2.5 28 Sep 2026<p>The git addon gets its own SSH deploy key so push/pull/fetch don't depend on a human's credentials, a hand-written docs browser lands in admin, and the current release tag shows on the dashboard.</p>
-
v0.2.4 28 Sep 2026<p>A substantial admin UI overhaul: a real icon-grid dashboard homepage, a collapsible edit panel with a mobile/tablet/desktop preview toggle, full git branch and remote management from the Changes page, and per-action permission checks across nearly every admin write route.</p>
-
v0.2.3 28 Sep 2026<p>registry:check gains drift detection and a --heal flag, and the reactive heal added last release now keeps the field index in sync too.</p>
-
v0.2.2 28 Sep 2026<p>The Souin HTTP cache layer is dropped for standard Cache-Control headers, full registry rebuilds now commit in chunks, and pages get a cheap opportunistic registry heal.</p>
-
v0.2.1 28 Sep 2026<p>A one-line gitignore fix for paths the data/ move left stale.</p>
-
v0.2.0 28 Sep 2026<p>Runtime state - pages, users, the registry, file variants - moves out of site/ into a new sibling data/ root, a site-wide Changes page adds publish/discard for pending edits, and images drop their old eager-mirror-to-disk behavior.</p>
-
v0.1.4 25 Sep 2026<p>Click-to-edit lands: clicking an annotated field in the live preview jumps straight to it in the edit form, plus a datetime string-conversion fix, a required user-role select, and bun dropped from the JS toolchain.</p>
-
v0.1.3 25 Sep 2026<p>A big admin-UX pass: Cmd/Ctrl+K spotlight search replaces the sidebar, per-file metadata fields become a general mechanism, drag-and-drop lands for uploads and reordering, and Users gets the same master-detail treatment as Views.</p>
-
v0.1.2 23 Sep 2026<p>The CLI ships in-tree as a built-in addon, Views and Fields merge into one admin screen, Addons folds into a new System page, and a Latte bug that dropped trailing markup gets fixed.</p>
-
v0.1.1 23 Sep 2026<p>Field definitions drop out of the registry, and the experimental qbixserver dev server is gone.</p>
-
v0.1.0 14 Aug 2026<p>File-type guards tighten - icons are never treated as resizable images, and forcing an image type on a non-image file now fails loudly.</p>
-
v0.0.73 14 Aug 2026<p>An ASCII slug helper, case-insensitive string replace, and a guard against pointing Phlat at the wrong root - plus an experimental bundled dev web server.</p>
-
v0.0.72 25 Jul 2026<p>Session idle timeouts, a Clockwork CLI fix, and a symlink-safe entry point for shared-dir deploys.</p>
-
v0.0.71 16 Jul 2026<p>Object, blocks, and stack fields get full admin sub-field editing, and collections get a paginated manage panel.</p>
-
v0.0.70 15 Jul 2026<p>Registry admin table switched to infinite scroll, and standard-sized UI controls restored in a few admin panels.</p>