Changelog
Release notes.
Customer-visible changes for the desktop client, billing portal, and server-side decision stack.
Changelog
2026-04-26
Customer-facing website
- Added customer website (sphere-exe.com) shell with marketing pages (home, features, pricing, how-it-works, docs, changelog).
- Added account registration and signed-cookie login. CSRF tokens are required on all authenticated mutating endpoints.
- Added USDT-TRC20 invoice records with TronGrid polling watcher, BIP44 address-pool assignment (200-address warm pool, retired after one payment per spec ยง9.2), and 24-hour invoice TTL.
- Added device slots:
/v1/auth/loginenforces a per-user concurrent device cap derived from each license key'smax_clientscolumn. Concurrent registrations are now serialized with a row lock so the cap cannot be bypassed via parallel logins. - Added referral ledger and 10% accrual on every paid invoice. Customers can request a payout when their accrued balance reaches $20 USDT. Payouts are processed manually from the admin console.
- Customer site relocates FastAPI's interactive API explorer to
/api/_docsso the public/docsURL serves the customer documentation page. - License-key plaintext is encrypted at rest with Fernet derived from the site session secret; only the issuance request, polling JSON, and dashboard see the decrypted value.
Wire-format changes
- The
Tierenum gainedSOLO,FLEET, andUNLIMITEDvalues alongside the existingSTANDARD. TheLoginResponse.tierandStatusResponse.tierfields can now return any of these strings; desktop clients should accept unknown tiers and fall back to conservative behavior (treat as the most restrictive cap).
Multi-client desktop client
- The GUI can now select multiple EVE Online client processes and run them under one orchestrator. A row in the client table is selected per-row to issue commands like Re-detect or Configure Clients.
- Mixed input modes (some profiles dry-run, others real-input) now fail explicitly at orchestrator construction rather than silently honoring the first profile's mode.
- Starting with no PID-bound profiles is now a hard error rather than a silent zero-client orchestrator.
Migrations
- New migration
0005_customer_site_schemaaddspassword_hash,referral_code,referred_bycolumns tousers, and createsinvoices,address_pool,user_devices,referral_payoutstables.referral_payouts.statusis constrained toaccrued | requested | paid_out.