Releases: MrKai77/Loop
Releases Β· MrKai77/Loop
π§ͺ 1.4.3 (1707)
π° Development News
- πΈ Support Loop by sponsoring the project!
- π Let us know if you are interested in localizing Loop to your language :)
- π¬ Join our Discord server!
β¨ New Features
- β¨ Approachable concurrency + Lots of code refactoring #1015
- β¨ Ability to launch Loop hidden, add bottom stash option #1038
- β¨ AI policy, PR template, updated contribution guide and code of conduct #1045
- β¨ Add 'Ignore notch' option for consistent top padding across screens #1048
π Bug Fixes
- π Keybind fixes #1033
- π Fix padding being applied to IconView previews #1040
- π Differentiate identically-framed windows within the same process #1043
π Localization
- π°π· Update Korean localisation #1034
- π Update translations from Crowdin #1041
- π΅π± Add Polish localisation #1047
π Uncategorized
Minimum macOS version: 13.0
1.4.2
π° Development News
- π§ Fixed an issue in the previous versionβs updater that may prevent Loop's updates from installing. If you are prompted to install this update multiple times, please install the app manually from here.
- πΈ Support Loop by sponsoring the project!
- π Let us know if you are interested in localizing Loop to your language :)
- π¬ Join our Discord server!
β¨ New Features
- β¨ #963 Added the ability for specific keybinds to ignore the trigger key
- β¨ #1013 Improved
WindowEngineperformance by cancelling old window resize tasks if needed - β¨ #1019 Optimized app size by only storing Liquid Glass icons for Classic and Developer variants
- β¨ #1020 Fully overhauled the built-in Updater for a smoother update experience
π Bug Fixes
- π #1008 Double-click timer is now cancelled if the first click is held long, preventing accidental triggers
- π #1011 Reduced overhead for window drag events to improve responsiveness
- π #1012 Fixed an issue causing a mismatch during rapid keypresses
- π #1018 Fixed several window snapping race condition
- π #1023 Fixed an issue where external commands could be executed unexpectedly
- π #1024 Consolidated various window snapping stability fixes
π Localization
- π #1022 Updated translations from Crowdin
Build number: 1693
Minimum macOS version: 13.0
1.4.1
π° Important News
- π§ Note that this is a patch release for 1.4.0. To see its release notes, see here.
- πΈ Reminder to support me & Loop by sponsoring the project!
- π Let us know if you are interested in localizing Loop to your language :)
- π¬ Join our Discord server!
- π Thank you to all contributors who helped make this release possible through bug reports, feature requests, PRs, and community support!
β¨ New Features
- β¨ #989 Custom actions now export with rounded frame values (no more messy decimals!)
- β¨ #993 "The Loop Times" update window now displays Loop's app icon for better recognition. Hint: try clicking the icon in the next update ;)
π Bug Fixes
- π #981 Fixed keybind modifiers treating left and right keys as different
- π #982 Fix radial menu not correctly showing selected direction for cycle actions
- π #983 Correctly block left clicks when used to iterate through cycle actions
- π #987 Use system window manager for undoing actions if possible
- π #990 Prevent radial menu items having duplicate IDs, causing glitches
- π #996 Fix crash caused by Liquid Glass's
materializetransition
π Localization
- π The Italian localization has been updated!
Minimum macOS version: 13.0
1.4.0
π° Important News
- πΈ Reminder to support me & Loop by sponsoring the project!
- π Let us know if you are interested in localizing Loop to your language :)
- π¬ Join our Discord server!
- π Thank you to all contributors who helped make this release possible through bug reports, feature requests, PRs, and community support!
βοΈ Window Actions
- β¨ #785 Horizontal/vertical-only grow/shrink actions
- β¨ #797 New "Minimize others" action
- β¨ #820 Top/bottom/left/right screen switching
- β¨ #855 New horizontal fourths actions
- β¨ #870 Top/bottom/left/right focus navigation between windows
- β¨ #929 New action to focus the next window in a stacked configuration
- β¨ #939 New actions for larger/smaller while preserving aspect ratio
- β¨ #968 New fill available space action
β‘ Input & Triggers
- β¨ #786 Option to restart cycling from the first action
- β‘ #798 Modularized trigger key detection with system window manager bug fixes
- β‘ #802 Improved trigger key handling and removed notification usage throughout codebase
- β¨ #866 Side-independent trigger key support (left/right modifiers can be used independently)
- β¨ #897 Improved mouse event handling
- β¨ #953 Configurable trigger key timeout
- β¨ #955 Mouse calculations improved so radial menu can be opened & used at screen edges
π¨ UI/UX Enhancements
- β¨ #789 Focus window action picker popup on appearance
- π #806 Increased Stage Manager strip size range with improved clamping
- π #810 New Liquid Glass icons
- β¨ #814 Centralized accent color management with
AccentColorController - π #851 UI improvements with Liquid Glass styling in radial menu
- π #888 Increased maximum corner radius value in preview configuration
- β¨ #893 Lightweight IconView component for optimized icon rendering in Keybinds & Radial Menu tabs
- β¨ #900 Smoother and more responsive preview window animations
- β¨ #906 Previews can now use actual window corner radius
- π #914 Reorganized menubar dropdown menu
- π #918 Luminare UI updates
- β¨ #934 Fully customizable radial menu with visual guides; actions can be standalone or linked to keybinds!
- π #935 Improved visual effect behaviors when inactive
- π #950 Changed several default settings and fixed graphical bugs
- β¨ #964 Stashed windows will now reveal themselves when activated externally (e.g. Spotlight search)
- π #966 Reworded "Restart" to "Relaunch" in update window
- π #971 Additional preview configuration options with materialized radial menu
π§ System Integration
- β¨ #842 Option to enable Mission Control gesture even when window snapping is enabled
- βοΈ #849 Replaced event monitors and improved Accessibility permission handling
- β¨ #874 Windows now preserve proportions when moving between displays
- β¨ #906 Improved methods for loading private APIs in SkyLight
- β¨ #943 Precomputed padding for optimized window positioning
- β¨ #952 Update checks now verify minimum macOS version compatibility
- β¨ #957 Users are notified if their macOS version is no longer supported
π οΈ Developer Experience
- π #813 Project organization improvements
- β¨ #917 Unified logging system with Scribe package
- π #946 Added Internet Access Policy file
- π #960 Updated issue templates
β‘ Performance
- β‘ #930 System keybinds are now cached during keypress processing
- β‘ #964 WindowEngine refactored to run on background threads, eliminating UI lag during window operations
π Bug Fixes
- π #805 Fixed Luminare settings window not disappearing on macOS Tahoe
- π #812 Window frames are now matched before initializing Window objects
- π #848 Middle-click down events are no longer swallowed by Loop
- π #850 Fixed multi-monitor positioning by using
screen.displayBounds - π #860 Restored trigger delay and double-click functionality
- π #863 Restored middle-click trigger support
- π #864 Delete and Help keys now recognized as special Fn keys
- π #865 Left mouse drag events now properly reveal stashed windows
- π #873 Handle special keys that are modified by the fn modifier
- π #886 Fixed potential memory leak in window drag detection
- π #905 ListenEvent is now reset when requesting Accessibility access
- π #915 Picture-in-Picture windows are now properly handled
- π #916 Improved settings window management
- π #940 Fixed file picker performance issues
- π #941 TriggerKeycorder now force-closes when window loses focus
- π #942 Windows with non-window roles are no longer blocked from resizing
- π #947 Screen switching actions now start from the screen containing the window
- π #948 Fixed double-click trigger
- π #951 Prevented rapid action changes for
noSelectionactions - π #954 Undo functionality now works even when preview is disabled
- π #959 Fixed event monitor memory leaks
- π #970 Windows are now correctly focused when system window manager is enabled
π Localization
- π Loop now supports Japanese!
- π #868 Add context to many localization keys
- π€ #872 Automated Crowdin integration for more frequent translation updates
Minimum macOS version: 13.0
1.3.0
π° Important News
- π«§ macOS Tahoe users: you may encounter some bugs, so try the latest development build. A few issues remain, but itβs more stable compared to this version!
- πΈ Reminder to support me & Loop by sponsoring the project!
- π Let us know if you are interested in localizing Loop to your language :)
- π¬ Join our Discord server!
βοΈ Workflow
- β¨ #666 Respect the window tiling spacing set in
com.apple.WindowManager - π #676 Ability to disable Loopβs update checks via command line
- π #698 Added URL scheme support
- β¨ #708 Sort keys when exporting
- β¨ #734 Ability to stash windows on the screen's edge
- β¨ #760 Save the last import/export directory
- βοΈ #746 Converted Loopβs groups to folders in the Xcode project
π¨ UI/UX Enhancements
- π« #667 Improved window resize animations
- π« #699 Enhanced animation configurations with more nuanced timing options
- β¨ #703 Rewrote the existing settings UI using improved Luminare architecture
- β #703 Added a small success indicator when Loopβs version number is copied
- πͺ« #770 Window animations are now disabled by default in Low Power mode
- β©οΈ #729 Enabled reverse cycling of window actions with the Shift key
- πΈ #727 Loop will now capture the wallpaper accent color more reliably
- π #727 Ability to lock the radial menu to the screen center
- π #737 Ability to customize where the preview window appears from
π Bug Fixes
- π #634 Fixed the issue where Loop may incorrectly omit modifier keys when recording
- π #656 Fixed memory leaks in
NSEventMonitor - π #675 Refactored key modifier handling in Keycorder
- π #677 Moved window activation to after minimizing/hiding
- π #694 Fixed memory leaks in
CGEventMonitor - π #715 Loop will now convert rects to integers before applying padding
- β‘ #771 Updater optimizations and reliability improvements
1.2.0
π° Important News
- πΈ Reminder to support me & Loop by sponsoring the project!
- π Let us know if you are interested in localizing Loop to your language :)
- π¬ Join our Discord server!
β¨οΈ Keybind Enhancements
- β¨ #545 Improved window action selector in the keybinds tab.
- β¨ #559 Enhanced UI and functionality for keybinds.
- β¨ #646 Keybind import/export/reset improvements.
- β¨ #653 Improved keybind import/export functionality.
π₯οΈ macOS-Specific Features
- β¨ #563 Use
ScreenCaptureKiton macOS Sonoma for better wallpaper accent colors. - β¨ #566 Added support for macOS 15's window manager in Loop.
- β¨ #611 Utilize Stage Manager's
AutoHidevalue for improved window management.
π¨ UI & Window Management
- β¨ #560 Center fixed-size windows within their target frame.
- β¨ #577 Added horizontal/vertical center-half functionality.
- β¨ #612 Removed the padding limit of 200pt for greater flexibility.
π§ Customization & Workflow
- β¨ #605 Added the ability to maximize window width and height.
- β¨ #651 Snap threshold is now customizable.
- π #650 Disabled the "Remind me later" button during update installation.
π Localization & Fun
- π #522 Added Arabic and German localizations.
- π #546 Added Russian localization.
- π #601 Switched to Crowdin for localization management.
- π #614 Replaced the Simon app icon with a new sleek Daylight app icon.
π οΈ General Fixes
- π #547 Fixed bugs in the custom action configuration view.
- π #558 Fixed custom keybind modal opening when the keybind property changes.
- π #567 Prevented windows from moving off-screen.
- π #570 Allowed left clicks when no action is selected.
- π #574 Fixed window moving further than preview.
- π #576 Resolved crashes when hiding or minimizing windows.
- π #595 Fixed cycle actions not working.
- π #647 Stopped recording every cycle step when the preview is disabled.
ποΈ UI Fixes
- π #586 Adjusted slider range for custom position coordinates.
- π #587 Fixed custom percentage position issues.
- π #613 Always show the gradient toggle, even with the system accent color.
- π #648 Fixed the icon for cycle actions.
π Accessibility & Behavior
1.1.1 - Minor Hotfix
π° Important News
- πΈ Reminder to support me & Loop by sponsoring the project!
- π Localization: let us know if you are interested in localizing Loop to your language :)
- π Loop now contains an all-new README!
- π¬ Join our Discord server!
βοΈ The main developer of Loop, @MrKai77 will be on vacation for the next month, so expect delays in responses to issues or implementing new features.
β¨ New Features
- β¨ #458 Allow for updating to developmental versions + Optimize assets (@SenpaiHunters)
- β¨ #474 Add Icon progress indicator (@SenpaiHunters)
- β¨ #443 Improve handling of Accessibility API (@MrKai77)
- β¨ #489 Move project into fresh Xcode project + Change menubar items (@MrKai77)
- β¨ #492 Update indicator (@MrKai77)
- β¨ #493 iCloud sync (@MrKai77)
- β¨ #484 Wallpaper color theming - Make sure to press "deny" when Loop asks for screen recording permissions (@SenpaiHunters)
- β¨ #498 Ability to ignore fullscreen windows (@MrKai77)
- β¨ #502 Ability to set minimum screen size for padding (@MrKai77)
- β¨ #500 Import from Rectangle (+ Pro) (@SenpaiHunters)
- β¨ #506 Ability to advance cycles with a left click (@MrKai77)
- π #486 Use Luminare's animation values (@MrKai77)
- π Preview can now be hidden in settings window (@MrKai77)
π Bug Fixes
- π #439 Window snapping stops working (@MrKai77)
- π #473 Padding fixes (@MrKai77)
- π #479 Fix window snapping on multi-display setups (@MrKai77)
- π #501 Reset cycle when new cycle keybind is started (@MrKai77)
- π #519 Fix hard casting from numbers to strings in localizations (@KrLite)
π Localization
- π #437 Chinese (Hong Kong) (@KrLite)
- π #437 Chinese (Simplified) (@KrLite)
- π #516 Dutch (Belgium) (@FormalSnake)
- π #447 English (United Kingdom) (@MrKai77)
- π #437 Italian (@Zabriskije)
- π #504 Korean (@SenpaiHunters)
- π #437 Portuguese (Brazil) (@willianba)
- π #437 Spanish (@CarretillaRoja)
- π #499 Improve localization process (@MrKai77)
π₯³ Notable Mentions
Full Changelog: 1.1.0...1.1.1
1.1.0
π° Important News
- πΈ Reminder to support me & Loop by sponsoring the project!
- π Localization: let us know if you are interested in localizing Loop to your language :)
- π Loop now contains an all-new README!
- π¬ Join our Discord server!
βοΈ The main developer of Loop, @MrKai77 will be on vacation for the next month, so expect delays in responses to issues or implementing new features.
β¨ New Features
- β¨ #458 Allow for updating to developmental versions + Optimize assets (@SenpaiHunters)
- β¨ #474 Add Icon progress indicator (@SenpaiHunters)
- β¨ #443 Improve handling of Accessibility API (@MrKai77)
- β¨ #489 Move project into fresh Xcode project + Change menubar items (@MrKai77)
- β¨ #492 Update indicator (@MrKai77)
- β¨ #493 iCloud sync (@MrKai77)
- β¨ #484 Wallpaper color theming - Make sure to press "deny" when Loop asks for screen recording permissions (@SenpaiHunters)
- β¨ #498 Ability to ignore fullscreen windows (@MrKai77)
- β¨ #502 Ability to set minimum screen size for padding (@MrKai77)
- β¨ #500 Import from Rectangle (+ Pro) (@SenpaiHunters)
- β¨ #506 Ability to advance cycles with a left click (@MrKai77)
- π #486 Use Luminare's animation values (@MrKai77)
- π Preview can now be hidden in settings window (@MrKai77)
π Bug Fixes
- π #439 Window snapping stops working (@MrKai77)
- π #473 Padding fixes (@MrKai77)
- π #479 Fix window snapping on multi-display setups (@MrKai77)
- π #501 Reset cycle when new cycle keybind is started (@MrKai77)
π Localization
- π #437 Chinese (Hong Kong) (@KrLite)
- π #437 Chinese (Simplified) (@KrLite)
- π #516 Dutch (Belgium) (@FormalSnake)
- π #447 English (United Kingdom) (@MrKai77)
- π #437 Italian (@Zabriskije)
- π #504 Korean (@SenpaiHunters)
- π #437 Portuguese (Brazil) (@willianba)
- π #437 Spanish (@CarretillaRoja)
- π #499 Improve localization process (@MrKai77)
π₯³ Notable Mentions
Full Changelog: 1.0.0...1.1.0
1.0.0
π° Important News
- πΈ Reminder to support me & Loop by sponsoring the project!
- π Can't donate? The next best way to support the project is to make some app icons for Loop!
- π Localization: I will start requesting localizations for the next update so please let me know if you are interested in localizing Loop :)
β¨ New Features
- β¨ #361 Completely new translucent settings window (@Soft-Bred)
- β¨ #303 Set up localization infrastructure (@KrLite)
- β¨ #344 New website for release notes (@SenpaiHunters)
- β¨ #251 Ability to ignore mouse screen (@MrKai77)
- β¨ #235 Save cycle keybind index (@MrKai77)
- β¨ #317 Make window snapping less sensitive (@MrKai77)
- β¨ #212 Don't activate Mission Control when window snapping (@MrKai77)
- β¨ #298 Ability to animate window resizes when preview is disabled (@MrKai77)
- β¨ #298 Window animations no longer require screen recording access (@MrKai77)
- β¨ #378 Add summer/developer app icons (@N-coder82)
- β¨ #379 Ability to ignore screen with mouse (@MrKai77)
- β¨ #380 Reduce useless cycle/custom action creation click (@MrKai77)
- β¨ #384 Ability to move cursor with window (@MrKai77)
- β¨ #389 Improve window animations when window snapping (@MrKai77)
- β¨ #390 Ability to translate window location (@MrKai77)
π Bug Fixes
- π #299 Instant animation is not instant (@MrKai77)
- π #347 Fix window being cropped to screen when restoring initial frames (@MrKai77)
- π #95 Windows will now properly resize to bottom with window animations (@MrKai77)
- π #350 Make window snapping work properly on secondary screens (@MrKai77)
- π #314 Reduce Hyperkey conflicts (@MrKai77)
- π #381 Make sure settings window buttons are themed properly (@MrKai77)
π₯³ Notable Mentions
- π #296 Fix typo (@mrs1669)
- π¨ #304 Reduce SwiftLint warnings (@phlpsong)
- π¨ #370 Use SwiftFormat rather than SwiftLint (@MrKai77)
- β¨ #387 Add Luminare as git submodule (@MrKai77)
Full Changelog: 1.0.0-beta.15...1.0.0
1.0.0-beta.15
π° Important News
- πΈ Reminder to support me & Loop by sponsoring the project!
- π Can't donate? The next best way to support the project is to make some app icons for Loop!
- π Localization: If you are willing to translate the app into other languages and haven't already notified me, please open a new issue on GitHub :)
β¨ New Features
- β¨ #263 More options in custom window actions. Use exact coordinates, preserve frames and more! (@MrKai77)
- β¨ #258 Use Loop when caps lock is enabled (@MrKai77)
- β¨ #233 Ability to exclude certain apps from Loop, such as virtual machines (@just-doit)
- β¨ #232 Add haptic feedback to window snapping (@MrKai77)
- β¨ #207 Don't truncate numbers in number input (@MrKai77)
- β¨ #201 Option to not make the window Looped the active window (@MrKai77)
- β¨ #188 Ability to disable cursor interaction. Only for those of you who exclusively use keybinds :) (@MrKai77)
- β¨ #183 Ability to hide radial menu (@MrKai77)
- β¨ #175 Ability to disable haptic feedback (@cyborg-joshi)
- β¨ #165 Remove preset cycle keybinds, in favour of new cycling keybind system! (@MrKai77)
- β¨ #155 Adjust Size Feature: enlarge or shrink a window's frame directly from Loop! (@MrKai77)
- β¨ #146 Support
AXEnhancedUserInterfaceAccessibility Attribute. Apps such as Notion & Firefox will now resize smoother! (@MrKai77) - β¨ #94 Custom window padding on each side of screen (@MrKai77)
π Bug Fixes
- π #261 Make Loop work with Hyperkey.app (@MrKai77)
- π #238 Disable window snapping on widgets (@MrKai77)
- π #229 Remove Sparkle sandboxing configuration (@MrKai77)
- π #219 Canβt restore window frame on drag (@MrKai77)
- π #208 Some custom cycles are broken (@MrKai77)
- π #197 Settings window opens itself randomly (@MrKai77)
- π #196 Skip "Next/Previous Screen" if no screen detected (@MrKai77)
- π #187 "Double-click trigger key to trigger Loop" recognized incorrectly (@MrKai77)
- π #180 False snap recognition on multiple screens (@MrKai77)
π₯³ Notable Mentions
- π #293 Refactor UI (@MrKai77)
- β‘οΈ #291 Stage Manager optimization (@phlpsong)
- β‘οΈ #290 Use enum in Settings window (@phlpsong)
- π« #282 Make radial menu animations smoother (@MrKai77)
- βοΈ #280 Fixed typo in "receive" (@adamnemecek)
Full Changelog: 1.0.0-beta.14...1.0.0-beta.15