Release Notes
Versioning Scheme
Maravel follows Maravelith’s Semantic Versioning and release schedule. Major releases occur every 2 years (~Q4), while minor and patch releases may be released as often as every week. Minor and patch releases should never contain breaking changes.
When referencing the Maravel framework or its components from your application or package, you should always use a version constraint such as ^20.0, since major releases of Maravel do include breaking changes. However, we strive to always ensure you may update to a new major release in one day or less.
Named Arguments
Named arguments are not covered by Maravel’s backwards compatibility guidelines. We may choose to rename function arguments when necessary in order to improve the Maravel codebase. Therefore, using named arguments when calling Maravel methods should be done cautiously and with the understanding that the parameter names may change in the future.
Support Policy
For Maravel releases, bug fixes and security fixes are provided for 3 years, in strict alignment with the core Maravelith framework support lifecycle. In addition, please review the database versions supported by Maravelith.
| Version | PHP (*) | Release | Bug Fixes Until | Security Fixes Until |
|---|---|---|---|---|
| 10 | 8.1 - 8.4 | 2025 | 30 Nov 2027 | 30 Nov 2027 |
| 20 | 8.2 - 8.4 (8.5 Beta) | Q4 2026 | 30 Nov 2029 | 30 Nov 2029 |
(*) Supported PHP versions
Maravel 20
Maravel 20 represents the ultimate distillation of the Maravelith architecture into a pure, lightning-fast API backend. In this release, the kernel has been heavily decoupled to achieve sub-millisecond boot times and a baseline memory footprint of just 0.37 MB.
By strictly aligning with modern PHP standards and purging all monolithic frontend dependencies, Maravel 20 delivers our fastest, most memory-efficient API experience to date.
High-Speed Request Hydration
To achieve unprecedented execution speeds, Maravel 20 implements a custom Request capture engine that completely bypasses legacy SymfonyRequest::createFromGlobals() instantiation.
By directly reading early stream parsing for application/json payloads from php://input and leveraging native support for PHP 8.4’s \request_parse_body(), the framework achieves Symfony 7.4 parity with maximum velocity. Furthermore, redundant file scrubbing has been streamlined into a strictly typed static phase (Request::cleanFiles()), entirely eliminating boot-cycle overhead.
Next-Generation Service Container
The underlying Service Container has received a massive, ground-up rewrite. Maravel 20 introduces Two-Tier DI Caching with encapsulated cache loading and deep OPcache protection.
By shifting legacy properties to a flat-array structure and fusing the JSON request bag directly into the primary InputBag, the container drastically reduces its baseline memory footprint. New utility methods like Container::isInInstances() power fast-path runtime identity verification, making the container’s relay logic practically stateless and incredibly fast.
Pipeline Short-Circuiting & Lifecycle
The Request lifecycle and HTTP Kernel have been deeply optimized to save critical execution cycles. Maravel 20 introduces Pipeline Short-Circuiting: if the middleware stack is empty or disabled, the application entirely skips the instantiation of the Pipeline component, dropping the request straight into the target route closure to eliminate allocation overhead.
In addition, the dispatcher loop now utilizes identity-gated rebinding (!==), preventing redundant request re-bindings unless a middleware explicitly replaces the request pointer. The framework also enforces a strict LumenRequest parameter signature, guaranteeing type safety from boot to termination.
Modern Ecosystem Upgrades
Maravel 20 fully embraces the cutting edge of the PHP ecosystem, requiring PHP 8.2 or higher.
The framework has been completely upgraded to utilize the Symfony 7.4 component suite, bringing strict PHP return types (: int) to Console Commands and internal architecture. Additionally, date and time manipulation is now powered by Carbon 3, ensuring your application benefits from the latest advancements in immutable date handling.