BBEdit 13.1 Release Notes

BBEdit 13.1 is a feature update, which includes notable new features, visible changes to existing features, and fixes for reported issues.

Because BBEdit 13.1 builds on features that were added in BBEdit 13.0, please take a few moments to review the release notes for BBEdit 13.0, as well as its updates. Those notes are available in 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 13 requires Mac OS X 10.14.2 or later, and is compatible with macOS 10.15 "Catalina".

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

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


If you have been using BBEdit 13.0 in Free Mode, starting BBEdit 13.1 will reset your 30-day evaluation period, so that you can have a full trial of the new features.

If you have previously purchased a license from us for BBEdit 12 or older, you will have a full 30-day evaluation period in which to try out BBEdit 13's new features. License upgrades are available at a discount for existing customers. Please see the BBEdit upgrades page for information and instructions.


  • The Markdown custom language preferences (via Languages -> Language-specific settings) provide control over the default Markdown renderer, used for Preview in BBEdit as well as exporting to HTML. In this fashion you can select from available options without having to install filters in the Preview Filters support folder.

    BBEdit has built-in support for cmark as well as "classic" Markdown (Gruber's original script). In addition, if you have Discount, MultiMarkdown, cmark-gfm, or Pandoc installed, BBEdit can use those as well. If a particular tool is not installed, its corresponding option on the menu is disabled.

    Finally, the "Custom" option provides the means to specify your own rendering command and arguments. There are some rules that you must follow:

    1. The command name must be available in $PATH. You can specify a fully qualified path, but this is discouraged.

    2. The command arguments must be separated by spaces. (Because they are separated by spaces, the arguments must not contain spaces.)

    3. The tool you're using is run as a BBEdit text filter, so it must read the Markdown to be processed from standard input, and output the HTML to standard output.

    (To customize the settings, go to the "Language-specific settings" list in the Languages preferences, and use the "+" menu to add an entry for Markdown, if necessary.)

  • There's a new command on the Text menu: "Run Unix Command". This opens a sheet into which you can enter a Unix command line, and choose where the output goes (either replacing the front document's selection/contents as a text filter would, or to a new document).

    This can be extremely useful for quick (or simple) "one shot" Unix commands that aren't worth the effort of writing a filter.

    As with a text filter, the document's selection is provided as standard input; if there is no selection, the document's entire contents are provided.

    The panel also remembers the commands you've used previously; these are available via the usual history menu adjacent to the text field.

    Underneath the "Run Unix Command..." command is a submenu which provides quick access to the history of commands.

  • Added language-specific settings for Python, to provide explicit control over:

    • which Python to use (python or python3, or a custom one of your choosing);

    • whether to allow the document's "#!" line to override the choice of interpreter;

    • whether to use flake8 for syntax checking.

    (To customize the settings, go to the "Language-specific settings" list in the Languages preferences, and use the "+" menu to add an entry for Python, if necessary.)

    When using a custom interpreter, you must specify it in one of two ways:

    • a simple command (e.g. "python"); this will look for the interpreter in your PATH. (The explicit "python" and "python3" options will do this.)

    • a fully qualified path to the executable (e.g. "/usr/local/bin/python3").

    Note that you cannot use a partial path, since GUI applications have no useful notion of a working directory and so there is no basis for resolving a relative path.

    Whether you enter a full path or just a command name, BBEdit will validate that the command you specified exists before enabling the "OK" button.

  • Added a new text transformation: "Convert Escape Sequences". It's just below "Zap Gremlins" on the Text menu, and is also available in text factories.

    This command transforms text by replacing various commonly used character escape sequences with their actual characters:

    • Control characters: this will replace the same set of character escape sequences that BBEdit's text searching uses: "\n", "\r", "\t", "\f", and "\\".

    • Hex escapes: "\xNN" and "\x{NNNN}", where each "N" is a valid hex digit.

    • Unicode escapes: JavaScript-style "\uNNNN" and "\u{NNNN}", where each "N" is a valid hex digit.

    • HTML entities: any valid and well formed HTML character entity, named or numeric.

    • Percent escapes: URL-encoded character sequences (interpreted as UTF-8).

  • It's now possible to add custom filename extension mappings by dragging files into the list in the Languages preferences. If BBEdit can guess a file's language based on its contents, it will; otherwise you can change the language mapping using the popup menu in the list. If a filename extension is already known to BBEdit, the dropped file will be ignored, as will duplicate filename extensions when dropping multiple files.

  • Added a color scheme setting to the Appearance preferences. This mirrors the setting in the Text Colors preferences, but is more convenient for one-stop shopping when experimenting with the application's overall appearance.

  • The Appearance preferences have a "Use the TextWrangler application icon" setting now, to help smooth the way for former TextWrangler users who need that little extra taste of home. This will change the application icon in the Finder (if possible) as well as in the Dock (while the application is running).

  • Non-App-Store builds get a "Sign Up for News" command on the Help menu. Fill in your name and email address, and we'll add you to our news notification list and let you know when important and/or interesting things are happening. The information you provide here is protected by our privacy policy.

  • In the "Text Files" preferences, you can add filename extensions for files that BBEdit doesn't intrinsically know about, but which should be treated as text files. Use the "+" and "-" buttons to manipulate the list; or drag a file to the list to add its extension. (You can drag more than one file at a time, if you like.) Note: If a file already has a language mapping in the "Languages" preferences, BBEdit will know that it's a text file, and you do not need to add it here.

  • Added a switch to the sidebar preferences, which forces use of the system's list item highlight color for sidebar lists, when (and only when) Dark Mode appearance is in effect.

  • Added an "Extra Large" size option to the status bar item size settings in the Appearance preferences.

  • Added a command to the "Paste" submenu of the Edit menu: "HTML". Some applications put a specific HTML data type on the clipboard; you can use this command to paste it in to an editing view as text.

    If the HTML on the clipboard doesn't contain any line breaks, BBEdit will run the HTML through its "gentle hierarchical" formatter before insertion.

    If you prefer to paste the HTML exactly as it appeared on the clipboard, this Terminal command will change the relevant expert preference:

    defaults write com.barebones.bbedit PrettyPrintPastedHTML -bool NO

    There is also an adjacent "HTML and Select" command, which will select the pasted HTML.

    As with all other menu commands, you can set (or change) the keyboard equivalent for these commands using the "Menus & Shortcuts" preferences.

  • Added two new commands to the "Paste" submenu on the Edit menu: "File Paths" and "File URLs". These are useful after having previously used the "Copy" command in the Finder (or in any other application that allows copying file references to the Clipboard), and will paste the appropriate file paths/URLs into the front document.

  • The HTML Tidy commands are available (once again, if you remember them going away five and a half years ago) on the "Tidy" markup submenu. The Tidy transformations (clean, reflow, convert) are available as Text Factory actions.

  • Added a new Text Factory operation: "Delete Non-Matching Text". This operation works similarly to using the Extract button in the Find window; but rather than creating a new document with the extracted text, the document's contents are replaced with the results.

    Thus, using this operation will delete any text which was not matched by the search string (or pattern), and the remaining text in the document will consist of all matches of the search string (or pattern), separated by line breaks. As with the Extract operation, this is not terribly useful for literal matches, but quite powerful when using Grep and a suitable replacement pattern.

  • Added a GUI setting to the JavaScript language-specific settings to control whether anonymous items appear in the function menu.

  • Pattern Playgrounds will now highlight all matches for the entered search pattern (using the same color for non-selected matches that Live Search uses).

  • BBEdit will use the "Keywords" color from the current text color scheme to highlight backslash escapes for text in the Find and Multi-File Search windows. (This applies when "Grep" is turned off.)

  • Added a check box to the Find window: "Show matches". This controls whether BBEdit attempts live-matching of the search string/pattern in the window immediately behind the Find window. Turning it off restores the pre-13.0 behavior and may be useful if you find live matching to be a distraction, as well as in cases where the display of live matches takes a noticeable amount of time.

  • Added support for a number of type-string identifiers in Python 3, including f'formatted strings', r'raw strings', b'bytes', and fr'formatted raw strings'. The type prefix is not case sensitive.

    Also note that illegal combinations of types, such as fu'formatted unicode strings', are ignored. A hint is provided in the syntax coloring: if the prefix is colored along with the rest of the string, then it is legal.

  • Added 'nonlocal' to Python module's list of keywords (for syntax coloring)

  • Added a long (but not exhaustive) list of built-in class, type and function names from Python 3.8 to the Python language module. These are "Predefined Names," not keywords, and will thus be colored appropriately.

  • The Markdown module now recognizes callout comments, and will list them on the function menu. Since Markdown has no intrinsic notion of comments, you instead use the HTML comment syntax, namely: <!-- ... -->. The following are supported:

    <!-- MARK this is a named marker -->
    <!-- FIXME this needs to be fixed -->
    <!-- FIX-ME is treated like FIXME -->
    <!-- NOTE is a note for the reader -->
    <!-- NYI stands for "not yet implemented" and is treated as a to-do -->
    <!-- REVIEW means someone needs to look at this -->
    <!-- TODO when I get around to it -->
    <!-- XXX is another form of NOTE -->
    <!-- ??? I have a question here -->
    <!-- !!! I smell a wumpus -->

    Callouts are case-sensitive and must be all upper case in order to be detected.

  • Added some pattern modifier examples to the Grep cheat sheet.

  • Holding down the Option key while choosing an item from the Folders submenu will open that folder in BBEdit (as a disk browser or instaproject, depending on the expert preference).

  • The "Unix Shell Script" language module has been rewritten, to fix bugs and add features. New and notable is support for listing functions and callout comments in the function menu; and folding of multi-line brace blocks, strings, and heredocs.

  • You can check the syntax of Unix shell scripts via the "Check Syntax" command on the "#!" menu, if you have the shellcheck command-line tool installed.

  • Enhancements to the CSS function menu:

    • @font-face rules are listed.

    • Class, ID, and element selectors are highlighted using different colors and symbols.

    • Added support for listing callout comments on the function menu. The following are recognized:

      /* MARK this is a named marker */
      /* FIXME this needs to be fixed */
      /* FIX-ME is treated like FIXME */
      /* NOTE is a note for the reader */
      /* NYI stands for "not yet implemented" and is treated as a to-do */
      /* REVIEW means someone needs to look at this */
      /* TODO when I get around to it */
      /* XXX is another form of NOTE */
      /* ??? I have a question here */
      /* !!! I smell a wumpus */

      Callouts are case-sensitive and must be all upper case in order to be detected.

  • Made some improvements to CSS/SCSS syntax coloring:

    • property names are now detected more reliably, and given a distinct color.

    • custom properties and vendor-specific properties (whose names are recognized) are given distinct colors. These can be adjusted in the Text Colors preferences, in the list under "CSS".

    • added some missing properties to the list, so that they get colored correctly.

  • Added support for listing callout comments on the function menu in HTML and XML files. The following are supported:

    <!-- MARK this is a named marker -->
    <!-- FIXME this needs to be fixed -->
    <!-- FIX-ME is treated like FIXME -->
    <!-- NOTE is a note for the reader -->
    <!-- NYI stands for "not yet implemented" and is treated as a to-do -->
    <!-- REVIEW means someone needs to look at this -->
    <!-- TODO when I get around to it -->
    <!-- XXX is another form of NOTE -->
    <!-- ??? I have a question here -->
    <!-- !!! I smell a wumpus -->

    Callouts are case-sensitive and must be all upper case in order to be detected.

  • Project-based web site deployment (the "cloud" icon below the sidebar) offers an option to deploy to a local folder (as contrasted with using an FTP/SFTP server).

  • Added commands to the Window menu to support the "Tile" and "Move" commands when running on macOS Catalina.

  • Added support for ctl-h as an equivalent for Backspace when using Emacs keyboard emulation; and the Shift key is allowed to modify certain Emacs navigation gestures to extend the selection.

  • Added a new color setting to the "Text Colors" preferences: "Keyword argument names". This is currently used only for Ruby, but since there are other languages which have syntax for keyworded function arguments, this may be used at the language module implementor's discretion for other languages.

  • The bbfind command-line tool gains the ability to perform Extract operations, via the "-x" option. See man bbfind for more information.

  • You can now set a language-specific preview template to use in "Preview in BBEdit" windows. This is done by creating a file in the "Preview Templates" support folder whose name is of the form "DefaultTemplate_LANGUAGE.html", where "LANGUAGE" is the name of the language on the Languages menu. So for Markdown, for example, the default preview template would be named "DefaultTemplate_Markdown.html". The default template will apply when there is no previous template setting for that document.

  • If you want text documents with unsaved changes to automatically save when switching BBEdit to the background, you can now do this with an expert preference:

    defaults write com.barebones.bbedit WriteChangesWhenSentToBackground -bool YES

    Note: This option operates separately from BBEdit's built-in crash recovery, and you should not rely on this option to replace the built-in crash recovery.

    The following restrictions apply:

    • A document must exist on disk (be backed by a text file) to be saved when sending BBEdit to he background; untitled documents will not be saved.

    • Documents opened via the built-in FTP/SFTP support will not be saved automatically when sending BBEdit to the background.

    • Documents opened via the "Edit in BBEdit" features of various applications (such as file transfer applications) will not be saved automatically when sending BBEdit to the background.

    • Documents opened from Zip archives or tarballs will not be saved automatically when sending BBEdit to the background.

    • Only text documents are saved automatically when sending BBEdit to the background; shell worksheets and text factories are not. (Project documents already automatically write themselves out as needed.)

  • The bbresults tool gains a new built-in pattern option: gcc, for handling GCC-style diagnostic output which includes an error:, warning:, or note: qualifier between the line/column and the message text.

  • Added two new Clippings placeholders: "#PATH#" and "#FULLPATH#". These placeholders will insert the document's path, if the document exists on disk. "#PATH#" will abbreviate the path with a tilde if the document is in your home directory; otherwise both "#PATH#" and "#FULLPATH#" will insert the document's fully qualified path.

  • Added a new option to the Keyboard preferences to control whether Option-up-arrow and Option-down-arrow move by paragraphs (see below). This option is off by default to support existing customers; changes to it take effect immediately.

    A "paragraph" is defined as the region between two hard line breaks (including the beginning or end of the document), and so if Soft Wrap Text is turned off, turning on this preference basically causes Option-up and Option-down to move to the beginning or end of the current line (or the next non-empty line, if you're already at the end of the current line).

  • Added support for classes to the JavaScript language module. Class declarations and their methods will appear on the function menu.

back to top


  • Moved the "Highlight insertion point" preference from Text Colors to Editing. This is now set separately from the color scheme; and if the setting is present in a color scheme, it is ignored.

  • We have rewritten the internals of "Preview in BBEdit" windows, to use the current version of WebKit. Things should generally work just the same, with the following changes:

    • the Inspector (magnifying glass) toolbar item is now a toggle; clicking it while the inspector is visible will hide the inspector;

    • the "Media Type" setting is no longer available; WebKit 2 does not support it;

    • there should generally be less flashing and scrolling when the preview refreshes (either while editing or in response to the "Refresh BBEdit Preview" command).

  • BBEdit no longer supports opening images for display. Quick Look still works when used in a disk browser or project/editing window sidebar.

  • Various refinements to placeholder processing in the "Update Document" (and friends) command:

    • "#TITLE#" is now a synonym for "#DOCTITLE#"

    • Date/time placeholders with no format strings will now insert a generically formatted date/time: "#DATETIME#", "#DATETIME_GMT#", "#DATETIME_UTC#", "#LOCALTIME#", and "#GMTIME#" all do something now.

    • The "#FILE_EXTENSION" placeholder works now.

  • Added an "Application Support" entry to the Folders submenu on the BBEdit application menu. This will take you to the main application support folder (which contains most of the other folders listed on the menu).

  • When installing the command line tools on a clean macOS installation, /usr/local/bin/ and /usr/local/share/man/man1/ don't exist, and BBEdit can't create them without some help. In this situation, BBEdit will prompt you to confirm, and then will ask the Terminal to run a command file which does the work.

  • Made a change so that (when possible and appropriate) an error alert is presented in the window to which it applies, rather than blocking the entire application.

  • Made a change so that Command-Option-double-click on a selected range does not attempt to select the entire word, but will instead simply search for (and select, if found) the next occurrence of the existing selection.

  • macOS works best when you specify a file name extension when saving a new document. If you don't, the OS will often behave unpredictably when you double-click on the resulting file.

    For this reason, when creating a new file which has no filename extension, BBEdit will add an extended attribute which tells the OS to open that file in BBEdit specifically. If you wish, you can change the assigned application for that file using the “Open with:” setting the Finder's “Get Info” window.

    You can prevent BBEdit from adding this extended attribute as follows:

    defaults write com.barebones.bbedit SaveOpenWithDataInTypelessFiles -bool NO

  • Made the results reporting for Replace All unqualified. (Disqualified? Dequalified? Whatever. No more parentheses.)

  • Qualified path items get a folder icon ahead of the path portion when displayed in the Window and Open Recent menus.

  • Project document and browser windows get the document's icon displayed when listed in the Window menu.

  • When checking syntax in an HTML5 document, the checker allows unknown elements as long as they are properly paired and closed. This quiets noise resulting from the use of Web Components.

  • When choosing "Buy License" from the license panel, if you have a previous version serial number, the application will display that number in the alert. You can copy and paste this as needed.

  • The "Buy License" button for purchasing a new license will now go directly to our web store rather than using an in-application UI.

  • Added an explicit "port" field to the configuration dialog for FTP/SFTP bookmarks, and made it look more like the regular FTP/SFTP connection panel.

  • Made a change to the behavior of "Open Selection" so that it will attempt to resolve absolute and home-relative paths (unwinding backslash escapes, if necessary). If the selection resembles either an absolute or home-relative path but is not valid, Open Selection will proceed directly to opening the "Open File by Name" window without attempting a search.

  • Restored the "grip strips" drag handle indicator to the right-hand side of the action bar (at the bottom of the sidebar) in projects and disk browser windows.

  • Made the about box window vertically resizable.

  • The about box window now indicates when BBEdit is in Free Mode, rather than always saying "(evaluation version)" even after the initial 30-day period has expired.

  • During the evaluation and when in Free Mode, clicking on the indication ("(evaluation version)" or "(free mode)") will open the license panel, which contains more information.

  • If you are using an applicationWillSwitchOut attachment script, please note that the script now actually runs when its name suggests: before the application goes to the background, rather than after as in previous versions.

  • The "violator" used during the initial 30-day evaluation period and when running in Free Mode is now a button. Clicking it opens the License panel (which contains additional details as well as providing a place to purchase).

  • Added a "Can't Find It?" button to the serial number entry panel.

  • Made a change to the Get Info panel so that it selects only the file's "base" name, leaving the extension unselected.

  • Made the right-click highlighting for list items a little less heavy.

  • The "Selected text only" option in the Find window is now disabled and turned off automatically if the target search window doesn't have a selection. This should resolve confusion of the "why doesn't anything happen when I press Enter in the Find window?" sort, in case the option had previously been turned on.

  • By default, BBEdit will use your color scheme's background color as the background for the sidebar and other UI elements when running in Dark Mode. If there's some reason you would prefer it didn't do this, you can set an expert preference:

    defaults write com.barebones.bbedit UseColorSchemeBackgroundForDarkModeUI -bool NO

back to top


  • Made a change to line up the disclosure buttons in the settings list in the Text Colors preferences.

  • Fixed bug in which the completion panel didn't alter its appearance appropriately after changing the active color scheme.

  • Fixed crash which would occur when dragging an HTML document into an HTML document, and the dragged file had an unbalanced title tag.

  • Fixed a layout bug in the Pattern Playground window when it exceeded a certain width.

  • Fixed weirdness in the Pattern Playground window when making certain edits in the search pattern field. (I'm sure that the people who wrote NSTextView can explain why it does that, but probably nobody else can.)

  • Adjusted the application document-type registrations to resolve conflicts with additions to the built-in OS document types in 10.14 and later.

  • Site deployment no longer relies exclusively on a file's name extension to determine its language; as when opening a document, any metadata such as Emacs mode variables, EditorConfig settings, or automatic guessing will make this determination more accurate.

  • Fixed a bug in which scroll bar tick marks were only drawn in the active pane of a split editing view.

  • Fixed a bug in which highlighting of search ranges and other "special" ranges didn't work correctly in the inactive pane of a split editing view.

  • Corrected the appearance of the popup menu icons in the HTML markup tools palette.

  • PHP heredoc scanning has been adjusted to be more lenient about the closing delimiter, per the changes introduced in PHP 7.3.

  • Dragging a file item from a Disk Browser window being used to display a Zip or tar archive will now place a copy of the file's data in the drop location, rather than creating a URL clipping.

  • Fixed a crash which would occur if an error occurred while opening a tar archive for reading.

  • Updated the MySQL keyword list.

  • Fixed a bug in which the sidebar layout in instaprojects was incorrect when "Save Default Text Window" had previously created defaults for editing windows, but "Save Default Project Window" had never been used.

  • Removed the #meta# placeholder from the list in the Placeholders sheet, since it didn't actually do anything.

  • Added support for EcmaScript template strings in the JavaScript language module. They are just colored as strings (no sub-range coloring), but embedded expressions, sub-strings and comments should no longer throw off the other syntax coloring, function parsing or folds.

  • Fixed bug in which trying to save changes to files in Zip archives would fail in some archives.

  • Made a correction to the HTML5 syntax checker so that download attributes in "<a>" elements don't report an error when the (optional) value is omitted.

  • Worked around a bug in which macOS would strip the document's existing filename extension from the file name when using Save As, but only on alternate invocations. (Radar 57976122)

  • Made changes to improve the overall speed of drawing tick marks in the vertical scrollbar to indicate live matches (for Live Search, the Find window, and selected text), which benefits very large files and very large numbers of matching occurrences.

  • Fixed a bug in which "@supports" was not colored in CSS/SCSS documents.

  • Fixed a PHP syntax coloring bug in which the character after single-character PHP variable names got colored using the Variables color.

  • Fixed a PHP syntax coloring bug in which the character after the closing brace of a variable interpolation got colored using the Variables color.

  • Fixed a bug in which Ruby class migration declarations would break code folding for the class.

  • Made a change so that angle brackets can be backslash-escaped in Markdown documents to hide them from the syntax colorizer and function scanner.

  • Added MacSpice to the list of applications to which BBEdit is allowed to send Apple Events, to restore its external-editor support to working order.

  • Fixed a bug in which using "Open Selection" with an absolute path selected would do unnecessary work, which could take a very long time under certain conditions.

  • Fixed drawing glitch which would occur in project sidebars when changing the "Status bar item size" setting in the Appearance preferences.

  • Fixed cosmetic glitch in which the icon in the Text Statistics status bar item wasn't dimmed when its containing window wasn't active.

  • Picked some nits in the about box text.

  • Fixed a bug in the about window's path menu in which separator items weren't disabled as they should have been.

  • If an item in the Scripts (or other folder that backs a menu) is an alias or symlink, the name of the alias itself is now used as the title of the menu item, which resolves confusion when the linked item has a name which isn't useful when presented in the menu.

  • "Compare Against Previous Version" is enabled for documents being viewed in a results window, even when the keyboard focus is not on the text view.

  • Fixed a bug in which the text highlight color settings in the Text Colors preferences didn't reflect the system highlight colors, which led to confusion when turning on the "Use custom highlight colors" setting.

  • Fixed bug in which using the "Citation" command from the Markup/Phrase Elements menu would apply the "<cite>" tag twice.

  • Preference panes' names are now included in their search terms, so that you can type "shortcut" to find the "Menus & Shortcuts" preferences pane.

  • Added syntax coloring of keyword args (arg:) and hash keys (key:) in ruby files. This uses the "Keyword argument names" setting.

  • Added "extend", "include", "public", "private", and "protected" to the list of Ruby predefined names.

  • Added some zsh keywords and predefined commands to the Unix Shell Script keyword list.

  • Fixed bug in which keyboard equivalents for the navigation bar items in preview windows didn't work.

  • Fixed bug in which using Script Debugger's object explorer would cause the Palettes menu to malfunction and show check marks next to all of the items (except "Colors", attempt no landings there).

  • Made a change so that failed #bbinclude statements will leave the existing internal contents of the include block alone, rather than replacing them with nothing. This improves behavior when previewing or deploying documents with legacy include statements pointing to resources that don't exist anymore. (In the deployment case, BBEdit will still log an error.)

  • Added some armorplating (and logging) at the site of a nonreproducible crash.

  • Fixed a bug in which file names whose extensions were in ALL CAPS OK would not always show the correct icon in FTP/SFTP browser windows.

  • Since the application doesn't open images anymore, if you try to open one from an FTP/SFTP browser window, BBEdit will now ask the Finder to open the item for you.

  • Fixed a bug in the Pascal color scanner, in which certain valid hex sequences were inappropriately colored when they appeared in the middle of other text.

  • Made a change so that BBEdit doesn't try to save a document's print settings when you haven't printed that document via the Print panel (within an open/close cycle for the document). This works around cases in which the OS printing system stalls or hangs the application while trying to retrieve the current printing settings.

  • Fixed crash which would occur when updating an HTML document containing certain placeholders, when the placeholder itself ended abruptly at the end of the document. This could happen, for example, while live-previewing something like:

    <!DOCTYPE html>
    <html lang="en">
        <meta charset="utf-8" />
        <meta name="generator" content="BBEdit 13.1" />
  • Made an adjustment so that if the application can't find a sleep state file for the computer on which it's running, but the newest available sleep state is more than a week old, the application will ignore the old sleep state. This reduces the likelihood that long-obsolete sleep state will get restored when relaunching after an event in which the sleep state wasn't saved.

  • Fixed bug in which C++ class and struct definitions escaped detection if they were qualified with final.

  • Improvements to CSS syntax coloring:

    • value units, CSS function names, and value names are colored;

    • fixed cases in which value text was colored as a selector if it happened to match a selector name (e.g. "right");

    • added many missing selector and value keywords.

  • Fixed bug in which an unsupported legacy "#mark" comment was not colored correctly and would generate junk in the function menu in CSS files.

  • Fixed bug in which CSS pseudo element selectors would confuse the function/fold scanner.

  • Fixed variable coloring in SCSS files.

  • Fixed bug in which the #script# clipping placeholder didn't correctly set up the Unix shell environment.

  • Markers (created via the "Set Marker" and "Find & Mark All" commands) are now stored with autosave state (for untitled and unsaved documents), so that the markers are preserved as part of crash recovery and state restoration.

  • Made a change so that unsaved and untitled documents remember their display settings (soft wrap, invisibles, etc) during application state preservation and crash recovery.

  • Fixed crash which could occur when bringing up the Multi-File Search window.

  • Fixed bug in which collection items in project sidebars didn't show the correct highlighting when dragging an item over them.

  • Line numbers in the line number bar are now drawn using the "Plain Text" color from the active color scheme, which improves readability with certain background colors.

  • Fixed a bug in which certain edits in VBScript files would cause subsequent HTML in the same file to malfunction.

  • Fixed a bug in which right-clicking on a non-selected item in the sidebar of a project window would cause selected item(s) to open (in cases where the documents had been closed).

  • Made a change to significantly improve the performance of loading large HTML and XML files with large quantities of element pairs.

  • Fixed crash which would occur when printing a list (such as the list of results from a Search Results window).

  • Search results windows created by a single-file "Find All" get a refresh button. This will repeat the search using the same string and options as the original, including "Selected Text Only".

  • Fixed bug in which an unhelpful error was reported in conditions where trying to connect to a remote SFTP server failed because the remote account had a shell configuration or login script which echoed something to standard output.

  • Made a change to improve error reporting during failed SFTP connections when the requested host refuses the connection, or when the host name lookup fails.

  • Fixed bug in which a "//" in the middle of a Swift block comment would confuse the parser and lead to unexpected coloring and/or function scanning behavior.

  • Fixed bug in which errors reported during find and replace operations would sometimes report an incorrect error number.

back to top