Tags give the ability to mark specific points in history as being important
-
v0.2.6
93ef26ad · ·Release v0.2.6 — RequestContext rename + structural cleanup Addresses architectural critiques raised by henderkes / olle.haerstedt on the G class structure. Backward-compatible via class_alias. - G renamed to RequestContext (\ZealPHP\G remains via class_alias) - Response state moved from G onto Response ($response->headersList etc.) - Apache shim state moved to ZealPHP\Legacy\ApacheContext (lazy) - #[AllowDynamicProperties] removed; previously-dynamic props declared - Return-by-reference autovivification eliminated in coroutine mode - Dead prefork_request_handler() deleted (CGI bridge supersedes it) - debug_backtrace() in instance() removed - Redundant isset() in CoSessionManager simplified External API for framework-internal arrays changed; uopz overrides (header, setcookie, apache_setenv) are unaffected. All 155 tests pass.
-
v0.2.5
371e3737 · ·Release v0.2.5 — security fix: HTTP response splitting The uopz header() override didn't reject CRLF/NUL in values, breaking PHP's native protection (in place since 4.4.2). User-controlled input passed to header() / setcookie() / redirect() could smuggle additional response headers, enabling session fixation and cache poisoning. All entry points patched: - header(), Response::header() - Response::redirect() - setcookie(), setrawcookie() Cookie name char-class rules now match PHP native setcookie. 9 new regression tests added. All v0.2.x releases prior to v0.2.5 are affected. Upgrade recommended.
-
v0.2.4
41cf90b1 · ·Release v0.2.4 - max_request=100000 default — bounded worker recycling for long-running PHP, with ZEALPHP_MAX_REQUEST env var override. - Scaffold defaults to coroutine mode (App::superglobals(false)) — aligns with the documented "recommended for new projects" stance and sidesteps the worker-state-leak class of issues for greenfield apps. - Framework default (App::$superglobals = true) is unchanged for backward compatibility with existing installs upgrading via composer update.
-
v0.2.3
e6a4e0a3 · ·Release v0.2.3 - SessionStartMiddleware: eager session for first-time visitors - 14-lesson tutorial redesign with pedagogical structure - Lesson 5: React vs PHP (frontend-agnostic positioning) - AI agent calls HTTP API with session cookie auth - Mermaid diagrams with pop-out zoom/pan viewer - Event log terminal, note animations, concept check quizzes - Inline auth error feedback via htmx - Notes API JSON content negotiation
-
v0.2.2
6f838cba · ·Release v0.2.2 - 13-lesson /learn tutorial: Notes + AI Chat app with htmx, SQLite, SSE, WebSocket - src/Learn/ namespace: 6 autoloaded classes (Auth, Chat, Notes, DB, ChatHistory, WS) - 8 ZealAPI endpoint files (api/learn/) - Python OpenAI Agents SDK notes agent with 6 function tools - WebSocket session support in framework (App.php onOpen) - ZealAPI SSE streaming fix (ZealAPI.php _streaming check) - PSR-2 coding standards codified in CLAUDE.md - htmx site-wide (hx-boost), cache-busting asset URLs - 259 tests, 600 assertions
-
v0.2.1
4c002024 · ·Release v0.2.1 — homepage redesign + Apache parity hardening (re-tagged with sitewide ^0.2.1 install refs)
-
-
-