BBEdit 9.6.1 Release Notes

This page documents all feature enhancements and bug fixes included in the BBEdit 9.6.1 update.

For details on all the new features and enhancements offered since BBEdit 9.0, please see its release notes.

For information on changes made in previous versions, please see 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).


BBEdit 9.6.1 requires Mac OS X 10.5 or later (10.5.8 or later recommended).

This version is a Universal application: it runs natively on both Intel-based and PowerPC-based Macs.


  • Previously, disk browsers and projects always hid SCM admin data, even if "Show Invisibles" was turned on. This is the 99% use case, but on the other hand sometimes it's handy to be able to peek inside. So, here's a new expert pref:

    defaults write com.barebones.bbedit Misc:ShowSCMDataCommandIsVisible -bool YES

    When this is turned on, the file filter menu in projects and disk browsers grows an extra command for toggling the display of SCM data.


  • Cache files for FTP/SFTP are now kept in ~/Library/Caches/<bundle id>/FTPTemp/, rather than ~/Library/Caches/<app name FTP Temp/.

  • There is now an expert pref available, for those who prefer their multi-file search results lists to be flat rather than hierarchical by file:

    defaults write com.barebones.bbedit Search:AlwaysFlattenSearchResultsLists -bool YES


  • Fixed bug in which out-of-date language modules were not ignored as they should have been. This would cause crashes at various points when incompatible old modules were loaded instead of the up-to-date ones in the application package.

  • Fixed bug in which the last character was lost when trying to resolve a URL that ended at the end of the document (with no trailing carriage return or other delimiter).

  • Fixed incorrect Undo item title after doing Markup -> Utilities -> Format.

  • Corrected item alignment in the FTP connection sheet.

  • Fixed bug in which using the FTP Browser to create a new file using FTP (not SFTP) would report a -50 error.

  • Corrected an error in the XHTML 1.0 Transitional syntax table which caused the checker to incorrectly report an error for font-style elements inside of an anchor.

  • Fixed bug in which "Update Folder Images" and "Update Site Images" would report an error if invoked with no documents open.

  • Fixed a bug which would cause a crash while editing in some situations (which themselves are not clearly understood, nor reproducible).

  • The "Open..." dialog now allows you to choose a folder by clicking on the "Open" button in the dialog. This is very useful to folks working in Rails, Django, and other web application frameworks. (You can still dive into a folder by double-clicking on it or using Command-down-arrow in the usual fashion.)

    If you prefer the old behavior:

    defaults write com.barebones.bbedit Misc:AllowFolderSelectionInOpenDialog -bool NO

  • Commenting a selection range (or using Un/Comment to insert comment delimiters) once again selects the text inside the comment delimiters.

  • Fixed bug in which the markup formatter would incorrectly insert a blank line at the end of content in indented tag blocks.

  • Fixed crash which would occur when trying to add a Perforce configuration in the Source Control preferences.

  • Fixed crash in bbfind at the end of execution in some situations.

  • Fixed bug in the FTP library in which the setting to show "." files in FTP listings didn't work correctly if the server didn't support NLST -a.

  • Fixed bug in which quitting or sleeping with results windows open would cause a subsequent failure to reload the application state completely.

  • Fixed a bug in which malformed Boolean flags in .bbeditSettings files were not ignored as they should have been.

  • Fixed a class of latent bug which would cause a crash in situations where attempting to bring a sheet up would fail.

  • Corrected selection behavior in lists, so that an item is scrolled into full view when it's selected by clicking or key stroke.

  • Fixed bug in disk browsers in which invisible aliases were shown even if "Invisible Items" was turned off.

  • Fixed bug in which Translate (text to HTML or HTML to text) with "Selection Only" did not properly preserve the selection range.

  • Fixed bug in which Un/Comment Selection behaved incorrectly when applied with certain combinations of start/end delimiters (and ignored the possibility of using a line-comment delimiter when it could have). Now, when commenting a single line, Un/Comment will use a codeless language module's line-comment delimiter, if available. If you want Un/Comment to always use the line-comment delimiter, even when commenting a multi-line selection, you may request this with an expert preference:

    defaults write com.barebones.bbedit LanguageSpecific:PreferLineCommentsWhenCommenting -bool YES

    This may also be controlled on a per-language basis by adding the language name, for example:

    `defaults write com.barebones.bbedit "LanguageSpecific:PreferLineCommentsWhenCommenting:6502 Assembler" -bool YES

    (using a hypothetical "6502 Assembler" language module as an example, since as far as I know there is no such thing.)

  • Tag Maker now makes an effort to match indentation when inserting non-inline markup.

  • BBEdit will no longer attempt to compare image files when you click on them (or use keyboard navigation to select them) in a Find Differences folder comparison results window.

  • Fixed suspected cause of unreproducible crash when using "Find Next Misspelled Word" (or "Find All Misspelled Words").

  • Fixed bug in which Previous/Next Conflict (for cvs, svn, and p4) didn't scroll the conflict selection range into view as it should have.

  • Fixed bug in which transparent elements (in HTML5 documents) would prevent the generation of auto-fold points in their immediate container.

  • Fixed bug in which use of the #dont_update# placeholder would cause the file containing it to be wiped when using "Update Folder" or "Update Site".

  • Fixed misformatted reporting of "Update Folder" results.

  • Results lists for HTML Update Folder/Site, CVS "Show Lurkers", svn "Show Working Copy Status", and p4 "Show Opened Files" now use a more compact list layout.

  • The "file was not updated because it is protected" result from HTML Update Folder/Site is now listed as a warning, rather than as a note.

  • Enhanced reporting of unmappable characters, to show the character's Unicode glyph and code value.

  • The "Preview in BBEdit" WebKit view now puts the application name and version in the user-agent string. This is primarily intended as a platform for back ends that depend on specific agent identification to trigger behaviors, such as TypeKit.

    The factory default is to use "BBEdit/x.y.z-nnnn", where "x.y.z" is the release version number, and "nnnn" is the build number, as in:

    Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_5; en-us) AppleWebKit/533.18.1 (KHTML, like Gecko) BBEdit/9.6.1-2860

    If you wish to change the application string, you may do so with an expert preference:

    defaults write com.barebones.bbedit HTMLPreview:UserAgentAppName "Safari"

    This will result in:

    Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_5; en-us) AppleWebKit/533.18.1 (KHTML, like Gecko) Safari

    (Note that if you override, the version information is not included, and the string is used exactly as supplied.)

  • Fixed edge case in which backspacing deleted only one space, instead of a tab width's worth as it should have.

  • BBEdit suppresses the encoding-mismatch warning when saving the Emacs-style autorecovery file (which happens when "Make Backups before Saving" is turned on and you close a document without saving). This avoids a crash which would occur when an encoding mismatch did in fact exist in the autorecovery file.

  • The remote-volume check used to disable scanning for tags and .bbeditSettings files now includes volumes mounted by ExpanDrive.

  • Fixed bug in which errors when loading files during Check Folder Links and Check Folder Syntax would stop the process entirely. (The errors are now logged in the results.)