• main db02dd08ce

    main
    Some checks failed
    Lumenite Main Release / prepare-release (push) Successful in 8s
    Lumenite Main Release / build-windows (push) Failing after 3s
    Lumenite Main Release / build-linux (push) Failing after 3m8s
    Stable

    GigabiteStudios released this 2026-04-19 22:34:39 +00:00 | 0 commits to main since this release

    Downloads
  • 2025.6 c0c79cefca

    2025.6 Stable

    GigabiteStudios released this 2025-08-09 09:12:11 +00:00 | 7 commits to main since this release

    Lumenite 2025.6


    Added

    • Full LumeniteDB ORM release (graduated from alpha to stable):

      • Open or create SQLite databases directly in Lua: db.open("file.db").

      • Define models with db.Model{} and columns via db.Column(name, type, { primary_key=true, default=value }).

      • Automatic table creation with db.create_all().

      • Session-based inserts via db.session_add() and db.session_commit().

      • Safe SQL execution through prepared statements.

      • Query API:

        • :filter_by{ key = value }
        • :order_by(User.column:asc() / :desc())
        • :limit(n)
        • :get(id), :first(), :all(), :count()
      • Row updates and deletes.

      • Transaction helpers: db.begin(), db.commit(), db.rollback().

      • Optional SQL logging for debugging.

    • Project Scaffolder Enhancements (d2d49a0c4a):

      • Generates app/models.lua with:

        • Example User model.
        • Seed insertion logic if DB is empty.
        • Example queries, updates, deletes, and transactions.
      • New projects auto-include DB initialization examples.

    • New Server Core (b678e2353f):

      • Migrated to modern high-performance C++ HTTP server backend.
      • Removed old CURL-based networking.
      • Added yaml-cpp for advanced config parsing.
    • Plugin System Improvements (634695d24a):

      • Windows DLL dependency checks with clear missing-file logs.
      • Vendor path search for plugins.
    • Request Handling Upgrades (923afb1ed1):

      • Multiple before_request and after_request handlers supported.
      • New on_error Lua hook for custom HTTP error handling.
      • Hooks can override status code, headers, and body.

    Changed

    • Major server refactor for maintainability & scalability (b678e2353f).

    • Color-coded CLI error logging for improved debugging (47dcfbd961).

    • Template engine upgrades (7382b65442):

      • Global template context.
      • Safer file/string rendering with exception handling.
    • Updated default /static assets & branding (61ec50c88d, 32e1d20057).


    Fixed

    • Blank first-request bug when rendering from file (47dcfbd961).
    • SQL update/delete bugs in LumeniteDB ORM (d2d49a0c4a).
    • Hook chaining instability resolved (923afb1ed1).
    • Package manager integration fixed after server migration (6ccc92b3f8).

    Cleaned

    • Removed CURL dependency in favor of internal HTTP client (b678e2353f).
    • Standardized CLI log macro output (61ec50c88d).
    • Improved plugin loader version compatibility handling (634695d24a).

    Internal

    • Added prepared statement API for all DB calls (d2d49a0c4a).
    • Scaffolder now creates DB-ready sample apps (d2d49a0c4a).
    • Expanded unit test coverage for DB operations & HTTP lifecycle.
    Downloads
  • 2025.5 a278f14182

    2025.5 Stable

    GigabiteStudios released this 2025-07-27 16:23:29 +00:00 | 28 commits to main since this release

    Lumenite 2025.5

    Added

    • Added full support for lumenite package command line tool (Lumenite Package Manager):

      • get, remove, update, and list subcommands implemented.
      • Downloads plugin .dll and supporting files from a remote registry.
      • Registry is JSON-based and supports multiple file assets per plugin.
      • Plugins are stored under ./plugins/<Name>/ with path-respecting installation.
      • Added YAML parser (yaml-cpp) and Windows-specific WinInet file downloader.
      • Implemented local metadata file (plugins/modules.cpl) for tracking installed plugins.
      • Progress bars for downloads:
        • Primary bar for DLL file with filename, % progress, and speed.
        • Secondary bar for supporting files (images, scripts, text files, etc.).
      • Node-style colored logging for LPM commands ([~], [+], [X] with grey brackets).
    • Added CLI plugin management via LumenitePackageManager class:

      • Plugins can be managed directly from the CLI.
      • Supports listing, installing, and removing plugins at runtime.
    • Implemented a dynamic plugin loader system:

      • Replaced static manifest file (modules.cpl) with directory-based scanning.
      • Plugins must export lumenite_get_pmeta() returning LumenitePluginMeta with name, version, engine_version, and luaopen function.
      • Supports auto-discovery of .dll plugins in ./plugins.
    • Introduced lumenite.db (LumeniteDB) Lua module:

      • SQLite-backed ORM with:
        • Model and Column definition
        • create_all() schema sync
        • session:add() and session:commit() batching
        • Query chaining with filter_by, order_by, limit, all, first, get(id)
      • Field helpers support .asc() and .desc() for ordering.
      • SQL query logging and execution error handling included.
      • Tables created on-demand if they don’t exist.
      • Alpha-stage warning added via log_notice().
    • Added app.abort(status, message) for request interruption:

      • Gracefully ends request execution.
      • Only allowed during active request handling.

    Changed

    • Refactored plugin infrastructure to rely on lumenite_get_pmeta rather than static modules.cpl.
    • Refactored logging functions for LPM:
      • All console logs styled with color macros.
      • Square brackets are now grey, symbols remain colored ([+], [~], [X]).
    • Restructured lumenite --new project scaffolder:
      • New layout:
        • app/routes.lua
        • app/models.lua
        • app/filters.lua
        • app/middleware.lua
      • Default template uses modern layout with timestamp and "Powered by Lumenite".
      • Adds a /api/hello route that returns JSON.

    Fixed

    • Fixed issues with progress bar rendering during multiple file downloads.
    • Fixed incorrect SQL UPDATE statement logic in LumeniteDB.
    • Fixed logging inconsistencies when aborting during a request.

    Cleaned

    • Updated README multiple times:
      • Added CLI demo GIF for lumenite package.
      • Clarified install instructions and dependency setup.
      • Updated badges and branding.

    Internal

    • Added CLI color macros for square brackets and symbol formatting.
    • Added registry fetcher using WinInet (Windows-only).
    • Updated LumenitePluginLoader to handle version compatibility and metadata parsing.
    • Added conditional plugin loading output: "[NightMod] Loaded module: 'lumenite.db'" etc.

    Merges

    • Merged main into dev and back multiple times during integration.
    • Notable merge commits:
      • 8fb2c955a8 – Adds CLI package manager
      • e583101b24 – Improves download progress bar
      • 2f296602b9 – Implements LumeniteDB
      • ec1ce76ea1 – Adds Lumenite package manager
      • 56bb8f143a – Refactors plugin loading system

    Version tag: 2025.5
    Build hash: f102fadaff
    Released: July 27, 2025

    Downloads
  • 2025.4a Stable

    GigabiteStudios released this 2025-07-25 17:57:05 +00:00 | 61 commits to main since this release

    2025.4

    Added

    • A full ORM layer in lumenite.db
      Define models (db.Model{…}), declare columns (db.Column()), and auto‑create tables with db.create_all().
      Insert data by staging rows via db.session_add() and saving with db.session_commit().
      Query your data with a simple, consistent API:

      • :get(id) to fetch by primary key
      • :all() to list results
      • :first() for the first match
      • :filter_by{…} to narrow down records
      • :order_by() plus handy column helpers (User.name:asc() / User.name:desc())
        (cd6414b3e4)
    • Project scaffolder & flexible module loading
      One‑command CLI to bootstrap new Lumenite apps with the right folders and files.
      Load Lua modules from any directory so it’s easy to drop in plugins or extensions.
      (ae17077960)

    • Inline EmmyLua docs in every generated file
      The scaffolder now adds type hints and annotations for template filters, middleware, routing, and models—straight in your Lua files.
      (81ce2dd4a6)

    • Sharper IntelliSense support
      Improved type annotations in all .lumenite files, plus dynamic filepath handling in the /test-download route.
      (43ec264f76)

    • Streamlined Quick Start & README
      We’ve added a clear Quick Start section and polished the setup instructions so new projects get up and running in seconds.
      (db3836fb1d, 06ab97d807, ef965bd541)

    Changed

    • Clearer alpha warning when loading lumenite.db—the message now reads more helpfully. (ec1e04972e)
    • Removed noisy printf calls from the DB module for cleaner logs. (2e2778eb27)
    • Tweaked the scaffolder CLI and squashed a handful of typos. (9dadf9e470, 107c580fe7)
    • Updated default log messages for more consistent, informative output. (5ee5511b31, e38d04e0b3, b15976d60d)
    • Fixed version tags in build artifacts so they now match the release. (ffdf0fce84)
    • Reorganized README layout and wording for better flow. (2e445c6fb4)

    Fixed

    • Various typos and formatting glitches across code and docs. (107c580fe7)
    Downloads
  • 2025.4 cad55a4e2b

    2025.4 Stable

    GigabiteStudios released this 2025-07-25 17:52:09 +00:00 | 63 commits to main since this release

    2025.4

    Added

    • A full ORM layer in lumenite.db
      Define models (db.Model{…}), declare columns (db.Column()), and auto‑create tables with db.create_all().
      Insert data by staging rows via db.session_add() and saving with db.session_commit().
      Query your data with a simple, consistent API:

      • :get(id) to fetch by primary key
      • :all() to list results
      • :first() for the first match
      • :filter_by{…} to narrow down records
      • :order_by() plus handy column helpers (User.name:asc() / User.name:desc())
        (cd6414b3e4)
    • Project scaffolder & flexible module loading
      One‑command CLI to bootstrap new Lumenite apps with the right folders and files.
      Load Lua modules from any directory so it’s easy to drop in plugins or extensions.
      (ae17077960)

    • Inline EmmyLua docs in every generated file
      The scaffolder now adds type hints and annotations for template filters, middleware, routing, and models—straight in your Lua files.
      (81ce2dd4a6)

    • Sharper IntelliSense support
      Improved type annotations in all .lumenite files, plus dynamic filepath handling in the /test-download route.
      (43ec264f76)

    • Streamlined Quick Start & README
      We’ve added a clear Quick Start section and polished the setup instructions so new projects get up and running in seconds.
      (db3836fb1d, 06ab97d807, ef965bd541)

    Changed

    • Clearer alpha warning when loading lumenite.db—the message now reads more helpfully. (ec1e04972e)
    • Removed noisy printf calls from the DB module for cleaner logs. (2e2778eb27)
    • Tweaked the scaffolder CLI and squashed a handful of typos. (9dadf9e470, 107c580fe7)
    • Updated default log messages for more consistent, informative output. (5ee5511b31, e38d04e0b3, b15976d60d)
    • Fixed version tags in build artifacts so they now match the release. (ffdf0fce84)
    • Reorganized README layout and wording for better flow. (2e445c6fb4)

    Fixed

    • Various typos and formatting glitches across code and docs. (107c580fe7)
    Downloads
  • 2025.3 fd213ffc07

    2025.3 Stable

    GigabiteStudios released this 2025-07-23 03:55:38 +00:00 | 95 commits to main since this release

    Changelog

    [2025.3] – Latest Release

    Added

    • app.abort(status, message) Lua function for clean error handling via HTTP status codes
    • app.send_file(path, options) for serving static files from Lua scripts
    • EmmyLua-compatible API annotations (__syntax__.lua) updated for enhanced IntelliSense
    • Internal MIME type detection utility for proper Content-Type headers
    • Version info now displayed in startup logs and accessible via macros

    Changed

    • Improved server logging format: better timestamping, colored status codes, and more consistent output
    • Test suite updated (test.lua, behavior tweaks)
    • Improved ProjectScaffolder template generation and organization

    Fixed

    • Removed unreachable code following infinite loop patterns
    • Static build issues resolved and cleaned up CMake configurations
    • Fixed documentation inconsistencies in Lua API docs
    Downloads
  • 2025.2 a79186c8b4

    2025.2 Stable

    GigabiteStudios released this 2025-07-21 16:57:13 +00:00 | 136 commits to main since this release

    📦 Lumenite – 2025.2 Release Notes

    🔄 Merged Branches & Refactors

    • Refactored routing and template engine for better flexibility and maintainability.
    • Refactored application to use new template format.
    • Cleanup in main() and across modules for clarity and efficiency.

    Features Added

    🔧 Framework & Core

    • Request Hooks: Introduced before/after request lifecycle hooks.
    • Remote IP Access: Enables reading of remote IPs within Lua requests.
    • Multiple Query Parameter Support: Query parameters now support multiple values.
    • Session Management: Basic session functionality implemented.
    • Project Scaffold: Adds improved scaffolding with method colors and logging enhancements.

    🖼️ Templating & Rendering

    • Template Engine: Initial template engine implementation.
    • Template Filters: Jinja-style filters supported for custom formatting.
    • Improved Rendering: Refined data handling and flexibility in rendering.
    • Template Decoding: URL decoding and sanitization added for query parameters.

    🔐 Cryptography & Security

    • New Module: Crypto: Started and partially implemented cryptography module.
    • Base64 & String Sanitization: Added utilities for string cleaning and encoding.
    • Improved Decryption Support: Strengthened crypto operations.
    • Error Handling Enhancements: Clearer error messages, especially around templates and arguments.

    🌍 Networking & Platform

    • Cross-Platform Socket Support: Improved Windows/Linux compatibility.
    • Local IP Display: Server now displays available local IPs on startup.

    🧰 Utilities & Tooling

    • CMake Improvements: Auto-fetching of most dependencies, including SQLite3.
    • Lua Form Data Support: Supports form submission and parsing in Lua.

    🐞 Bug Fixes

    • Resolved path/resolve issues on Linux.
    • Fixed warnings and improved code structure.
    • Corrected various typos and cleaned up modules.
    • Logging and output formatting refined for clarity.

    📁 Demo & Documentation

    • Updated demo projects showcasing routing, Lua scripts, and templates.
    • Added docs and home improvements for better onboarding.

    🧹 Code Cleanup

    • Removed deprecated templates and garbage files.
    • Unified code style and improved log appearance.
    Downloads
  • 2025.1 4a3c4f5bfa

    2025.1 Pre-Release

    GigabiteStudios released this 2025-07-18 06:30:18 +00:00 | 207 commits to main since this release

    Features

    • 🛣️ HTTP Routing

      • GET, POST, PUT, DELETE support
      • Dynamic path parameters (e.g. /admin/<name>/<role>)
    • 🔐 Session Management

      • app.session_get(key)
      • app.session_set(key, value)
    • 🔁 JSON Utilities

      • app.json(string) → Lua table
      • app.jsonify(table) → HTTP-style JSON response
    • 🖼️ Template Engine

      • app.render_template("file.html", { key = value })
      • Custom filters via app:template_filter("name", fn)
    • 🧠 Built with Lua + C++ (LumeniteApp)

    Downloads