Platypus Changelog

What's new in Platypus 5.4.1

Oct 23, 2022
  • Fixed signing issues

New in Platypus 5.4 (Sep 4, 2022)

  • Added native support for arm64 CPU architecture. Both Platypus and the apps it generates are now Universal ARM/Intel 64-bit binaries
  • New application icon
  • Status Menu submenu items can now be disabled with the DISABLED syntax
  • Support relative interpreter path (i.e. relative to Resources directory)
  • Support dark mode for text fields (inverts colors, changes dynamically when user switches interface modes)
  • Command line tool no longer defaults to stripping nib file (requires explicit -y option)
  • Enabled close button on windows, which now quit the app(s)
  • Added standard Help Menu to ScriptExec apps (support for bundled help bundles)
  • Added support for dynamically changing status item title and icon via STATUSTITLE and STATUSICON syntax
  • Warn when non-existent file in bundled files list
  • Command line tool now defaults to creating apps with no application icon
  • Support for notifications is now an option, to prevent permission popups on Catalina and later
  • Added Python 3 and Dart interpreter presets
  • Platypus apps now hide (instead of disabling) Open and Open Recent menu items if they don't accept files
  • Fixed issue with signing generated apps due to missing "APPL" CFBundleType
  • Fixed nasty empty newline parsing bug
  • Switched over to AGIconFamily for icon generation, reducing dependence on deprecated Carbon calls
  • Resolved issue with text selection and dark mode in generated apps
  • Improved drag and drop handling on Platypus main window
  • Platypus now requires macOS 10.11 or later

New in Platypus 5.3 (Mar 31, 2022)

  • First facelift in a decade: New application icons created by Drífa Líftóra
  • Updated to support Mojave Dark Mode
  • Added AWK, JavaScript and Node interpreter presets
  • Added "REFRESH" command that clears text output buffer
  • Added "DISABLED" menu item syntax for status menu interface
  • Platypus and its command line tool binary are now code-signed. Generated applications remain unsigned, for obvious reasons
  • Windows of generated applications are now larger, and centered on first launch
  • Apps now try to make script executable (+x) on launch This may resolve certain issues with launching generated apps stored on network-mounted volumes
  • Added Open With menu for items in Bundled Files list
  • Fixed bug where Platypus would generate broken custom icns files from images
  • Fixed buggy Uniform Type Identifier validation in command line tool
  • Platypus now validates default bundle identifier in Preferences
  • Removed broken System Profiler example
  • Removed XML plist format feature
  • Documentation overhauled, partially rewritten and moved to Markdown format
  • An assortment of minor bug fixes
  • Various minor interface improvements
  • Reduced size of generated app binaries
  • Now requires macOS 10.8 or later

New in Platypus 5.2 (Mar 3, 2017)

  • Platypus apps can now register as URL scheme handlers and receive opened URLs as arguments to script
  • Platypus apps can now accept dragged URLs
  • Platypus apps that accept dropped files now have an Open Recent menu
  • New syntax to create submenus in Status Menu interface type
  • Relative paths are now supported in Platypus Profiles, but only through manual editing. Platypus app and CLT still generate Profiles with absolute paths.
  • Platypus now warns about about identical file names in bundled files
  • Droplet apps now quit when their window is closed
  • Updated and improved example profiles demonstrating new features
  • Text in Platypus apps now has a minimum font size
  • The Platypus Profile format has changed slightly in this version, but old formats can still be read
  • Fixed annoying issue where status menu would render before receiving all script output
  • Fixed performance issue with printing many lines to text window. It is now very fast again.
  • Fixed issue where loading certain Example profiles would cause Platypus to crash
  • Fixed bug where "Use as template" was shown when Status Item mode was "Text"
  • Fixed bug where command line tool failed to infer app name from script filename, resulting in "(null).app"
  • Fixed bug where files that had been moved were not colored red in Bundled Files list
  • Fixed bug where valid menu items were disabled in Action menu
  • Fixed issue with console spamming due to missing CFBundleTypeRole. Now always "Viewer".
  • Fixed bug where text settings were not properly loaded by the GUI
  • Fixed bug where bundling files with the -f flag didn't work in the command line tool
  • Fixed issue where status menu settings would not be restored to defaults on clear
  • Fixed bug where the command line tool would erroneously try to validate whole argument strings instead of individual UTI strings
  • Fixed bug where suffix editing buttons remained enabled when they shouldn't be
  • Got rid of text encoding settings. Platypus now uses UTF8 for everything, and you should too.
  • Got rid of "Secure bundled script" option, which was useless bullshit anyway
  • Fixed issue where main application window would not remember its last position
  • Updated documentation & man page
  • Various minor interface refinements

New in Platypus 5.1 (Feb 8, 2016)

  • New Build All Examples feature
  • App windows now remember size and position between launches
  • Various user interface improvements
  • Smarter handling of dropped files
  • Smarter automatic app name generation from script name
  • Output string "----\n" in Status Menu interface now creates menu separator item
  • Uniform Type Identifiers and Application Bundle Identifiers are now validated
  • Uniform Type Identifiers are now used for default file types in Drop Settings
  • New template processing option for Status Item icon
  • New examples
  • Added support for multiple file arguments when bundling files using command line tool
  • Fixed issue where MainMenu.nib was stripped and thus not editable using XCode
  • Fixed critical issue with Web View and Droplet interface types
  • Fixed issue where showing the Preferences window lagged due to icon fetching on main thread
  • Fixed issue with window behaviour during resizing in Progress Bar interface

New in Platypus 5.0 (Nov 30, 2015)

  • This is a major update to Platypus with lots of new features
  • Modernised user interface with high-resolution icons and interface assets
  • Added support for Uniform Type Identifiers (UTIs) in Drop Settings
  • Added NOTIFICATION: syntax, which sends a notification to User Notification Center
  • Added ALERT: syntax, which triggers a modal alert dialog
  • Added MENUITEMICON: syntax, which sets menu item icon in status item menus
  • Dropped text input (NSPboardText) is now passed to script via STDIN, not as an argument. This allows differentiation between dropped text snippets and dropped files in applications that are made to handle both.
  • The built-in editor has been much enhanced, with line numbering, configurable text size, word wrap and other improvements
  • Parsed commands are now removed from script text output
  • Documentation completely overhauled and expanded
  • New "Use System Font" option for status menu items
  • Symlinks now resolved when adding files to Bundled Files list
  • Folder sizes are now calculated much faster (and asynchronously) when added to Bundled Files list
  • Arguments window now highlights arguments and argument groups in command preview field
  • Previewing status item menu now shows actual script output instead of placeholder text
  • Many new examples
  • Command line tool now supports --long-options
  • Author name argument is now used to generate default bundle identifier in command line tool
  • Finder now refreshes display of overwritten applications
  • Status menu items can now only have a title or an icon, not both, due to changes in Mac OS X
  • Show Shell Command window now shows install status of command line tool
  • Syntax checker window now shows the command invoked when checking script syntax
  • App size estimation is now more accurate
  • Font size in web output view can now also be increased/reduced
  • New contexual menu button for icon view
  • New "Copy icon path" option in icon contextual menu
  • Platypus-generated apps now remember font size set by user
  • Fixed issue with generating icon from images on retina macs (IconFamily)
  • Fixed issue with broken icon image alpha channels (IconFamily)
  • Fixed issue where a status item menu would display an empty menu if clicked repeatedly
  • Fixed issue where dropping text on an app wouldn't work with "Remain running after initial execution" off
  • Fixed issue with Open... menu item and file types in ScriptExec
  • Fixed issue where process number arguments in the format -psn_0_* were passed to script
  • Fixed issue where command line arguments for ScriptExec were being passed incorrectly to script
  • Many, many minor bugfixes, tweaks and improvements
  • Codebase migrated to modern Objective-C syntax. Built with XCode 7 and now requires Mac OS X 10.7 or later and a 64-bit Intel system. Older versions continue to work just fine on 32-bit 10.6 systems, and version 4.4 still works on PowerPC. But it's time to leave the past behind. It's been 9 years since the last 32-bit Mac was released.

New in Platypus 4.9 (Apr 6, 2015)

  • Users can now manually increase/decrease the font size in Platypus-generated apps
  • Status menu items can now be selected. This will run the script again with the menu title as an argument.
  • Arguments can now be passed to Platypus-generated apps via the command line
  • In Progress Bar output, it is now possible to use DETAILS:SHOW and DETAILS:HIDE to toggle details field visibility
  • New feature: If script prints "QUITAPP" to STDOUT, the wrapper application will quit.
  • Platypus now remembers app creation dialog settings such as "Optimize Nib"
  • Platypus now remembers opened Profiles in the Open Recent menu
  • It is now possible to add a custom MainMenu.nib to bundled files which overwrites default
  • Extended and improved documentation
  • Built with XCode 6, now requires Mac OS X 10.6 or later
  • Fixed a bug where "Provide as a Service" failed to be read from saved profiles
  • Fixed bug where a custom bundle identifier in a saved Profile would not be loaded
  • Fixed bug where the Create button would remain greyed out even though all requirements were satisfied
  • Fixed bug where progress indicator would keep animating after execution in Progress Bar output mode
  • Fixed bug where command line tool complained about valid .icns filenames
  • Fixed bug where command line tool would always create XML property lists instead of binary ones
  • Refactored all deprecated method calls
  • Various minor interface refinements
  • Improved documentation

New in Platypus 4.8 (Jul 9, 2013)

  • New "Prompt for file on launch" option
  • Redesigned Drop Settings sheet
  • Fixed issue where version would not appear in Get Info in Finder (missing CFBundleShortVersionString)
  • Generated apps have NSHumanReadableCopyright defined again
  • Extensive updates to documentation
  • "Provide as a Mac OS X Service" no longer enabled by default
  • Removed all support for file types. They are ancient crust now mostly ignored by Mac OS X and should no longer be used.
  • Improved uninstall script
  • Fixed issue where a generated icon file referenced in a Profile could be overwritten
  • Documentation files now open in default browser, not in default .html handling app
  • Fixed broken nib optimization. Platypus now correctly detects XCode 4 installs.

New in Platypus 4.7 (Mar 11, 2012)

  • New "Uninstall" menu option, which removes all traces of Platypus on a system
  • New update mechanism using the Sparkle framework and appcasting
  • Command line tool now supports reading script from STDIN
  • Command line tool now supports XML plist option
  • Migrated away from all deprecated Mac OS X API calls
  • Minor interface tweaks
  • Fixed bug where script permissions could be erroneously set, resulting in execution failure
  • Fixed bug which caused Platypus to crash when creating Droplets
  • Fixed bug with icon missing on "New Script" if CLI tool wasn't installed
  • Fixed bug with enabled an empty menu item when no profiles were in Profiles list

New in Platypus 4.6 (Jan 27, 2012)

  • "Open" and "Save" menu item option for Platypus-created apps
  • Applications can now be set as Services for text or file handling via Services menu
  • Configurable document icon for Platypus apps
  • New option to set custom arguments for script, not just interpreter, under "Args" (previously "Params")
  • Command line tool now supports dumping profile property lists to stdout (see man page)
  • Additional interpreter presets: zsh and tcsh
  • Extended documentation and FAQ
  • New "Edit" button and contextual menu item for Bundled Files List.
  • New FastDMGMounter example
  • Platypus now defaults to using binary-format property lists. This can be set to XML in create panel.
  • Status Bar apps now gracefully remove their status bar item before exiting
  • Removed app path as first arg option, it's unnecessary and confusing. App path == $CWD/../..
  • Various interface refinements
  • Migrated all images to optimized PNGs for smaller file sizes
  • Now using LLVM for builds instead of GCC, which makes for smaller code size
  • Changed "New Script" preset contents to be a "Hello, World" example in the selected language
  • Fixed bug with script path text field tab autocomplete
  • Fixed bug in shell command generator which errenously inversed the logic of the -R flag
  • Fixed bug which caused crash when editing file in Bundled Files list using built-in editor.
  • Fixed bug where text font settings would not be applied
  • Fixed bug with contextual menus in Arguments window
  • Fixed bug where custom image data application icons failed to be created
  • Fixed bug where "Icon" display mode status item would erroneously display a default title
  • "Run in background" applications no longer set themselves as front process with output mode "None"

New in Platypus 4.5 (Dec 12, 2011)

  • Upgraded to XCode 4 for builds. Platypus and generated applications now require Mac OS X 10.5 or later
  • Dropped PowerPC support. All binaries are now 32-bit/64-bit Intel only
  • New Examples menu with a number example profiles, scripts and presets demonstrating Platypus features
  • Support for accepting dragged text snippets as arguments to script
  • Platypus now displays a progress bar with status messages while creating applications
  • New "Create app on script file change" option, which automatically creates and launches a Platypus application when you save changes to script.
  • Due to popular demand, "droppable" apps now run script on launch, not just when files are dropped
  • "Open in Editor" option for bundled files
  • Interface refactored to be always in what was previously "Advanced mode"
  • Better handling of icons for apps
  • More accurate estimated final app size
  • New "Launch app on creation" option in Platypus, to facilitate development workflow
  • "Runs in background" windows now come to the front on launch
  • Improved application icon and preset icons (512x512px representations)
  • Updated man page for command line tool
  • Open Recent menu uses Apple's API
  • Main window no longer accepts locally dragged and dropped icon files
  • Icon view no longer erroneously recognizes locally originating drags as valid
  • Revised and extended documentation
  • Fixed a text encoding bug with "Secure" scripts
  • Fixed text encoding bug in built-in text editor
  • Fixed bug in drag and drop handling in Platypus application
  • Removed environment editing and signature settings [redundant and obsolete, respectively]
  • Removed English.lproj from created apps. It's not need with current lack of localization support.
  • Fixed bug in drag and drop on Web View
  • Updated to IconFamily 0.9.4
  • New FAQ section in the documentation which addresses common questions and issues
  • Fixed a bug where droplet apps would lock up on cancelled authentication
  • Fixed bug in command line tool where nib parameter was ignored
  • Platypus no longer embeds icon data in profiles, which results in smaller file sizes
  • A variety of other small bug fixes all over the codebase
  • Platypus now identifies .command files as shell scripts
  • Additional interpreter pre-set options (/usr/bin/env and /bin/bash)
  • Command line tool now no longer requires destination path parameter, defaulting to [name-of-script].app as destination package
  • Platypus now recognises more script type suffix variants (e.g. rbx, objpy, osacript, etc.)
  • Command line tool now defaults to compiling nib file (can be disabled with -l flag)
  • Command line tool is now more intelligent about automatically detecting script type, interpreter, autogenerating bundle identifier, etc. Command line tool parameters change from '-c scriptPath [appName]' to 'scriptPath [appName]'
  • More intelligent automatic app name generation based on script filename

New in Platypus 4.4 (Aug 18, 2010)

  • New output mode: "Droplet"
  • Development mode now also creates symlinks to bundled files, not just the script
  • New high-resolution 512x512 icon presets
  • New "Default Text Encoding" option in Preferences
  • STDOUT and STDERR are no longer captured in output mode "None"
  • Platypus apps now use the Apple-recommended, more secure temporary location for secure scripts
  • More text encoding options
  • Show Shell Command option is now more intelligent about creating a terse, efficient shell command without superfluous parameters
  • Various small bug fixes and optimizations in Platypus app binaries
  • Updated and improved code for executing script with privileges
  • Updated and improved output parsing in Progress Bar output mode
  • Fixed documentation so that it uses external images instead of data URLs
  • Fixed bug where Platypus would incorrectly claim to be unable to create Platypus application support folder
  • Fixed bug where background color from text settings would not be applied to the text view in Progress Bar output mode
  • Fixed bug where syntax checking would work incorrectly with Perl scripts
  • Fixed bug when interface in a Platypus app would lock up when dropping files in authenticated execution mode
  • Fixed various bugs in Progress Bar output mode
  • Fixed bug in output mode "None" where app would fail to quit on script termination
  • Fixed small memory leak when applications were created

New in Platypus 4.3 (Jul 27, 2010)

  • New output mode: Status Menu
  • Generated apps now have editable nib files
  • New "Optimize Application" option which strips/compiles nibs and removes unnecessary files from generated application bundle
  • Current working directory is now set to .app/Contents/Resources in scripts running with Admin privileges
  • Auto-scrolling of output in Web View mode
  • Drag and drop now works properly in Web View windows
  • Various interface refinements
  • Updated sample scripts
  • Updated documentation and command line tool man page
  • New high resolution app icon, icon presets and improved document icons
  • Platypus text output now defaults to UTF8 instead of ASCII
  • Fixed bug where command-line generated apps would have black background and foreground in text output
  • Fixed bug where apps would fail to register dropped files on launch
  • Fixed bug in command line tool install script
  • Fixed bug with suffix and file type validation
  • Fixed text-encoding bug with secure bundled scripts
  • Fixed bug where apps would default to output mode "None" on invalid output settings
  • Fixed bug in secure bundled script w. droppable option
  • Now warns when attempting to load a profile generated by an older version of Platypus

New in Platypus 4.2 (May 18, 2009)

  • Droppable Platypus apps can now execute script again when new files are dropped.
  • Text settings now available for Progress Bar output mode.
  • Command line tool now supports setting text output properties such as font, color and encoding.
  • Command line tool has achieved feature parity with GUI application.
  • Command line tool now correctly handles relative paths.
  • Change in profile format to make it more transparent and human-readable/editable.
  • "Show Shell Command" now shows all parameters for command line app.
  • Platypus apps now default to remaining open after execution.
  • Secure bundled script option now correctly excludes Development Version save option.
  • Fixed bug from 4.1 where text settings failed to be applied.
  • Fixed memory leak and bugs in privileged execution mode.
  • Fixed bug in path text field autocompletion.
  • Updated documentation to reflect recent features.
  • Minor interface tweaks and fixes.

New in Platypus 4.1 (May 18, 2009)

  • New "Development Mode" option makes Platypus create symlink to script instead of copying it to the application bundle.
  • Platypus now tracks and warns of location change of bundled files and script.
  • Profiles menu now updates profile list when displayed.
  • Path autocomplete feature in script path text field.
  • Now parses entire shebang line for arguments to interpreter.
  • Script text output is now directed line by line to the status text field in Progress Bar output mode.
  • Progress Bar output mode now has a little arrow that shows details (i.e. script output) in a text field.
  • Tooltips for many more controls.
  • Additional default external editor presets.
  • Minor user interface tweaks and fixes.
  • Minor optimizations in app size.
  • Command line program can now create profiles.
  • Command line program can now operate in "Force" mode, overwriting files.
  • Fixed bug where secure bundled scripts failed to work on PowerPC-based machines.
  • Fixed memory leak in text output.
  • Fixed bug where command line program failed to create icons from images.
  • Fixed bug where command line program failed to parse arguments correctly.
  • Fixed bug where script type was not identified when a script was dropped on Platypus to launch the program.
  • Fixed bug which prevented File Types and App Role from being set in Info.plist.
  • Fixed bug where Platypus would insist on at least one File Type being set in file types and suffixes settings.

New in Platypus 4.0 (Jun 23, 2008)

  • Now both Platypus and Platypus-generated apps require Mac OS X 10.4 or later.
  • Interface streamlined and improved
  • Overhauled entire source code backend.
  • Optimized binaries of Platypus and Platypus-generated apps. Both are now leaner, meaner and slimmer than before.
  • New file-based Profiles feature
  • New application icon and new icon presets for generated apps
  • New Web Output mode. Scripts can generate HTML which is rendered in a WebKit view in the Platypus-generated application
  • New option to configure text size, font and color for Text Output mode
  • New option to send arguments to script interpreter
  • New option to disable passing path to app as first argument to script
  • New "Secure script" encryption method
  • Command line tool now has complete feature parity with the Platypus app
  • Command line tool can now load Platypus profiles
  • Command line tool now installed/uninstalled through Platypus Preferences
  • New "Estimated final app size" reporting feature
  • "Show Shell Command" option now correctly adds icon parameters
  • Fixed bug where "Run Script in Terminal" option failed to escape script path
  • Fixed bug with reversed LSMinimumSystemVersion property in Info.plist of generated applications
  • Fixed bug where the same file could be added multiple times to Bundled Files list
  • Fixed memory leak in Platypus-generated apps where a large amount of text output would cause the application to crash
  • New and better man page for command line tool
  • Updated and improved documentation
  • Updated to latest IconFamily class code for icon generation