TradeService Field Service Manager
PHP/MySQL licensed edition 3.1.1

Version 3.1.1 adds central update discovery:
- administrators can check the installed version from Settings;
- the app reads the public release catalog from tradeservice.ca;
- available update packages download from the official release center;
- no business or customer data is sent during the update check.

Version 3.1 adds team and dispatch foundations:
- administrator, dispatcher and technician roles;
- automatic safe migration of existing user accounts;
- team member creation, editing, password reset and activation;
- active-user limits enforced from licensed seat count;
- technician assignment on jobs;
- schedule search and filtering by technician;
- assigned technician displayed in job lists;
- technician financial and settings restrictions enforced server-side;
- existing clients, jobs and documents remain unchanged during upgrade.

Version 3.0 adds white-label installation and offline digitally signed licenses:
- Ed25519 signature validation;
- exact-domain and wildcard-subdomain binding;
- expiration or perpetual licenses;
- customer, plan and seat metadata;
- activation screen and license information in Settings;
- generic company branding, initials and document footer/service area;
- selectable Canadian time zone during installation;
- separate private license-issuing console for the product owner.

All functional improvements from Appliance Repair Pro 2.10 are retained.

Version 3.0.1 adds RSA/OpenSSL FSM2 licenses for shared hosting without PHP Sodium while retaining compatibility with older FSM1 keys.
