Repository navigation
3.5.6
Full Changelog: 3.5.5...3.5.6
New Features
Introduced in Version 3.5.6
Command Group Attribute
Added support for the Group attribute, which allows CLI controllers to define a command group at the class level.
Routing System Interface
The routing system now implements Luminova\Interface\RouterInterface, allowing full replacement with a custom routing implementation.
Application Base Class
New method getRouterInstance() added to retrieve router instance for application routing, making it easier to replace the routing system.
Crypter Utility Class
New methods added for validating cryptographic key types and pairs:
isPrivateKey()– Validates whether a given string is a private key.isPublicKey()– Validates whether a given string is a public key.isKeyMatch()– Verifies if a private and public key pair matches.
Command Utility Class (Terminal)
The Terminal class now includes new methods for retrieving system details and supporting CLI-based authentication:
systemInfo()– Returns structured system and terminal information.getSystemId()– Generates a consistent, unique system identifier suitable for CLI authentication.getTerminalName()– Retrieves the name of the current terminal in use.getSystemModel()– Returns the device or system model (e.g., MacBook Pro, Dell XPS).getPid()– Returns the parent process ID (PPID) for the current CLI session.about()– Displays a formatted table of system and environment information. Also via commandphp novakit --system-info.whoami()– Returns the current system user executing the CLI script.
Optimizations
Improved in Version 3.5.6
Attribute Parser
Replaced reflection-based parsing with PHPToken to enhance performance and reduce overhead.
Boot Autoload
Updated HTTP method spoofing to rely on X-HTTP-Method-Override and restrict it to POST requests, aligning with RFC 7231.
Response Renderer
Enhanced response rendering for better accuracy and output consistency.
Uploaded File Configuration
Replaced the use of stdClass with a dedicated Luminova\Http\FileConfig configuration object for better structure and clarity.
Renamed Components
Changes in Naming Since Version 3.5.6
Luminova\Application\Foundation→Luminova\LuminovaLuminova\Command\Console→Luminova\Command\NovakitLuminova\Command\NovaKit\*→Luminova\Command\Consoles\*App\Controllers\Errors\ViewError→App\Errors\Controllers\ErrorController/resources/Views/server_errors/*→/app/Errors/Defaults/*
Deprecated
Marked as Deprecated in Version 3.5.6
Command Handler (Terminal)
explain()– Deprecated. Useparse()instead.
Removed
Legacy Methods Removed in Version 3.5.6
The following deprecated methods have been removed:
Luminova\Http\File::getMimeFromTemp()– UsegetMimeFromFile()instead.Luminova\Routing\Router::before()– Useguard()instead.Luminova\Security\Crypter::verify()– UseisPassword()instead.Luminova\Sessions\Session::toExport()– UsegetResult()instead.Luminova\Sessions\Session::ssid()– UsegetToken()instead.Luminova\Sessions\Session::ssDate()– UsegetDatetime()instead.Luminova\Command\Terminal::color()– UseLuminova\Command\Utils\Color::apply(...)orColor::style(...)instead.