Skip to content

swiftDialog 3.0.0 Release Notes

SD v3 logo

swiftDialog 3.0 requires macOS 15 or newer

If you need to support macOS 14 or earlier, use v2.5.6

All documentation is now hosted at https://swiftdialog.app

This release will have macOS 26 appearance when run on macOS 26 and macOS 15 appearance on macOS 15

There is a new “squircle” icon to match the macOS 26 branding style and avoid landing in squircle gaol.

The old “Important message” boilerplate text for title and message have been removed. Leaving title or message blank will produce blank message and title. Default icon uses the built in AppIcon resource instead of an SF symbol

Screenshot 2025-09-15 at 5 37 54 pm Screenshot 2025-09-15 at 5 39 39 pm Image 15-9-2025 at 5 40 pm (1) Image 15-9-2025 at 5 40 pm

Inspect Mode is a new built-in feature that enables real-time monitoring within the macOS filesystem. It tracks filesystem status (utilizing Apple’s FSEvents API) while monitoring application installations and inspecting cache folders, files, and plist content to visualize compliance checks. This feature is specifically designed for use during device enrollment, software deployment, and compliance auditing

image image

Documentation here

Huge thanks to @headmin for his hard work on these features

/usr/local/bin/dialog is now a link to a compiled dialogcli binary written in swift. Previously this was a shell script that handled command line processing and launching of the Dialog.app app bundle.

The embedded dialogcli command line utility intelligently determines the location of the Dialog.app app bundle when running making the Dialog app relocatable. Call by running /path/to/Dialog.app/Contents/MacOS/dialogcli

For this initial release this generally performs the same function as the shell script but will be expanded over time. Support for running the Dialog.app/Contents/MacOS/Dialog binary directly will be removed in a future release

⚠️ Important Note: In this release, when running Dialog.app/Contents/MacOS/Dialog directly, the number and order of arguments matters. For the sake of brevity, specify flags (arguments with no parameter like --ontop) at the end of your command.

--builder mode is for assistance when constructing regular dialogs and has been updated with some fixes for broken functionality and updates for some of the new layouts. Documentation here

Run --inspect-mode with no arguments to bring up sample configuration utility

  • Add support for specifying an exact location on the screen using —position x,y #452
  • Add support for actions in listitems. Actions are limited to URLOpen. #472
  • Add file path option to textfield fileselect to set the initial file path. Defaults to users home directory if not used. #451
  • Add iconalpha as an option to listitems #508
  • Add optional --loghistory for use with --displaylog #539
  • Added a custom indeterminate linear progress bar (this was required as macOS 26 linear progress bar does not animate correctly)
  • --image and --icon can now accept multiple values as a single comma separated list, e.g. `—image “/path/image1.png”,“/path/image2.png”,“/path/image3.png” #536
  • Added searchable option to drop down lists
    • example:
    dialog --selecttitle "Search Me",searchable --selectvalues "Apple,Banana,Cherry,Date,Elderberry,Fig,Grape,Honeydew,Kiwi,Lemon,Mango,Nectarine,Orange,Papaya,Quince,Raspberry,Strawberry,Tangerine,Ugli Fruit,Watermelon"
  • Added --sound to play a sound on launch. Accepts file or url
    • example dialog --sound /System/Library/Sounds/Glass.aiff
    • if you pass in a very long audio file, add the --showsoundcontrols option.
  • Added animated gif support (finally)
  • Allow listitem’s to be selectable (one or many) #465
    • new argument --enablelistselect enables selection of listitems on click. selection status is sent to stdout as "<title>" : "<status"
  • Buttons can now have symbols and adjustable text size
    • new arguments --button1symbol --button2symbol --infobuttonsymbol. Takes one sf symbol name as a value. Optional properties: position, size, style, color. see --help button1symbol for more info.
      • example: --button1symbol sunrise.fill,multicolour,leading
    • new argument --buttontextsize accepts a number value to set the desired text size
    • button text values can now be specified as nil to disable button text
  • Enable button1 usage with stacked style and timer #520
  • swiftDialog icon can be displayed in the Dock using --showdockicon
    • Dock icon can be set to a custom image using --dockicon <img>
    • Dock icon can have a badge using --dockbadge <text>
    • Icon visibility and badge can be updated via command file
    • Dock icon can be made to bounce - regular mode one bounce, critical mode, multiple bounces
  • SF Symbol transitions are now animated between compatible symbol types
  • Added option --hideotherapps - will cause all other apps to be hidden when swiftDialog launches
  • Added support for inline text colour using :colour[text] format. e.g. "Text can be :blue[blue] or :red[red]"
    • Supported in any markdown text area and also in --title and --bannertitle
  • Added support for left/right text alignment for Title and progress text
    • --titlefont alignment=left
    • --progresstextalignment left

Too many to list all in the release notes. This release has over 300 changes and updates.