Repository navigation
3.5.0
Full Changelog: 3.4.9...3.5.0
Luminova 3.5+ Update Overview
Starting from Luminova 3.5, deprecated classes and methods will trigger warnings:
- In development, a warning will be displayed.
- In production, the warning will be logged at the
warninglevel.
New Features
-
Session & Cookie Class:
Introduced several new methods for improved session and cookie management:put- Queue data for storage.save- Persist all queued data.dequeue- Remove queued data.commit- Lock storage to prevent further modifications.is- Check session or cookie status.attempt/attempts- Manage login attempts.regenerate- Regenerate session/cookie ID.login- Alias forsynchronize, initiates login and metadata storage.logout- Alias forterminate, ends session and clears metadata.isOnline- Alias foronline, checks login status.- Getters - Retrieve session metadata (e.g.,
getToken,getUserAgent,getId).
-
Database Query Builder:
Added support for database locking:lock- Lock the database for the current session.unlock- Unlock the database.isLocked- Check if the database is locked.
-
Error Handling:
Addeddepreciatemethod inLuminova\Errors\ErrorHandler:- Triggers an error in development.
- Logs the error in production.
-
Session Save Handlers:
AddedLuminova\Session\Handlers\ArrayHandlerfor temporary session storage, useful for debugging or short-lived sessions.
Optimizations
-
- Unified handling of session and cookie storage.
- Improved session ID regeneration.
- Automatic login metadata creation on
synchronizeorlogin. - Optimized
startmethod for session-cookie management and error handling.
-
- Improved error handling for
Luminova\Database\Drivers\MysqliDriverandLuminova\Database\Drivers\PdoDriver.
- Improved error handling for
Deprecations
-
Session & Cookie Class:
The following methods are deprecated fromLuminova\Sessions\Session:toExport→ UsegetResult.ssid→ UsegetToken.ssDate→ UsegetDatetime.
-
Command Line Helper (Terminal Class):
coloris deprecated.- Use
Luminova\Command\Utils\Color::apply(...)orLuminova\Command\Utils\Color::style(...)for CLI text formatting.
- Use
-
verifyis deprecated.- Use
Luminova\Security\Crypter::isPassword(...)instead for password hash verification.
- Use
-
beforeis deprecated.- Use
Luminova\Routing\Router->guard(...)instead for CLI middleware authentication.
- Use
To-Do List
-
Session Namespace Update:
Renamed session namespaces for clarity:Luminova\Sessions\Handlersss\*→Luminova\Sessions\Handlers\*.Luminova\Sessions\Managersss\*→Luminova\Sessions\Managers\*.
-
Session Configuration: Introduced a new property to enable or disable cookie data encryption:
// /app/Config/Session.php
namespace App\Config;
use Luminova\Base\BaseConfig;
final class Session extends BaseConfig
{
/**
* Enable cookie data encryption when managing sessions via `Luminova\Session\Managers\Cookie`.
* If set to true, cookie data will be encrypted using the application encryption key and algorithm.
*
* @var bool $encryptCookieData
*/
public bool $encryptCookieData = true;
}