Skip to content

Releases: ChesnoTech/KeyGate

v2.3.0

09 May 07:41
aff364c

Choose a tag to compare

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

07 May 10:39
624b7ae

Choose a tag to compare

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

22 Mar 07:46

Choose a tag to compare

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

11 Mar 14:50

Choose a tag to compare

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.example template for all configuration

Breaking Changes

  • main_v2.PS1 removed — use main_v3.PS1
  • OEM_Activator_v2.cmd renamed to OEM_Activator.cmd
  • Admin panel now served by React frontend (port 5173 in dev)
  • Database requires new migration tables (QC compliance, integrations, schema versions)