Repository navigation
Releases
Releases · inket/MBPopup
MBPopup 7.0.0-beta.1
What's Changed
Breaking changes
- Requires macOS 14 or later and Swift 6 (swift-tools-version 6.0, Swift 6 language mode)
MBPopupControllerand the views are main-actor isolated; use them from the main actor- The popup arrow is now hidden by default (
showsArrow = false) - The popup is now aligned like status item menus by default (
alignment = .natural) - Removed the public
MBPopupstruct
New
- macOS 27 support: uses the new expanded interface session API, so the status item stays highlighted while the popup is open, and you can move between the popup and other status item menus like with system menus
alignmentsetting:.natural(leading edge aligned with the status item, like menus, flipping to the trailing edge when it doesn't fit) or.centered(previous behavior)showsArrowsetting to show the popup arrowbackgroundView.usesGlassEffectsetting to use a Liquid Glass background like system menus on macOS 26+ (off by default)
Improvements
- Continuous ("squircle") rounded corners, with the default radius matching system menus: 12pt on macOS 26+, 6pt on macOS 14–15
- Content is clipped to the popup's rounded corners
- The popup is placed 1pt below the menu bar instead of overlapping it
- Resizing an open popup keeps it aligned according to
alignment - Clicks anywhere on the status item, including the top edge of the screen, close the popup on macOS 27
Fixes
- MBPopup no longer overrides
mouseDownon everyNSStatusBarButtonin the app; only its own status item is affected
What's Missing
- Testing and validation on multi-monitor setups
Full Changelog: 6.0.1...7.0.0-beta.1
MBPopup 6.0.1
MBPopup 6.0.0
Breaking changes
- Converted the library to a Swift Package, removing support for CocoaPods and Carthage
- Old versions will still support CocoaPods/Carthage - you can refer to the version by tag directly)
- Increased deployment target to macOS 10.4.6
- This is the minimum supported by Xcode 14.3 due to the removal of libarclite_macosx.a