KICK.com v2.6.12
2.6.12
- fix: settings section/category/group structure — settings dialog now shows correctly
- fix: lang spinner uses numeric string IDs (#30060-30100) — no crash on Kodi 21
- fix: option values as element text content, not value= attribute
- fix: missing blank lines in all 32 PO files — translations #30047+ now work
- fix: "Followed channels" and other new strings now translate correctly
- fix: lang setting read on every /live call — change takes effect immediately
- feat: All languages option added (default), quality toggle
2.6.11
- fix: settings now visible - proper section/category/group structure required by Kodi 19+
- feat: language filter has "All languages" option (default), shows all streams
- feat: stream quality changed from dropdown to toggle (off=automatic, on=ask every time)
- strings #30054 updated, #30057 (All languages) added to all 32 language files
2.6.10
- fix: xbmc.python dependency corrected to 3.0.0 (3.1.0 does not exist, caused install failure)
2.6.9
- fix: settings visible (flat XML, no category/group wrappers)
- feat: stream quality setting - Automatic or Ask every time
- chore: Kodi 19+ (xbmc.python 3.0.0)
- strings #30054-30056 added to all 32 language files
2.6.8
- fix: settings items now visible in basic view (level=0)
- fix: search results show LIVE badge, profile pic and follow/unfollow context menu
- feat: followed channels list shows LIVE badge (one API call for all slugs)
2.6.7
- feat: followed channels - new home menu item "Followed channels"
- feat: long press (context menu) on live channel to follow/unfollow
- stored in addon profile as followed.json, persists across sessions
- strings #30048-30053 added to all 32 language files
2.6.6
- feat: translations added for 29 languages (de, fr, es, it, pt_pt, pt_br, nl, ru, tr, ja, ko,
zh_cn, ar, hu, ro, sk, bg, uk, sv, fi, el, id, vi, th, he, fa, hi, sr, ca)
2.6.5
- feat: language picker moved to addon Settings (Content tab)
- settings.xml upgraded to Kodi 19 format (version="2")
- removed /language route and main menu language picker item
- added string #30047 (Content) for settings category label
2.6.4
- fix: call _end_dir() before return when channel not found (prevents Kodi loading freeze)
- fix: localize InputStream Helper not installed message (#30046)
2.6.3
- fix: all notification messages localized via strings.po (no hardcoded Czech strings)
- added strings #30042-30045 for cs_cz, en_gb, pl_pl
2.6.2
- fix: show error notification when channel slug not found
- fix: show info notification when VODs list is empty
- fix: show info notification when clips list is empty
- fix: show error notification when stream is unavailable (offline / API error)
2.6.1
- fix: VOD playback broken - proxy returns 'source' field, not 'url'
2.6.0
- fix: live streams limit increased to 100 (API maximum, no cursor pagination)
- fix: duplicate colon in language label ("Jazyk: : english" → "Jazyk: english")
2.5.9
- polish: strip whitespace from search query input
- polish: rename internal variable for clarity
2.5.8
- fix: xbmcgui.Window instead of xbmc.Window (crash on startup)
2.5.7
- fix: clean_title uses comprehensive regex instead of fragmented unicodedata checks
- fix: live() cursor pagination uses parse_qs/urlencode (consistent with subcategories)
- fix: list_vods uses path param /vods/ (consistent with list_clips)
- fix: remove deprecated inputstream.adaptive.manifest_update_parameter
- fix: traceback import moved to top-level imports
2.5.6
- fix: replace deprecated setInfo() with Kodi 19+ getVideoInfoTag() API
- fix: remove dead /categories back-compat route
2.5.5
- fix: token cached in Kodi Window property (persists across plugin invocations)
- fix: LIVE badge uses clean separator instead of whitespace padding
- fix: profile picture shown as icon in live list
- fix: _resolve_stream uses WORKER_BASE constant instead of hardcoded string
2.5.4
- refactor: move imports to top, rename session variable
- fix: app token auto-refresh on 401 (no more Kodi restart needed)
- fix: askqual setting read at runtime instead of import time
- fix: profile picture used for VODs/Clips items
- fix: subcategories URL parsing via urllib instead of string split
- fix: avoid double HTTP call in stream resolver
2.5.3
- fix: routing strip trailing slash (favourites from Kodi broke with /channel/slug/)
- fix: remove custom add_favourite, rely on Kodi built-in (no more duplicates)
2.5.2
- fix: hide Kodi duplicate add-to-favourites (replaceItems=True)
2.5.1
- fix: favourites use channel slug as stable title instead of live stream title
2.5.0
- refactor: remove OAuth PKCE auth server from worker.js (login not used)
- refactor: remove dead constants (API_BASE/V1/V2), unused functions (title_with_viewers, add_header), unused params (fanart, contextmenu)
2.4.4
- chore: remove fanart background image
- chore: fix log prefix KICKCOMMB -> KICK
- chore: update addon.xml metadata, README, remove dead strings from all locales
2.4.3
- fix: remove duplicate 'add to favourites' — rely on Kodi built-in, removed custom implementation
2.4.2
- fix: favourites type changed from media to window so channel folders open correctly in Kodi
2.4.1
- refactor: remove dead auth/login/follow code (~378 lines), fix VOD proxy URL, clean imports
2.4.0
- fix: live channels and search broken by Kick WAF blocking direct HTTP requests
- added Cloudflare Worker proxy (kodi.zales.dev) to bypass WAF
- migrated to public API (api.kick.com/public/v1+v2) with client_credentials token
2.3.3
- remove login from settings UI (not needed, was causing confusion)
2.3.2
- add to Kodi favourites context menu on channels and live streams
- login removed from main menu (not needed for browsing)
- fixed followed channels showing own channel instead of subscriptions
2.3.1
- fixed followed channels not loading with Kick OAuth token
- handle both internal and developer API response formats
2.3.0
- Google login replaced with native Kick OAuth 2.1 PKCE flow
- no more bookmarklet or script paste — standard Kick login page
- Kodi repository directory listing fixed (was showing blank page)
2.2.1
- split javascript: prefix — user types it manually to bypass browser security
2.0.0
- new Kick.com logo icon
- Kodi 21 repository support with schema
- HTTP Range request support for proper zip install
- expanded language list from 16 to 41 (matches current kick.com UI)
- fixed BBCode tag ordering in LIVE badge
- fixed apply_auth() returning True on JSON parse failure
- fixed _fetch_xsrf() missing timeout and error handling
- fixed category URL encoding with quote_plus
- fixed cloudscraper UA being overwritten
- removed unused Host header and urlparse import
1.7
-
expanded language list from 16 to 41 (matches current kick.com UI)
-
fixed BBCode tag ordering in LIVE badge
-
fixed apply_auth() returning True on JSON parse failure
-
fixed _fetch_xsrf() missing timeout and error handling
-
fixed category/subcategory slug missing URL encoding
-
fixed cloudscraper UA being overwritten by okhttp UA
-
removed Host header from HLS manifest headers (CDN compatibility)
-
extracted stream User-Agent to UA_STREAM constant
-
removed unused urlparse import
-
bundled cloudscraper to bypass Cloudflare bot protection
1.5
- fixed channel VODs crashing (was passing 100KB URL parameter, now re-fetches by slug)
- removed unnecessary XSRF fetch from search
1.4
- replaced cloudscraper with standard requests (kick.com API does not require bypass)
- removed all bundled libraries, plugin now only depends on Kodi system modules
1.3
- code refactoring and cleanup
- removed bundled requests/urllib3 (now uses Kodi system requests)
- renamed all identifiers to English
- added Czech language translation
- fixed several bugs (empty search directory, login XSRF handling, follow notification)
- removed unused imports and dead code
1.2
- select streams quality
1.1
- select streams language
1.0
- initial version