Luminova Framework

Full Changelog Starting from Version 3.5.0 and Above

NameDescription
Version Code3.5.0
Version NameObiniru
Published2024-02-26 20:27:32
Updated2025-02-26 20:27:32

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 warning level.

New Features

Since 3.5.0

  • 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 for synchronize, initiates login and metadata storage.
    • logout - Alias for terminate, ends session and clears metadata.
    • isOnline - Alias for online, 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:
    Added depreciate method in Luminova\Errors\ErrorHandler:

    • Triggers an error in development.
    • Logs the error in production.
  • Session Save Handlers:
    Added Luminova\Session\Handlers\ArrayHandler for temporary session storage, useful for debugging or short-lived sessions.


Optimizations

Since 3.5.0

  • Session & Cookie Class:

    • Unified handling of session and cookie storage.
    • Improved session ID regeneration.
    • Automatic login metadata creation on synchronize or login.
    • Optimized start method for session-cookie management and error handling.
  • Database Drivers:

    • Improved error handling for Luminova\Database\Drivers\MysqliDriver and Luminova\Database\Drivers\PdoDriver.

Deprecations

Since 3.5.0

  • Session & Cookie Class:
    The following methods are deprecated from Luminova\Sessions\Session:

    • toExport → Use getResult.
    • ssid → Use getToken.
    • ssDate → Use getDatetime.
  • Command Line Helper (Terminal Class):

    • color is deprecated.
    • Use Luminova\Command\Utils\Color::apply(...) or Luminova\Command\Utils\Color::style(...) for CLI text formatting.
  • Encryption Helper Class:

    • verify is deprecated.
    • Use Luminova\Security\Crypter::isPassword(...) instead for password hash verification.
  • Routing System:

    • before is deprecated.
    • Use Luminova\Routing\Router->guard(...) instead for CLI middleware authentication.

To-Do List

Since 3.5.0

  • 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;
    }