-
2025.6 Stable
released this
2025-08-09 09:12:11 +00:00 | 7 commits to main since this releaseLumenite 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 viadb.Column(name, type, { primary_key=true, default=value }). -
Automatic table creation with
db.create_all(). -
Session-based inserts via
db.session_add()anddb.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.luawith:- Example
Usermodel. - Seed insertion logic if DB is empty.
- Example queries, updates, deletes, and transactions.
- Example
-
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-cppfor 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_requestandafter_requesthandlers supported. - New
on_errorLua hook for custom HTTP error handling. - Hooks can override status code, headers, and body.
- Multiple
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
/staticassets & 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 Stable
released this
2025-07-27 16:23:29 +00:00 | 28 commits to main since this releaseLumenite 2025.5
Added
-
Added full support for
lumenite packagecommand line tool (Lumenite Package Manager):get,remove,update, andlistsubcommands implemented.- Downloads plugin
.dlland 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
LumenitePackageManagerclass:- 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()returningLumenitePluginMetawith name, version, engine_version, andluaopenfunction. - Supports auto-discovery of
.dllplugins in./plugins.
- Replaced static manifest file (
-
Introduced
lumenite.db(LumeniteDB) Lua module:- SQLite-backed ORM with:
- Model and Column definition
create_all()schema syncsession:add()andsession: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().
- SQLite-backed ORM with:
-
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_pmetarather than staticmodules.cpl. - Refactored logging functions for LPM:
- All console logs styled with color macros.
- Square brackets are now grey, symbols remain colored (
[+],[~],[X]).
- Restructured
lumenite --newproject scaffolder:- New layout:
app/routes.luaapp/models.luaapp/filters.luaapp/middleware.lua
- Default template uses modern layout with timestamp and "Powered by Lumenite".
- Adds a
/api/helloroute that returns JSON.
- New layout:
Fixed
- Fixed issues with progress bar rendering during multiple file downloads.
- Fixed incorrect SQL
UPDATEstatement 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.
- Added CLI demo GIF for
Internal
- Added CLI color macros for square brackets and symbol formatting.
- Added registry fetcher using WinInet (Windows-only).
- Updated
LumenitePluginLoaderto handle version compatibility and metadata parsing. - Added conditional plugin loading output:
"[NightMod] Loaded module: 'lumenite.db'"etc.
Merges
- Merged
mainintodevand back multiple times during integration. - Notable merge commits:
8fb2c955a8– Adds CLI package managere583101b24– Improves download progress bar2f296602b9– Implements LumeniteDBec1ce76ea1– Adds Lumenite package manager56bb8f143a– Refactors plugin loading system
Version tag:
2025.5
Build hash:f102fadaff
Released: July 27, 2025Downloads
-
-
2025.4a Stable
released this
2025-07-25 17:57:05 +00:00 | 61 commits to main since this release2025.4
Added
-
A full ORM layer in
lumenite.db
Define models (db.Model{…}), declare columns (db.Column()), and auto‑create tables withdb.create_all().
Insert data by staging rows viadb.session_add()and saving withdb.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.lumenitefiles, plus dynamic filepath handling in the/test-downloadroute.
(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
printfcalls 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 Stable
released this
2025-07-25 17:52:09 +00:00 | 63 commits to main since this release2025.4
Added
-
A full ORM layer in
lumenite.db
Define models (db.Model{…}), declare columns (db.Column()), and auto‑create tables withdb.create_all().
Insert data by staging rows viadb.session_add()and saving withdb.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.lumenitefiles, plus dynamic filepath handling in the/test-downloadroute.
(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
printfcalls 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 Stable
released this
2025-07-23 03:55:38 +00:00 | 95 commits to main since this releaseChangelog
[2025.3] – Latest Release
Added
app.abort(status, message)Lua function for clean error handling via HTTP status codesapp.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-Typeheaders - 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
ProjectScaffoldertemplate 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 Stable
released this
2025-07-21 16:57:13 +00:00 | 136 commits to main since this release📦 Lumenite –
2025.2Release 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 Pre-Release
released this
2025-07-18 06:30:18 +00:00 | 207 commits to main since this releaseFeatures
-
🛣️ HTTP Routing
GET,POST,PUT,DELETEsupport- 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 tableapp.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
-