Skip to content

cbNP 4.0.0

Choose a tag to compare

@EnjoyBacon7 EnjoyBacon7 released this 16 Jun 12:58
· 15 commits to main since this release

First release of the native Swift / SwiftUI rewrite of cbNP (the 3.x line was the Python implementation).

Highlights

  • Native macOS menu-bar app (SwiftUI MenuBarExtra) replacing the PyObjC app.
  • Now-playing via Apple Music / Spotify (AppleScript) and MediaRemote adapter.

Security

  • Reject cleartext ws:// for non-loopback endpoints; remote endpoints must use wss:// so the auth token is never sent in the clear.
  • Preferences file (Pref.json) written with 0600 permissions since it holds the token.

Reliability / bug fixes

  • Preferences load robustly: each field decoded independently with fallbacks, reading both mediaPlayer and legacy media_player keys, so one bad key no longer wipes all settings.
  • error.log now rotates past 512 KB instead of growing unbounded.
  • Fixed a potential pipe-buffer deadlock when draining the MediaRemote adapter's output.

UI

  • Cleaned-up popover: compact interval field, uniform field styling, consistent label column and spacing.

Housekeeping

  • Added .gitignore; stopped tracking per-user Xcode xcuserdata; ignore .env/secrets.
  • App MARKETING_VERSION bumped to 4.0.0.