=====================================================
 MediLabel Cloud v2.4 - what changed since v2.3
=====================================================

THE ONE BIG CHANGE: LICENSING IS NOW ENFORCED
---------------------------------------------
v2.3 accidentally shipped without the licence system.
v2.4 uses the exact same machine-locked licence system
as MediLabel Desktop v19.3:

 * On first run the app shows the ACTIVATION window:
   the customer's computer code + a box to paste the key.
 * No valid key = the app will not start.
 * Keys are machine-locked (HMAC-SHA256 signed) and can
   have an expiry date or be perpetual.
 * A new "License" button on the main window shows the
   licence status and lets a customer upgrade/extend.

KEY GENERATION - NOTHING NEW TO LEARN
-------------------------------------
The licensing module is IDENTICAL to the Desktop one, so
your EXISTING keygen tool (keygen_tool.py / KeygenTool.exe
from the v19 kit) generates keys for BOTH editions.
Customer sends their computer code -> you make the key ->
they paste it. Same flow, same tool.

EVERYTHING ELSE IS UNCHANGED FROM v2.3
--------------------------------------
Same capture engine (earliest-DOB rules, DOB rescue,
dot/dash/slash dates), same extension, same printing.
Test suites: 336 capture tests + 21 new licence-gate
tests = 357 total, all passing.

HOW TO BUILD
------------
Same as last time:
1. Copy this whole folder to the Windows PC.
2. Double-click  build_exe_cloud.bat
3. Collect  dist\MediLabelCloud.exe
4. Send the exe back to be packaged for the website.

BEFORE FIRST CUSTOMER: remember the LICENSE_SECRET inside
licensing.py is still the placeholder. When you are ready
to change it, it must be changed in BOTH editions AND the
keygen tool at the same time (existing issued keys stop
working). Ask me and I'll do the coordinated swap.
