release: Licora v5.1.0 Smart Installer - #7
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Licora v5.1.0 — Smart Installer & First-Run Wizard
Release date: 2026-08-06
Release type: Backward-compatible installer feature release
Stable base:
v5.0.1.1Database migration: None
Summary
Licora v5.1.0 introduces a professional first-run installation experience for the open-source, self-hosted PHP and MySQL/MariaDB license management system.
The release improves fresh installation only. Existing deployments continue normal operation and are not required to reinstall.
Smart first-run installer
The installer now provides ten guided steps:
Both installer routes are available:
/install.phpremains fully supported/installis an additive aliasInstallation detection
Before normal web application boot, Licora distinguishes between:
A database outage never reopens the installer for an existing configured deployment.
Atomic installation
The installer validates all input before finalization and uses temporary private files before activation.
It executes the existing repository
database.sql, including current migrations, indexes, constraints, and triggers. A delimiter-aware parser removes the need for manual SQL import.If installation fails before activation, Licora attempts to remove only installer-created objects. Unrelated pre-existing database objects are not removed.
Administrator security
Fresh wizard installations require:
The temporary development account from the sanitized manual-import schema is replaced before wizard completion. Licora never auto-logs in the new administrator.
Application configuration
The wizard generates and stores private values for:
It also configures:
Generated secrets and credentials are never displayed or logged.
Installation lock
After successful installation Licora creates:
includes/config.local.phpincludes/.licora-installedThe installation flag contains only product, version, and installation timestamp. Installer files remain on disk but execution is disabled.
The completion screen is a one-time same-session handoff. After installation, requests to installer steps 1-8 are denied even when the browser still holds the installer session. Step 10 clears the completion-session state before redirecting to the administrator login.
Optional DEMO data
When selected, the installer creates clearly marked DEMO data using existing tables only:
No product, customer, role, or permission table is added.
Demo records can be removed with:
Release hardening included
Before publication, the v5.1.0 line received additional release-readiness fixes without changing the database schema, license engine, or API contracts:
includes/is writable.TRIGGERpermission denial is mapped to an actionable, non-secret installer message.Compatibility guarantees
This release does not change:
Table prefixes remain unsupported because fixed table names are part of the frozen schema and runtime-query contract. The installer field must remain blank.
Upgrade instructions
Existing v5.0.1 and v5.0.1.1 installations:
includes/config.local.phpand private key files.bash scripts/validate.sh.No v5.1.0 database migration is required.
Validation
The repository validation suite covers:
Documentation
docs/INSTALLATION.mddocs/INSTALLER_ARCHITECTURE.mddocs/FIRST_RUN_GUIDE.mddocs/UPGRADE_GUIDE.mddocs/DEMO_DATA.mddocs/FAQ.mddocs/COMPATIBILITY_MATRIX.mddocs/RELEASE.mdRELEASE_COMMANDS_v5.1.0.mdPHASE2_INSTALLER_SUMMARY.mdHosting privilege note
The unchanged Licora schema contains MySQL/MariaDB triggers. The standard installer therefore requires a database account with the privileges needed to create those triggers. Some free shared hosts deny
TRIGGER; v5.1.0 reports that condition safely but does not silently remove schema objects.Release assets
The official release should include:
Licora-v5.1.0.zipLicora-v5.1.0.zip.sha256