Skip to content

9.0 Beta 3

Pre-release
Pre-release

Choose a tag to compare

@awesomenull-dev awesomenull-dev released this 25 Aug 17:32
· 8 commits to main since this release

9.0 beta 3

Changelog

general - Smart Backup Cache: masters ≥ 1 GiB move from tmpfs /tmp to persistent GoldenNugget app-data folder — no RAM cost and no size ceiling for big backups
general - Cache reuse window: cache younger than 30 min reused with NO device session — instant apply when no wallpapers pending
general - PosterBoard on iOS 27 beta 6+: AppDomain sparse restores rejected by the device — wallpapers delivered through the protective restore instead
general - Phase 2 telemetry: connection drops at zero progress reported as REJECTED restore instead of fake success, with auto-cooldown + retry on fresh connection
general - Fixed _wait_for_device forcing re-pair after security recovery: pairing survives the wipe, forced re-pair crashed with MissingValueError BEFORE Phase 3 — protective backup was never restored
general - NotEnoughDiskSpaceError caught and retried instead of crashing; user prompted whether to continue without protective backup
general - Prune self-heal: manifest rows without payloads dropped before they abort Phase 3; directory rows preserved (renameatx ENOENT fix)
general - Stale protective working copies (>1h) auto-cleaned at start of each apply
general - Speed up three-phase restore: faster initial polling (1s), shorter settle after reconnect (3s vs 30s), shorter Phase 3 retry delay (3s vs 10s), skip disk-check diagnostics on incrementals
general - Removed --enable-legacy-support: iOS < 26.2 stays hard-blocked

Stability - Phase 3 protective restore retries raised to 18 and survive DeviceNotFound / NotPaired / ConnectionFailed during boot (@Wind0ws11Aero)
Stability - Fixed encrypted-backup crash + added warning when opening encrypted backup (@Wind0ws11Aero)

Tweaks - New declarative tweak registry: one entry per tweak defines id/title/plist/compat/UI kind; loader and UI derive from it
Tweaks - Wallpapers always applied as configurations (DB-based); Descriptors method removed entirely
Tweaks - Warning when disabling Location Services daemon on iPhone 14 (reported wallpaper loss)
Tweaks - Passcode Themes removed (non-functional on iOS 27)
Tweaks - Text input tweaks accept empty values (clear Lock Screen Footnote etc.)

UI - Apply page rebuilt with iOS-style components (Apply / Remove Tweaks / Progress status)
UI - Split tweaks to separate tabs in PosterBoard
UI - Removed Templates button from sidebar (now a PosterBoard tab)
UI - Readded Daemons tag in Classic UI
UI - 12px edge padding on main layout
UI - eventFilter no longer crashes on layout items lacking QObject wrappers

misc - skip_setup.py rewritten as a cross-platform tool (cfgutil prepare --skip-all)
misc - Large dead-code sweep (~1.5k lines): duplicate helpers, unreachable branches, stale enums, legacy status_setter exe, pyuac dependency
misc - Full architecture guide (docs/ARCHITECTURE.md) covering every package and flow
misc - Offline regression tests for the backup cache (tools/test_protective_cache.py, tools/test_cache_placement.py)
misc - lockdown_session() context manager replaces ad-hoc device connection handling everywhere

Full Changelog: 9.0b2...9.0b3