BBEdit 11.0.2 Release Notes

BBEdit 11.0.2 is a focused maintenance update which includes fixes for reported issues.

For details on all the new features and enhancements available in BBEdit 11, please see its release notes.

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 11.0.2 requires Mac OS X 10.8.5 or later (10.9.5 or later recommended; 10.10 supported).


  • This release consists entirely of fixes for reported issues, and contains no new features.


  • Added some code to work around a bug in OS X 10.10 and 10.10.1 (Radar 18785168 and 18701840) in which the height of the Open and Save panels would creep by 22 pixels each time, until the bottom edge of the panel was off screen and inaccessible.

    Note: This change will not automatically return the Save and Open panels to their default size; instead, it will prevent these panels from growing out of control again after you have reset them. In particular, you can restore the Save panel to its default size by issuing this Terminal command:

    defaults delete com.barebones.bbedit NSNavPanelExpandedSizeForSaveMode

  • Fixed the cause of a hang in the YAML module and in the process improved the detection, folding and scanning of block literals. So this should now work correctly:

    - foo: |
       here's the value
       of the block literal
    it might be multiple lines long and any YAML syntax within it should be ignored

  • Block literals in YAML documents are now syntax-colored as strings instead of as comments.

  • Fixed crash in the Lasso function scanner which would occur when interpreting an include_url directive with nothing between the quotes.

  • Fixed a class of memory leak in some of the built-in language modules. This would particularly affect performance and memory consumption on extremely large YAML files.

  • "Go Here in Terminal" is now faster and works better.

  • Fixed bug in which documents opened via FTP/SFTP were unconditionally opened as UTF-8, which would result in an error being reported if the document was actually some other encoding and contained characters that weren't valid UTF-8.

  • The factory language modules are now in a subdirectory of the PlugIns bundle directory. This is to work around a bug in code signing, in which the --deep option doesn't actually check signatures of things that aren't in approved subdirectories of Contents.

  • Made some internal changes to further improve the performance of filename extension to language mapping at run time, which in turn will further improve the performance of text file filtering when opening, browsing, and performing batch multi-file operations.

  • Fixed a multi-file processing performance bug in which file contents were being examined for text-ness even when the file itself would then fail to match a user-supplied file filter. File contents are now only examined for text file filtering as an absolute last resort.

  • Fixed a bug in the Markdown scanner where it would hang if you inserted a tab before a blockquote marker '>', but only if you'd had three or more cups of coffee at a small diner within the last week.

  • Fixed crash which would occur sometimes when editing per-language enabling for clipping sets in the Setup window.

  • You can now use the Escape key to close the Setup window, if desired.

  • When using the search box in the Clippings floater or the Insert Clipping panel, the first match is now selected so that you don't need an extra step to confirm if that is the one you want.

  • If the application is unable to create the necessary auto-save data folders, it will now alert you when starting up, rather than allowing the operation to silently fail (and cause a runtime exception when attempting an auto-save for crash recovery).

  • Fixed crash which would occur when trying to interpret certain types of malformed markup while right-clicking in a tag or using the "Edit Tag" command.

  • Fixed crash which could occur when toggling Show Line Numbers or Show Gutter in the Appearance preferences.

  • Fixed bug in which Find Differences results windows didn't use the correct highlight colors for selected differences.

  • Fixed crash in the Pascal function scanner which would occur in some cases when it was asked to process a file that was most assuredly not Pascal source code.

  • Fixed text rendering bug which would occur with certain font and size combinations (usually when both the font size and the number of spaces per tab was small).

  • The text generated by the "New HTML Document" command is now detabbed if the "Auto-expand tabs" preference is turned on.

  • Holding down the Option key while clicking an "x" widget in the Windows palette will now close all windows (or documents, depending on which "x" you clicked on).

  • Fixed bug in which applying a sub-line difference would modify the wrong range of text.

  • Restored "Capitalize Sentences" to working order.

  • Fixed bug in which the "Next Occurrence of/Previous Occurence of" commands on the Search menu would not update correctly when selecting text for which only a single occurrence was present in the document.

  • Fixed a performance bottleneck in some of the more compute-intensive text transformations, and Process Lines Containing, Process Duplicate Lines, Sort Lines, and Zap Gremlins will now operate about 40% faster.

  • Corrected the appearance of the progress bar overlay in the application dock icon (used for operations which display a progress dialog), so that it now updates correctly as the operation progresses.

  • Changed the ordering of extension mappings for the "Text File" language so that initial saves of such documents no longer select ".csv" as an extension.

  • Made a change to improve the performance of content-based text encoding detection in text files. This will reduce the amount of time required for large multi-file batch operations (such as search/replace, Find Differences, and text factory operations).

  • Made a change to improve directory scanning performance during a Find Differences folder comparison.

  • The popup menu next to src and href (and similar) attributes in the Markup Builder panel will now make a more educated guess as to which directory to inspect, based on what's currently entered into the attribute's value.

  • Fixed bug in which text in Search Results lists could wrap when printed.

  • Fixed bug which silenced the Emacs beginning-of-buffer and end-of-buffer keyboard gestures.

  • Made a refinement to the automatic "Highlight instances of selected text", such that if the insertion point is on the left side of a word, all occurrences of the word are highlighted (using a word-sensitive search).

  • The application now remembers the state of "Show Palettes"/"Hide Palettes" when the application quits, and will restore that state (including the list of palettes that were hidden at the time) when the application is restarted.

  • Fixed bug in which uncommenting lines by removing the Line Comment delimiter would not uncomment lines in which there was no whitespace between the comment delimiter and the rest of the line.

  • Fixed bug in which attributes with empty quoted values would end up with a null character in between the quotes after applying the Format tool.

  • Fixed bug in which the "Include File Separators" check box (in the Insert -> File Contents dialog box) was ignored.

  • Made changes to reduce the transient memory needs of the internally factored text transformations (Zap Gremlins and others), which will help reduce the incidence of out-of-memory errors from occurring when applying these transforms to very large documents.

  • Made a change to reduce the amount of transient memory required by line ending conversion when saving files with Windows line endings.

  • Made a change so that the documentDidSave attachment script is called as the very last step, most notably after re-enabling file observing, so that if the attachment makes any changes to the file on disk, it will get reloaded.

  • Fixed bug in which the Strict Hierarchical formatter would unconditionally left-justify pre, textarea, script, and style tags.

  • The user manual is now downloaded using https, and the world is once again safe for democracy.

  • Fixed bug in which clicking in either document-view panel of a Find Differences window would cause the list of differences to scroll to the top.

  • Fixed bug in which the HTML syntax checker would report errors for correctly formed attributes whose required value was "empty", that is, the presence of the attribute itself was the correct syntax.

  • Restored code which ensures correct text layout if the legacy OS AppleAntiAliasingThreshold preferences key is present and specifies a text size larger than the current display font size.

  • Results list windows now honor the list font settings, just like the manual says they do.

  • Fixed bug in which URL-unsafe characters in "Find in Reference" input were not properly decoded by the internal reference handlers for Perl, Python, and Ruby.

  • Fixed bug in which "New Line After Paragraph" would leave the insertion point in the wrong place in soft-wrapped documents.

  • Made some changes to the license panel so that when random junk surrounding a serial number is pasted in, it gets stripped off leaving only the serial number.

  • "Convert to Table" now generates the correct output when the input does not end with a line break.

  • Fixed bug in which scripted position changes to palettes containing toolbars (such as the Clippings palette) would progressively shorten the palette by the height of the toolbar.

  • Fixed crash which could occur while editing within syntax-colored documents in some edge cases.