github Gathin23/cleanyourtv v3.4.0
CleanYourTV 3.4: five new themes, 442 TV models and tighter security

5 hours ago

Think of CleanYourTV as the Linux of smart TVs: an open base that anyone can start from. In four days, people built on it again: five new themes, from photos taken on the space station to a snowy night with Santa's sleigh, two new add-ons, and 212 projects in the showcase, made by people who took the launcher and made it theirs. The launcher itself gets fixes for clocks that stopped, Mi TV picture settings and remote buttons that opened the wrong app.

Since v3.3.0: 442 TV models (from 407), 117 brands (from 106), 21 themes (from 16), 33 add-ons (from 31), 212 projects in the showcase (from 177), 247 pull requests from 143 people in four days. No binaries, as always: build the launcher with launcher/build-and-install.sh.

Highlights

  • Security improvements in the tools and in the way contributions are tested
  • Five new themes (21 now): aerial, christmas, stockholm, dock-glass and weeb
  • 212 projects in the showcase, among them four Continue watching shelves, a split-flap Departures board and the Nothing OS look
  • 35 more TVs from 11 new brands: AiPro4K, HAAM, Jio, KUNFT, Kodak, Philco, Smarttech, SunWind, Tesla, VISIO and X.Vision
  • Clocks that keep moving on TCL Android 9 TVs that stop the minute tick after standby (#3044)
  • Picture settings on Mi TVs: Quick Settings opens Xiaomi's own picture page instead of an empty one (#3260)
  • Two new add-ons: Tatami, a screensaver of small rooms that rearrange themselves (#3181), and Lịch Vạn Niên, an offline Vietnamese lunar almanac (#3136)
  • The README in Brazilian Portuguese (#3111), and the Italian docs grow by four pages (#3152, #3153)

Themes

  • aerial: NASA photos from the International Space Station, in the spirit of Apple TV's Aerials, each with its caption (#3126)
  • christmas: a snowy night with Santa's sleigh, drawn in code and CC0, until 6 January 2027 (#2802)
  • stockholm: Riddarfjärden in eight lights through the day, drawn in code and CC0 (#3125)
  • dock-glass: one glass dock over the wallpaper, nothing else (#3107)
  • weeb: original neon-outline anime characters on black (#2924)

Twenty-one themes now, the built-in default/ included. Apply one with tools/theme.sh, no rebuild; browse them at cleanyour.tv/addons.

Launcher 3.4

Nothing changes unless your TV needed the fix or a theme turns a switch on.

  • Clocks keep moving where the firmware stops sending the minute tick after a power-button standby, as a TCL UnionTV on Android 9 does: Home's clock and the clock screensaver redraw each minute and when the screen comes back (#3044)
  • Picture settings on Mi TVs: on Xiaomi sets, Android's display settings is an empty page, so Quick Settings now opens Xiaomi's own picture settings where they're installed (#3260)
  • A remote button mapped to an input (app_keys with input:) opens through the Live TV app first, as the Inputs menu already does. On a TCL G03 the TV button opened an "Open with" box instead of the tuner (#3173)
  • inputs_cec_state_only: for TVs that report HDMI connections on the wrong port, only devices that speak HDMI-CEC show a connection state in the Inputs list. Off by default (#2998)
  • Hebrew: Right from Settings reaches Wi-Fi again in the mirrored top bar (#3151)

Fixes

  • Add to dock works when the app already sits in the free place (#2923)
  • show_stats shows the memory figure on older kernels without MemAvailable, like a Philips on Android TV 8 (#2994)
  • Simplified Chinese: "Remove from Home" reads more naturally (#3034)

Add-ons (two new, in addons/)

  • Tatami: a screensaver of small rooms that rearrange themselves (#3181)
  • Lịch Vạn Niên: an offline Vietnamese lunar almanac card (#3136)

Prayer times adds the Asr school option, Hanafi or Shafi (Shafi by default, #2905) and speaks Italian (#3010). TV Hub can play a channel when it opens, off by default (#2966), and Frigate Glance checks that the app read its config (#3104). Browse them all: cleanyour.tv/addons.

New TVs and brands

35 more TV models, from 11 new brands: AiPro4K, HAAM, Jio (STB C200A), KUNFT, Kodak (55CA0909), Philco, Smarttech (Apollo Premium 4K), SunWind (Yandex TV), Tesla (Q55E655GUS), VISIO and X.Vision. Also new: the Sony BRAVIA XBR-55X805G from Brazil and the 2016 KJ-55X9300D from Japan, the onn 4K Pro (Gen 2), the Xiaomi TV A Pro 32" and a Xiaomi Fire TV, the Hisense 85E7Q, the Nokia ATV R2, the Panasonic GS655, the RockTek G2, a Skyworth Google TV stick, and the Formovie Theater, JMGO N1S, XGIMI Vibe One and Xiaomi Smart Projector projectors. Plus second and third units for lists already here, and new device notes. The full list: examples/.

Safety and security

  • Security improvements: a full review of the codebase before this release
  • Sandboxed testing: every contribution's tests now run with no network access and no writes outside the working folder
  • manage.py only accepts an add-on's package id when it's a real package name, so a crafted id can't run commands on the TV
  • Showcase links that pointed to a deleted GitHub account now point to the project's current owner, so the old name can't be taken over
  • Windows: disable.ps1's input-driver check runs reliably on Windows PowerShell 5.1, where it could be skipped without a word (#3196)
  • TCL on Android 14: the device note explains why the boot guard needs ASSOC_START, and that launcherx can't be disabled again from the Apps screen (#3212)
  • Safer lists: the TCL 75A300 Pro keeps com.tcl.exhibit, its art mode, not a store demo (#3182); the XGIMI MoGo 3 Pro's profile button, which crashes a service and sets off autofocus, does nothing with one line, KEYCODE_F6:ignore (#3121)

Tools

  • Plain answers, again: a push the TV refuses (#3311), a missing bash or Gradle wrapper in manage.py install (#3192) and a failed tv.py --pull (#3191) now say what went wrong in a sentence, and a failed pull leaves the local file as it was
  • Windows: Google ADB's UTF-8 output stays readable (#3190), and the test suite runs on Windows without the symlink privilege (#3222, #3223)
  • trace.py keeps existing traces when a download fails (#3243); the README generators never overwrite a source image (#3161); tv.py --screenshot refuses a blank destination or a folder path before it captures anything (#3303)

Translations

  • The README in Brazilian Portuguese (#3111)
  • Italian: the FAQ, privacy, restore and firmware-update pages (#3152, #3153), and Prayer times (#3010)
  • More languages are coming for the launcher itself

Showcase

212 projects (from 177), including Continue watching shelves for an onn 4K box, a Google TV Streamer, a TCL G05 and an offline launcher (#3060, #3116, #3206, #3308), Departures, a split-flap board screensaver (#3030), CleanYourTV · Nothing edition on a Vestel (#3057), Clean TV Home for Samsung (#3159), Picture Window, a photo screensaver (#3081), and weather under the clock from any add-on (#3042). See them all in SHOWCASE.md.

For contributors

  • The launcher is about 574 KB (from 573), under the 576 KB gate. versionName 3.4, versionCode 13
  • The translation recipe names every folder that carries bools, fonts and lunar data (#3213)

Install and upgrade

  • New here: send PROMPT.md to your AI assistant, or follow the README
  • Already on CleanYourTV: pull the repo and run launcher/build-and-install.sh to upgrade to 3.4; your config and themes are kept

Thank you to everyone who contributed since v3.3.0: @0xdravyn @10k11 @aboelhmd @Achar0 @adilbim @adr64 @aljazfarkas @anilgunduzz @AnishBplayz @anthonymolinam @asaurav025 @AsitOne @astra2110 @asyrafshaari93-creator @ayoub-berdeddouch @ayushere @bahybintang @bairagimuduli @bammac @Belseck @bestii @Bilna781 @bulanovk @burnhamrobertp @chrislg530 @corinnekunze @dephozenvibe @dev-bhaskar8 @dfop02 @dhungana-dinesh @dotarta @drkdw @Dtensor @editorrylix @eftekin @elyasneo @enricoottavoita @erango @FaheemR @fivestarcam @frebergguru @gabos4nchez @giorgiabosello @hankzty @harish2222 @HasanImamB @hmchen9018 @hssndrms @iacecombati @iglesiass7 @ijbhxhu @ikevinadams @Im-Monee @imilchev @itsmeshibintmz @jaimegonzalezcodes @jburg3333 @jernejpangersic @Jesencloud @jesusbcrra @julianvidalm @kaincenteno @kev1nl1u @kevscec @Kosaine @labdahen @laurentbertin @Lopes-abreu @LostInInaka @lukumaki @lustech @lzydioryao-ux @martink635 @matijavugi @maxhayim @Mehdi-Ks @mevvmevvcodinggarg @Mherberts @midhatn @MikeKiselyov @MitchellHub @mithawala @Moeez143 @MrSchmiedel @Muratovnik @nerfologist @NextDevilv @Nibblex @NickLD @nigmatovdev @NoteAP00 @oliveiravault @olivershorlend @osydorchuk @PapaGordon @parveen0029 @PBandDev @polsebas @priku @ProfetGit @pvdochtend @rafaelrenanpacheco @Ramesh-Durai @randomittin @rayedriasat @rebeccamcfadden @rotkppchn @rubenisgurkitis @rubenrojov @rynwang @sandivd @saurprince @Semper79 @Shivamingale3 @Soham-Saha-AI @srykar @sweetslacker @SYNLiquify @TeaTax16 @TechnoDudeX @Tekno74-ai @TheMajorBlackbird @TheWallHouse @thiagoaires @thisizmsk-png @Til0r @tkabala @tmlibutan @TonyStarkCodes @triksterismm @venuprasath @verbalderkint @viksharma1987 @Walpewhat @wpfyorg @xbsheng @xxiten @YoshuGH @Yosi-Brown @ZaherMadi @ZenDeveloper7 @zhangfeng-eng

Don't miss a new cleanyourtv release

NewReleases is sending notifications on new releases.