Added Host Connectivity & Stability Telemetry system (includes/classes/Helper/StreamTelemetry.php) with RAM-to-DB periodic flushing (host_telemetry_{loadBalancerId}_{type}_{vHost}) for MySQL B-Tree index prefix range queries.
Added Browser client-side telemetry JavaScript library (public/assets/js/telemetry-v1.0.0.js / .min.js) with automatic global media capturing (autoInit) for dynamic player engines (Plyr, JWPlayer, HLS.js, Shaka, Novage P2P).
Added Frontend telemetry API endpoint (includes/views/frontend/telemetry.php) supporting CORS and non-blocking navigator.sendBeacon() browser reporting.
Added Horizontal Host Stability Rank ribbon bar with hover tooltips and host logos on the Video List page (includes/templates/backend/videos/list.twig).
Added Cache Tag Versioning system (getTagVersion, invalidateTag, invalidateTags, createVersionedKey) to InstanceCache to eliminate Phpfastcache tag index bloat in Redis.
Added Dynamic and configurable database cache timeouts (DB_CACHE_TIMEOUT_MIN, DB_CACHE_TIMEOUT_SETTINGS, DB_CACHE_TIMEOUT_VIDEOS) in config.php and ModelHelper::getCacheTimeout().
AddedAsyncHelper utility (includes/classes/Helper/AsyncHelper.php) with Redis single-flight locking (acquireLock, releaseLock, markDone, isProcessing) and asynchronous background process spawning (spawnBgGet) to eliminate concurrency stampedes and blocking waits.
Added Client-driven fast-polling support in API.php returning {"status":"processing","retry_in":800} and player-v4.7.1.js with animated status loader and progressive retry backoff.
Added Slug-based and alternative hash-based direct streaming URL routing (direct/mp4/{slug}, direct/hls/{slug}, direct/mpd/{slug}) in includes/views/frontend/direct.php and includes/views/backend/videos/edit.php.
Added Optional Redis instance injection support to CircuitBreaker static methods (isAvailable, recordFailure, recordSuccess) for compatibility with long-running application runtimes (Swoole, RoadRunner, background workers).
Added Circuit Breaker protection to Maxmind::getMaxmindIPInfo to prevent repeated lookups and fallback smoothly when IP info is missing or unavailable.
Added Modular script-bundle widget templates default-frontend-scripts.twig and default-backend-scripts.twig (includes/templates/widget/) extracted from inline footer <script> lists, enabling per-theme overriding of frontend and backend script bundles.
Addeddefault-header-scripts.twig widget template (includes/templates/widget/) extracting inline header <script> bootstrap variables (jQuery, adminURL, baseURL, vidHosts, themeColors) from header.twig into a reusable, per-theme overridable bundle.
Improved Enhanced local subtitle processing (includes/views/frontend/subtitle.php) to directly stream or serve cached WebVTT conversions for local uploads without external HTTP proxy overhead.
Improved Enhanced Parser.php to support custom poster query parameter (poster) and prioritize pre-set metadata while preserving existing video title and poster fallbacks.
Improved Migrated Ajax file upload handling across controllers (PublicAjax, VideoAjax, VideoImportAjax, VideoSubtitleAjax, SubtitleManager) to PSR-7 UploadedFileInterface.
Improved Enhanced Stream::stream routing to conditionally utilize CURLOPT_FILE with php://output on non-Windows platforms when temporary chunk caching (fpChunk) is not active.
Improved Streamlined InstanceCache driver connections (includes/classes/Service/InstanceCache.php) to exclusively support Redis, Predis, and Files (Filesystem) drivers, eliminating legacy drivers (Memcached, Memcache, APCu, SQLite) for optimized high-concurrency performance.
Improved Bumped player JavaScript runtime to v4.7.1 (public/assets/js/player-v4.7.1.js / .min.js) and updated player CSS (public/assets/css/player-v3.4.0.css / .min.css).
Improved Refactored video CSV import: moved parsing to frontend using PapaParse (public/assets/vendor/papaparse/5.4.1/papaparse.min.js), batching records into JSON payloads (up to 10 rows per batch) sent to importVideosBatch endpoint, eliminating server-side file uploads, polling overhead, and import cancellation complexity.
Improved Streamlined VideoImportAjaxTrait (includes/classes/Ajax/VideoImportAjaxTrait.php) to focus on single-row JSON validation (validateImportRow()) and removed obsolete CSV extractors.
Improved Replaced Phpfastcache array-based tag sets (addTags) with versioned cache keys in Model.php (get, getOne, getNumRows, getTotalRows, getWhereIn), reducing Redis memory overhead and avoiding Tag Garbage Collection issues.
Improved Bumped player JavaScript runtime to v4.7.0 (public/assets/js/player-v4.7.0.js / .min.js) and updated asset pipelines in package.json and sw.js.
Improved Standardized circuit breaker cooldown (300 seconds) and failure threshold (3) across services.
Improved Optimized CloudflareProxy settings caching to prevent redundant database queries under high concurrency.
Improved Replaced in_array lookups with O(1) hash lookups in hot execution loops.
Improved Added max retry limits and exponential backoff to background download and extraction loops.
Improved Removed synchronous script loading deferral on player script elements (jwplayer.twig, plyr.twig, body_bottom.twig) to ensure consistent initialization order.
Improved Renamed default-script.twig to sw.twig and remapped its template key from default_script to sw_script in HTML::renderTemplate(), referenced from the new default-frontend-scripts.twig and default-backend-scripts.twig bundles.
Improved Merged template-loading context in HTML::renderTemplate() using array_merge in place of array_replace and reordered frontend/backend script bundles ahead of caller-supplied templates so theme overrides win.
Improved Extracted PluginThemeManagerTrait (includes/classes/Service/PluginThemeManagerTrait.php) from PluginManager and ThemeManager to centralize shared plugin/theme file extraction and version-check logic, and refactored Stream::createCacheFilePath() and Setter property initialization for cleaner cache-file path resolution.
Improved Extracted InstanceCacheTrait (includes/classes/Service/InstanceCacheTrait.php) from InstanceCache to modularize cache driver initialization, tag versioning, and invalidation logic.
Improved Replaced ServerConfigFileUpdater with ServerConfigManager (includes/classes/Service/ServerConfigManager.php) for generating server configuration files (nginx, .htaccess) from Twig templates with prioritized key-order resolution.
Improved Translated video CSV import UI messages in main-v4.0.1.js from Indonesian to English for consistent internationalization.
Fixed Fixed subtitle edit validation and file upload handling in VideoSubtitleAjax.php.
Fixed Added transient HTTP status codes 408 (Request Timeout) and 504 (Gateway Timeout) to cURL retry handler in Stream.php.
Fixed Added explicit CDN cache prevention headers (CDN-Cache-Control: no-store, Cloudflare-CDN-Cache-Control: no-store) for error and non-cacheable responses in functions.php.
Fixed Bypass unnecessary shutdown proc_open execution in Swoole and RoadRunner runtimes.
Fixed Handled cURL handle cleanup safely for PHP 8.5 compatibility in VideoSource and GoogleDriveRestAPI.
Fixed Fixed AjaxHelper::__construct() to parse raw JSON request bodies via customJsonDecode() so batched video import payloads reach importVideosBatch instead of being dropped.
Fixed Fixed VideoImportAjax::persistImportRow() to reject rows whose main video_url fails validateUrl() and to cast id to (int) in the DataTable response.
Fixed Fixed Google Drive HLS playback redirect in Master::redirectToOriginalUrl() to set the browser User-Agent header for isGoogleHls() hosts instead of forcing an inline Content-Disposition redirect, and renamed the isDownloadable property to isDownload for consistent download-flag handling across Master.php.
Sep 19, 2026 (v4.8.6-p5)
AddedThemeManager service supporting dynamic active theme resolution, discovery, and automated theme synchronization (syncThemeFile, downloadThemeFile, extractThemeZip).
Added Theme synchronization endpoint (includes/views/backend/themes/sync.php) supporting background zip creation, file locking, and download streaming stored in themes/tmp/.
Added Automated theme synchronization loop to background worker (includes/bg_general.php).
Added Comprehensive theme development guide (themes/README.md) documenting folder conventions, Twig template overriding, symlinks, and composer.json Semantic Versioning.
Added MySQL replication setup and management utility scripts (resources/scripts/mysql-master-setup.sh, mysql-replica-setup.sh, mysql-replica-add-db.sh).
Added Resend HTTP REST API mailer integration (Resend.php) as an alternative email provider alongside SMTP and Mailgun.
Added Modern custom HTML error pages for HTTP 404 Not Found (public/404.html) and HTTP 502 Bad Gateway (public/502.html) with responsive design and ambient glow effects.
Added Modular Twig template widgets: light-dark-mode.twig (theme switcher) and meta-icon-prefetch.twig (SEO metadata, favicons, and prefetch links).
Added Added Content-Encoding and Content-Range to CORS exposed headers (Access-Control-Expose-Headers) in createResponseHeaders().
Improved Bumped player JavaScript runtime to v4.6.9 (public/assets/js/player-v4.6.9.js), extracting error styles to public/assets/css/error.css and optimizing button event handlers.
Improved Refactored PluginManager::extractPluginZip() and shouldUpgradePlugin() to prevent overwriting existing plugins unless the archive contains a newer version.
Improved Excluded tmp/ folder from available themes listing in ThemeManager::getAvailableThemes().
Improved Updated purgecss asset pipeline script (purgecss-dlhd.js) to ECMAScript modules (ESM) with theme JS directory scanning.
Improved Refactored and modularized CoreTrait and BackgroundTrait across Core and Service namespaces.
Improved Enhanced streaming request validation in Master::isValidRequest() with Smart TV detection and HTTP 403 protection.
Improved Optimized stream chunk caching and buffer delivery in Stream.php with cached disk free space checks and dedicated cURL callbacks.
Improved Hardened Nginx server configuration template with static assets caching, access deny rules, and custom error page routing.
Improved Hierarchical plugin routing fallback in PluginManager::dispatchPluginPage().
Fixed Fixed plugin uninstallation handling and default configuration template rendering in backend admin.
Fixed Fixed VTT subtitle header parsing and time offset calculation in includes/views/frontend/subtitle.php.
Fixed Hardened Twitch channel/video ID extraction in Extractor::twitch().
Fixed Fixed sources array structure validation in XVFSParser.
Fixed Prevented redundant re-downloading of existing plugin zip archives in PluginManager::downloadPluginFile() and sync handler.
Sep 11, 2026 (v4.8.6-p4)
Fixed Prevented ZipArchive::open() empty file deprecation warning in PluginManager by validating file existence and non-zero size before extracting or reading cached zip files.
Fixed Automatically clean up 0-byte downloaded plugin zip files.
Sep 11, 2026 (v4.8.6-p3)
Fixed Improved plugin extraction error handling and process locking in PluginManager.
Fixed Updated .htaccess rewrite rules.
Sep 11, 2026 (v4.8.6-p2)
Fixed Added MySQL auto-reconnect handling on connection drops (MySQL server has gone away).
Fixed Added flock file locking mechanism to plugin zip creation in sync handler.
Sep 11, 2026 (v4.8.6-p1)
Added Dedicated BackgroundTrait modularizing Unix/Windows PID process termination and safe graceful signals.
Improved Comprehensive code quality and cognitive complexity reduction across Core, Database, External, Helper, Hosting, Presentation, Service, and Views.
Improved Enhanced structured error logging using Logger::log for essential failure cases.
Improved Upgraded maxmind-db/reader dependency to v1.14.0.
Fixed Hardened database connection handling, model query exception resiliency, and statement cursor closing.
Fixed Process ID argument escaping and background daemon process management.
Sep 02, 2026 (v4.8.5)
Added Centralized Cloudflare WARP Proxy service with node and host-based SOCKS5 routing across extractors, Google Drive API, stream proxy, and Headless Chrome.
Added Mailgun HTTP REST API mailer integration as an alternative email driver (bypassing SMTP port blocking).
Added Unified Email Driver & Configuration in admin SMTP settings with dynamic switcher between SMTP and Mailgun.
Added Enhanced stream proxying with forwarded host header support.
Added Automatic fail-safe and circuit breaker protection to prevent server hanging during external video hosting outages or rate limits.
Added Intelligent cache locking to prevent server overload during traffic spikes on cache misses.
Added Direct I/O support for high-performance local file streaming.
Added Yandex Metrika and Microsoft Clarity analytics tracking integration.
Added Dedicated service health check ping endpoint.
Added Custom proxy server and bypass list configuration in Headless Chrome service.
Added Deployment and distribution guides.
Improved Overall system performance and code quality improvements across video hosting extractors.
Improved Faster cache initialization, reduced overhead, and high-performance serialization support.
Improved Accelerated video embed and download page rendering throughput.
Improved Background task processing reliability and process execution across server environments.
Improved Plugin hooks and dynamic widgets.
Improved Modular CORS origin headers validation.
Improved Web server configuration templates with improved 404 error routing.
Improved Password reset email notifications with a modern responsive template.
Fixed Naver TV extractor DOM parsing and VOD playback URL parameters.
Fixed Shared cURL DNS cache timeout tuning to prevent persistent negative DNS lookup errors on streaming proxies.
Fixed HLS parser stream token handling and URL bypass logic.
Fixed Reduced background task disk write operations.
Fixed Hardened video embed request validation and upload directory protection.
Fixed Password reset token validation and step page routing.
Fixed Stream link decryption and playback URL generation for AWS Cloud storage.
Removed The Tube, Gofile Hosts.
Aug 8, 2026 (v4.8.4)
Improved Refactored Engine Alive check and updated main JS asset (v3.9.9).
Improved Asset pipeline versioning and lockfiles updated to v4.8.4.
Improved Hosting settings and symlink management stability.
Fixed Custom hostnames setting configuration handling in Admin Panel.
Added Comprehensive system safety and audit documentation.
Aug 2, 2026 (v4.8.3)
Added PHP disabled functions checker and system alerts in Admin Dashboard.
Improved Plugin Manager service and plugin loading mechanisms.
Improved Background process execution using `shell_exec` and asset pipelines (terser, cleancss, obfuscator).
Fixed Removed debug logging in Stream handler and optimized index entry point.
Jul 29, 2026 (v4.8.2)
Added Custom Headers management UI in Admin Settings page and navigation bar.
Added INSTALLATION.md documentation guide with detailed setup and deployment instructions.
Improved Background Process Service: Refactored Background.php process runner and background task execution on Linux environments.
Improved Code Quality: Resolved PHPStan Level 8 static analysis compliance and type checks across core handlers.
Improved Server Configurations: Updated Nginx (nginx.conf.twig, nginx.conf.example) and Apache (.htaccess.twig) templates with per-location CORS headers and preflight OPTIONS handling.
Fixed CORS Policy & Preflight Requests: Resolved Cross-Origin Resource Sharing (CORS) headers and OPTIONS preflight (HTTP 204) handling across AjaxHelper, router entry points, and static asset routes.
Fixed Core & Hosting Parsers: Improved XVFSParser, StreamParser, Core, HeadlessChrome, and class handlers.
Fixed Sitemap & Database Migration: Updated sitemap.php views and web-migrate.php script handling.
Jul 26, 2026 (v4.8.1)
Added Plugin System with support for dynamic view overrides and webhook synchronization.
Added Add a server status monitor to the Dashboard and Load Balancer pages.
Added PHP 8.5 compatibility and cURL Share Handle.
Improved Stream Engine: Optimized HLS/MPD handlers, dynamic cache bypass for live streams, and trailing slash preservation in MPD BaseURL parser.
Improved Performance: Optimized subtitle and poster cache delivery via direct static redirection to reduce CPU load.
Improved Theme & UI Assets: Restructured assets to themes/ directory with dynamic symlink generation, upgraded Font Awesome to 7.3.0, and refactored dashboard colors using CSS variables.
Improved Admin Area: Restructured settings layout (Hosting, Player, Site Settings) and simplified navigation labels.
Improved Daemon & Background: Enhanced background processes and daemon synchronization for plugins and expired source link cleanups.
Improved System Requirements: Updated required PHP extensions (curl, fileinfo, filter, hash, json, mbstring, openssl, sockets, pdo_mysql). Note: Composer will prevent page access if these extensions are missing.
Downgraded HTTP protocol from HTTP/2 to HTTP/1.1 due to stability issues.
May 01, 2020 (v1.0.0)
Added Initial release of GDPlayer.
Oct 02, 2026 (v0.0.8)
Added Swoole extension and swoole-cli.exe presence check before starting daemon in swoole-bg.php and backend config view.
Added load balancer sync action and interactive service control buttons in templates/config.twig.
AddedThemePoolBorrower lifecycle helper (src/ThemePoolBorrower.php) for theme handlers requiring Redis/PDO pool access, providing initThemePools(), isThemePoolsReady(), withRedis(), withPdoRead(), withPdoWrite(), and idempotent releaseThemePools().
Added dedicated SwoolePdoManager and SwooleRedisManager pool managers with safe connection acquire/release (get, getAll, getRow, withWrite, set, setex) and fast availability checks.
Addedgdrive_hls and gphotos_hls configuration flags in SwooleConfigLoader to control Google Drive/Photos HLS streaming mode.
Improved Unified circuit breaker mechanism by replacing SwooleCircuitBreaker with core CircuitBreaker (GDPlayer\Service\CircuitBreaker) using Redis injection.
Improved Refactored Swoole pool handling to use SwoolePdoManager/SwooleRedisManager instead of raw PDOPool/RedisPool, ensuring connections are safely returned to their pools.
Improved Moved PDO connection release to after curl_exec in SwooleHandler.
Improved Added buffered queries to the Swoole replica connection.
Improved Refactored SwooleHandler/SwooleHandlerTrait and SwooleStreamResolver/SwooleStreamResolverTrait for SonarQube code-quality compliance and removed unused methods.
ImproveddispatchThemeHandler with theme pool pre-flight validation (HTTP 503 + log when pools are not initialized).
Improved Wired CloudflareProxy configuration through SwooleHandler, SwooleConfigLoader, and SwooleStreamResolver.
Improved Enhanced SwooleLogger with critical-level logging across pool, cache, and Google Drive OAuth failures, and hardened log cleanup to skip Swoole-owned log files (swoole.log, swoole_stats.log).
Improved Refactored curlWriteCallback in SwooleHandler to strictly enforce a maximum of 3 return points.
Improved Refactored resolveAndValidateRequest in SwooleHandler by consolidating return paths and modularizing header & URL helpers.
Improved Enabled buffered queries on PDO statements to avoid unbuffered query deadlocks.
Improved Capped max_conn to min(65_535, ...) preventing integer overflow in Swoole server configuration.
Improved Updated composer.lock dependencies.
Fixed Google Drive / Google Photos HLS streaming mode.
Fixed temporary unavailable cases by bounding response buffering (MAX_BUFFERED_BYTES, 2 MB) to avoid yielding inside the cURL C-stack, and safely detaching CURLOPT_STDERR before closing the verbose stream handle.
Fixed Added explicit CDN no-cache headers (CDN-Cache-Control: no-store, Cloudflare-CDN-Cache-Control: no-store) for error and non-cacheable responses in SwooleHandler.php and swoole.php.
Fixed broken pipe / closed socket crashes by ensuring isWritable() before response writing and ending.
Fixed SSL verification flexibility in upstream requests (configureCurl) with SSL_VERIFYHOST and SSL_VERIFYPEER overrides.
Fixed Renamed crash log function to camelCase swooleCrashLog.
Sep 19, 2026 (v0.0.7)
AddedSwooleCircuitBreaker service (src/SwooleCircuitBreaker.php) protecting against cascading upstream HTTP 404 / 5xx failures with automatic trip and cool-off recovery.
AddedopenResourcesHandler POSIX limit adjustment across Swoole daemon processes (swoole-bg.php, SwooleCacheManager).
Added Redis caching for custom host request headers JSON.
Improved Refactored SwooleStreamResolverTrait and extracted extractHostAndId to streamline resolver handling.
Improved Optimized stream cache manager by caching disk free space checks and returning early on insufficient disk storage.
Improved Added lazy master database fallback when encountering MySQL replication lag in Swoole workers.
Improved Automatically clear cache via InstanceCache::clear() during Swoole stop, restart, and reload control actions.
Improved Imported GDPlayer\Logging\Logger directly in swoole-bg.php to clean up FQCN usages.
Sep 11, 2026 (v0.0.6)
Added Single-instance concurrency guard using flock in background monitor daemon (swoole-bg.php).
Added Structured error logging with Logger::log for critical failures (process spawning, config update, and reload requests).
Added Safe graceful signal termination (SIGTERM prior to SIGKILL) across background service processes.
Improved Refactored SwooleHandler::handle() to reduce cognitive complexity (<= 3) by extracting exception handling into handleWorkerException.
Improved Refactored SwooleStreamResolver::getGoogleDriveAuth() to reduce cognitive complexity (<= 4) and strictly enforce maximum 3 returns by extracting requestGoogleDriveToken.
Improved Centralized single-process termination logic through Background::stopPid() in core service helper.
Improved Hardened command execution with comprehensive escapeshellarg() quoting on Windows and Unix platforms.
Improved Replaced worker output echo with native error_log to comply strictly with Swoole non-blocking daemon directives.
Fixed unhandled worker exceptions by verifying socket writability before sending HTTP 500 response.
Fixed cURL error and invalid token responses handling in Google Drive OAuth flow.
Fixed process ID handling and .pid file cleanup on worker reload and shutdown.
Sep 09, 2026 (v0.0.5)
Added Distribution and deployment documentation (GIT-DISTRIBUTION.md).
Improved Refactored process termination logic in control.php and optimized Swoole worker reload sequence.
Aug 27, 2026 (v0.0.4)
Added Open-source and commercial distribution guides and deployment documentation.
Added Redis connection pooling options with backoff jitter, prefixing, TCP keepalive, and igbinary/zstd compression support.
Improved Refactored internal proxy architecture into modular helper services for better performance and maintainability.
Improved Optimized instance routing and custom URL path handling in background worker.
Improved Added cache driver compatibility validation in backend control panel.
Improved web server configuration template with robust 404 error routing.
Improved Immediate disk free space cache initialization at worker 0 startup and isolated cache key (swoole-disk-free-space).
Improved Reliable background process termination and .pid cleanup on Linux and Windows.
Improved Uncached real-time engine health ping support in status and reload control actions.
Fixed Prevented background service daemon crash during server shutdown.
Fixed URL decoded path handling (_2f_ and %2F) normalization in upstream request proxy handler.
Fixed AWS stream link decryption and query parameter cleanup in SwooleStreamResolver.
Fixed Improved proxy server startup error handling and background process shutdown.
Aug 08, 2026 (v0.0.3)
Added Cloudflare rate-limit bypass and X-Content-Length response header for chunked encoding responses.
Improved Code quality static analysis compliance and synchronized composer dependencies.
Improved Swoole server startup handling and overall runtime stability.
Improved Background process manager and server process control stability.
Fixed Null coalescing operator check for IP headers in SwooleHandler.
Fixed Background service cleanup across different operating system environments.
Aug 02, 2026 (v0.0.2)
Added Dynamic DB/Redis configuration management in SwooleHandler.
Improved Optimized PDO statement cursors closing and memory resource handling.
Fixed Resolved live stream video caching logic, direct host redirect flow, and cURL connection reuse.
Jul 08, 2026 (v0.0.1)
Added Initial Release.
Added High-performance PHP proxy engine utilizing Swoole asynchronous server runtime.
Added Connection pooling optimization and external host configurations for fast source fetching.
Added Built-in system resource monitor (Free RAM checker on start) and clean runtime logs.
Oct 02, 2026 (v0.0.5)
AddedRoadRunnerConfigLoader — per-request settings via a short-TTL Redis cache; admin changes now apply without restarting the worker.
AddedRoadRunnerPdoManager — per-worker PDO with automatic reconnect and replica→master fallback, replacing the static Conn singleton on the request path.
AddedRoadRunnerRedisManager — per-worker Redis connection with transparent reconnect on stale links.
AddedRoadRunnerLogger — superglobal-free logger (explicit ip/url) replacing GDPlayer\Logging\Logger in the worker.
Added GitHub Actions CI workflow for static analysis and linting (phpstan, php-cs-fixer, phpcs, php-lint).
Added Service uninstallation script (uninstall.php) for clean plugin removal.
Fixed Removed $_SERVER/$_POST/php://input usage from the worker request path (NO GLOBALS rule).
Fixed Upstream failure no longer blocks the worker with up to 64s of usleep backoff plus an inline re-scrape; the rescue is offloaded to AsyncHelper::spawnBgGet() (fire-and-forget) with a KV-backed retry guard (max 3).
Fixed Google Drive auth now resolves the token inline (dedicated cURL handle + Redis cache) instead of instantiating the heavyweight GoogleDriveRestAPI.
Fixed Request state (status, length, cache fp, ip) is reset per request; directHosts() is reproduced locally without touching BinFile/Config/InstanceCache.
Improvedphpstan.neon.dist now sets treatPhpDocTypesAsCertain: false, matching the Swoole plugin.
Improved Background service lifecycle management; refactored stop/restart operations with Background helper.
Improved State handling for service_stopped flag across start, stop, and restart actions.
Improved Forwarded engine alive checks with updated third parameter support in redirect calls.
Improved Upstream Nginx configuration headers.
Improved Refactored custom URI request handling (/ping and /status endpoints).
Improved Introduced RoadRunnerFunctions helper class and streamlined service control routing.
Aug 27, 2026 (v0.0.4)
Added Open-source and commercial distribution guides and deployment documentation.