Skip to content

4.0.0

Latest

Choose a tag to compare

@vineetchoudhary vineetchoudhary released this 06 Sep 04:47
· 11 commits to master since this release
dc3e954

AppBox is rewritten in Swift and SwiftUI, and now ships a command-line tool alongside the app. Requires macOS 15 Sequoia or later.

AB

Changed

  • Rewritten in Swift and SwiftUI. No Objective-C left. Business logic moved into a UI-free AppBoxCore package shared by the app and the CLI.
  • Redesigned dashboard. Every build in one place with bundle ID, version, build type, team and short URL, plus one-click Open, Copy Link, QR Code, Show in Finder and Show in Dropbox.
  • Reworked preferences: Upload, email, webhook and CLI settings.
  • Third-party dependencies cut to two (SwiftyDropbox and ZIPFoundation), both via Swift Package Manager. AFNetworking, SAMKeychain, ZXingObjC, CocoaLumberjack, SSZipArchive, Sparkle and CocoaPods are all gone, replaced by URLSession, the Security framework, Core Image, os.Logger and Network.framework.
  • IPA file size is now read from file attributes instead of loading the whole build into memory.
  • Set AppBox as the default app for .ipa files, so double-clicking a build opens it ready to upload (Preferences › General).
  • Update notifications that match how you installed AppBox. brew upgrade --cask appbox for Homebrew, or the install script otherwise.
  • A DMG is now published with every release, so a direct download is the usual drag-to-Applications install.

CLI

  • appboxcli, a command-line tool. Upload and manage builds from your terminal or CI. Install it in one click from Preferences › General.
  • appboxcli upload --ipa <path>: upload a build and print its install link (the default subcommand, so the old appboxcli --ipa … form still works)
  • --emails, --message, --keepsamelink, --dbfolder same options as the app
  • login, logout, whoami, space : manage the Dropbox account without leaving the terminal
  • list : your upload history, newest first
  • delete [--dashboard-only] : remove a build from Dropbox and the dashboard
  • The CLI and the app share one Dropbox session and one history store.

Fixed

  • QR codes render correctly in both light and dark appearance.
  • appboxcli exits with the app's real exit code instead of always reporting success.
  • Several memory leaks, including notification observers that were never removed.
  • Crashes and hangs from unsafe threading: shared state is accessed atomically, the Dropbox manager is no longer a thread-unsafe singleton, and UI updates always happen on the main thread.

Security

  • HTTPS is enforced. The legacy App Transport Security exception that allowed arbitrary loads has been removed.
  • Webhook URLs and email addresses are validated before use, in both the app and the CLI.
  • Sensitive CLI argument values are no longer written to logs.
  • Keychain items are properly deleted when you sign out.

Full Changelog: 3.6.0...4.0.0