1.8.0 - record snapshot module, admin ux and centralise configuration in config.php
What's new:
Centralise configuration in config.php and fix admin login redirect loop
- Move all hardcoded values (session lifetime, rate-limit thresholds,
IP hash salt, file limits, cache ages, HSTS, demo mode, timezone,
DB connect timeout) to includes/config.php as env-overridable constants - Fix ERR_TOO_MANY_REDIRECTS: replace SameSite=Strict with SESSION_SAMESITE
constant (default Lax) across all 9 session controllers - Fix admin panel blank screen: add require config.php to admin/api.php
before DEMO_MODE constant is referenced - Update docs.js (section 12) and README with full env variable reference
Add record snapshot module with admin toggle
Add spw_record_snapshots table storing JSONB post-write state for every
INSERT and UPDATE, linked via FK to spw_users_log. Toggle controlled at
runtime via System → Audit & Snapshots (writes includes/settings.json)
or RECORD_SNAPSHOTS_ENABLED env var. Covers both api.php inline edits
and edit.php / create.php OOP path. Fix duplicate const declarations in
users.js that blocked the admin panel from loading.
Add Table builder: column options (NOT NULL, default, index, comment, FK),
timestamps preset, schema.json auto-registration, admin nav redesign