Releases: CoderZCC/VPNMenuBar
v0.2.7
What's new
- First-time setup now auto-triggers a connection when you click Done on the final onboarding step — no need to open the menu and pick Connect manually for the very first run.
Install
git pull
cp -R VPNMenuBar.app /Applications/
xattr -dr com.apple.quarantine /Applications/VPNMenuBar.appExisting users will be prompted to update via Sparkle on next launch.
v0.2.6
What's new
- Added a new Settings toggle Auto-connect on launch — when enabled, the app automatically connects to VPN about 5 seconds after launch.
- The auto-connect only fires when setup is complete (all required fields filled), so it never triggers spurious failures on a half-configured install.
- Once the auto-connect handshake succeeds, the existing network-drop auto-reconnect path takes over, so switching WiFi or sleeping/waking transparently recovers the tunnel.
Install
- Download
VPNMenuBar-0.2.6.zip, unzip, and dragVPNMenuBar.appinto/Applications/. - Strip the quarantine flag:
xattr -dr com.apple.quarantine /Applications/VPNMenuBar.app - Existing users on v0.2.x will be auto-updated via Sparkle.
v0.2.5
Hotfix — strongly recommended for v0.2.3 / v0.2.4 users
- Fixed: a failed openconnect handshake could leave a zombie child behind, with
vpnc-script's DNS and route mutations applied but never reverted. Symptom: "WiFi connected but nothing has network access" until the user quit the app.connect()now alwaysSIGTERMs any residual child on failure sovpnc-script's disconnect phase runs and restores DNS/routes. - Safety gate: the pre-connect host-route flush now only deletes when
route getreturns a concrete IPv4 destination. Previously, when no dedicated host route existed, the fall-throughdestination="default"was passed toroute delete, wiping the system default route.
Users on v0.2.0+ get this via "Check for Updates…" (Sparkle). Otherwise see INSTALL.md.
v0.2.4
Improvement
- Per-day log files —
~/Library/Logs/VPNMenuBar/vpnmenubar-YYYY-MM-DD.log. Individual files stay small, easy to pick through by date when triaging issues. - 14-day auto-retention — old files are purged at launch, no disk buildup.
- "Show Logs…" menu and Settings → Reveal in Finder always resolve to the current day's file.
Install
Users on v0.2.0+ get this via "Check for Updates…" (Sparkle). Otherwise see INSTALL.md.
v0.2.3
Fix
- Unconditional pre-connect route flush — fixes "connection failed immediately after openconnect spawn" when the cached host route to the VPN gateway looks correct (nexthop matches the default gateway) but traffic still doesn't route. Common after a gateway IP rotation or network change.
- Previously the pre-connect cleanup only deleted routes whose nexthop obviously differed from the current default gateway; this missed cases where the cached IP rotated but the route table still pointed at the default gateway. Now every connect flushes the cached route unconditionally — safe because no active tunnel exists at that moment, and the kernel rebuilds the route on the next packet.
- Each connect now logs the flush outcome (route IP, previous gateway, delete success/failure) to
~/Library/Logs/VPNMenuBar/vpnmenubar.log.
Install
Users on v0.2.0+ get this via "Check for Updates…" (Sparkle). Otherwise see INSTALL.md.
v0.2.2
Highlights
- Whitespace-safe credential fields — fixes silent auth/cert failures from pasting values out of chat apps / PDFs
- Strips surrounding whitespace and invisible characters (zero-width, NBSP, full-width space, newlines)
- Applied on both save and load, so legacy configs are self-healing without waiting for a user-initiated save
- Covers
username,passwordPrefix,totpSecret,gateway,serverCertPin,openconnectPath,vpncScriptPath
- Persistent file log at
~/Library/Logs/VPNMenuBar/vpnmenubar.log- Launch banner (version / arch / OS / bundle path)
- Full connect flow (config load, dependency check summary, openconnect argv, handshake outcome)
- Network reachable/unreachable events and interface changes
- Watchdog-detected unexpected disconnects
- Dependency-installer results (brew install, sudoers rule, vpnc-script reset)
- Sensitive fields (password prefix, TOTP secret, generated code) are never written
- 1 MB rolling limit with single
.1.logarchive
- Menu-bar "Show Logs…" and Settings → "Reveal in Finder" for one-click log access
Install
Users on v0.2.0+ will get this via the in-app "Check for Updates…" (Sparkle).
For manual install, download the zip, unzip, and copy to /Applications/:
```sh
xattr -dr com.apple.quarantine /Applications/VPNMenuBar.app
```
See INSTALL.md for the full walkthrough.
v0.2.1
What's New
- Redesigned status bar icon: white rounded-rect badge with cutout shield + colored status dot
- Onboarding: gateway and server cert pin are now required fields
- Settings: save closes the window and auto-reconnects; save button disabled when unchanged
- About window: shows version, build number, copyright and GitHub link
Install
git clone https://github.com/CoderZCC/VPNMenuBar.git
cp -R VPNMenuBar/VPNMenuBar.app /Applications/
xattr -dr com.apple.quarantine /Applications/VPNMenuBar.appOr download VPNMenuBar-0.2.1.zip below, unzip, and copy to /Applications.
v0.2.0
What's New
- Auto-update via Sparkle — the app now checks for updates automatically and installs them with one
click from the menu bar - Check for Updates menu item — manually trigger an update check anytime
Install
Download VPNMenuBar-0.2.0.zip, unzip, drag to /Applications, then run:
xattr -dr com.apple.quarantine /Applications/VPNMenuBar.app
See INSTALL.md for the full walkthrough.