Skip to content

3.11.31

Choose a tag to compare

@github-actions github-actions released this 25 Apr 09:26
· 1147 commits to v3 since this release

release: v3.11.31 — Live Docs (live API RAG) + dev-admin UX overhaul

The framework is now a live RAG. AI tools (Claude Code, Cursor,
dev-admin chat) hit /__dev/api/docs/* on the running server and get
ground-truth signatures for both framework public API AND the user's
own src/ code via Tina4\Docs reflection. No staleness, no cross-version
drift, no privacy concerns — the running server IS the source of
truth. Auto-discovery via .tina4/mcp.json so MCP-aware tools just find
it. See plan/v3/22-LIVE-API-RAG.md for the full design.

Major surface:

  • New \Tina4\Docs class — token-parser reflection over Tina4/* and
    the user's src/{orm,routes,app,services,services} dirs. Search,
    classSpec, methodSpec, index, drift detection, sync. 16 tests.
  • HTTP /__dev/api/docs/{search,class,method,index,.well-known.json}
    endpoints — thin wrappers around Docs.
  • MCP tools api_search / api_class / api_method registered alongside
    existing docs_* (markdown search) — same names across all 4
    frameworks for cross-framework AI-tool compatibility.
  • .tina4/mcp.json auto-discovery written on first server boot in
    debug mode. .gitignore amended automatically.

Dev-admin UX overhaul (cross-framework parity in the same release wave):

  • Dev toolbar now injects on 404 / 403 / 500 error pages — error
    pages are no longer dead-ends.
  • Error overlay HTML embeds the toolbar inline, with a one-click
    link to the dev-admin SPA.
  • Dev-admin overlay state persisted to localStorage so saving a file
    (which kicks the file watcher → page reload) doesn't dismiss the
    user's chat / plan / file tree. Auto-restored on next page paint.
  • opcache_reset() on server boot in debug mode + opcache_invalidate()
    per-file on /__dev/api/reload POST. Fixes the symptom where
    patched method calls report "Call to undefined method ::template()"
    long after the source has been corrected.

Documentation cleanup (CLAUDE.md):

  • Phantom methods removed: AI::detectAi/AI::detectAiNames/
    AI::installContext/AI::statusReport (replaced with the real
    isInstalled/showMenu/installSelected/installAll/generateContext
    surface), Api::addCustomHeaders → addHeaders,
    Api::setUsernamePassword → setBasicAuth,
    Migration::doMigration → migrate.
  • \Tina4\Debug::message rewritten to Log::debug/info/warning/error
    (the real class name).

PHPUnit: 2410 / 2410 still green. New: DocsTest (16 examples).
4 PHP-deprecation warnings remaining (down from 7) — all in test
files (setAccessible), out of scope for framework releases.