Skip to content

List Cleaner 1.6.8

Choose a tag to compare

@github-actions github-actions released this 08 Sep 21:37

列表清理 / List Cleaner 1.6.8

版本码 / Version code: 33

中文

  • 本版本汇总自上一个正式版本 v1.6.7 之后的全部实际改动,而不只包含最后一轮性能优化。
  • 持续完善“打开方式”分类、继承和排序逻辑,包括通用 OPEN 与分类型配置、实际文件效果预览、selector / MIME / 文件后缀识别,以及相关回归覆盖。
  • 加强应用隐藏与来源应用兼容,继续修复 ES 等文件管理器场景,统一全选 / 半选 / 未选的筛选、排序和包级隐藏行为。
  • 改进 Root 组件管理,包括磁贴、快捷方式、小部件的状态读取、历史筛选、批量操作和修改后局部刷新,并保留串行 Root 操作和结果确认。
  • 重构并加强 LSPosed / libxposed 102 运行时状态管理,引入 ServiceSession、ModuleRuntimeController、RuntimeCapabilities、PackageIdentity 等结构,改善重连、热更新、目标版本校验、ACK 和能力判断。
  • 继续强化 system_server Hook 安全性与兼容性,保留 caller UID、package visibility、Resolver/Chooser、空结果恢复和 fail-open 等保护,同时增加实际 Hook 命中统计。
  • 改进远程配置与备份:配置写入和 revision 更一致,旧 DefaultOpenConfig / TileConfig 逐步退出新配置路径,备份继续保持旧版本导入兼容。
  • 完成诊断体系整理,减少敏感文件名/URI 暴露,补充运行时、Hook、Root 和能力信息,并缩减重复或低价值日志。
  • 完成本地化结构整理,拆分中英文资源,加入 README.en、发布/本地化文档,并在 CI 中加入源码本地化、翻译资源和双语一致性检查。
  • 完成一轮完整性能优化:缓存 system_server 反射访问器、减少 RemotePreferences 兜底轮询、加入 session + revision 同步 fast-path、复用候选和图标缓存、Scope 列表懒加载图标、Root 局部刷新,以及列表分组/搜索缓存与 120 ms debounce。
  • 改进 Debug / Release / LSPosed / Telegram 发布流程和校验,正式 Release 继续使用固定签名证书、R8 优化、签名校验、zipalign、SHA-256 与发布产物检查。
  • 本次 Release 后附“完整变更 / Full changelog”,范围固定为 v1.6.7 → v1.6.8,列出该区间内的全部非 merge commit,避免遗漏中间修改。

建议从旧 Debug 版本升级前先导出规则备份;正式 Release 应继续使用固定签名证书安装升级。


English

  • This release now summarizes the full set of real changes since the previous stable release v1.6.7, not only the final performance pass.
  • Continued improving Open-with classification, inheritance, ordering, real-file effect preview, selector/MIME/file-extension detection, and regression coverage for generic and type-specific OPEN behavior.
  • Strengthened app-hiding and source-app compatibility, including file-manager cases such as ES, with more consistent full/partial/unselected filtering, ordering, and package-level hiding behavior.
  • Improved Root component management for tiles, shortcuts, and widgets, including state reads, history filtering, batch operations, and local refresh after mutations while preserving sequential Root execution and state verification.
  • Refactored and hardened libxposed 102 runtime management with ServiceSession, ModuleRuntimeController, RuntimeCapabilities, PackageIdentity, stronger reconnect handling, hot reload, target-version checks, ACK handling, and capability detection.
  • Continued hardening system_server hooks while preserving caller-UID checks, package-visibility protections, Resolver/Chooser handling, empty-result recovery, and fail-open safety; actual hook-hit counters were also added.
  • Improved remote configuration and backups with more consistent revisions and writes, removal of legacy DefaultOpenConfig/TileConfig from new configuration paths, and continued backward-compatible backup imports.
  • Reworked diagnostics to reduce exposure of file names and URIs, add runtime/hook/root/capability information, and remove redundant or low-value logging.
  • Reorganized localization into split English/Chinese resources, added English README and release/localization documentation, and added CI checks for source localization, translation resources, and bilingual parity.
  • Completed a full performance pass: cached system_server reflection accessors, reduced RemotePreferences fallback polling, added a session + revision sync fast path, reused candidate/icon caches, lazy-loaded Scope icons, locally refreshed Root mutations, and cached list grouping/search work with a 120 ms debounce.
  • Improved Debug, Release, LSPosed, and Telegram publication workflows and validation. Production releases continue to use the pinned signing certificate, R8 optimization, signature verification, zipalign, SHA-256, and artifact checks.
  • The Release now appends a complete changelog for v1.6.7 → v1.6.8, listing every non-merge commit in that range so intermediate changes are not omitted.

Export a rule backup before replacing older Debug builds. Production Release upgrades should continue using the fixed release signing certificate.

版本码:33

签名证书 SHA-256:674ebcf768b46b0277ca190149df4496ea9e41a3a0d3693239f9a7f4ad1039db

源码提交:e87a93ad5425c5d042f08fe507db13c9280646fc

完整变更 / Full changelog

范围 / Range: v1.6.7...v1.6.8

  • Restore manual release trigger with automatic downstream sync (b3b1771)
  • Remove unreliable root component modification history (0d6267c)
  • Remove component modification history UI (46a17cf)
  • feat: add locale-aware English UI text layer (21dca15)
  • feat: route toolbar text through locale layer (a9696db)
  • feat: localize activity text and messages (8d0624b)
  • feat: expand English UI vocabulary (f80c973)
  • feat: localize component title dialog (3b1df13)
  • feat: localize open type filter labels (b67cf82)
  • feat: localize scope diagnostics screen (9513c5d)
  • feat: localize app and component rows (cc26f8b)
  • feat: localize display and filter states (aa3a5e6)
  • feat: localize open type names and descriptions (21cf6d8)
  • Expand English UI translations for remaining labels and dynamic messages (5578d70)
  • Route resolver scope screen text through localized UI wrapper (ca4c245)
  • fix(ui): localize accessibility labels in app component rows (7bec964)
  • fix(ui): localize root component accessibility labels (0fff9c4)
  • Complete English localization for resolver scope UI (78ec634)
  • Localize dynamic runtime panel messages (e557d22)
  • Fix scope screen build import (a77dbff)
  • Localize app scope picker accessibility label (c5a7aeb)
  • Add runtime locale helper for dynamic UI messages (410fa40)
  • Localize dynamic Root component runtime messages (abfcc10)
  • Localize Root component catalog status text (a217693)
  • Localize dynamic module runtime status messages (912375d)
  • Localize dynamic module runtime status at source (476469e)
  • Add resource-backed app localization layer (12ffec8)
  • Add locale override resource entrypoint (526a811)
  • Route runtime and Root messages through app localization (3d282da)
  • Resolve localization resources lazily across app startup (7747d0d)
  • Route all Compose UI text through resource localization (01321ad)
  • Initialize localization resources at process startup (7d2f48f)
  • Register localization startup provider (485b8cb)
  • Relocalize initial app status after resource init (94f2bc0)
  • Document scalable localization workflow (3b4cfb3)
  • Add localization resource template (7837ddb)
  • Declare supported app locales (2a1cfb4)
  • Expose supported app locales to Android (0ecdd5e)
  • Add resource catalog for domain and navigation labels (5f02bdd)
  • Add Chinese domain and navigation resources (5d99385)
  • Map domain enums to Android string resources (2c8b9b1)
  • Remove localized labels from IntentKind domain model (4fbfa13)
  • Remove localized labels from display mode model (59308df)
  • Remove localized labels from visibility scope model (4d6db5e)
  • Remove localized metadata from open preset domain model (1311513)
  • Remove localized validation text from open type domain model (ac4b8d1)
  • Add complete Root component localization resources (8dd8d35)
  • Add Chinese Root component localization resources (ec6a45e)
  • Make Root command failures language-neutral (f265f04)
  • Localize Root catalog directly from Android resources (c9a103e)
  • Use Android resources for all Root controller messages (728977b)
  • Add main UI localization resources (c98abae)
  • Add Chinese main UI localization resources (fb2d9b3)
  • Move main controls to standard string resources (370688e)
  • Complete dashboard diagnostic string resources (188ee97)
  • Complete Chinese dashboard diagnostic resources (cf92b88)
  • Move rules and dashboard UI to Android string resources (773c22b)
  • Add open type UI resources (505d361)
  • Add Chinese open type UI resources (a241c91)
  • Localize open preset filter tabs with resources (98858c8)
  • Add custom open editor resources (ec692ba)
  • Add Chinese custom open editor resources (6cb43b5)
  • Move custom open editor to standard localized resources (4c1d993)
  • Add complete ordering UI resources (4b27ae2)
  • Add Chinese ordering UI resources (44b77fd)
  • Move ordering UI to standard localized resources (e74aaaf)
  • Add component title dialog resources (afe4ede)
  • Add Chinese component title dialog resources (a282e26)
  • Localize component title dialog with standard resources (8bc70e8)
  • Add app and component row resources (9cc12cc)
  • Add Chinese app and component row resources (64c3b42)
  • Move app and component rows to localized resources (0bc97c6)
  • Add app visibility picker resources (fcfb8ef)
  • Add Chinese app visibility picker resources (a23c1b1)
  • Move app visibility picker to localized resources (d67e373)
  • Add resolver scope UI resources (e3bd849)
  • Add Chinese resolver scope UI resources (f7c7c7d)
  • Move resolver scope screen to localized resources (9a2bb9d)
  • Add runtime panel localization resources (3b416f0)
  • Add Chinese runtime panel localization resources (29d2688)
  • Move runtime panel to localized resources (69500ad)
  • Complete Root screen localization resources (88cbbfc)
  • Complete Chinese Root screen localization resources (5647762)
  • Move Root component screen to localized resources (8cb02c3)
  • Add backup and export resources (b6ec693)
  • Add Chinese backup and export resources (b08ca5f)
  • Move activity navigation and backup messages to resources (dd4017d)
  • Add runtime state localization resources (f78cfaf)
  • Add Chinese runtime state resources (2e5304c)
  • Use Android resources for runtime synchronization messages (22a7ee4)
  • Make open preview selection source language-neutral (d9b254c)
  • Update open preview tests for structured selection sources (717cac6)
  • Add ViewModel localization resources (6f827ee)
  • Add Chinese ViewModel resources (8ed2a92)
  • Move ViewModel dynamic text to Android resources (c2c6d3c)
  • Remove obsolete titleFor test dependency (3a1652f)
  • Add catalog localization resources (142ec96)
  • Add Chinese catalog resources (cc8036d)
  • Separate catalog diagnostics from localized UI text (d17c0c3)
  • Add repository localization resources (36d60a2)
  • Add Chinese repository resources (82feb8d)
  • Localize repository validation messages (791f264)
  • Add localized resolver detection scenarios (5926380)
  • Add Chinese resolver detection scenarios (6533d98)
  • Localize resolver scope detection evidence (fa06d3e)
  • Remove legacy AppLanguage bridge (beb4662)
  • Remove legacy runtime translation map (6c0ac3a)
  • Remove legacy Compose translation wrapper (0d342ba)
  • Remove obsolete localization startup provider (92d44c5)
  • Remove obsolete localization provider (4ae8c0d)
  • Remove legacy locale override array (038f700)
  • Make backup reader error locale-neutral (c3a7b9e)
  • Add localized backup size error (58587d4)
  • Add Chinese backup size error (2b41867)
  • Use localized backup size error (e2400cd)
  • Add production source localization guard (dc14349)
  • Enforce localization source guard in Debug CI (17370be)
  • Make priority validation errors language-neutral (d83f06b)
  • Make legacy tile validation error language-neutral (6bd6e6e)
  • Document standard Android localization architecture (103a75e)
  • Fix apostrophe escaping in ViewModel resources (88c4b5b)
  • Fix apostrophe escaping in UI resources (725d1a0)
  • Update catalog evidence tests for language-neutral markers (b3fa7c4)
  • Add Simplified Chinese README (2b16007)
  • Make English README the default (66fb165)
  • Add Simplified Chinese release notes (a87d2d9)
  • Make English release notes the default (6207122)
  • Add Simplified Chinese release documentation (dd5eb17)
  • Make English release documentation the default (ae6982e)
  • Add Simplified Chinese LSPosed README (4da7e86)
  • Make English LSPosed README the default (249c85c)
  • Add Simplified Chinese LSPosed summary (4e8dfbd)
  • Make English LSPosed summary the default (7f4cc07)
  • Synchronize bilingual LSPosed metadata (6bd5d7c)
  • Replace legacy localization override template (c20e6f7)
  • Sync localized LSPosed docs on main changes (0ecc850)
  • Add English README alongside Chinese default (e109632)
  • Make Chinese the default README (77f1976)
  • Make release notes bilingual with Chinese first (1889ace)
  • Add English LSPosed documentation (6c5a850)
  • Make Chinese the default LSPosed README (a070efb)
  • Add English LSPosed summary (a27dbfb)
  • Make Chinese the default LSPosed summary (e28d9c9)
  • Keep Chinese first in LSPosed synchronized metadata (654e573)
  • Keep bilingual Telegram release notes with Chinese first (7ae00f7)
  • Guard against hardcoded user-visible text (f5be342)
  • Add translation resource validation (9f94bd3)
  • Validate translation resources in Debug CI (79171fe)
  • Add English localization guide (fd26957)
  • Make localization guide Chinese first (c2384ae)
  • Add community translation guide (0f1c51d)
  • Document Weblate repository setup (b0762f6)
  • Add translation contribution entry (e9e1add)
  • Add translation links to English README (628496f)
  • Remove community translation guide (0bdd7a8)
  • Remove Weblate setup guide (8dffb53)
  • Remove community translation references (b84df30)
  • Remove translation contribution links (31960a1)
  • Fix LSPosed English documentation link (4964a00)
  • Fix LSPosed Chinese documentation link (f3a087c)
  • Keep LSPosed Chinese and English docs structurally paired (fbe2f91)
  • Expand LSPosed English docs to match Chinese (2122c95)
  • Validate LSPosed bilingual documentation parity (6b27ade)
  • Test LSPosed bilingual documentation parity (c5d6e7b)
  • Keep English README aligned with Chinese documentation (f20c407)
  • Define bilingual parity policy (2d3dc9a)
  • Align English bilingual parity policy (3037640)
  • Add paired Chinese and English diagnostic guides (f7a51c0)
  • Add bilingual parity validation (5704a20)
  • Enforce bilingual parity in Debug CI (dbb5980)
  • Add English release documentation counterpart (fd7d1cf)
  • Make Chinese release documentation default (3ab8ccb)
  • Remove redundant legacy Chinese release documentation (24dfd4a)
  • Validate release documentation parity (95fabd4)
  • Remove redundant Chinese README copy (8c5ce3d)
  • Remove redundant Chinese release notes copy (86b116b)
  • Remove redundant LSPosed Chinese README copy (a44c711)
  • Remove redundant LSPosed Chinese summary copy (44f9f3f)
  • Align LSPosed Chinese summary with English (b73f893)
  • Extend bilingual checks to release pipeline (87a7ecf)
  • Add English diagnostic guide resource (a753976)
  • Add Chinese diagnostic guide resource (14963e2)
  • Load diagnostic guides from localized resources (609f465)
  • Validate localized diagnostic resource pairing (41b3fdc)
  • Separate machine evidence from localized explanations (4857070)
  • Add localized diagnostic evidence explanation (7d817aa)
  • Add Chinese diagnostic evidence explanation (ccc8108)
  • Export bilingual diagnostic evidence explanations (0b53c1b)
  • Validate bilingual diagnostic evidence outputs (fb7918a)
  • Scope bilingual policy to user-facing content (50cac26)
  • Align English localization scope (d37b5e3)
  • Limit bilingual checks to user-facing content (d0e31a0)
  • Keep developer diagnostics English-only (efd98d5)
  • Keep developer diagnostics English-only (b68be42)
  • Keep developer evidence report single-language (18371eb)
  • Keep internal Root errors out of user messages (2e713d7)
  • Localize runtime errors shown to users (d57180f)
  • Keep internal exceptions out of app UI (1992031)
  • Hide exception class from recovery UI (cb4737f)
  • Hide exception class from Chinese recovery UI (6665e22)
  • Use localized recovery message without exception details (9a42c5c)
  • Keep Root exception details in developer logs (cab965b)
  • Remove developer exception details from Root UI (93af507)
  • Remove developer exception details from Chinese Root UI (2d2a170)
  • Keep scope detection exceptions out of user warnings (2b6946f)
  • Remove developer exception details from scope UI (8c8d3f0)
  • Remove developer exception details from Chinese scope UI (e630337)
  • Keep backup failures localized in UI (ea2e3c5)
  • Prevent developer exceptions from leaking into UI (f38ff5c)
  • Preserve coroutine cancellation during backup I/O (14019ca)
  • Limit non-cancellable Root work to individual mutations (2693406)
  • Make Xposed hook exception mode explicit (05bdb64)
  • Bypass privileged callers in resolver filtering (4b537f3)
  • Protect privileged package manager queries (caa2bea)
  • Cover privileged resolver caller protection (d4ed7e9)
  • Improve typed open extension fallback (bd3ffe5)
  • Cover encoded document path fallback (2835900)
  • Resolve missing content MIME in resolver queries (7c4847c)
  • Keep scope requests bound to their service (c30bb0d)
  • Ignore stale scope results after reconnect (528b221)
  • Block stale catalog publication after cancellation (730538d)
  • Prevent stale runtime status after service reconnect (3aa1785)
  • Bind hot reload batches to active service (a620a8e)
  • Refactor runtime sessions and module lifecycle (239da16)
  • Fix full-source audit findings (491226c)
  • Optimize ListCleaner performance (225f747)
  • Release List Cleaner 1.6.8 (5b0e4ee)
  • Run release workflow on release-note updates (ca9b956)
  • Trigger 1.6.8 signed release (7b5d830)
  • Add automatic release changelog generator (bd11160)
  • Automatically complete release changelogs (ea8ba8c)
  • Make automatic changelog release lookup version-safe (2ad9485)
  • Refresh complete 1.6.8 release notes (b632cf8)
  • Replace stale Telegram release posts (22a7dec)
  • Publish Telegram after complete changelog (e2ff683)
  • Defer Telegram until changelog completion (512f6e2)
  • Republish Telegram v1.6.8 (5575024)
  • Sync LSPosed after complete changelog (41c8ef0)
  • Use expandable Telegram release captions (4a5b420)
  • Republish Telegram v1.6.8 with expandable changelog (116672f)
  • Fix Telegram release links and expandable changelog (d694f7f)
  • Republish Telegram v1.6.8 with fixed links (9e5b4a2)
  • Publish Telegram release as one expandable message (be9da14)
  • Republish Telegram v1.6.8 as single message (c796b22)
  • fix: persist desired disabled component state (93dcaba)
  • fix: keep disabled component intent persistent (2079392)
  • fix: block apps from re-enabling protected components (99e4344)
  • fix: register persistent component state guard (7de8e90)
  • ci: align Telegram bilingual check with current publisher (c2acfac)
  • fix: import component state validator (2d198a8)
  • fix: disable unsupported hot reload for multi-entry module (e87a93a)