BBEdit 12.6.1 Release Notes

BBEdit 12.6.1 contains fixes for reported issues.

For details on all the new features and enhancements available in BBEdit 12, please see the release notes for BBEdit 12.6, BBEdit 12.5, BBEdit 12.1, and BBEdit 12.0, or browse the release notes archive.

For detailed information on using any of BBEdit's features, please refer to the user manual (choose "User Manual" from BBEdit's Help menu).

Important: Please make sure that you have read the BBEdit 12.6 change notes, as there are significant changes from previous versions.


BBEdit 12.6 requires Mac OS X 10.12.6 or later, and is compatible with macOS 10.14 "Mojave".

If you are using macOS 10.13 "High Sierra", please make sure that you have updated to the latest available OS version (10.13.6 or later).

If you are using macOS 10.14 "Mojave", please make sure that you have updated to the latest available OS version (10.14.3 or later).

Additions & Changes

This update consists only of fixes for reported issues, and does not include any new features, nor are there any visible changes to existing features.


  • When running on macOS 10.14.1 and later, if /usr/local/bin/ and/or /usr/local/share/man/man1/ don't exist, BBEdit will try to create them before asking the system to complete installation of the command line tools. If this fails you will get a useful message, rather than a silent failure to install the tools.

  • Fixed a performance bug in which BBEdit would always ask a language module to do a keyword lookup, even when the module did not explicitly report that it supported lookups.

  • Fixed bug in which the filename extension-to-language mapping inappropriately conflated extensions and base file names; so if (for example) you opened foo.php, and then subsequently opened the php executable, BBEdit would try to treat the latter as a PHP file. This never ended well.

  • Although you should always specify which text to include when using the make new line AppleScript construction, BBEdit will no longer crash when you fail to do so. In the absence of any text, a single blank line is assumed.

  • Fixed a bug in which the application's test for determining the usability of an automatically located Unix tool did not always return the correct answer. This would break things like in-application Python script execution.

  • Worked around macOS sandboxing bug in which certain ssh operations which required socket access to ssh-agent would fail. A common case of this was SSH multiplexing, but certain forms of key access would fail to. This in turn broke the built-in SFTP support, typically resulting in 22807 errors when trying to connect to SFTP servers.

  • Fixed a bug in which changes to the print settings in the Print panel didn't take effect, nor did they persist.

  • Made internal changes in the SFTP client implementation to work around stability issues caused by an OS bug when running on macOS 10.12.6.

  • Fixed bug in which cancelling an SFTP connection attempt would be "sticky", and cause future connection attempts to fail until the FTP/SFTP browser window in which the connection was created was closed.

  • Fixed a bug in which running a text factory from the Scripts menu with no previously specified sources would prompt for sources and options, and then do nothing.

  • Fixed bug in which the "Options" sheet for a "Run Unix Filter" text factory operation would refuse to appear if a Unix script had previously been selected, but was missing.

  • Fixed a bug in which the application-modal progress panel (used for a few things, like remote file transfers and folder compares) did not properly update itself as requested by the task being performed (for example, the name of a folder/file being compared, or the amount of data transferred).

  • Worked around macOS sandboxing bug (48537807) which caused AppleScript recording to be nonfunctional.

  • Fixed bug in which a PHP function declaration with a nullable return type would cause that function to be omitted from the functions menu.

  • Added some keywords to PHP for built-in types.

  • Fixed a bug in which files which began with a #! were inappropriately guessed as HTML, if they contained something recognizable as HTML (such as HTML code in a heredoc or string).

  • Worked around an OS behavior in which the dictation system would cause insertion of a naked carriage return (ASCII 13) when dictating "new line". This would appear as a gremlin.

  • Added a third-party application to the AppleEvent entitlements so that ODB support works with it (com.agile.teambase).

  • If a Unix text filter returns a nonzero exit code, BBEdit will do nothing and report an error, instead of replacing the selection (or document contents) with nothing.

  • Fixed bug in which bbdiff /dev/null /path/to/some/file did not activate the application.

  • "Apply Text Filter" and "Paste Using Filter" are (once again) allowed in the edit fields in the Find and Multi-File Search windows.

  • Fixed a performance regression when running AppleScripts from the Scripts menu or other sources, particularly when the script performed a large quantity of operations which involved sending events to BBEdit.

  • Made a change to the way new files are created on disk when performing a Save As, to see if that fixes a reported symptom with new-document saves requiring authentication.

  • Made a change to work around an OS bug (46341124) in which the OS would refuse to resolve certain file references created by older versions of the application, and return an inscrutable error.

  • The built-in software updater once again accurately checks for whether you're able to install the updated application, and thus can appropriately decide to download the update disk image, instead of trying (and failing) to self-update.

  • Added the async keyword to the JavaScript language module, and fixed a bug in which its presence in a function assignment would cause the function scanner to list it as "[anonymous]" in the function menu.