YouTube Cleaner - Remove Shorts, Recommendations & Clutter

Clean YouTube interface by hiding Shorts, suggestions, and clutter elements. 20+ custom rules.

These are versions of this script where the code was updated. Show all versions.

  • v2.0.3 2026-02-14

    chore(release): 2.0.3

  • v2.0.2 2026-02-06

    backup: cleanup old js tests

    feat: implement advanced filtering optimizations (rule priorities, i18n robustness, and anti-flicker CSS)

    refactor: centralize all i18n strings and detection patterns into i18n.ts

    release: v2.0.2 - architecture refactor and i18n optimization

    build: bundle final v2.0.2 with list management improvements

  • v2.0.1 2026-02-05

    release: version 2.0.1 - enhanced whitelist logic, layout compatibility, and stability fixes

  • v2.0.0 2026-02-05

    backup: initial completion of v2.0.0 iteration and architecture refactor

    backup: update logic-test.js and finalize v2.0.0 after architectural refactor

    chore: renormalize line endings to LF

    chore: final pre-release checks and version sync for v2.0.0

    fix: resolve all issues identified in comprehensive audit

    fix: resolve ReferenceError and align config naming to restore script functionality

    feat: enhance logging with specific filter trigger details

    feat: precision logging with raw DOM values and threshold comparisons

    chore: set default KEYWORD_BLACKLIST to empty array

    feat: enhance whitelist logs to show detailed original trigger information

    chore: simplify logging by removing DOM element references

    refactor: simplify menu by removing global exact match toggle and enhancing per-item logic

    fix: implement pagination for Rule Menu to prevent text truncation

    fix: resolve black box issue by moving content filtering to JS and improving cache clearing

    feat: implement strong filter logic (Members/Shorts/Playlists always hidden even on whitelist)

    feat: finalize v2.0.0 with dedicated whitelist menu and members whitelist logic

    refactor: complete redesign of menu hierarchy for better discoverability

    refactor: replace text prefixes with universal icons for better i18n support

    fix: resolve selector health check failure for yt-lockup-view-model layout and enhance channel extraction

    fix: aggressively clean channel names to handle YouTube Live descriptive labels and improve whitelist matching

    refactor: externalize channel name cleaning rules to I18N system for better multi-language support

    fix: ultra-aggressive channel name cleaning to handle invisible characters and improve strict whitelist matching

    fix: re-index logic to ensure custom rules honor whitelists and rebuild final script

    fix: resolve circular dependency and settings contamination while hardening regex compilation

    fix: refine channel name cleaning by adding bracket stripping and fixing quote repetition

    fix: implementing ultimate fail-safe logic for whitelists to prevent silent failures and handle compilation race conditions

  • v1.9.9 2026-02-04

    docs: restructure documentation and cleanup project root

  • v1.9.8 2026-02-01

    fix: remove duplicate keys and bump to 1.9.8

  • v1.9.7 2026-02-01

    chore: bump version to 1.9.7

  • v1.9.6 2026-02-01

    feat: enhance debug logging with actionable details

    • Add url property to LazyVideoData
    • Include title, channel, and clickable URL in debug logs when hiding videos
    • Improve FilterStats tracking accuracy
    • Bump version to 1.9.6
  • v1.9.5 2026-02-01

    feat: add channel whitelist and optimization

    • Add channel whitelist mechanism (exception list)
    • Add option to disable filtering on channel pages
    • Optimize LazyVideoData with property caching
    • Fix duplicate style injection issues
    • Update i18n strings and menu
    • Bump version to 1.9.5
  • v1.9.3 2026-01-28

    chore: release v1.9.3

  • v1.9.2 2026-01-26

    fix: v1.9.2 playlist filtering exemption and menu UX improvements

  • v1.9.0 2026-01-25

    refactor(ui): split threshold and grace period menu options (v1.9.0)

  • v1.8.9 2026-01-25

    feat(ui): add grace period setting (v1.8.9)

  • v1.8.8 2026-01-25

    fix(filter): improve Mix detection in Rich Grid (v1.8.8)

  • v1.8.7 2026-01-25

    fix: notification interaction regression (v1.8.7)

  • v1.8.6 2026-01-25

    chore(release): v1.8.6 - Performance optimization & stability fixes

  • v1.8.4 2026-01-25

    fix: comment notification video thumbnail now opens in new tab (v1.8.4)

    • Extended notification panel detection to include ytd-comment-video-thumbnail-header-renderer

    • Improved link detection to include a[href*/watch?]

  • v1.8.3 2026-01-25

    fix: settings not persisting after reload (v1.8.3)

    • Add missing config keys to ConfigManager.defaults

    • Enable all filters by default (including DEBUG_MODE)

    • Use dynamic version from GM_info.script.version

    • Reported by: Leadra on Greasy Fork

  • v1.8.2 2026-01-23

    fix: critical regression - ConfigManager.defaults property naming (v1.8.2)

  • v1.8.1 2026-01-22

    chore(release): 1.8.1

  • v1.8.0 2026-01-22

    feat: add section blocker (shelf filter) feature

  • v1.7.9 2026-01-22

    fix: remove offsetParent check to ensure hidden elements are processed

  • v1.7.8 2026-01-22

    fix: enforce hiding for elements with native hidden attribute

  • v1.7.7 2026-01-22

    chore: update version to 1.7.7

  • v1.7.6 2026-01-22

    fix

  • v1.7.6 2026-01-20

    chore: bump version to 1.7.6

  • v1.7.5 2026-01-18

    chore(release): v1.7.5

  • v1.7.4 2026-01-18

    fix: layout gap when filtering Shorts/Posts sections

    • Add ytd-rich-section-renderer to _hide() closest selector
    • Add CSS rules for posts_block to hide post containers
    • Use dynamic version display via GM_info.script.version
    • Bump version to 1.7.4
  • v1.7.3 2026-01-18

    fix: resolve crash on 'New to you' chip via State Machine Scheduler (v1.7.3)

  • v1.7.2 2026-01-18

    fix: resolve infinite loop/crash on chip click (v1.7.2)

  • v1.7.1 2026-01-18

    fix: resolve ghost element layout issue by hiding parent container (v1.7.1)

  • v1.7.0 2026-01-18

    fix: disable scroll unlocking in AdBlockGuard to prevent scroll lock issues (v1.6.9)

    feat: upgrade to v1.7.0 with incremental mutation processing

    fix: clear filter cache on navigation to prevent DOM recycling issues

  • v1.6.8 2026-01-07

    chore: release v1.6.8 - sync build system with OpenCC-JS migration

    • Update src/meta.json to use opencc-js CDN

    • Update src/main.js startup log to detect OpenCC

    • Use dynamic version from GM_info.script.version

    • Rebuild userscript with rollup

  • v1.6.7 2026-01-07

    fix: update startup log to check OpenCC instead of chinese-conv

    • Check for OpenCC instead of deprecated window.chineseConv

    • Use GM_info.script.version for dynamic version display

  • v1.6.7 2026-01-07

    feat: replace chinese-conv with opencc-js for superior Chinese conversion

    • Replace @require from chinese-conv to [email protected]

    • Remove embedded TC_COMMON/SC_COMMON dictionaries (~6KB savings)

    • Delete src/data/chinese-map.js (no longer needed)

    • Rewrite toSimplified() and generateCnRegex() to use OpenCC

    • Update ADR-0006 to document OpenCC-JS decision

    • Bump version to 1.6.7

  • v1.6.6 2026-01-06

    chore(release): version 1.6.6

    • Enhance keyword filtering with TC/SC regex support
    • Optimize performance using zero-allocation regex matching
    • Fix title selector for new YouTube Rich Grid layout
    • Update documentation and changelog
  • v1.6.5 2026-01-06

    fix: correct chineseConv global variable casing

  • v1.6.5 2026-01-06

    test: add library load status detection log

  • v1.6.5 2026-01-06

    feat: integrate external chinese conversion library via @require

  • v1.6.5 2026-01-06

    feat: add region-agnostic keyword filtering and update documentation

  • v1.6.5 2026-01-06

    refactor: migrate to modular architecture with rollup

  • v1.6.5 2026-01-06 Imported from URL
  • v1.6.1 2025-12-30

    docs: update branding to YouTube Cleaner and add banner

  • v1.6.1 2025-12-29

    feat: 重新命名為 YouTube Cleaner - Block Shorts, Ads & Clutter

    • 更新腳本 @name 為 SEO 友好的新名稱

    • 新增多語言 @name (zh-TW, zh-CN, ja)

    • 優化 @description 包含熱門關鍵字

    • 更新 README 標題

    • 版本升級至 v1.6.1

  • v1.6.0 2025-12-26

    chore: initialize beta branch with v2.0.0-beta.1

    feat: v2.0.0-beta.1 - centralized selectors, i18n parsing, filter stats

    feat: v2.0.0-rc - complete all phases (performance, export/import, anti-adblock, watch page)

    feat: add i18n support with 4 languages (zh-TW, zh-CN, en, ja)

    feat: add rule name translations and full i18n for all menus

    chore: prepare release v1.5.0

    chore: release v1.6.0

  • v1.5.7 2025-12-25

    fix: v1.5.7 - support new yt-lockup-view-model layout for metadata parsing

  • v1.5.6 2025-12-25

    feat: v1.5.6 - complete restoration of v1.4.0 features

  • v1.5.5 2025-12-25

    feat: v1.5.5 - restore missing features from v1.4.0

  • v1.5.4 2025-12-25

    fix: v1.5.4 - optimize click detection logic for new tab opening

  • v1.5.3 2025-12-25

    feat: v1.5.3 - fix open in new tab and enhance member filtering

Show all script versions