Changelog & upgrades
Release history and anything you need to do when moving between versions. New installs can ignore the upgrade notes — they only matter when you already have an older EasyPlayTV database.
v1.3.0 — 2026-09-05
- 3-package split: video addon is playback-only; the Service
addon (
service.easyplaytv) and the standalone (easyplaytv-service) share theeasyplaytv_serviceruntime for PVR generation + library sync. - Client/server PVR: the Service addon is always the PVR server; client boxes run only the video addon and fetch PVR files over HTTP.
- Sequential batch sync: providers sync one-after-another, then the PVR (channels + EPG) refreshes, then the cycle repeats — capped by the sync interval. No per-provider staggered timers.
- Two-cadence stale sweep: movies and whole TV shows are removed every sync; episodes inside still-present shows on a slower cadence. Both are failsafe-skipped when a provider's upstream fetch comes back empty.
- TMDb disambiguation: library-sync lookups match results against provider metadata (year, description, cast/credit names) instead of trusting the bare-title first result. Fixes wrong matches like War resolving to War Machine or Bird to Bird Box. Remediation for existing bad rows: delete them and let the scheduler rebuild (library sync is insert-only).
- Radio EPG for the 44 BBC radio stations, from BBC Sounds schedules (5 Global stations stay EPG-less).
- Removed all manual-force-sync entry points (HTTP
POST /sync/vod/*,force_sync_<provider>markers,--syncCLI).
v1.2.0 — 2026-08-30
- Stubbed 4 unreliable free-IPTV channels for graceful failure: Great! Action, Pop Max, Talking Pictures TV, Together TV — greyed out in the PVR guide with a "not implemented" notification.
- Native Pluto TV resolver — 13 channels.
- Additional channels: Great! TV live, UKTV VOD provider, 9 clear Samsung TV Plus channels, ITV Quiz via ITVX (ITVBe slug), WildEarth / 5 Trucking Hell / France 24.
- Removed
+1timeshift channels and the plusone resolver. - Freely LCN normalisation to Freely numbering; region setting for channel lineups.
- ITVX fix for intermittent 403s on CDN segments (lost audio).
PVR setup fix for Kodi 20+ (patch
instance-settings-1.xml). Addon XML validation added to the release workflow.
v1.1.2 — 2026-08-22
- Formal Freely channel lineup with region setting (London / Central Scotland); LCNs normalised to Freely numbering.
- Fixed invalid
addon.xml; added XML validation to the release workflow. - CI falls back to automatic token when the release token is unset.
v1.1.1 — 2026-08-20
- STV EPG fix (Freeview-EPG mapping).
v1.1.0 — 2026-08-20
- PVR integration: live TV in Kodi's native TV section (channels + EPG).
- C4 auto re-login when the session expires.
- Single-threaded service operation.
v1.0.0 — 2026-08-17
- Initial release: live TV + VOD playback with sign-in for ITVX, C4, My5.
Upgrade notes
TMDb disambiguation in library_sync uses a title-similarity scorer (token Jaccard, year tie-break, exact-title first). Releases before the scorer just took TMDb's first search result, so some titles were inserted against the wrong TMDb id — e.g. ITVX's War (2007) could resolve to Avengers: Infinity War, or a documentary could shadow its titular film.
New titles sync correctly with no action. Because library
sync is insert-only (rows are never re-matched), correcting an already-wrong
row means deleting it and letting the scheduler rebuild it. Delete
tvshow / movie rows whose
uniqueid (type='tmdb') holds the wrong id; the next
scheduled pass re-inserts them with the scorer. Stop the Kodi service before
deleting so a concurrent sync can't race the rebuild.
The two-cadence sweep (_sweep_movies_fast per sync,
_sweep_absent_shows per sync, sweep_stale on the
slow cadence) deletes through child tables (streamdetails,
art, uniqueid, genre_link,
countrylink, seasons, tvshowlinkpath,
files, episode, movie, tvshow)
rather than relying on Kodi FKs. One caveat: on modern Kodi schemas
(MyVideos131) the media link table is country_link, while the
delete helper still targets countrylink — where the table is
missing, that DELETE raises 1146. The per-sync sweeps wrap the chain in a
try/except, so the sync completes and the failure is logged rather than
aborting; the affected show/episode rows are simply not removed that pass.
Fast-path movie sweeps are unaffected (they touch
genre_link, not countrylink).
If you install the addon by unzipping over a previous copy rather than via
the ZIP installer, Kodi may prune the addon at startup. Re-run the manual
registration steps in Installation —
DB insert into Addons33.db (addons +
installed), strings.xml from
strings.po, and strip the xbmc.addon.settings
extension point from addon.xml.
service.easyplaytv/lib/easyplaytv_service/ is a byte-copy of
the standalone's easyplaytv-service/src/easyplaytv_service/.
When upgrading the standalone, the Service addon must be upgraded too so both
run the same runtime version.