Releases: martincalander/MacDragScroll
Releases · martincalander/MacDragScroll
Release list
Mac Drag Scroll 1.2.0
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
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
Fixed
- Replaced corrupted
NaNand infinite numeric preferences with safe defaults before they can affect scrolling or visualizer calculations.
Mac Drag Scroll 1.0.6
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
Fixed
- Moved crash reports to the documented
Mac Drag ScrollApplication Support folder and safely migrated reports created in the legacyMacDragScrollfolder.
Mac Drag Scroll 1.0.4
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
Added
- Added resilient preference backup storage so user settings can be restored from
~/Library/Application Support/Mac Drag Scroll/Preferences.plistif the primary preferences domain is missing. - Added local crash-report import for macOS
.crashand.ipsDiagnosticReports, 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/3aggregate badge.
Fixed
- Fixed local options appearing to reset after updates or development builds by anchoring production settings to
com.martincalander.macdragscrolland 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
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
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
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.0plus 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.