Brackets Changelog

What's new in Brackets 1.14.2

Apr 7, 2020
  • Open File in external Applications: Brackets now offers support to open file of any arbitrary type with external applications. In User Preferences settings, you can associate a file extension to open with the default associated application or open with a specific application.
  • Automatically associate Graphics file types to its OS default application: If an opened project folder has any graphics file of type: [“xd”, “jpg”, “jpeg”, “svg”, “ai”, “png”, “psd”], then with user’s consent Brackets will associate these graphics file types with its OS default associated application and record this under user preference settings under the category “externalApplications”.

New in Brackets 1.14.1 (Dec 5, 2019)

  • The 1.14.1 release has a security update to fix remote exploitation by DNS rebinding vulnerability noticed with remote debugging enabled by default on application launch.
  • To address the security issue, the CEF debugger is disabled by default on application launch. Users who would want to enable debugging should launch Brackets from command line/terminal with the following command: Brackets.exe --remote-debugging-port=Port No
  • A toast notification will be shown in Brackets UI with the message “Remote debugging enabled on localhost:12345” for valid port number and remote debugging will be enabled. If port is not in the range between 1024 – 65534, the remote debugger is disabled on launch and a toast notification will be shown with the message “Cannot enable remote debugging on port . Port numbers should be between 1024 and 65534.”

New in Brackets 1.14 (May 24, 2019)

  • New Features:
  • Framework for in-app notifications
  • Auto-update bug fixes
  • Update notification targeted to a specific platform
  • Language Server Protocol Support in Brackets
  • PHP Tooling Support in Brackets (Reference adoption of language server)
  • Tooling includes:
  • Code Hints
  • Parameter Hints
  • Linting
  • Jump To Definition
  • Find References
  • Find Document/Project Symbols

New in Brackets 1.13 Pre 3 (Jun 6, 2018)

  • Bug fixes for Auto-Update workflow, Drag and drop in filetree.
  • Remote File Open Workflow:
  • Open Quick open
  • Enter any http | https url and start working

New in Brackets 1.13 Pre 2 (May 30, 2018)

  • This release contains major bug fixes for Auto-Update workflow.

New in Brackets 1.13 Pre 1 (May 3, 2018)

  • Features:
  • Auto-Update in Brackets!
  • Drag-Drop files & folders in the file tree
  • Issues Addressed:
  • Issue with resizing on Multi monitor on windows - #13349
  • Native linux menus reflext the checked/unchecked state adobe/brackets-shell#633
  • Crash on opening file with error “Sharing Violation” #13839
  • Fix #13099: Disallow user to create files/folder using relative path #13256
  • Keeping the search bar open - #14141
  • Fix layout issue in submenu - #14073

New in Brackets 1.12 (May 3, 2018)

  • [Update] We are pulling down Brackets 1.12 release assets for a brief period to analyse LOC issues reported by users on various platforms. Rest assured this will be fixed on priority and re-establish the 1.12 download links again.
  • [05-02-2018] This newer build of Brackets 1.12 includes fix for an issue, specific to non-English locales, present in the previously released build. The issue prevented users from loading Brackets in a non-English language of their choice.

New in Brackets 1.11 (Sep 26, 2017)

  • What's New:
  • Support for ECMAScript 2015 by swmitra : Brackets now supports ECMAScript 2015. Quick-type listing now shows classes, methods, arrow functions, generator functions and much more. Brackets also supports linting of ECMAScript 2015 code, with ESLint defaulting as Javascript linter, as well.
  • Community contributions:
  • Fix lgtm alerts by xiemaisi
  • Fix extension registry link in README.md by PikadudeNo1
  • Fix CTRL+Space handling while the CodeHintList is open by petetnt
  • Update strings.js [Croatian] by diomed
  • On Windows force a 32 bit build until nodejs 64 bit is supported by ficristo
  • Fixes wrong function call in ProjectManager.js by hkirat
  • Fix typos [Croatian] by dbaric
  • "Getting Started" page in ukrainian language by yarik-vv
  • - add: doubleclick on search result header closes search results window by lukaszsobek
  • Add mapping for stylus mode in LanguageManager by opl-
  • Now reverse inspect can be disabled by setting the 'livedev.enableReverseInspect' pref to false by saurabh95
  • Upgrade brackets-eslint to 3.2.0 by ficristo

New in Brackets 1.11 Pre 2 (Sep 14, 2017)

  • In this release, CEF has been upgraded for Linux which resolved the much reported libgcrypt dependency, basic es6 support has been added by providing eslint out of the box and making required changes to list Classes/methods/arrow function expressions/generator functions/async functions/class getter-setter methods and much more.

New in Brackets 1.11 Pre 1 (Sep 4, 2017)

  • Basic es6 support has been added by providing eslint out of the box and making required changes to list Classes/methods/arrow function expressions/generator functions/async functions/class getter-setter methods and much more.

New in Brackets 1.10 (Jul 8, 2017)

  • Multiple encoding support by saurabh95: Brackets now supports more than 40 different file encodings. You can now Open/Save files with different encodings.
  • Forward/Backward navigation in edit history by swmitra: Navigate backward/forward using Alt-I, Alt-Shift-I across explicit cursor positions.
  • Enable/Disable default extensions by zaggino You can now enable/disable default extensions, that are shipped with Brackets.
  • Search History by saurabh95: Access all your most recently searched queries from the search bar.
  • Native Menus for Linux by eyelash and saurabh95: HTML menus are replaced with native menus in Linux.
  • @rule and pseudo-selector code hints by swmitra: CSS code hints now support @rule and pseudo selector/element code hints.
  • Inline CSS code hints by swmitra: Brackets now provides CSS code hints in style attribute value in html.
  • Live Preview highlight customization by Worie: Live Preview highlight customization (colors of highlight can be customized via user preferences). This shows highlight with clear segregation of different box model layers.

New in Brackets 1.10 Pre 3 (Jun 28, 2017)

  • UTF-8 encoding limitation has been removed and Brackets will now support a lot of popular encoding formats
  • Added native menus for Linux
  • Provides backward/forward navigation in edit history
  • Preserves search History which can be accessed by navigation keys as an embedded drop down in the search input
  • User can enable/disable default extensions from extension manager
  • Added pseudo selector/elements and AtRules hints in CSS
  • CSS hints in style attribute value for HTML documents

New in Brackets 1.10 Pre 2 (May 22, 2017)

  • This release adds native menus for Linux, Search History UI, pseudo selector and AtRules hints in CSS, CSS hints in style attribute value for HTML documents.

New in Brackets 1.10 Pre 1 (Apr 7, 2017)

  • This release contains fix for custom font-family issues, support for Quick Docs for HTML documents and migration of Quick Docs to MDN for both HTML and CSS.

New in Brackets 1.9 (Apr 7, 2017)

  • Reverse inspect in Live Preview by saurabh95 : Brackets 1.9 ships with Reverse-inspect in Live Preview. Now clicking on an element in Live Preview highlights the corresponding tag in the source code.
  • Support for “Replace All” action in Find & Replace by amrelnaggar : Brackets now supports “Replace All” in Find & Replace along with batch operation.
  • Download count display and extension sorting based on download count by saurabh95 : Extension Manager now displays download count for listed extensions. Extensions can be sorted based on download count or published date in ‘Available’ and ‘Themes’ tab.
  • Mode toggle in Untitled document by saurabh95 : Language mode can be toggled for Untitled documents. Code coloring and Code Hints for the selected mode are also supported for Untitled documents.
  • Document toggle in split view by arthur801031 : Focus can be swapped between panes using keyboard shortcut.
  • Github organization support for Brackets extensions by ficristo : Github organizations can now own brackets extensions. All public owners of organization can update extensions.

New in Brackets 1.8 (Apr 7, 2017)

  • Update shell node version to 6.3.1 by zaggino : Brackets 1.8 ships with Node 6.3.1. With this upgrade, extension developers can take advantage of all the latest node modules to develop extensions for Brackets.
  • Cut/Copy/Paste Context menu items by ficristo : Cut, Copy and Paste operations are now available in the context menu.
  • Code folding support for handlebar template files by thehogfather : Code-folding has now been enabled for blocks and helpers in handlebar template files.
  • ARIA code hints by Coder206: Brackets 1.8 now supports 'ARIA' attributes for html attribute code hints.

New in Brackets 1.7 (Jul 19, 2016)

  • What's New:
  • CEF shell upgrade to 2623: Brackets app shell is now upgraded to CEF 2623. The long standing issue with mouse scroll being too fast on Windows is now fixed with the CEF upgrade.
  • Recent Files Navigation dialog: Ctrl + Tab is now going to bring up the new "Recent Files" navigation dialog showing a history of all opened files and allowing one to switch to a file visually. The new dialog also tracks opened files that are not in the working set.
  • 64 bit on MAC: Brackets on MAC is now 64 bit!
  • UI Changes:
  • TODO - list notable changes in existing features ...or: No major changes to existing features.
  • Community contributions:
  • Fixed htmlmixed highlighting. by ficristo
  • Added unit testing for issue #8208 by PatrickDallarosa
  • Fix of not picking file modifications. by mfatekho
  • Wrap indent-key to parentheses in .eslintrc by petetnt
  • Update license year range to latest release by pra85
  • Update year to 2016 in LICENSE and about-dialog.html by pra85
  • Korean translation update by naradesign
  • jasmine.sh: add some log to say which platforms are support by ficristo
  • Use SVG on image preview backgrounds by valtlait
  • Update finnish translation for 1.7 release by petetnt
  • Czech translation for v1.6 by Pavel Dvořák
  • Add period on line 741 by jshen212
  • Few Portuguese update, spelling and punctuation correction by MauricioCarmelo
  • Line comment bug fix by borax12
  • Update React to 0.14.7 and Immutable to 3.7.6. by petetnt
  • [HOTFIX] Only update stat and clear contents when old stat is newer than current stat. by petetnt
  • Rename .eslintrc to .eslintrc.json by ficristo
  • Add gyp and gypi file extensions to python language by ficristo
  • [HOTFIX] Only update stat and clear contents when old stat is newer than current stat. by petetnt
  • Update German translation by Marcel Gerber
  • Add @mfatekho to CLA exceptions. by Arzhan "kai" Kinzhalin (Intel Corp)
  • Add "gradle" to Groovy file extensions by petetnt
  • Show an error message when trying to rename a file outside of the project by Marcel Gerber
  • Italian strings.js for 1.7 by Denisov21
  • Optimize and clean up SVG icons by valtlait
  • Updated first steps in portuguese language (pt-br) by nbfontana
  • Linted CSS by AllThingsSmitty
  • Remove dropshadow from flip-view-buttons by petetnt
  • Update index.html by JoshLWScott
  • Update CodeMirror by Marcel Gerber
  • Remove a number of unnecessary file associations by Triangle717
  • Update Polish translation (checked and tested) by jurkian
  • Fix the misaligned selection extension when creating a folder by Marcel Gerber
  • Fix for #3296: add deprecation warning for global Mustache by ficristo
  • Remove a warning when reloading the app by ficristo
  • Require PathUtils instead of using the global one by ficristo
  • Fix CSSUtils detection of @import urls by Marcel Gerber
  • Added Bulgarian translation. by lyubomirv
  • Set Bash files syntax highlighting by Amin Ullah Khan
  • In CSSUtils, detect when in an @ rule correctly by Marcel Gerber
  • Remove .jsx from Javascript file extensions and create an jsx-mode by petetnt
  • Some unit test fixes by Marcel Gerber
  • Refactoring QuickOpenHTML, CSS, and JavaScript extensions by jacobsone
  • Update a couple of dependencies in package.json at the root by ficristo

New in Brackets 1.6 (Jan 21, 2016)

  • What's New:
  • Add flip-view and close buttons to pane-headers by petetnt : In split view, documents now can be closed via the new close button added at the right corners of both the panes. Also, document now can be easily moved into the other pane, using the new flip button.
  • Type Inference in hint list by swmitra : Javascript code hints are now further improved to show more information like the type and documentation associated with the function/variable along with any hyperlinks.
  • Split View (Same Document) by swmitra : Same document can now be opened in both the panes, when in split view.
  • Toggle panels and no-Distraction mode by abose : Brackets now has a no-distraction mode which can be enabled using Cmd-Shift-2 shortcut. Once enabled, this mode will hide the toolbar bar panel on the right as well as the project tree. Panels can now be toggled with the shortcut ctrl+shift+~.
  • UI Changes:
  • New Flip Buttons have been added to the split panes using which, documents can be moved from one pane to the other.
  • An opened document can be removed from working set using the new close Button in the split pane.
  • Word wrap now respects the line intents.
  • Community contributions to Brackets:
  • [New feature] Add flip-view and close buttons to pane-headers by petetnt
  • Allow CSS Code Hints in PHP by Amin Ullah Khan
  • Revert "Move PathUtils to Brackets core code" by Martin Zagora
  • Add to HtmlTags.json by verballyinsane
  • Simplified Chinese: Fix a few translation messages and placeholders by Michael J.
  • Remove references to deprecated FileSystem APIs in SpecRunner by petetnt
  • Finnish translation, release 1.5, part 2 by valtlait
  • Code folding unit tests by Patrick Oladimeji
  • addresses #11356 xml start tags spanning multiple lines by Patrick Oladimeji
  • Czech translation for v1.5 by Pavel Dvořák
  • Typo in nls/root/strings.js by Pavel Dvořák
  • Add UrlCodeHints for poster-attribute by petetnt
  • Ensure that .cm-error gets applied last by petetnt
  • turtle support added by bozicb
  • remove predefined values from cubic-bezier() by myakura
  • Port missing piece of the indent-wrap hack from Codemirror. Fixes #11963 by petetnt
  • Eslint by ficristo
  • Update Tern submodule URL by Marcel Gerber
  • ESLint: enabled no-trailing-spaces and eol-last rules by ficristo
  • Reintroduce JSLint as a prefered linter by ficristo
  • Fix Flipview focus issues by petetnt

New in Brackets 1.6 Pre (Dec 28, 2015)

  • Add flip-view and close buttons to pane-headers by petetnt:
  • In split view, documents now can be closed via the new close button added at the right corners of both the panes. Also, document now can be easily moved into the other pane, using the new flip button.
  • Type Inference in hint list by swmitra:
  • Javascript code hints are now further improved to show more information like the type and documentation associated with the function/variable along with any hyperlinks.
  • Split View (Same Document) by swmitra:
  • Same document can now be opened in both the panes, when in split view.
  • Toggle panels and no-Distraction mode by abose:
  • Brackets now has a no-distraction mode which can be enabled using Cmd-Shift-2 shortcut. Once enabled, this mode will hide the toolbar bar panel on the right as well as the project tree.

New in Brackets 1.5 (Oct 25, 2015)

  • Fold Selected Text: Select any text block in the editor and fold markers will appear to collapse the selected text.
  • Instant Search (Improved Stability and Performance): Major stability and performance improvements. Find in Files can now index and search robustly in thousands of files instantly.
  • CSS Code Hints in PHP: CSS code hints are now available for style elements inside PHP files.
  • Remember Collapsed Linters: Remember collapsed state of linters on switching files.
  • Improve JS Code Hints performance in minified files: JS Code Hints now perform more efficiently with minified files
  • Resolve Brackets freezing/crashing on windows on reload: Fixed the crash when reloading Brackets through "Debug > Reload With Extensions" menu
  • El Capitan Fixes: Fixed full-screen bugs with Brackets on El Capitan.

New in Brackets 1.4 (Jul 27, 2015)

  • What's New:
  • Instant Search in Files: Searching across files is faster than ever. Results are now displayed incrementally and updated as you type.
  • Easier Preferences Editing: All preferences are now available as code hints while editing the brackets.json preferences file. Opening a preferences file (Debug-> Open Preferences file) will also open the default preferences in a second pane in split mode. This default preferences file will give hand on to user about the preferences and how to use and set values.
  • Disable Extensions Individually: Extensions can now be individually enabled/disabled from the Extension Manager. Here each extension which has been used will be provided with an option to enable, disable and remove extension from the Extension Manager.
  • Improved Text Rendering on Mac: Crisp text rendering on Mac with subpixel antialiasing enabled by default. You can use the older text rendering by setting the fonts.fontSmoothing preference to antialiased.
  • Greek and Cyrillic Character support: Updated editor font (Source Code Pro) with improved support for Greek and Cyrillic character sets.
  • Traverse files in List Order: Files opened in the working set can be traversed in the list order with CTRL+PageUp and CTRL+PageDown.
  • Localization - Translation updates for: Czech, German, Finnish, French, Japanese, Italian, Swedish
  • UI Changes:
  • To Traverse working set files in List order, two new options are added to Navigate menu :
  • Navigate-> Next Document in List
  • Navigate-> Previous Document in List
  • API Changes:
  • PreferencesManager.definePreference was modified to support code hints.
  • New/Improved Extensibility APIs
  • PreferencesManager.getAllPreferences returns a clone of all the preferences defined.
  • CodeInspection.getProviderIDsForLanguage(languageId) returns names of linters registered for languageId.

New in Brackets 1.3 (Apr 27, 2015)

  • WHAT'S NEW IN RELEASE 1.3:
  • Code Folding:
  • Expand/collapse blocks of code (code folding): Click the indicators next to the line numbers, or use the shortcuts in the View menu.
  • Command Line Integration:
  • Launch Brackets from command line: On Windows & Mac, you can open files and folders in Brackets by typing brackets myFile.txt or brackets myFolder on the command line.
  • Add "Open with Brackets" to Explorer context menus for all files and folders selected when installing
  • Brackets Health Report:
  • Anonymous data to help improve Brackets: You can preview the data that will be sent, and opt-out if desired. We've gone to great lengths to protect your privacy and maintain transparency about what data is sent - please read our blog post for details.
  • Stability:
  • Windows: Mouse wheel scrolls at normal speed: Restores scrolling speed to the behavior of Brackets 1.0.
  • Quick Open: many small bug fixes
  • Code Editing:
  • Highlight 'text/ng-template' Angular templates as plain HTML
  • Better auto-unindent when ending a block: Works with multiple cursors, better indentation in JS switch statements, etc.
  • Localization:
  • Translation updates for: Brazilian, Croatian, Farsi, Finnish, French, German, Indonesian, Italian, Japanese, Korean
  • UI CHANGES:
  • Code Folding - Expand/collapse indicators now appear in the gutter next to the line numbers. To remove these from the UI, change your preferences to set code-folding.enabled to false.
  • Find menu - The menu items Find in Selected File/Folder and Replace in Selected File/Folder were removed to avoid confusion. To run Find/Replace in Files on a specific folder or single file, right click the item in the project tree and choose Find in... or Replace in...
  • Unsaved changes (Mac only) - Cmd-Delete (Backspace) now chooses "Don't Save," as is common in other Mac apps.
  • Split Selection into Lines (Linux only) - Keyboard shortcut is now Ctrl-Shift-L (instead of Ctrl-Alt-L, which conflicted with the OS shortcut for lock/sleep).
  • Quick Open - The first item is automatically highlighted, making it more clear that you can press Enter immediately to jump to the top item (Down arrow not required). Pressing the Down arrow once highlights the 2nd item in the result (previously required two presses). Quick Find Definition no longer changes the scroll position before you start typing.
  • API CHANGES:
  • Themes - Themes should include appropriate color styles for the new code folding UI: .CodeMirror-foldgutter-open:after, .CodeMirror-foldgutter-folded:after, .CodeMirror.over-gutter .CodeMirror-foldgutter-open:after, .CodeMirror-activeline .CodeMirror-foldgutter-open:after, and .CodeMirror-foldmarker. All these elements appear overlaid on top of the theme's editor (or editor gutter) background color.
  • COMMUNITY CONTRIBUTIONS TO BRACKETS:
  • Special thanks to Patrick Oladimeji for his major effort contributing the code folding feature
  • Restore Windows mouse wheel scrolling to Brackets 1.0 speed by Marcel Gerber
  • Reduce install size by ~1.2MB - exclude unneeded files by Marcel Gerber
  • Highlight Angular templates ('text/ng-template' script tags) as plain HTML by munxtwo
  • Haskell syntax highlighting by Venessa Johansen Barrera
  • Cmd-Delete to trigger Don't Save in Save Changes dialog by Lucas Louca
  • Change Linux 'Split Selection into Lines' shortcut to avoid conflict with OS 'Lock' shortcut by Projjol Banerji
  • Disable spell-checking red squiggles in UI by Marcel Gerber
  • Fix multiple bugs with unindenting at end of blocks by Marcel Gerber
  • Fix: Don't cut off ending when typing quickly during renaming by Marcel Gerber
  • Fix lag in file tree selection highlight while scrolling by Marcel Gerber
  • Show error message for invalid .brackets.json project preferences files by Rakesh Roshan
  • Make right-click selection agree with double-click by Marcel Gerber
  • Fix: Don't line-wrap file names in working set by Marcel Gerber
  • Fix memory leak when launching Live Preview by edwin0cheng
  • Fix: Multi-browser Live Preview didn't launch in dev builds by Arzhan "kai" Kinzhalin (Intel Corp)
  • Make Multi-browser Live Preview's browser launching easily overridable in forks by David Humphrey
  • Cleanup: Remove some circular dependencies by Triangle717
  • Cleanup: Use LESS variables for font name lists in more places by David Humphrey
  • Wordsmithing on Health Data messages by Marcel Gerber
  • Clarify strings in External Changes dialog box by Rakesh Roshan
  • Fix typos in Command Line Shortcut messages by Denisov21
  • Cleanup: Use APP_NAME placeholder instead of "Brackets" in more strings by Pavel Dvořák
  • Brazilian Portuguese translation update by Henrique Aparecido Lavezzo
  • Croatian translation update by Kruno H
  • Farsi translation update by Mohammad Reza Mahmoudi
  • Finnish translation update by valtlait
  • German translation update by Marcel Gerber
  • Indonesian translation update (part 2) by Resi Respati
  • Italian translation update by Denisov21
  • Korean translation fix by Yong Woo Jeon
  • Tweak ASCII-art Brackets logo in Getting Started content by electricduck and Pavel Dvořák
  • Fix legacy "X-UA-Compatible" in Getting Started content by PlanetVaster
  • Update stale version number in README by Christian Coliff

New in Brackets 1.3 Pre 1 (Apr 17, 2015)

  • Code Editing:
  • Expand/collapse blocks of code (aka code folding): Click the indicators next to the line numbers, or use the shortcuts in the View menu.
  • Brackets Health Report:
  • Anonymous data to help improve Brackets: You can preview the data that will be sent, and opt-out if desired. We've gone to great lengths to protect your privacy and maintain transparency about what data is sent - please read our blog post for details.
  • Search:
  • Quick Open: many small bug fixes
  • Command Line Integration:
  • Launch Brackets from command line: On Windows & Mac, you can open files and folders in Brackets by typing Brackets myFile.txt or Brackets myFolder on the command line. On Windows, you can also launch Brackets from Run Command or open a file or a folder right from the explorer just by choosing "Open With Brackets" from it's context menu.
  • Localization:
  • Translation updates for: (TODO - updated locales in alphabetical order)

New in Brackets 1.2 (Mar 2, 2015)

  • WHAT'S NEW:
  • Code Editing:
  • Drag & drop to move selected text: Enable the dragDropText preference to drag and drop any selected text. Works with multiple selections too!
  • CSS color name code hints: Code hints for standard named colors in CSS/LESS/SCSS, with color swatch preview.
  • SVG code hints: For tags, attributes, and attribute values - also including named colors.
  • Dart syntax highlighting
  • Search:
  • Find/Replace scrollbar tickmarks highlight current match
  • UI Appearance:
  • Windows High DPI support: Brackets automatically renders text, icons, and images more crisply on high-DPI displays (similar to the appearance on Mac Retina screens).
  • Key Bindings:
  • Use additional named keys in custom key bindings: PageUp, PageDown, Home, End, Insert, Delete. Can be used by extensions or in user custom key bindings.
  • Stability:
  • Windows: Improved window positioning: Brackets stays positioned onscreen after a monitor is unplugged or screen resolution is changed.
  • Localization:
  • Translation updates for: Chinese (Simplified), Czech, Finnish, French, German, Japanese, Romanian, Serbian.
  • UI CHANGES:
  • Split View - The editor pane that is inactive is no longer dimmed. To restore the dimming behavior, install the Zen Pane extension.
  • API CHANGES:
  • jQuery - Upgraded from 2.1.1 to 2.1.3
  • Event listeners - Deprecation warnings occur when extensions use $().on()/off() on Brackets core modules and model objects. Call .on()/off() directly instead, as introduced in Brackets 1.1. (For DOM elements, continue to use jQuery events).
  • NEW / IMPROVED EXTENSIBILIY API:
  • Colors - Use ColorUtils.COLOR_NAMES for a list of standard CSS/SVG named colors.

New in Brackets 1.1 (Dec 18, 2014)

  • WHAT'S NEW:
  • Early Access:
  • Cross-browser Live Preview with Dev Tools: Although disabled by default, you can try out this brand-new version of Live Preview by enabling the livedev.multibrowser preference. The new Live Preview opens in your default browser, but you can paste the URL into other browsers and they'll all update at the same time. And you can use the browser's dev tools without interrupting Live Preview. Does not currently support pages that use your own custom server.
  • Windows High DPI support: To enable, right-click the app icon and select "Disable display scaling on high DPI settings" in the Compatibility tab. (The window controls in the upper right do not rescale yet, however).
  • Localization:
  • Allow typing accent characters with AltGr: Brackets shortcuts that use Ctrl+Alt no longer supercede typing letter keys via AltGr.
  • Translation updates for: Chinese (Simplified), Dutch, Finnish, German, Italian, Korean, Persian-Farsi, Spanish, Ukrainian
  • Preferences:
  • Select enabled code linters via preferences: For example, different projects can use a different set of linters.
  • Programming language-specific preferences: Use the new "language" layer to set preferences based on file type, in addition to the path-specific or global preferences possible previously.
  • Quick Docs:
  • Update to latest Web Platform Docs content
  • Stability & Performance:
  • New event dispatching system: Brackets core objects use a new event-listener API that protects against misbehaved extensions. See below for details.
  • Improved typing performance while code hints open: Brackets limits the displayed list of code hints to 50 entries to improve performance. To override this limit, set the "maxCodeHints" preference.
  • Improved performance when lots of files are changing in the background, such as large source-control checkouts or complex Grunt build scripts.
  • Fixed issue that caused changes inside blocks in PHP files to be lost in some cases.
  • Fixed two issues that caused Quick Edit to miss some CSS rules.
  • UI CHANGES:
  • Brackets now shows the project name in the title bar after the current filename (inside parentheses).
  • The menu item Navigate > Go to First Error/Warning has been renamed to Go to First Problem.
  • API CHANGES:
  • Event listeners - Instead of using jQuery events, Brackets core modules and model objects now provide their own simpler on()/off() event listener API. (For DOM objects, continue to use jQuery events). When the legacy $().on()/off() APIs are used on objects that support the new API, they automatically call the new API instead. The new API is more robust to listeners that throw exceptions, uses less memory, and is easier to debug.
  • Related changes:
  • Editor's "keyEvent" event is deprecated. Use the more specific events "keyup", "keypress", or "keydown" instead. (However, in most cases you should use Document's "change" event instead of any of the Editor events).
  • NodeConnection events now only use : separators - the deprecated . separators (which conflict with the more standard use of . as an event-listener namespace) are no longer supported.
  • Chromium version - Updated from Chromium 29 to 39.
  • Developer tools - Debug > Show Developer Tools now opens a Brackets window instead of a tab in your browser. If Brackets gets badly hosed, you can still open dev tools in Chrome browser by manually visiting http://localhost:9234/.
  • jQuery - Upgraded from 2.1.0 to 2.1.1 
Lodash - Upgraded from 2.2.0 to 2.4.1 
LESS - Upgraded from 1.7.0 to 1.7.5 
RequireJS - Upgraded from 2.1.5 to 2.1.15
  • SVG language - SVG files are now reported by LanguageManager as "svg" instead of "xml" as before.
  • Markdown language - Markdown files may now be reported by LanguageManager as "gfm" in addition to the "markdown" language reported before. This lets users distinguish GitHub-flavored Markdown files from "classic" Markdown.
  • File tree icon providers - Providers can now return falsy to add no icon to an item, consistent with working set icon providers. Clarified documentation for all provider hooks. Also, the large negative margin + large positive padding hack used in tree items' CSS has been removed.
  • NEW/IMPROVED EXTENSIBILITY APIS:
  • Themes - specify "addModeClass": true in the theme info JSON to enable using language-specific CSS selectors (e.g. use different colors for the same token name, depending on file type). This causes a slight performance hit, so please only enable if you're using it.
  • COMMUNITY CONTRIBUTIONS TO BRACKETS:
  • New Live Preview implementation (+ part 2, part 3) (disabled by default for now) by Sebastian Salvucci (Intel Corp) & Arzhan "kai" Kinzhalin (Intel Corp)
  • Show current project name in titlebar by Triangle717
  • Select enabled code linters via preferences (+ part 2) by Arzhan "kai" Kinzhalin (Intel Corp)
  • Update Web Platform Docs content; new script for easier updating by Marcel Gerber
  • Programming language-specific preferences via "language" layer by Arzhan "kai" Kinzhalin (Intel Corp)
  • Limit code hint list length to improve typing performance (+ part 2) by Marcel Gerber
  • Separate GitHub Flavored Markdown from regular Markdown mode; recognize .mdown/.mkdn as Markdown by Marcel Gerber
  • Add theme option "addModeClass" (for language-aware themes) by Marcel Gerber
  • Update to latest dot releases of jQuery, LESS, Lodash, RequireJS by Marcel Gerber
  • Expose internal linting API to get list of providers (+ part 2) by Mark Simulacrum
  • Fix: No image preview if filename contains "%" or "#" by Mark Simulacrum
  • Fix Quick Docs links that point to currently viewed page by Marcel Gerber
  • Fix: Find In Files result disappear after saving file with prefix of other filename by Marcel Gerber
  • Fix: Warnings logged with async linters when launching Brackets (+ part 2) by Arzhan "kai" Kinzhalin (Intel Corp)
  • Fix freeze in new Live Preview implementation by Scott Wadden
  • Fix new event API .off() chaining by Marcel Gerber
  • Allow focusing all types of fields in dialogs by Eliezer Bernart
  • Rename "Go to First Error/Warning" -> "Go to First Problem" for consistency by Jacob Lauritzen
  • Ensure preferences error dialog gets focus by Arzhan "kai" Kinzhalin (Intel Corp)
  • Fix error message wording when unable to read directory by Kevin Mo
  • In About Dialog, don't show "{0}" when running from git source with detached head by Marcel Gerber
  • Add performance measurement for indexing project files by Arzhan "kai" Kinzhalin (Intel Corp)
  • Chinese (Simplified) translation update by Michael J.
  • Dutch translation fix by Pieter Willekens
  • Finnish translation update by valtlait
  • German translation update by Marcel Gerber
  • Italian translation update by Christopher Pecoraro
  • Italian translation fixes by Elia Cereda
  • Korean translation update by Taegon Kim
  • Persian-Farsi translation update by Pooya Parsa Dadashi
  • Spanish translation update by Tomás Malbrán
  • Ukrainian translation update by Maks Lyashuk
  • Cleanup: Fix some @link / @see tags in docs by Chema Balsas
  • Cleanup: Remove some whitespace by Pavel Dvořák

New in Brackets Release 44 (Oct 7, 2014)

  • Split View:
  • Vertical & Horizontal Split View: View two files side by side or one above the other. Use the View menu or the Split View icon icon next to Working Files to arrange. (Note: it is not yet possible to view the same file in both panes).
  • Stylesheet Editing:
  • Quick Docs support for vendor-prefixed CSS properties
  • Fix bug #9002 - Brackets freezes during Live Preview on a line within a CSS/SCSS/LESS block comment that contains nothing but "}" with no indent.
  • Fix bug #8966 - Inline editor is blank if your CSS rule contains a vendor-prefixed property that uses a rgb()-like color value.
  • Files and Folders:
  • Project tree improvements: Many small bug fixes in the sidebar file tree. Notably, it's now possible to right-click files that Brackets cannot open (such as binary files and non-UTF8 text files).
  • Preferences:
  • New preference: show cursor in selected text: By default, Brackets hides the blinking cursor when you have a text selection; this behavior can now be disabled.
  • Localization:
  • Extension name/description localization: The info displayed in Extension Manager, such as extension name & description, can now be localized via the package-i18n property.
  • UI Changes:
  • Working Files - Image files can now appear in the "Working Files" list at top.
  • Project Tree - Folders can no longer appear selected in the tree - the project folder selection always reflects what's viewed in the editor. Right-clicking a file in the project tree no longer opens it. This means it's now possible to right-click files that can't be opened, such as binary files or non-UTF8 text files.
  • API Changes:
  • Split View - Many APIs in DocumentManager, EditorManager and PanelManager are deprecated (though they continue to work for now). The newer replacement APIs may not behave exactly the same. Read SplitView Extension Migration Guide for more detail.
  • Coding Style - Brackets core code should no longer contain any unused variables. The Travis build will automatically fail for pull requests that don't adhere to this.
  • New/Improved Extensibility APIs:
  • File list decorators - To modify the appearance of the Working Files list or the project tree below it, extensions can register decoration providers to add icons or arbitrary CSS. Use WorkingSetView.addIconProvider(), WorkingSetView.addClassProvider(), ProjectManager.addIconProvider(), orProjectManager.addClassesProvider()`.
  • ProjectManager - Several API fixes/improvements, including:
  • ProjectManager.renameItemInline() now returns a Promise to track completion
  • ProjectManager.createNewItem() no longer ignores the baseDir argument

New in Brackets Release 43 (Sep 5, 2014)

  • SCSS/LESS support:
  • Remember when the Quick Edit and Quick Find Definition features were first introduced but they didn’t work for your SCSS or LESS files? Well now they do. Any selector, even the ampersand Selector, can be located using Quick Find and any class, ID or tag selector can be targeted for QuickEdit in SCSS/LESS files.
  • And that’s not all—mousing over rules declared in SCSS or LESS files will highlight their usage in the browser when using the Live Preview feature. Editing rules, however, will still require that your source file be recompiled. May we suggest the LESS AutoCompile Extension or the brackets-sass extension to automatically recompile them on save?
  • Extra Dark Theme:
  • Our Dark Theme has spread to make more of Brackets UI dark. Now, when you choose the Dark Theme, you’ll notice the status bar, context menus, dialogs, etc… are styled to match the rest of the UI. Custom Theme Authors can designate their theme to use the Dark or Light UI for the Brackets components which Themes Extensions cannot style.
  • Themes Tab:
  • The overwhelming popularity of custom themes support exploded our Extensions Manager dialog so Brackets committer Miguel Castillo took it upon himself to do something about it by creating a “Themes” tab.
  • This makes it easier to find a great theme from the vast array of Custom Themes already added to the registry and new ones being added daily.
  • Find UI Improvements:
  • Added a “Find Index” hint to the Find Bar.
  • This helps to show where you are in the file so you know when you’ve wrapped back around to the beginning.
  • This is extremely useful for the Replace feature as it shows how many replacements are remaining.
  • Language Support:
  • Installing extensions that add support for new langauges to Brackets used to require a restart. Not any longer. Syntax highlighting, quote and brace matching, indentation, etc… for a new programming language is ready for use immediately after a language extension is installed.
  • The “Language Switcher” (that thing on the status bar that allows you to change the language starting in Release 0.42) could be used to change any document’s language. With Release 0.43, we’ve added the ability to save that setting for all files for the current file’s type.
  • Community Contributions:
  • Add Themes tab to Extension Manager (+ part 2) by Miguel Castillo
  • Fix Live Preview bugs when page contains iframe by Marcel Gerber
  • Create Ukrainian translation by Maks Lyashuk
  • Polyfill String.trimRight() to support IE10+ in-browser in part by David Humphrey
  • Improve undo batching for inline CSS Bezier/timing editor’s changes by Marcel Gerber
  • Fix 8572: Dragging in color picker square causes hue to change by Marcel Gerber
  • Fix 4920 & 5999: Don’t terminate Working Files drag prematurely by Tomás Malbrán
  • Suport generic CodeMirror themes when using ThemeManager.loadFile() (+ part 2) by Miguel Castillo
  • Fix 8712: Make title of Themes dialog localizable by Denisov21
  • Fix code hint capitalization of meta tag’s name="keywords" by Triangle717
  • Fix spurious focus ring shown on inline editors by Marcel Gerber
  • When prepopulating Find in Files query from editor selection, only use first line of text (as in Find) by Marcel Gerber
  • Immediately hide Quick View popover when mouse leaves editor area by Marcel Gerber
  • Add keywords for Ubuntu desktop search by Mark-Simulacrum
  • Add unit tests for FileUtils.convertToNativePath() by chirayu11
  • Cleanup: better way to strip whitespace in JSLint extension by Martin Mädler
  • Cleanup: Optimize ‘Getting Started’ sample project PNGs by Jamie Stevens
  • Dutch translation for Getting Started by githrdw
  • Italian translation update (+ part 2) by Denisov21
  • Finnish translation update (+ part 2) by valtlait
  • Chinese (Simplified) translation update by airycanon
  • Brazilian Portuguese translation update by Brunno Pleffken
  • German translation update by Marcel Gerber
  • Spanish translation update by Tomás Malbrán
  • Improve localization README.md by Pei-Tang Huang
  • Fix typos in localization README.md by Denisov21
  • Fix typo in LocalizationExample README.md by Denisov21
  • Documentation cleanup in StringUtils.truncate() by Triangle717
  • Cleanup: Update documentation/community URLs to canonical version (+ part 2) by Eric J

New in Brackets Release 43 Beta 1 (Aug 27, 2014)

  • Changes for all the late feedback of pull request 8720.

New in Brackets Release 42 (Aug 5, 2014)

  • What's New:
  • Themes:
  • Editor color schemes: Find themes in Extension Manager, and instantly switch between them using View > Themes. Learn how to create a theme.
  • Built-in dark mode: Choose the built-in "Brackets Dark" theme for easy access to a nighttime color palette. Third-party themes can also trigger "dark mode," dimming many parts of the Brackets automatically without needing to style everything manually.
  • Configure font settings: Use View > Themes to set a custom font and font size (the font must be installed in your OS).
  • File Types:
  • Switch language/syntax mode of a single file: Use the language indicator in the status bar as a dropdown to override the language Brackets chose to treat a file as. (These changes are not saved when you close the file; use preferences to permanently treat all files with a certain extension as a different language).
  • Replace in Files:
  • Check/uncheck all matches for a file: The headings for each file include a checkbox for quickly including or excluding all matches in the file.
  • Extension Management:
  • Show supported translations in Extension Manager: Extension listings indicate which languages each extension has been translated for (at bottom).
  • Install extension from local .zip file: Drag a .zip file onto the drop zone in Extension Manager's lower-left corner to install.
  • JavaScript Code Hints:
  • #8561, #8460: Fixed 0.41 bugs where some files showed no JS hints.
  • Notification when hints ignore a certain file due to problems: Afterward, the file will automatically be added to the "jscodehints.detectedExclusions" preference; it will continue to be ignored until you remove it from that list.
  • Localization:
  • Traditional Chinese translation added
  • Galician translation added
  • Preferences:
  • New Preference: Hide hints from each provider: For example, setting "codehint.UrlCodeHints": false will hide the hints that appear when you're typing

New in Brackets Release 41 (Jun 28, 2014)

  • Search:
  • Replace across multiple files: You can see all search matches first and uncheck any you don't wish to replace. Supports the same exclusion filtering as Find in Files.
  • Stability:
  • JavaScript code hinting crash prevention: Brackets automatically stops processing problematic JavaScript files that previously could cause a crash during code-hint analysis.
  • Files & Folders:
  • Rename on second click: Click the currently selected file in the tree view a second time to rename it, similar to the gesture available in Windows Explorer and OS X Finder.
  • Localization:
  • Danish translation added
  • Ongoing Research (not implemented yet):
  • Split view (early implementation on branch)
  • Research: Theming Support (pull request in progress)

New in Brackets Sprint 40 (Jun 7, 2014)

  • Search:
  • Save multiple file exclusion filters: Instead of a single file/folder search filter, you can name and save multiple different filters for quick use.
  • Highlight all occurrences of word under cursor: Set the highlightMatches preference to enable this
  • Extension Development:
  • Online API documentation is now available - mirroring the JSDocs in the Brackets source code
  • Code Editing:
  • Toggle line/block comment for CoffeeScript & Lua (and other languages where the line-comment syntax is a prefix of the block-comment syntax, or the block-comment open & close tokens are identical)
  • Ongoing Research (not implemented yet):
  • Split view (early implementation on branch)
  • Research: Theming Support (pull request in progress)

New in Brackets Sprint 39 (May 14, 2014)

  • What’s new:
  • File Types:
  • Customize file extension -> language/syntax mode mapping: Set language.fileExtensions or language.fileNames to a map object whose keys are file extensions/names and whose values are language IDs. See how to edit your preferences file.
  • Windows: Filter out binary files and unsupported encodings: Speeds up Find in Files for certain projects, and reduces clutter in the Quick Open file list. Attempting to open a non-UTF-8 file now results in an error instead of showing garbled text. (This was already implemented on other platforms).
  • CSS Editing:
  • Fuzzy/camelCase code hints: Code hints now use smart string matching, similar to Quick Open and JS code hints -- for example, you can type "btr" to see an autocompletion hint for border-top-right-radius.
  • Code Editing:
  • Cut/Copy whole line when nothing is selected
  • Extensions:
  • Extension update notifications: The Extension Manager toolbar icon turns green when one or more of your installed extensions have a new version available.
  • Admin features for Extension Registry: (available since 4/17) An extension's author can delete the extension from the registry, mark the extension as incompatible with newer versions of Brackets, or transfer ownership to a different author.
  • Menus:
  • New Find menu added, simplifying Edit menu (see below)
  • Linux: Long menus are scrollable instead of being cut off
  • Stability Improvements:
  • Fixed freezes/crashes some users encountered in projects using the Ionic framework
  • Optional status bar indicator for internal errors: Enable via Debug > Show Errors in Status Bar.
  • Localization:
  • Croatian translation added
  • OS Support:
  • Windows XP is no longer officially supported by Brackets. It is still possible to download and install Brackets on Windows XP, but we will no longer test it - so future versions may become completely incompatible without warning.
  • Ongoing Research (not implemented yet):
  • Research: Split-view architecture: See architecture proposal.
  • Research: Theming support
  • UI Changes:
  • Find menu added - All Find/Replace-related menu items have been moved from the Edit menu to a new Find top-level menu.
  • Non UTF-8 encodings - On Windows, earlier Brackets versions would open files with other encodings even though the file could not be displayed or saved correctly. Brackets now shows an error message and refuses to open the file, matching Mac versions of Brackets. (And the error message now specifically mentions the encoding).
  • URL code hints - When replacing path segments in an existing URL, the segments to the right of the cursor are preserved when you insert path code hints. When you insert a filename code hint, anything to the right is still overwritten as before, however.
  • API Changes:
  • Find commands - Find/Replace-related command ID constants (Commands.EDIT_FIND* and a few others) have been deprecated: use Commands.CMD_FIND* (and similar) instead. The raw ID string values have changed, so if you're using them instead of referencing the constants, your code will be broken immediately.
  • The menu item group constants Menus.MenuSection.EDIT_FIND_COMMANDS/EDIT_REPLACE_COMMANDS are deprecated: use Menus.MenuSection.FIND_FIND_COMMANDS/FIND_REPLACE_COMMANDS instead. Using the old constants will add your menu items to the end of the Edit menu.
  • XML/HTML tokens - The tokens emitted by CodeMirror for XML/HTML code have changed: the angle brackets around each tag are now split into separate tokens with the style "tag bracket". Extensions depending on the low-level CodeMirror token data may need an update (example).
  • New/Improved Extensibility APIs:
  • Find menu - Use Menus.AppMenuBar.FIND_MENU to add menu items to the new Find top-level menu.
  • LESS stylesheets - ExtensionUtils.loadStyleSheet() now supports LESS files that use @import.
  • DocumentManager - The "currentDocumentChange" event now passes the old and new Documents as arguments (similar to "activeEditorChange").

New in Brackets Sprint 38 (Apr 15, 2014)

  • New:
  • Multiple Cursors:
  • Multiple cursor / multiple selection support, including...
  • Ctrl/Cmd-click or drag to create multiple cursors/selections
  • Alt-drag to create a rectangular selection (add Ctrl/Cmd to select multiple rectangles)
  • Ctrl/Cmd-U to undo selection/cursor changes (add Shift to navigate forward in cursor history)
  • Ctrl/Cmd-B to add a new selection at the next occurrence of a word or selected text. Shift-Ctrl/Cmd-B to skip an occurrence and add a selection on the next one. Alt-F3 or Cmd-Ctrl-G to add all occurrences as selections at once.
  • Read the full documentation for details.
  • Linting:
  • Support asynchronous linting: Linters that require reading extra files from disk or talking to network services can now integrate with the standard Brackets linting UI.
  • Search:
  • Improved usability of file/folder exclusions: Filter editor displays how many files are left after filtering. Search shows warning if filter excludes all files in subtree. Filters disabled when searching only a single file.
  • Improved performance on Windows if large binary files exist in the project
  • Files and Folders:
  • File tree expand/collapse shortcuts: Ctrl/Cmd-click to expand/collapse all siblings; Ctrl/Cmd-Alt-click to collapse subtree.
  • Image Preview:
  • View .ico files, e.g. often used as website "favicon"
  • Overall UI:
  • Visual polish, subtle animations added
  • Localization:
  • UK English locale added
  • Process change: translation pull requests should include which SHA (commit) the update is based on. See localization README for details.
  • Ongoing Research (not implemented yet):
  • Research: JS Code Hints Cleanup: Investigate how to simplify the code, improve performance & maintainability, and unify with new preferences system.
  • Research: Improved LESS support: Investigate support for Live Preview, Quick Edit, and Quick Find Definition with LESS code.
  • UI Changes:
  • Find in Files - If you've set a file/folder exclusion filter and then you use 'Find In...' on a single file, filtering is temporarily disabled to ensure the file is always searched.
  • API Changes:
  • CodeMirror v4 & multiple cursors/selections - See the Brackets CodeMirror v4 Migration Guide. Notably, referencing CodeMirror as a global identifier is now deprecated; use Require instead, as with other modules.
  • PHP files - Editor.getLanguageForSelection() will now return the correct "php" language (instead of the generic "clike").
  • New/Improved Extensibility APIs:
  • Inline Editors - When a provider has nothing to show for the current cursor position, it can return an explanation string instead of just null. If no providers respond, the explanation is shown in a popup. This can help make inline editing functionality more discoverable to users.
  • LanguageManager - If a file extension already has a default Language mapping in Brackets, an extension can unregister the mapping in order to use it with a new Language. (For example, changing ".twig" from generic HTML highlighting to a new Twig-specific highlighting mode). Use Language.removeFileExtension() and removeFileName().
  • In addition, all the add/remove file name/extension APIs can now optionally be passed an array of items instead of a single item.
  • Editor - All get* and set* methods for Editor settings now take an optional path parameter to get setting for a particular file. If omitted, then the current document is used. The set* methods also now return a boolean value which indicates whether value is valid.
  • Jump to Definition - use EditorManager.registerJumpToDefProvider() to register a provider for the Navigate > Jump to Definition command.

New in Brackets Sprint 37 (Mar 19, 2014)

  • Installation:
  • Code-signed builds (Mac & Win): Eliminates some warnings on launch and install. Gatekeeper no longer prevents launching Brackets by default on Mac.
  • Find:
  • Exclude files/folders from find in files: Choose file names, paths, or wildcards to exclude from Find in Files searches.
  • Preferences:
  • New preferences: proxy server, insert code hints on tab, project tree folder sorting, more: Notably, this means it's now possible to install extensions via Extension Manager if your Internet access is behind a proxy server. See link for full list of preferences.
  • Revamped preferences APIs ready for extensions to use: See documentation for details.
  • Migrate view state to new preference storage format: A new state.json file stores preferences that are less likely to be shared across machines.
  • Ongoing Research (not enabled yet):
  • Multiple cursor/selection support: Initial implementation on a branch, not exposed in this release of Brackets yet.
  • Research JS Code Hints Cleanup: Investigate how to simplify the code, improve performance & maintainability, and unify with new preferences system.
  • CSS Editing:
  • Open inline CSS easing editor on empty timing functions: Graphically create CSS transition easing curves/steps without having to remember or write out the full syntax first.
  • Stability Improvements:
  • Live Preview launches and connects to Chrome more reliably
  • Fixed slow performance when Find in Files results panel left open for long periods of time
  • Fixed issue with noticing external file changes during some 'bulk' operations like git checkout
  • Improved accuracy of JavaScript code hints when using require() modules
  • Fixed #6951: Unable to install extensions or run Live Preview on Windows XP
  • Ensure Live Preview works on upcoming Chrome 34 release
  • Localization:
  • Indonesian translation added

New in Brackets Sprint 36 (Feb 13, 2014)

  • Preferences:
  • Project- and file-specific editor settings: Use JSON configuration files to specify different indentation, word wrap, etc. settings for different projects, folders, or file types. Initial instructions are on the How To Use Brackets page.
  • File System & Performance:
  • File/directory watchers: Brackets will detect external modifications to files almost instantly and update the project tree, editor contents, etc. automatically (manually refreshing the tree is no longer needed).
  • File caching: Operations like Find in Files will be much faster when used repeatedly, as the contents of files are now cached in memory.
  • Extensions:
  • Extension download counts: We will begin tracking how many times each extension has been installed, and will post the download counts at periodic intervals. This will help extension authors decide where to prioritize their efforts, and will help Brackets developers understand what functionality is most important for our users.
  • "Safe Mode": Choose Debug > Reload Without Extensions to temporarily run Brackets without any extensions loaded for troubleshooting. Extensions are re-enabled when you restart Brackets through any other means.
  • Automated restart after updating/removing extensions: Previously, Brackets would quit and force you to relaunch it manually; now Brackets reloads automatically.
  • LESS Support:
  • Code hints for CSS property names & values: The same code hints you see in CSS & SCSS files will now also appear in LESS files.
  • Quick Docs support: Ditto – just like in CSS/SCSS files.
  • CSS Editing:
  • Visually edit CSS transition step timing functions: Invoke Quick Edit when your cursor is on any steps() function in a CSS rule to edit it (building on top of the existing visual cubic-bezier() editor). Also works in LESS & SCSS files.
  • Overall UI:
  • Windows: many window-chrome visual glitches fixed: Notably, the window border no longer bleeds onto other monitors.
  • Windows: new, flatter scrollbar appearance
  • Linting:
  • Multiple linting providers per language: If multiple providers are registered for a given language, all the results will be shown together in the linting panel. (The built-in JSLint is disabled if other JavaScript linters are installed, however - as in previous sprints).
  • Quick Open:
  • ':line,col' syntax in Quick Open and Go to Line
  • Localization:
  • Greek translation added
  • Korean translation added

New in Brackets Sprint 34 (Nov 16, 2013)

  • What's New:
  • Installation:
  • Automatically replace older versions: The Brackets installer on Windows now automatically overwrites previous versions, with no need to manually uninstall them. On all platforms, the app name no longer contains the sprint number. If you have manually assigned Brackets to any file associations, they will no longer need to be reassigned for each new build. (Note: these changes will not be evident until the first update, i.e. next sprint - Sprint 35).
  • Overall UI:
  • Dark themed window chrome on Mac: Similar to the update on Windows in Sprint 31.
  • Notable bug fixed in Win dark-themed window chrome
  • Image Preview:
  • Pixel coordinates guide: When viewing an image file, a crosshair and tooltip indicate the pixel coordinates of your mouse cursor.
  • Code Hints:
  • Improved JavaScript code hints accuracy: More code hints provided for APIs in medium-sized files (500-2000 lines) and in cases where a module's exports have recently been updated.
  • Linting:
  • Multiple linting providers per Language: If multiple providers are registered, they will all be run and the results consolidated.
  • Under the hood:
  • New file system API: Some API changes for extensions -- see below. Slightly improves performance of some features, like Find in Files (larger improvements to come later!).
  • Localization:
  • Updated translations: Czech, German, Finnish, French, Japanese, Brazilian Portuguese (...)
  • Added translations: Persian-Farsi, Dutch (...)
  • UI Changes:
  • Dark-themed window chrome on Mac - the Mac shell now has a dark window chrome that visually complements the Brackets UI. (The Windows shell received a similar update in Sprint 31).
  • Installation - see above. Starting next sprint, newer versions of Brackets will overwrite previously installed versions. To preserve an already installed version of Brackets, simply copy it to a different location before installing the new release. For example, on Mac, from the Application folder, simply rename Brackets.app to Brackets Sprint 34.app, and then install the new release from the .dmg. Similarly, on Windows, in the \Program Files (x86) folder, simply copy the Brackets folder to Brackets Sprint 34, and then install the new release from the .msi.
  • Extensions - the Extension Manager 'Available' and 'Installed' tabs have switched places.
  • Search - Find in Files and Quick Open now include files you have opened that lie outside the root folder of your project.
  • API Changes:
  • File APIs - TODO also, the already-deprecated FileUtils.getFilenameExtension() was removed
  • Linting - TODO: new way needed to replace default JS linter
  • Closing Files - TODO: mention Commands.FILE_CLOSE_LIST once API cleaned up
  • New/Improved Extensibility APIs
  • Quick Open - TODO: extensions can specify a label
  • Documents - TODO: new, faster getDocumentText() API

New in Brackets Sprint 33 (Oct 31, 2013)

  • What's New:
  • Quick Edit:
  • Create new CSS rules via Quick Edit: In HTML files, click the CSS inline editor's "New Rule" button (or press Cmd/Ctrl-Alt-N) to create a new CSS rule based on the tag/class/id your cursor was on. The inline editor now appears even when no existing rules match the search, so you can easily create new CSS rules at any time.
  • Visually edit CSS transition Bezier timing functions: Just invoke Quick Edit when your cursor is on any cubic-bezier() function in a CSS rule! (or a named shorthand such as linear, ease-in, etc.)
  • Images:
  • Preview image files: Select in image in the file tree (or via Quick Open) to see a preview in the editor area.
  • Search/Replace:
  • Regexp Replace using $1, $2, etc. substitutions in the replacement text
  • Better Find in Files feedback: Search bar remains open while search is in progress, and turns red when no results found (like regular Find).
  • Files and Folders:
  • Mac: Drag folders onto dock icon: Previously, folders could only be dragged onto an already-open Brackets window.
  • Close Others [Above/Below] in Working Files context menu: Quickly close batches of files with these three new commands.
  • Extensions:
  • Install older version of extension if latest isn't compatible: Previously, Extension Manager would refuse to install the extension at all.
  • Live Preview:
  • Launch Live Preview when no files open if an index.html (or similar) file exists at the project root.
  • Localization:
  • Serbian translation added
  • Updated translations: Czech, Finnish, French, German, Spanish, Swedish
  • UI Changes:
  • Inline editors - All inline widgets (Quick Edit, Quick Docs, etc.) have added an "x" Close button in the upper-left.
  • API Changes:
  • Lo-Dash utils - Now included in Brackets, replacing the following Brackets APIs:
  • Removed Async.whenIdle - use _.debounce
  • Removed NumberUtils.getRandomNumber() - use _.random (entire NumberUtils module was removed)
  • Deprecated StringUtils.htmlEscape - use _.escape
  • Deprecated CollectionUtils.indexOf - use _.findIndex
  • Deprecated CollectionUtils.forEach - use _.forEach
  • Deprecated CollectionUtils.some - use _.some
  • Deprecated CollectionUtils.hasProperty - use _.has
  • The deprecated functions now simply call over to the corresponding Lo-Dash function.
  • Image files - getCurrentDocument() and getActiveEditor() will return null any time an image is open. Use getCurrentlyViewedPath() if you need to get the current file even when it's an image. See the Preview Images Spec for details.
  • Inline editors - InlineTextEditor.editors (array of Editors) was removed and replaced with InlineTextEditor.editor (single Editor). With current usage, there was never more than a single element in the array anyway, so this simplifies the API.
  • All InlineWidget subclasses now have a close button automatically inserted at a fixed position in the upper-left. Ensure your widget's UI stays clear of this area.
  • Extension load order - User/dev extensions are now loaded after all built-in Brackets extensions have loaded. Previously, the order was unpredictable - making menu item order inconsistent.
  • Dialogs - Modal Dialogs are now auto-centered both horizontally and vertically over the Brackets Window. Extensions that set custom margins on a dialog's top level DOM node may conflict with this.
  • Files - FileUtils.canonicalizeFolderPath() is deprecated (it actually makes paths not canonical: the standard format used by DirectoryEntry.fullPath includes a trailing "/", while this function removes the trailing "/"). Use stripTrailingSlash() if you need to explicitly un-normalize a path.
  • ProjectManager.getInitialProjectPath() and updateWelcomeProjectPath() now include a trailing "/" as well (previously they did not).

New in Brackets Sprint 32 Build 9791 (Oct 21, 2013)

  • Launch Live Preview for non-HTML file: Brackets will automatically find a nearby index.html file to use. No more switching away from your CSS file to start Live Preview!
  • Faster Performance in Find as you Type: Initial keystrokes when typing in Find field (when the number of results is usually very high) are improved.
  • Update Node to Version 0.10: This is an 'Under the Hood' change.
  • Improved Linting API: Extension authors can now drive linting engine headlessly.
  • Updated Translations: French, Japanese, German, Czech, Finnish, and Turkish translations have been updated.

New in Brackets Sprint 25 Build 7701 (Jun 6, 2013)

  • What's New:
  • Live Preview:
  • Improved connection reliability: No longer need to restart Chrome on Windows. If the Live Preview connection is lost, Brackets gives the reason why.
  • Extensions:
  • Extension manager: Listing of your currently installed extensions. Easier to uninstall extensions.
  • File Management:
  • Refresh file tree: Right-click on the file tree and choose Refresh to update the file list from disk – no need to restart Brackets. (This is a stopgap along the way to fully automatic refresh, which will come further down the road).
  • Delete file/folder: Right-click in the file tree an choose Delete to move a file or entire folder to the trash.
  • Show file/folder in OS: Right-click in the file tree or working files list and choose Show in OS to show a file or folder in Windows Explorer or Mac Finder.
  • Search:
  • Faster, more accurate Quick Edit for JavaScript: Now using the Tern code intelligence engine that powers code hints and Jump to Definition.
  • Code Editing:
  • Many bug fixes in JavaScript code hinting
  • Improved typing performance: Brackets responds to keypresses 21% faster in JavaScript code and 13% faster in general (fixed unneeded repaints and optimized code hint popup creation).
  • UI Changes:
  • New visual design for Quick Open / Quick Find Definition, JSLint panel, and Find in Files results panel.
  • API Changes:
  • Extension package format - All extensions should now include a package.json file with descriptive metadata. See Extension package format for details. Extensions that omit package.json will still work, but won't look very nice in the new Extension Manager dialog. (Down the road, package.json will become required though).
  • Adding panels:
  • To add a resizable panel below the editor, use PanelManager.createBottomPanel(). The previous approach (insert DOM node manually, then call Resizer.makeResizable()) still works, but is deprecated.
  • To show/hide a panel, use Resizer's APIs or the Panel object returned by PanelManager. Again, the old approach (call jQuery show()/hide(), then call EditorManager.resizeEditor()) still works for now, but is deprecated.
  • ProjectManager - Previously, ProjectManager.getSelectedItem() returned null when the selection highlight was in the working set instead of the file tree. Now it returns whatever file/folder is selected anywhere in the sidebar (working set or file tree). (Note that is may still return null in some cases when a current document is open - for example if a Find in Files result was clicked and the opened file is not visible anywhere in the sidebar, the sidebar will have no selection).
  • QuickOpen - The search heuristic no longer automatically applies special weighting when items look like a path. Quick Open providers can switch back to the path-oriented behavior by supplying matcherOptions: { segmentedSearch: true } in the settings passed to addQuickOpenPlugin().
  • Sidebar show/hide - SidebarView.toggleSidebar() was renamed to toggle(). Added new show(), hide(), and isVisible() methods.
  • New/Improved Extensibility APIs:
  • QuickOpen / StringMatch - In addition to the segmentedSearch option described above, Quick Open providers can also specify matcherOptions: { preferPrefixMatches: true } to give additional weighting when the search text is an exact prefix of some results. The same options can be passed to the raw StringMatch API as a constructor argument. (Prefix weighting is useful for sorting code hint matches, for example – which would typically use a raw StringMatcher for sorting).
  • Font size event - ViewCommandHandlers dispatches a "fontSizeChange" event whenever the editor font size is changed by the user.
  • showOSFolder() - The existing brackets.app.showOSFolder() API can now be passed a file instead of a folder. It will open the containing folder with that file pre-selected.

New in Brackets Sprint 17 Build 11302012 (Dec 1, 2012)

  • Live Preview:
  • 'Live Highlight' from CSS code: While Live Preview is open, putting your cursor in a CSS rule in Brackets will highlight all matching HTML elements in the browser. Use "File > Live Highlight" to toggle this off.
  • JSP and ASP files are now recognized as HTML-like for Live Preview's local server support
  • Visual Editing:
  • Inline color picker: Use Quick Edit anywhere a hex color, rgb() or hsl() appears to edit it inline. Includes shortcut swatches for other colors used in the file.
  • Code Editing:
  • Block comment/uncomment: Use Ctrl+Shift+/ (Cmd on Mac) to toggle block comments around the current selection.
  • Search:
  • Find in Files scoping: Search a specific subtree or even a single file: right-click in the folder tree and choose "Find in..."
  • Localization:
  • Turkish translation

New in Brackets Sprint 16 Build 11082012 (Nov 12, 2012)

  • Live Development:
  • Local server support for Live Preview: Specify a base URL for the project root via File > Project Settings. This overrides the default file:// URL.
  • Search:
  • Quick Open search improvements: Quick Open now searches on the whole path (not just filename), and accepts CamelCase abbreviations and other non-contiguous matches.
  • Find and Find in Files: Search field turns red when no results are found. Invalid regexes trigger an error tip.
  • Files and Folders:
  • Reorder working set by drag & drop
  • Sort working set: Sort the list of open files manually or automatically by file type, name or when added (the default).
  • Close All command
  • Working set context menu: Now includes Rename, Show In Tree.
  • F2 shortcut for Rename
  • General Code Editing:
  • Select Line command: Ctrl+L selects the current line or adds one line to an existing selection.
  • Progress on CodeMirror 3 migration: Critical editing functionality is now working on the cmv3 branch.
  • Syntax highlighting for: YAML, SVG (as XML)
  • Extensions:
  • Move extensions folder outside application root: Extensions are now stored per user instead of in the application bundle. As before, you can use Help > Show Extensions Folder to access these locations:
  • Windows: C:\Users\\AppData\Roaming\Brackets\extensions
  • Mac: /Users//Library/Application Support/Brackets/extensions
  • Extension developers can still place extensions in the Brackets source location instead, in the new src/extensions/dev folder.
  • Developer Workflow:
  • Automated unit tests - Unit tests now run automatically on a Mac build server. Results are not posted publicly yet.
  • Localization:
  • Japanese translation
  • Steps Toward Future Platforms:
  • Community work on a Linux build is making great progress
  • Early prototype of Brackets running in the browser: see in-browser branch.

New in Brackets Sprint 15 Build 10182012 (Oct 20, 2012)

  • Live Development:
  • Auto reload in Live Preview: The page is automatically refreshed when you save changes to any file other than .css (CSS changes are reflected instantly - no need to save). A dot next to the lightning bolt icon indicates pending changes that will lead to an auto-refresh when you save.
  • Overall UI:
  • Status bar with line/col info, JSLint status & spinner
  • Resizable search results & JSLint panel
  • Remember window size/position from last launch
  • Performance:
  • Major editor performance improvements: Almost doubles scrolling FPS, cuts 1/3 from keystroke response latency, and fixes freezes in files with very long lines (e.g. minified code).
  • General Code Editing:
  • Tab size setting: Click the number in the lower-right of the status bar to choose tab size. This is currently a global setting, across all files and file types. We may refine this in future stories.
  • Incremental search while typing in the Find bar
  • Delete Line(s) command: Ctrl+Shift+D / Cmd+Shift+D deletes the line the cursor is on (or all lines the selection spans).
  • Research migration to CodeMirror 3: See wiki for notes on the next steps.
  • HTML Code Editing:
  • Code hinting for href/src attributes: Hints for relative URLs based on files on disk. Press Tab to accept the selected hint for a folder name and drill down to its contents.
  • Auto-insert closing tags
  • Files & Folders:
  • New Folder command
  • Rename command
  • "Show in File Tree" command: Selects and shows the current editor's file in the left-hand file tree.
  • Remove recent projects dropdown entries: Open the dropdown and roll over an item to show "X" button.
  • Localization:
  • Italian translation
  • Spanish translation
  • Brazilian Portuguese translation
  • UI Changes:
  • Status bar - The JSLint star icon has moved from the upper-right to the lower-right, in the new status bar. A gold star means no errors (as before), while a red star (new) means errors are listed, and a gray star (new) means JSLint is not running on the current file. Change tab settings by clicking the "Spaces" and "4" labels in the lower right (the former is the same as toggling Edit > Use Tab Characters).
  • API Changes:
  • EditorManager focusedEditorChange event - Now reliably triggered whenever focus moves from one Editor to another. See comment at top of EditorManager for details.
  • AppInit.appReady() event - Now occurs after extensions are done loading, instead of before. See #1854.
  • New/Improved Extensibility APIs:
  • Code hinting - Code hint provider's handleSelect() is now passed a 4th argument: a boolean indicating whether the user prefers to close code hints or continue showing suggestions for the next piece of code. True indicates hints should remain closed (user pressed Enter or clicked a suggestion); false indicates more hints should be shown after inserting the suggestion (user pressed Tab).
  • Code tokens - New TokenUtils module with APIs for traversing the tokens in a given editor. See #1753.