Skip to content

Releases: martincalander/MacDragScroll

Mac Drag Scroll 1.2.0

Choose a tag to compare

@github-actions github-actions released this 11 Jul 17:55
a5a814b

Added

  • Added an optional, off-by-default Keep Cursor in Place mode for middle-button drag scrolling, with virtual visualizer movement and automatic release safeguards.
  • Added a menu-bar command to immediately re-enable drag scrolling in the currently ignored app.

Changed

  • Extended fast-reversal squash and stretch feedback from the moving dot to the surrounding glass surface.
  • Expanded release compatibility checks to reject Intel-only or Apple-silicon-only embedded components.
  • Release builds now use one pinned, long-lived project code-signing identity so macOS can recognize later binaries as the same app.
  • Development builds now use a separate bundle identifier and display name so local testing cannot disturb production permissions or app-instance state.
  • Reduced idle mouse-monitor overhead and capped visualizer rendering work to the existing 60 Hz scroll loop.
  • Coalesced rapid settings backup writes and moved installed-app metadata discovery off the main thread while keeping AppKit icon loading main-thread safe.
  • Replaced the legacy GitHub glyph with GitHub's official current Invertocat vector while preserving its original proportions.
  • Made missing permissions a passive menu-bar state with a direct Settings guide instead of an automatic launch alert.
  • Removed the redundant Input Monitoring requirement; Accessibility alone authorizes the event listening and posting used by drag scrolling.

Fixed

  • Keep drag scrolling and its visualizer active at screen edges without snapping the pointer back to its starting point.
  • Reject invalid process and window geometry before routing synthetic scroll events.
  • Prevent repeated Accessibility resets after normal updates by replacing per-build ad-hoc identities with a stable designated requirement.
  • Cancel stale drag sessions when the Mac sleeps, the user session resigns, another app activates, or another window covers the intended scroll target.
  • Recover event monitoring when an existing event tap becomes invalid or disabled.
  • Prevent failed Launch at Login changes from retrying recursively, prevent restart helpers from inheriting the single-instance lock, and keep the app running when a restart cannot be scheduled.
  • Make captured left or right mouse triggers add a safe modifier automatically and avoid coordinate round trips when selecting a target window across displays.
  • Reduce permission setup to one Accessibility request and prevent stacked macOS prompts or System Settings windows.
  • Use the app's standard preferences domain directly instead of reopening its own bundle identifier as a redundant suite.
  • Allow self-issued release builds to load the embedded Sparkle framework, and launch-test the signed app before publication.

Mac Drag Scroll 1.1.0

Choose a tag to compare

@github-actions github-actions released this 10 Jul 21:46
1ce21a2

Changed

  • Lowered the supported runtime requirement to macOS 14 while retaining native Liquid Glass on macOS 26 and a native material fallback on earlier systems.
  • Expanded the required quality gate with strict compiler warnings, dependency review, deterministic Swift fuzz execution under macOS Guard Malloc, Xcode static analysis, code coverage reporting, and universal Intel/Apple Silicon compatibility verification.
  • Auto Update now enables Sparkle's automatic update downloads as well as scheduled checks.
  • Release signing tools are checksum-verified before the Sparkle private key is made available.
  • The Homebrew cask now verifies the exact release archive checksum.
  • The CLI installer now stops instead of installing an archive without a valid published checksum.
  • Permission, update, and crash-report screens are now fully translated in every bundled language.
  • The project landing pages now use descriptive product artwork, artifact-free demos, and complete install, trust, build, and contributor guidance in English, Japanese, and Simplified Chinese.

Fixed

  • Cancel active scrolling when macOS disables the event tap so stale drag state cannot keep scrolling after the tap is restored.
  • Keep cleared macOS crash reports from being imported again on the next launch while still importing newer reports.

Mac Drag Scroll 1.0.7

Choose a tag to compare

@github-actions github-actions released this 10 Jul 09:34
89e3bc3

Fixed

  • Replaced corrupted NaN and infinite numeric preferences with safe defaults before they can affect scrolling or visualizer calculations.

Mac Drag Scroll 1.0.6

Choose a tag to compare

@github-actions github-actions released this 10 Jul 09:24
0ef9953

Fixed

  • Prevented drag scrolling from capturing mouse shortcuts when extra Command, Option, Control, or Shift modifiers are held beyond the configured trigger chord.

Mac Drag Scroll 1.0.5

Choose a tag to compare

@github-actions github-actions released this 10 Jul 09:19
0b9c5ee

Fixed

  • Moved crash reports to the documented Mac Drag Scroll Application Support folder and safely migrated reports created in the legacy MacDragScroll folder.

Mac Drag Scroll 1.0.4

Choose a tag to compare

@github-actions github-actions released this 09 Jul 20:04
06ef5c9

Added

  • Added a quiet update check on every app launch when Auto Update is enabled.

Changed

  • GitHub release assets are now published through a pinned GoReleaser action after the existing Xcode build, Sparkle signing, checksums, and provenance steps complete.

Mac Drag Scroll 1.0.3

Choose a tag to compare

@github-actions github-actions released this 09 Jul 18:04

Added

  • Added resilient preference backup storage so user settings can be restored from ~/Library/Application Support/Mac Drag Scroll/Preferences.plist if the primary preferences domain is missing.
  • Added local crash-report import for macOS .crash and .ips DiagnosticReports, alongside the existing in-app crash report tools.
  • Added dedicated development and test preference domains so local debug builds and test runs do not overwrite production user settings.
  • Added OpenSSF Scorecard and Gitleaks security scans with README badges.
  • Added CodeQL Swift static analysis and pinned GitHub Action dependencies for supply-chain hardening.
  • Added a Swift fuzz harness for preference-input parsing and normalization paths.
  • Added directional Settings tab transitions with subtle vertical movement based on the previous tab position.
  • Added OpenSSF Best Practices BadgeApp prefill metadata, README badges, and documented the remaining Scorecard CII and contributor-organization remediation steps.
  • Added Scorecard notes for solo-maintainer code review and macOS packaging detection limits.

Changed

  • The CLI installer now stages the new app bundle before replacing the installed copy, with rollback if the replacement fails.
  • Settings and update preferences now persist through a shared preference layer instead of direct scattered writes.
  • Sparkle is now resolved as an exact Swift Package dependency instead of storing the binary framework in the source repository.
  • Changed the About logo to an in-place squishy interaction instead of a draggable export item.
  • Consolidated the README workflow badges into one Checks 3/3 aggregate badge.

Fixed

  • Fixed local options appearing to reset after updates or development builds by anchoring production settings to com.martincalander.macdragscroll and mirroring recoverable values.
  • Fixed automated tests polluting the real per-user Mac Drag Scroll preferences on development machines.
  • Improved crash logging reliability by relying on safe exception handling plus macOS DiagnosticReports import instead of unsafe Swift work inside POSIX signal handlers.
  • Fixed the Settings red close button leaving Mac Drag Scroll visible in the Dock while the menu bar helper stayed active.

Mac Drag Scroll 1.0.2

Choose a tag to compare

@github-actions github-actions released this 09 Jul 10:04

Added

  • Added a dedicated Version History view in Updates.
  • Added a hidden diagnostic Update Log that can be revealed when Sparkle troubleshooting is needed.

Changed

  • Updates now shows release history by default instead of showing raw update-check events.

Fixed

  • Kept the bundled version history covered by tests so the current release row stays aligned with the app build.

Mac Drag Scroll 1.0.1

Choose a tag to compare

@github-actions github-actions released this 09 Jul 09:14

Added

  • Added a General setting to keep Mac Drag Scroll running in the menu bar after closing Settings.
  • Added clearer permission setup for Accessibility and Input Monitoring, including app-copy reveal and restart repair actions.

Changed

  • Settings now opens to General from the menu bar, with keep-running behavior surfaced near the top.
  • Permission and welcome screens now show both required macOS permissions instead of only Accessibility.

Fixed

  • Fixed cases where granted Accessibility access still left drag scrolling blocked by missing Input Monitoring.
  • Fixed up-to-date Sparkle checks being shown as update failures.
  • Fixed last-window-close behavior so the app stays alive unless Quit is chosen from the menu bar.

Mac Drag Scroll 1.0.0

Choose a tag to compare

@github-actions github-actions released this 09 Jul 08:20

Added

  • Added Windows-style middle-mouse drag scrolling for external mice on macOS.
  • Added menu bar app controls for enabling, disabling, settings, updates, and quitting.
  • Added a Liquid Glass drag visualizer with size, intensity, tint, visibility, and animation controls.
  • Added Launch at Login, ignored apps, trigger safety, scroll speed, acceleration, dead-zone, horizontal scrolling, and horizontal inversion settings.
  • Added first-run welcome flow, Permissions, Updates, and About settings sections.
  • Added Sparkle-based in-app updates backed by signed update archives.
  • Added localized settings UI across the bundled languages.
  • Added branded app icon, dock icon, menu bar icon, and About logo.
  • Added duplicate-instance monitoring and warnings.
  • Added GitHub Actions quality checks and user documentation.

Changed

  • Treat this polished product state as the first stable public release.
  • Standardized update/version reporting around 1.0.0 plus an internal build number.

Fixed

  • Improved scroll reliability around trackpads, screen changes, permission changes, and ignored apps.
  • Fixed visualizer origin centering and reduced visual clutter in the drag indicator.