Releases: borzov/vpn-bar
Releases · borzov/vpn-bar
v0.8.2
[0.8.2] - 2026-03-18
Fixed
- Switched geolocation provider from HTTP to HTTPS to prevent IP address and location data from being transmitted in plain text
- Fixed observer leak in AppDelegate — notification observers are now properly removed on app termination
- Fixed VPN session statistics being lost when the app quits while a connection is active — duration is now recorded before shutdown
- Fixed potential use-after-deallocation in StatusBarController by removing unnecessary async dispatch in deinit
- Fixed double-cleanup crash risk in HotkeyManager when cleanup is called both from app termination and deinit
- Fixed double observer removal in VPNManager by properly nullifying the observer token in deinit
- Fixed VPN configuration loader silently returning empty results on recursive loading — it now reports a proper error
- Added logging for unknown key codes to aid debugging when hotkey registration uses unexpected values
Changed
- Removed unnecessary App Transport Security exception for ip-api.com since the new provider uses HTTPS
- Removed redundant dirty-tracking flag in connection history that served no practical purpose
v0.8.1
[0.8.1] - 2026-02-22
Fixed
- Network info now displays reliably after VPN connection by switching to ip-api.com as the sole geolocation provider (removed ipapi.co fallback logic that caused intermittent failures)
v0.8.0
[0.8.0] - 2026-02-20
Added
- Per-connection hotkeys: assign individual keyboard shortcuts to specific VPN connections for quick toggling without opening the menu; shortcuts are shown next to connection names in the context menu
- Network info in menu: when VPN is connected, the context menu shows public IP address, country, and city — click the IP line to copy it to clipboard
- Automatic network info refresh after VPN status changes (with short delay); placeholder "Obtaining network info…" is shown while loading
Removed
- "Disconnect All" menu item and related functionality, since only one connection can be active at a time
Fixed
- Menu bar icon animation now stops immediately after VPN connects or disconnects (previously delayed up to 15 seconds due to missed status notifications)
- IP address and country info are now hidden when no VPN is connected
- Switching to a new VPN connection now properly disconnects the currently active one before connecting
- Connection hotkeys settings list now displays with proper visual list style, row separators, and the description text is fully visible
Installation
Download VPNBarApp.zip from Assets below, unzip, move VPNBarApp.app to Applications, then right-click → Open on first launch.
Or via Homebrew:
brew install --cask vpn-barv0.7.0
Added
- Universal binary support for both Apple Silicon and Intel Macs - one download works on all Mac models
- Automatic security attribute handling during Homebrew installation - no manual steps required
Changed
- Improved binary discovery mechanism for better compatibility across different build environments
- Enhanced installation documentation with clearer troubleshooting steps
Fixed
- Fixed app crashes on launch that occurred on some systems
- Fixed missing translations in menu items, settings, and error messages
- Fixed localization support - all UI strings now properly display in English, Russian, and Chinese (Simplified)
- Fixed connection status synchronization issues that could cause incorrect status display
- Fixed memory management issues that could lead to app instability
- Fixed infinite recursion that could occur when loading VPN configurations
v0.6.0
Added
- Connection status reset mechanism that automatically recovers from failed connection attempts
- Fallback timer system for status updates when system APIs are unavailable
- Comprehensive test coverage for edge cases and error scenarios
Changed
- Improved connection status synchronization to prevent race conditions
- Enhanced timeout handling for disconnect operations
- Better error recovery when connections fail unexpectedly
Fixed
- Fixed race conditions that could cause incorrect connection status
- Fixed memory leaks during disconnect timeout handling
- Fixed infinite recursion when loading VPN configurations
- Fixed duplicate event handler setup that could cause multiple notifications
- Fixed connection status not resetting properly after connection failures
- Fixed hotkey manager issues that could cause crashes after hotkey registration
Release v0.5.3
Added
- Homebrew Cask support for easy installation and automatic updates via
brew install --cask vpn-bar - Automatic Cask formula updates on each release via GitHub Actions
Changed
- README fully translated to English for better international accessibility
- Simplified installation process with fewer manual steps
Removed
- Redundant installation scripts that are no longer needed
Fixed
- Fixed incorrect GitHub repository URLs in documentation
Release v0.5.2
Added
- Sound feedback when VPN connection is established successfully
- Icon caching system for faster menu rendering and smoother interface
Changed
- Optimized menu update performance for faster response times
- Improved memory usage by removing unused code and features
- Enhanced app stability through better resource management
Removed
- Removed unused notification types and monitoring components
- Removed redundant code and duplicate functionality
Fixed
- Fixed inconsistent settings manager usage that could cause configuration issues
- Fixed duplicate event notifications
- Fixed memory management issues in connection cleanup
Release v0.5.1
Changed
- Optimized status update frequency for better performance
- Improved image caching mechanism for faster menu icon rendering
- Consolidated timer management to reduce resource usage
- Streamlined VPN status monitoring architecture
Fixed
- Fixed duplicate code in VPN configuration loading
- Fixed redundant menu update delays
- Fixed duplicate notification checks
Release v0.5.0
Added
- Automatic VPN configuration discovery - the app now automatically detects new VPN connections every 30 seconds
- Last used VPN connection memory - the app remembers which VPN you used last
- Automatic connection selection - toggle button now works with your preferred VPN automatically
Changed
- Improved connection selection logic when multiple VPNs are available
- Enhanced toggle behavior to work intelligently with the last used connection
- Better handling of VPN configuration changes without requiring app restart
Release v0.4.0
Added
- "About" section in settings window with app information, version details, author information, and direct link to GitHub repository
- Chinese (Simplified) language support - the app now supports three languages: English, Russian, and Chinese
- Enhanced hotkey recording interface with visual display of modifier keys (Command, Option, Control, Shift)
- Inline hotkey validation to prevent conflicts with system shortcuts
- Clear button in hotkey settings for easy reset
Changed
- More compact settings window layout with reduced padding for better space utilization
- Improved context menu positioning - right-click menu now properly aligns with the menu bar
- Complete localization of all user-facing strings including error messages and descriptions
- Better consistency of interface text across all supported languages
Fixed
- Fixed duplicate entries in Chinese localization
- Fixed integration test initialization issues