Releases: ChesnoTech/KeyGate
Releases · ChesnoTech/KeyGate
v2.3.0
What's Changed
- Release v2.3.0 — Anti-piracy hardening (P0 + P1 + P2) (#27)
- Release v2.2.0 — Multi-panel installer (P0 + P1 + P2) (#23)
- Clean up development docs: standardize authorship references (#10)
- Fix: remove preferred_server from technician UPDATE + accept id alias (#9)
- Fix: remove non-existent preferred_server column from technician INSERT (#8)
- Fix: set custom_role_id when creating admin on fresh install (#7)
- Release: Sync develop to main (#5)
- Add activation resilience: state machine, mutex, connection monitor, boot recovery (#6)
- Set up Git Flow: branch protection, PR template, contributing guide (#4)
- Add BSL license, update pricing ($0/$29/$99), create landing page
- Rewrite CLAUDE.md: complete architecture documentation for KeyGate
- Add LemonSqueezy + T-Bank Касса payment webhooks to license server
- Add email alerts for key pool low/critical levels
- Wire PS1 main execution to dynamic task pipeline
- Add CBR Reports, Hardware Bindings, DPK Import frontend pages
- Fix TypeScript build errors: remove unused imports, fix ProductLineTask type
- Add Work Orders + Key Pool UI pages, USB devices migration
- Fix sidebar: add missing Play icon import for Task Pipeline nav
- Fix 4 schema mismatches found during live API testing
- Fix ProductionController: correct column names and permissions
- Add enterprise production tracking: CBR reports, key pools, work orders
- Add configurable task pipeline system per product line
- Fix README badge URLs to use KeyGate repo name
- Update Italian and Polish with full translations
- Add missing French translation file (fixes CI build)
- Add 16 language translation files for global localization
- Add language management UI + dynamic i18n loading for 18 languages
- Add LemonSqueezy as primary payment option in Subscription page
- Add branding consistency hook + fix remaining old references
- Rebrand all documentation to KeyGate
- Fix subscription page: remove asChild, unused imports (Infinity, Users)
- Rebuild License page as Subscription management with tabs
- Add purchase options with Russia/CIS invoice payment to license page
- Remove node_modules from license-server, add .gitignore
- Configure live license server URL and deploy Cloudflare Worker
- Add KeyGate License Server (Cloudflare Worker)
- Add deep branding integrity system with hard lock
- Add KeyGate licensing system with JWT validation and tier enforcement
- Rebrand: OEM Activation System → KeyGate
- Add Key Retry & Fallback configuration to Client Configuration tab
- Add Client Configuration admin UI with server-driven launcher settings
- Fix Docker init: CRLF line endings, migration error tolerance, admin helper
- Clean up integration-test.yml: remove debug steps and redundant code
- Fix upgrade: directory ZIP extraction, curl GitHub downloads, API asset URLs
- Fix all Dependabot vulnerabilities (8 alerts: 4 high, 4 moderate)
- Add GITHUB_TOKEN env var to Docker web container
- Release v2.1.0: System Upgrade wizard, GitHub update checker, network diagnostics
- Add Microsoft licensing server HTTPS test + pathping DNS fallback
- Fix integration test: accept rollback warnings in CI
- Fix upgrade_apply: use global db_config for migration PDO connection
Upgrade Package
| Property | Value |
|---|---|
| Package | upgrade-v2.3.0.zip |
| Size | 1.46 MB |
| SHA256 | 1c2a46ca114231c24b988c7a799a6b137fcc9609786a22ae53a2959bf0fcbc34 |
| Files Changed | 175 |
| Migrations | 19 |
| Min Version | 0.0.0 |
How to Upgrade
Automatic (recommended): Open Admin Panel → System Upgrade → the update will appear automatically.
Manual: Download upgrade-v2.3.0.zip below, then upload it in Admin Panel → System Upgrade → Manual Upload.
v2.2.0
What's Changed
- Release v2.2.0 — Multi-panel installer (P0 + P1 + P2) (#23)
- Clean up development docs: standardize authorship references (#10)
- Fix: remove preferred_server from technician UPDATE + accept id alias (#9)
- Fix: remove non-existent preferred_server column from technician INSERT (#8)
- Fix: set custom_role_id when creating admin on fresh install (#7)
- Release: Sync develop to main (#5)
- Add activation resilience: state machine, mutex, connection monitor, boot recovery (#6)
- Set up Git Flow: branch protection, PR template, contributing guide (#4)
- Add BSL license, update pricing ($0/$29/$99), create landing page
- Rewrite CLAUDE.md: complete architecture documentation for KeyGate
- Add LemonSqueezy + T-Bank Касса payment webhooks to license server
- Add email alerts for key pool low/critical levels
- Wire PS1 main execution to dynamic task pipeline
- Add CBR Reports, Hardware Bindings, DPK Import frontend pages
- Fix TypeScript build errors: remove unused imports, fix ProductLineTask type
- Add Work Orders + Key Pool UI pages, USB devices migration
- Fix sidebar: add missing Play icon import for Task Pipeline nav
- Fix 4 schema mismatches found during live API testing
- Fix ProductionController: correct column names and permissions
- Add enterprise production tracking: CBR reports, key pools, work orders
- Add configurable task pipeline system per product line
- Fix README badge URLs to use KeyGate repo name
- Update Italian and Polish with full translations
- Add missing French translation file (fixes CI build)
- Add 16 language translation files for global localization
- Add language management UI + dynamic i18n loading for 18 languages
- Add LemonSqueezy as primary payment option in Subscription page
- Add branding consistency hook + fix remaining old references
- Rebrand all documentation to KeyGate
- Fix subscription page: remove asChild, unused imports (Infinity, Users)
- Rebuild License page as Subscription management with tabs
- Add purchase options with Russia/CIS invoice payment to license page
- Remove node_modules from license-server, add .gitignore
- Configure live license server URL and deploy Cloudflare Worker
- Add KeyGate License Server (Cloudflare Worker)
- Add deep branding integrity system with hard lock
- Add KeyGate licensing system with JWT validation and tier enforcement
- Rebrand: OEM Activation System → KeyGate
- Add Key Retry & Fallback configuration to Client Configuration tab
- Add Client Configuration admin UI with server-driven launcher settings
- Fix Docker init: CRLF line endings, migration error tolerance, admin helper
- Clean up integration-test.yml: remove debug steps and redundant code
- Fix upgrade: directory ZIP extraction, curl GitHub downloads, API asset URLs
- Fix all Dependabot vulnerabilities (8 alerts: 4 high, 4 moderate)
- Add GITHUB_TOKEN env var to Docker web container
- Release v2.1.0: System Upgrade wizard, GitHub update checker, network diagnostics
- Add Microsoft licensing server HTTPS test + pathping DNS fallback
- Fix integration test: accept rollback warnings in CI
- Fix upgrade_apply: use global db_config for migration PDO connection
- Fix upgrade_apply: use separate PDO connection for SQL migrations
Upgrade Package
| Property | Value |
|---|---|
| Package | upgrade-v2.2.0.zip |
| Size | 1.43 MB |
| SHA256 | fc67c5dc24f74bdb606346471a910917a0e840d74787a7c5a740e99dd158590b |
| Files Changed | 169 |
| Migrations | 16 |
| Min Version | 0.0.0 |
How to Upgrade
Automatic (recommended): Open Admin Panel → System Upgrade → the update will appear automatically.
Manual: Download upgrade-v2.2.0.zip below, then upload it in Admin Panel → System Upgrade → Manual Upload.
v2.1.0
What's Changed
- Release v2.1.0: System Upgrade wizard, GitHub update checker, network diagnostics
- Add Microsoft licensing server HTTPS test + pathping DNS fallback
- Fix integration test: accept rollback warnings in CI
- Fix upgrade_apply: use global db_config for migration PDO connection
- Fix upgrade_apply: use separate PDO connection for SQL migrations
- Fix upgrade_apply: split multi-statement SQL to avoid pending results
- Fix upgrade_apply: remove transaction wrapper for SQL migrations
- Fix upgrade_apply: close all PDO cursors to prevent pending result set errors
- Fix upgrade_apply: close cursor after SELECT FOR UPDATE
- Debug integration test: grep PHP errors from all log destinations
- Debug integration test: show PHP error log on upgrade_apply failure
- Fix integration test: chown app directory for www-data write access
- Skip CSRF validation when X-Admin-Token header is present
- Fix integration test: use curl -s instead of -sf for error visibility
- Fix integration test: relax GitHub check endpoint assertion
- Fix integration test: set custom_role_id for admin user
- Fix integration test: run ALL migration SQL files directly
- Fix integration test: use ACL user overrides for permissions
- Fix integration test: create ACL tables and grant system_settings
- Fix integration test: add missing i18n columns for admin_users
- Debug integration test: run exact JOIN query + show exception details
- Debug integration test: inline PHP validation + token comparison
- Debug integration test: error_log session state + dump Apache log
- Fix integration test: always override session token from X-Admin-Token
- Debug integration test: verify container has latest admin_v2.php
- Fix integration test: inject X-Admin-Token right after session_start()
- Debug integration test: add error_log to validateAdminSession
- Debug integration test: verify X-Admin-Token support exists in container
- Fix integration test: trim whitespace from DB token
- Fix integration test: add X-Admin-Token header support to validateAdminSession
- Fix integration test: scope auto_prepend to admin_v2.php requests only
- Fix integration test: use php.ini auto_prepend_file instead of .htaccess
- Debug: capture HTTP response body on upgrade_get_status failure
- Fix integration test: use X-Session-Token header instead of cookies
- Fix integration test: use auto_prepend_file to inject session from DB
- Debug integration test: test with explicit Cookie header
- Debug integration test: validate session directly via PHP CLI
- Fix integration test: use -b -c on ALL curl calls + disable strict mode
- Debug integration test: dump session file contents
- Fix integration test: create proper PHP session directory with permissions
- Debug integration test: show CI proxy file and test via PHP CLI
- Debug integration test: check admin_sessions DB table
- Fix integration test: write CI proxy PHP to local file then docker cp
- Fix integration test: use CI API proxy to bypass session persistence
- Fix integration test: append session.save_path as Dockerfile RUN line
- Fix integration test: set session.save_path in Docker PHP config
- Debug integration test: check session state, PHP session files
- Debug integration test: show cookie jar contents
- Fix integration test: patch Dockerfile to disable secure cookies at build
- Fix integration test: copy PHP ini before any requests
Upgrade Package
| Property | Value |
|---|---|
| Package | upgrade-v2.1.0.zip |
| Size | .92 MB |
| SHA256 | 98a6aa8fdd712699ca71cffdf1e53900b1a6332501cd13a4a03304fa206e9aaa |
| Files Changed | 122 |
| Migrations | 11 |
| Min Version | 0.0.0 |
How to Upgrade
Automatic (recommended): Open Admin Panel → System Upgrade → the update will appear automatically.
Manual: Download upgrade-v2.1.0.zip below, then upload it in Admin Panel → System Upgrade → Manual Upload.
v3.0.0 — Major Architecture Upgrade
What's New in v3.0
React Admin Panel
- Complete rewrite from vanilla JS to React 19 + TypeScript + Vite
- shadcn/ui component library with dark mode support
- TanStack Table & Query for data management
- Full i18n support (English + Russian)
- RBAC-protected routes with role-based permissions
Activation Client v3
- USB-based technician authentication (passwordless)
- Hardware QC data collection (CPU, RAM, GPU, disks, motherboard)
- HackBGRT detection with compliance gating
- Adaptive network timing — measures Microsoft activation server latency and scales all delays accordingly
- Alternative server failover support
Backend Improvements
- Consolidated authentication (session helpers, bcrypt, account lockout)
- QC compliance engine with motherboard registry
- Integration framework (osTicket, 1C ERP)
- White-label branding support
- Health check endpoint (
/api/health.php) - Redis-backed rate limiting (moved from file-based)
- Structured logging and error handling
DevOps
- GitHub Actions CI — PHP lint, frontend build/test, full Docker stack health check
- Schema versioning with ordered migration runner
.env.exampletemplate for all configuration
Breaking Changes
main_v2.PS1removed — usemain_v3.PS1OEM_Activator_v2.cmdrenamed toOEM_Activator.cmd- Admin panel now served by React frontend (port 5173 in dev)
- Database requires new migration tables (QC compliance, integrations, schema versions)