github Spencer0187/Spencer-Macro-Utilities V3.3.0
Spencer Macro Utilities V3.3.0

latest release: V3.3.1
one month ago

VERSION 3.3.0 UPDATE

Major release: Native macOS and Linux support, a full custom macro scripting API, expanded wallhops, and major performance and reliability improvements.

This update ended up being much larger than a normal feature release.

Main Features

  • Spencer Macro Utilities now runs natively on Windows, Linux, and macOS. The macOS app is universal for Apple Silicon and Intel, and the single Linux download contains an AppImage, Debian package, Fedora/RHEL RPM, and portable build.
  • Added a full cross-platform Lua macro scripting API. Scripts can manage hotkeys, timing, keyboard and mouse input, pixel reads, process freezing, platform-supported lag-switch controls, saved settings, custom controls, and cleanup when stopped.
  • Scripts can be imported with a file picker or drag and drop, inspected in a read-only preview before being trusted, and stopped without leaving managed keys, processes, or network state behind. Execution and memory limits contain broken or runaway scripts.
  • Wallhops now support multiple independently configured selections. Vertical mouse movement, degree-based movement, and a configurable jump key were also added.
  • Built-in macros, global input, text typing, process detection, and process freezing now use native Linux and macOS backends.
  • Windows lag-switch targeting now follows Roblox's active UDP ports more reliably. Linux adds a native Go-based hard-block and fake-lag switch with a small authenticated helper. Linux fake lag uses SMU-owned tc/IFB state and refuses interfaces with custom traffic-control settings rather than replacing them.
  • New profiles use the Cyberpunk theme by default. Notifications can be copied, individual warning messages can be hidden, script controls can show live text, and the interface scales and scrolls more cleanly on smaller displays.

Macros and Scripting

  • Fixed profile switching duplicating multi-wallhops, Press Key entries, and Spam Key entries.
  • Fixed Spam Key hold mode repeatedly starting workers instead of keeping one worker active until the trigger is released.
  • Fixed Item Unequip and Laugh Clip retriggering while already active, restored the intended Floor Bounce timing, and corrected Smart Bunnyhop behavior and default bindings.
  • Keybind capture no longer leaks the captured key into a running macro, and symbols and other special keys have clearer names.
  • Mouse movement is more consistent outside tabbed mode on Windows. Absolute movement, active-monitor sizing, degree movement, scroll behavior under load, and bulk pixel reads were also improved.
  • Script settings now copy back into the host correctly. Added managed hotkey callbacks, cleanup callbacks, precise microsecond sleeps, checkpoints, absolute and degree mouse movement, faster pixel reads, and lag-switch controls where the platform supports them.
  • Restored Anti-AFK on Windows. Linux and macOS now keep the unavailable Anti-AFK control visibly disabled instead of showing a toggle that does nothing.

Performance and Reliability

  • Idle rendering is event-driven and foreground/process checks are rate-limited. The runaway CPU regression is fixed; testing on Fedora XFCE measured about 1% of one logical CPU while SMU was open.
  • Fixed save-file crashes, missing default profiles, unsafe migrated values, Linux save failures, and several older-profile compatibility cases.
  • Linux Roblox and Sober detection now handles X11 parent processes, cgroup-launched processes, and Sober's Main alias more reliably without repeatedly showing desktop-detection errors.
  • Linux input permissions use a one-time installer through the desktop authentication prompt. The main app stays unprivileged and never receives the user's password.
  • Fixed a Windows WinDivert shutdown path that could hang, Windows pixel reads, macOS shutdown handling, file-picker sizing, settings-window dragging, and several low-resolution layout issues.

Packaging and Release Support

  • Added local one-command builds for each platform, including AppImage and all-in-one Linux release builds.
  • Added a locked Nix flake and NixOS module with native x86_64 and aarch64 package definitions, input permissions, and Polkit integration.
  • Version information now comes from one version file. Maintainers can use python3 scripts/version.py --bump patch, --bump minor, or --bump major.
  • GitHub Actions now builds all platforms from the selected commit, signs Windows through SignPath, verifies the returned signature, and prepares a draft release with all four public downloads.
  • The updater now selects the correct package for each operating system. Windows and macOS verify signature continuity and retain a rollback copy; a writable Linux AppImage can update itself from the all-in-one Linux ZIP.

Warning

  • macOS packages use SMU's stable self-signed project certificate, not Apple notarization. Copy suspend.app out of the DMG, try to open it, then approve it in System Settings → Privacy & Security → Open Anyway. An app launched directly from the read-only DMG cannot replace itself.
  • Automatic Linux installation is limited to an AppImage in a writable folder. Debian, RPM, portable, and Nix users are shown the new release but must update with the same installation method they used before. AppImage and portable update checks require curl.
  • The Linux lag switch provides machine-wide hard blocking and fake lag, not Sober-process targeting; Roblox mode uses static 128.116.0.0/16 matching plus the current UDMUX and RCC server addresses read from Sober's player log. Linux fake lag needs iproute2 (tc and ip), an IFB-capable kernel, and the default fq_codel qdisc on the active interface. It refuses custom traffic-control configuration. Dynamic process targeting, disconnect prevention, and the global overlay remain Windows-only.
  • macOS does not include a lag switch. A safe implementation requires an Apple-entitled Network Extension and Developer ID distribution.
  • Native Wayland can restrict foreground detection, absolute pointer positioning, and screen pixel reads. X11 and XWayland provide the broadest Linux feature support.

Full Changelog: V3.2.1...V3.3.0

Don't miss a new Spencer-Macro-Utilities release

NewReleases is sending notifications on new releases.