github bryanroscoe/shield_optimizer v2-0.1.0-beta.7
Shield Optimizer v2-0.1.0-beta.7

pre-release8 hours ago

Changed

  • Per-row action dropdown in the Optimize / Restore wizard. The old
    Apply/Skip checkbox is now a dropdown so you can choose what happens to each
    app: Disable / Uninstall / Skip (Enable / Skip in Restore mode). It
    defaults to the catalog's recommended action — so you can downgrade an
    Uninstall to a safer Disable, or skip individual rows, without giving up the
    recommendation. The do-not-disable safety list still gates every action.

Changed

  • Snapshot apply now shows a clear preview table instead of a text dump.
    Applying a snapshot (from the global Snapshots page) opens a panel listing
    each package and what will happen — Disable / Set as launcher / Set setting,
    with already-disabled and not-installed rows clearly de-emphasized — mirroring
    the Optimize wizard. Apply happens from the reviewed panel.
  • In the Optimize wizard, terminal rows (not installed / already in target
    state) now read as a neutral pill, visually distinct from a user-chosen
    "Skip".

Fixed

  • "Play Store" buttons only show for apps that are actually on the Play
    Store.
    Every catalog package was audited against Google Play; the button
    now appears only for the 33 packages with a real listing. System components
    and defunct apps (Print Spooler, Google Feedback, Funimation, Stadia, Quibi,
    Nvidia system packages, region/Fire-TV-only ids, …) no longer show a button
    that leads to a 404.
  • Optimize wizard defaults are no longer dangerously aggressive. The wizard
    pre-selected an action for every installed app, so streaming apps (Netflix,
    Prime Video, Hulu, …) and anything not on the curated default list defaulted
    to Disable/Uninstall. It now respects each app's default the way v1 does:
    only default-optimize entries are pre-selected for action; everything else
    defaults to Skip (you can still pick Disable/Uninstall per row from the
    dropdown). Restore mode mirrors this with default_restore.
  • App descriptions are back in the App List. Each app shows its inline help
    text ("Print service — irrelevant on a TV", etc.) under the name again,
    instead of only as a hover tooltip.
  • System keyboards added to the do-not-disable list. Gboard, the Leanback
    keyboard, and the AOSP IME can no longer be disabled (from the memory table,
    a snapshot, or anywhere) — disabling the active keyboard removes all
    on-screen text input.
  • Accurate success reporting for device actions. Apply-snapshot,
    disable/restore-stock-launchers, and Emergency Recovery judged success by
    scanning only stdout — but adb shell exits 0 even when the on-device
    command fails, and pm / settings write failures to stderr on many builds.
    They now inspect both streams, so a package or setting that didn't actually
    change is reported as failed instead of silently "done."
  • Apply-snapshot no longer claims settings were written when they weren't.
    Settings are now applied one at a time and each is checked, so the summary
    reflects what actually took (previously every key was reported written as
    long as the shell ran).
  • Hardened package-name and snapshot-value handling. Package names from
    manual-entry paths are validated before they reach the shell, and snapshot
    setting values are rejected if they contain shell metacharacters (matching
    the existing Tweaks guard).
  • Minor: the launcher-set error message no longer gets overwritten by benign
    empty output, and per-device state is fully reset if the device view ever
    switches devices without unmounting.

First-run warnings

These builds are unsigned. Your OS may complain on first launch:

  • macOS (Gatekeeper): the first-launch dialog on macOS 15+ only offers "Move to Trash" or "Done" — click Done, then either:
    • Terminal: xattr -dr com.apple.quarantine "/Applications/Shield Optimizer.app" (one-time, then double-click as normal)
    • GUI: System Settings → Privacy & Security → scroll to the "Shield Optimizer was blocked" message → Open Anyway → enter password
  • Windows (SmartScreen): "More info" → "Run anyway".
  • Linux: chmod +x ShieldOptimizer*.AppImage before running.

See the v2 README for setup and feature docs.

Don't miss a new shield_optimizer release

NewReleases is sending notifications on new releases.