Changelog

A record of every SubManager release — new features, fixes, and changes.

v1.3.0 April 2026
  • New Delete button added to Apps list — removes app, all its plans, and all subscriptions in one action with confirmation
  • New Full CRUD for all entities: Edit and Delete actions on Subscriptions, Users, Plans, and Apps
  • New Subscription level system (A–Z): level column added to subscription_plans and subscriptions tables
  • New Level encoded into subscription key format — first 2 hex chars of segment 4 carry the access level ASCII byte
  • New /validate API response now includes "level" field — returns letter A–Z or null for pre-level keys
  • New Settings tab now shows all 3 request methods (GET, POST JSON, POST form) with correct response examples including level
  • Fix migrate.sql now uses ADD COLUMN IF NOT EXISTS — safe to re-run; replaces broken PL/pgSQL DO $$ blocks
  • Fix install.sql updated to include level columns from the start — no post-install migration needed on fresh installs
  • Changed All delete actions now require CSRF token validation and JavaScript confirmation before submission
  • Changed Flash messages added to all admin actions — every create, edit, and delete shows clear success or error feedback
v1.2.0 February 2026
  • New Admin dashboard with live stats: total apps, plans, active subscriptions, expiring this week
  • New Per-app plan management: create and manage plans directly from the app detail page
  • New Manual subscription creation from admin: assign any plan to any user, key generated automatically
  • New SMTP configuration in Admin → Settings: host, port, username, password, sender address
  • Fix Session handling on shared hosting with non-standard temp directories
  • Changed .htaccess simplified — removed DirectoryMatch and IfModule mod_php.c directives that caused 503 on some shared hosts
v1.1.0 December 2025
  • New Stripe payment integration — enter keys in Settings, checkout handled automatically
  • New Email receipts via SMTP sent automatically on successful subscription purchase
  • New validate.php entry point at web root — sets SUBMANAGER_VALIDATE_ONLY constant and defers to index.php
  • New User subscription dashboard: logged-in users see their own subscriptions and key strings
  • Fix DATABASE_URL parsing via parse_url() in Database.php now handles all standard PostgreSQL URL formats
v1.0.0 October 2025
  • New Initial release
  • New Multi-app management: unlimited apps, each with its own App Key and plan catalog
  • New Subscription key generation: SK-{app_hex8}-{expiry_hex8}-{random_hex16} format
  • New /validate REST endpoint: GET and POST, returns valid and expires_at
  • New Admin and user roles: first registered user becomes admin automatically
  • New CSRF protection on all state-changing forms
  • New PostgreSQL backend via PDO; config.php as sole configuration file