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/login enforces a per-user concurrent device cap derived from each license key's max_clients column. 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/_docs so the public /docs URL 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 Tier enum gained SOLO, FLEET, and UNLIMITED values alongside the existing STANDARD. The LoginResponse.tier and StatusResponse.tier fields 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_schema adds password_hash, referral_code, referred_by columns to users, and creates invoices, address_pool, user_devices, referral_payouts tables. referral_payouts.status is constrained to accrued | requested | paid_out.