Luminova Framework

Full Changelog Starting from Version 3.6.6 and Above

NameDescription
Version Code3.6.6
Version NameHermes
Published2024-07-25 14:11:32
Updated2025-07-25 14:11:32

Luminova 3.6.6+ Update Overview

Version 3.6.6 includes major performance improvements and new features focused on background task processing and webhook support.


New Features

Added in Version 3.6.6

Background Task Queue System

A built-in system for running tasks in the background. This helps improve app responsiveness by offloading heavy tasks to a queue.

Highlights:

  • Queue Execution: Tasks can be executed in the background using CLI commands.
  • Command Support: Manage and run tasks with php novakit task:* commands.

Included Classes and Helpers:

  • Luminova\Models\TaskTask model class used to define task details when managing task responses.

  • App\Tasks\TaskQueueDefault task queue controller located at /app/Tasks/TaskQueue.php.

  • Luminova\Interface\QueueableInterfaceOptional interface for queueable tasks. Supports invokable style (__invoke method).

  • novakit CLI SupportIncludes CLI commands for listing, running, or managing tasks.Example: php novakit task:list


Webhook Helper Class

A utility class for sending and receiving webhook requests.

Key Features:

  • Send payloads with optional signature verification.
  • Receive incoming webhook requests.
  • Automatically verify and decode received payloads.

Changes

Improvements in Version 3.6.6

Global Functions Now Namespaced

Global helper functions are now moved under the Luminova\Funcs\* namespace. This change helps avoid naming conflicts with core PHP functions and improves performance by removing the need for function_exists checks.

How to Use:

You can now call global functions in two ways:

// Option 1: Import multiple functions from the namespace
use function Luminova\Funcs\{response, root};

response(...)->json(...);
root('path', 'to/text.txt');

// Option 2: Use fully qualified names
Luminova\Funcs\response(...)->json(...);
Luminova\Funcs\root('path', 'to/text.txt');

Affected Functions by Category

Core App & Environment

  • app, browser, configs, factory, import, import_lib, is_command, is_dev_server,lang, locale, logger, remove_service, request, response, root, service,shared, start_url, status_code, uuid, which_php

Utility & Logic Helpers

  • camel_case, class_exists_cached, escape, function_exists_cached, get_class_name,has_uppercase, is_associative, is_blob, is_empty, is_list, is_nested,is_platform, is_tor, is_utf8, kebab_case, pascal_case, strict,string_length, uppercase_words, validate

URL & Routing Helpers

  • absolute_url, asset, filter_paths, href, path

Data & Object Helpers

  • get_column, object_column, to_array, to_object

List & Array Helpers

  • array_extend_default, array_merge_recursive_distinct,array_merge_recursive_replace, array_merge_result,list_in_array, list_to_array

File & Content Helpers

  • get_content, get_temp_file, make_dir, write_content

HTML & Text Helpers

  • layout, nl2html, text2html

Session & Cookie

  • cookie, session

HTTP Helpers

  • http_status_header, ip_address

Optimization

Optimized in Version 3.6.6

Novakit Command Line Improvements

The Novakit CLI tool has been optimized for better usability and flexibility.

Affected Commands:

  • helps CommandImproved how help information is displayed.You can now view help for grouped commands:

    • php novakit task -h – shows help for all task group commands.
    • php novakit task:run -h – shows help specifically for the task:run command.
  • list CommandNow supports optional filtering using:

    • --command=task
    • -c=taskThese options limit the output to commands related to the specified group.

Additional Optimizations

  • Global Functions

    • rootNow supports a second parameter $filename to build a full path.Example:
    root('/public/', 'robots.txt');
    // Returns: /path/to/project/public/robots.txt
    • importAdded support for extra options:

    • $throw – whether to throw an exception if the file isn't found.

    • $once – use _once variants like include_once or require_once.

    • $require – switch between include and require.

    This gives you full control over how files are included.

    • get_columnWhen working with objects, this function now returns an object instead of an array, making it easier to chain or access directly.

Fixes

Deprecated Fixes in Version 3.6.6

Command Handler (Terminal)

  • tableFixed an issue where passing 0 as the column value caused blank output. Building table in CLI now properly handles zero values.

Removed

Legacy Methods Removed in Version 3.6.6

The following previously deprecated methods have now been removed:

  • Luminova\Command\Terminal::explain()Deprecated since version 3.5.6.Use: perse() instead.

  • Luminova\Database\Builder->caching()Deprecated since version 3.5.6.Use: cacheable() instead.


ToDo

Applies from Version 3.6.6+

All references to global functions should now use their new namespaced versions.

Update Example:

Before:

root(...);

After:

use function Luminova\Funcs\root;

root(...);

If you’re calling multiple functions, you can import them like this:

use function Luminova\Funcs\{root, response, uuid};