KWTV WIZARD 2.1.4 — SELF-UPDATING RELEASE
Build 2026.10.12.2 | Kodi 21 | 2026-10-12

WHAT CHANGES
Wizard 2.1.4 checks the Wizard header in kwtvbuild2020.txt before its normal
startup/build-update checks, and again before every build installation.
It automatically downloads a newer Wizard when playback is stopped, validates
the HTTPS host, SHA-256, archive paths, add-on ID, version and dependencies,
and installs into Kodi's user add-ons folder. It never edits an APK or writes
customer credentials/settings. A previous Wizard backup is retained.

A separate script.module.kwtv.updater 1.0.0 companion provides the update code
and startup recovery independently of the Wizard directory being replaced.
Its Python module and service are installed together as a Wizard dependency.
If replacement is interrupted, it restores the previous Wizard when possible.
The updater itself is maintained through the KWTV repository.

After an update, close and reopen Kodi. The Wizard menu and build installer
stay blocked until the new version is registered and running. Kodi is not
force-closed. A Check Wizard Updates item is added to the Wizard main menu.
An unavailable/invalid feed blocks a new build install, but does not remove the
existing build or stop normal Kodi playback. Retry after connectivity returns.
Updates never downgrade a newer Wizard. Kodi's Unknown sources permission is
required for direct feed-based updates; the updater does not enable it itself.
The same installation lock prevents self-updates during build installation.
Showcase protection pauses during build installation and a pending restart.

INITIAL ROLLOUT — REQUIRED ONCE
Versions through 2.1.3 cannot self-update from this TXT header. They must first
receive Wizard 2.1.4 plus its updater dependency through the KWTV repository.
No TXT change can add code to an already-running older Wizard by itself.
Existing APK v4 users can bootstrap through the same repository; no new APK
is required. The earlier APK still bundles Wizard 2.1.3 until its add-on updates.

1. Upload new repository add-on folders/ZIPs, including the updater companion,
   to /kodi18/repository/. Upload the complete 2026.10.12.2.zip to /kodi18/.
2. Replace /kodi18/kwtvbuild2020.txt with the supplied file only after those
   package URLs work. This feed has the real Wizard ZIP checksum and requires
   Wizard 2.1.4. Keep old build ZIP URLs available for cached clients.
3. Publish the repository addons.xml, then addons.xml.md5 last. Existing clients
   with automatic add-on updates receive the bootstrap release. On your test
   device, check for repository updates, update The KWTV Wizard and restart Kodi.
4. Confirm Wizard 2.1.4 and KWTV Wizard Updater 1.0.0 are installed before the
   build rollout. Older Wizard versions do not understand the new minimum gate.
5. Install/update KWTV Build 2026.10.12.2 through the Wizard as usual, then reopen
   Kodi after its existing build-install workflow closes the app.

MANUAL BOOTSTRAP / TEST KIT
Extract this kit first; the kit ZIP is not itself a Kodi add-on.
Install script.module.kwtv.updater-1.0.0.zip, then
plugin.program.thekwtvwizard-2.1.4.zip using Kodi Install from zip file.
Showcase 0.1.7 must already be installed (or resolved through the repository).
Restart Kodi. Update the hosted TXT before attempting a gated build install.

FUTURE RELEASES
Publish the new Wizard ZIP first. Then update the TXT header's version, zip,
sha256 and min_wizard values. The regular KWTV Build block follows unchanged
unless the build itself is changing. Use publish-feed.py to calculate the exact
header from a Wizard ZIP instead of entering a checksum by hand:

python3 publish-feed.py plugin.program.thekwtvwizard-2.1.5.zip old-feed.txt kwtvbuild2020.txt

The 2.1.5 filename above is an EXAMPLE, not a package provided in this release.
New Wizard releases must update resources/lib/modules/release.py to the exact
addon.xml version; the build gate uses the loaded version to detect old code.
Continue publishing matching repository metadata for dependency updates and
clients that have not yet received the bootstrap. If a future Wizard adds new
dependencies, those must be installed through the repository before direct
self-update can proceed; package validation will report the missing dependency.

PACKAGE CONTENTS
- Wizard 2.1.4 and updater companion 1.0.0
- Updated full repository bundle (IPTV remains 3.4.5; Showcase remains 0.1.7)
- Full build 2026.10.12.2 based on your previous 2026.10.12.1 archive
- kwtvbuild2020.txt with verified Wizard header and the new build URL
- Source packaging/publishing scripts, tests and validation notes in this kit

All original build entries outside Wizard code/profile and the added updater
are preserved byte-for-byte, including your customized menu includes, menu
data, skin settings, wallpapers, intro and other add-ons. Existing build-install
preservation settings still govern what each customer retains during a full
build update. Self-updates alone never write Wizard or IPTV settings.

VALIDATION
33 updater tests plus 18 skin guard and 7 service integration scenarios pass.
Includes bad checksums/URLs/ZIP paths, version mismatches, missing dependencies,
low storage, lock contention, failed and interrupted swaps, preservation of
settings, pending restart, old loaded code, offline feed, playback deferral,
unknown-sources permission, and build gate before destructive work.
Python/XML, parser compatibility, archive CRC, repository MD5, and file SHA256
checks pass. The ARMv7 APK's Kodi library contains the fcntl locking module.
No actual Android/Fire TV/Kodi execution or upload to your host was performed.

DEVICE ACCEPTANCE TEST
Test bootstrap and build gating on a spare/configured test device first.
Confirm current-version check, Showcase startup, retained login and playback.
Test the next real Wizard release to verify automatic replacement and restart
on your devices before broad rollout; do not advertise an unbuilt version.
