BBEdit 12.6.5 Release Notes

BBEdit 12.6.5 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.5 or later).


  • If the selected range of text looks like a color specification, the Character Inspector panel will display a color swatch for the corresponding color. (For example, try selecting "#EE11DD" or "rebeccapurple".)

  • The Character Inspector now includes the offsets of the selected characters. The offsets are expressed relative to the beginning of the document; so the first character offset is zero.


  • The old crash reporter makes a triumphant return. Here's hoping you never see it. But if you do, we'll be grateful if you include your email address and a description of what you were doing (if you weren't poking a badger with a spoon). Note: Mac App Store builds do not use our crash reporter; please use Apple's crash reporter and write to Tech Support if you encounter a crash.

  • When doing CamelCase navigation using Control-{left,right}-arrow, navigation (including selection extension, if you are using the Shift key) will treat an underscore as a boundary. If you preferred the previous behavior, this is controllable with an expert preference:

    defaults write com.barebones.bbedit CamelCaseNavigationIncludesUnderscores -bool YES

  • When using a "Run" command for a file with a #! line, BBEdit will no longer attempt to run the file using the appropriate interpreter for the language (e.g. Python), and will instead ask the shell to run it directly. Thus, running a file like this:

    #!/usr/bin/env python
    import sys

    will behave identically to using "Run In Terminal," and thus will always run the script using whatever python the system would have used on the command line.

    On the other hand, if you omit the #! line:

    import sys

    Then BBEdit will make its best guess as to which python to use, based on the previously documented rules.

    Note: BBEdit will only run the file directly using the shell when using the "Run" (or "Run with Options") or "Run in Terminal" commands. When using "Check Syntax" or "Run in Debugger", BBEdit will continue to use its best guess for the language interpreter.

    This behavior is controlled by an expert preference. To force BBEdit to ignore the #! line:

    defaults write com.barebones.bbedit AlwaysUseShebangLineForWindowRun -bool NO


  • Fixed a bug in the C-family function scanner in which the use of class or function attributes (__attribute__) would confuse the scanner.

  • Made changes to significantly improve the performance of UTF-8 validation (used when reading files from disk). The improvement is most noticeable when opening very large files.

  • Fixed bug in which the built-in reference URL template for HTML was incorrect, so a -4960 error would result if you tried to use "Find in Reference" on an HTML document and you didn't have Dash installed. (You should get Dash, it's a good product:

  • Updated the reference URL template for C family languages to do searches in the current Apple developer reference.

  • The C-family language module will now color Clang built-ins using the color for "Predefined Names".

  • Fixed bug in which inserting a color into an HTML attribute's value via the Colors palette would inappropriately quote the color value.

  • Fixed a case in which App Store builds would erroneously report that the evaluation period was over when choosing a menu command marked with a star during the evaluation period.

  • Fixed bug in which it was possible to drag things into the summary text area in the Multi-File Search window.

  • Added the SetApp release of MarsEdit to the entitlements, so that its "Edit in BBEdit" handshake will work correctly.

  • Fixed a regression caused by a change in cmark in which generated HTML would omit raw HTML elements that were deemed "unsafe". This often manifested as external CSS and JavaScript not loading when using "Preview in BBEdit".

  • If a folder-backed menu (Scripts, Clippings, Stationery, Text Filters) is hidden, BBEdit will no longer attempt to populate it when the system tries to match a keyboard equivalent. This is a significant performance win if you had previously hidden the Clippings menu but somehow managed to keep around an enormous Clippings folder.

  • Made a change to significantly (by orders of magnitude) improve the performance of fetching stored keyboard equivalents for items in folder-backed menus (Scripts, Clippings, Text Filters, Stationery). So if you do have a huge Clippings folder, the first use of a keyboard equivalent (for any menu command) should no longer cause the application to stall quite so painfully.

  • Fixed bug in which the internal SFTP client would crash if a file transfer (upload or download) timed out. This would typically happen when using a very slow data connection to the server.

  • Fixed bug in which the Software Update window could be resized to an unusably small shape.

  • Made a change to quiet a -50 alert which would occur when an invalid soft wrap mode was (somehow) stored in a document's saved state.

  • Made a change to improve the fidelity of color roundtripping when editing colors in saved editor color schemes.

  • Added null_resettable and null_unspecified to the Objective-C/C++ keyword list.

  • Added char8_t to the C++/Objective-C++ keyword list.

  • Made a change so that SSH_ASKPASS and SUDO_ASKPASS are configured for #! scripts and shell processes that are run from within BBEdit. This allows such operations to fetch an SSH password from the keychain or prompt for it as necessary; and sudo operations in #! scripts will likewise prompt for a password, just as in shell worksheets. Consequently, git and svn operations that may require an SSH password have a greater chance of success than before.

  • Reworked the tooltip mechanics so that the displayed tooltips are accurate for where the mouse is within the window at any given time (including over individual items in the sidebar).

  • Made a change so that tooltips for file names in the sidebar are displayed only if a given file's name is not unique in the list.

  • Made changes to resolve some latent concurrency issues.

  • Made a change to solve a class of concurrency problems in the text engine, which would (in some situations) cause obscure and hard-to-reproduce crashes.

  • Changed the layout of "widescreen" differences results windows so that the Apply buttons are close to the list of differences, as they are in the normal layout.

  • Fixed a concurrency bug which would sometimes cause the application to crash in cases where an external process rewrote a ctags data file that was in use by one or more open documents.

  • Fixed a performance bug in the lorem ipsum generator, such that requests for large amounts of text to take a very long time to complete.

  • Removed number formatting from the quantity field in the lorem ipsum generator dialog. (So you'll generate 20000 paragraphs, not 20,000.)

  • Fixed a bug when running on beta versions of macOS 10.15 in which doing a Git or Subversion revision compare and then clicking on the right-hand text view would cause the display to switch to the "No selection" placeholder. (The underlying issue in the OS may be fixed by the time you see this.)

  • Fixed a bug in which saving changes to a gzipped or bzipped file would write the file as uncompressed text.

  • Fixed a bug in which a nonsense error would occur when trying to compare two files, in very rare situations where the OS was in such a state that it would refuse a perfectly valid and reasonable request to write a temporary file.

  • Fixed bug in which the presence of a xattr in a compressed file would cause BBEdit to lose track of whether the file was compressed, and cause any changes to decompress the file.

  • Fixed a bug in which cancelling a hung #! script execution from the UI did not correctly terminate the script process, leaving the application hung as well.

  • Fixed a performance bug in which scrolling a text view would end up requesting a redraw of the entire window, which was invisible but could potentially take a noticeable amount of time (such as with a full sidebar in a tall window).

  • The Markup -> Update menu and the Menus & Shortcuts preferences have been updated to include a "Deploy Site" entry, so that it's possible to assign a keyboard equivalent if desired.

  • Fixed a bug in which certain OS print panel settings weren't being correctly applied when restored from saved state. (Curiously, the print panel would display them as set, but not apply them when actually printing.)

  • Fixed a bug in which error alert dialogs would have a focus ring around the invisible "Cancel" button, which was detectable if you were using Full Keyboard Access.