Release notes: Sprint 13

peterflynn edited this page Sep 19, 2012 · 16 revisions
Clone this wiki locally

Sprint 13 focused primarily on a more polished release experience: installers, updates, getting started, and an all new native app shell. We also rounded out HTML code hinting by adding hints for common attribute values, and began a push to localize the Brackets UI.

What's New in Sprint 13

  • Install/Upgrade Usability
  • Native Shell
    • Brackets has officially migrated to the new CEF3-based native shell! CEF3 offers benefits such as: Retina (HiDPI) support, a newer version of the developer tools for debugging Brackets, slightly faster performance, and a stronger foundation moving forward. The installer/DMG distributions for Sprint 13 package this new shell.
  • Code Hinting
    • Code Completion for HTML Attribute Values: Attributes with enumerated values (such as <link rel> or <input type>) show hints automatically after completing the attribute name. Hints can also be invoked manually with Ctrl+Space.
  • Localization
    • French Localization: Brackets detects the user's locale setting automatically. There are a few bugs where minor bits of the UI remain in English despite the locale.
    • Brackets unofficially also supports German in this sprint.
  • Other Enhancements
    • Recent projects dropdown: Click the project name in the left-hand to rapidly switch between recently opened project folders.

UI Changes

no major changes to existing UI

API Changes

Initialization & HTML structure - The HTML DOM is no longer completly initialized when require.js loads Brackets modules. Brackets extensions are unaffected since they are always loaded after the DOM initialization is complete; this only affects core modules that depend on or modify HTML during load.

  • Before touching the DOM, modules should now register a htmlReady event listener on the utils/AppInit module before touching the DOM. E.g. AppInit.htmlReady(function () { /* query main Brackets DOM */ }).
  • The brackets.ready event handler has been moved to AppInit.appReady
  • A new utils/Global module was added to handle the initialization of the brackets namespace
  • Most of the content of index.html has been moved into the Mustache template htmlContent/main-view.html.

Live development - Now uses standard jQuery events, so the code required to add/remove listeners is slightly different and all listeners receive a new first parameter (the event). Event names have also changed. See pull request for details.

New/Improved Extensibility APIs

Command infrastructure - New CommandManager.getAll() API: returns all registered commands. Could be used to build a shortcut key assignment UI, etc.

Localization - Brackets now includes the RequireJS i18n plugin and Mustache.

Launch URLs in browser - Use NativeApp.openURLInDefaultBrowser() to open a URL in the user's web browser.

Known Issues

  • Debug > Run Tests is disabled in the installer/DMG distributions of Brackets, because the unit test code is not included. To run unit tests, pull Brackets from GitHub instead.
  • Debug > Show Developer Tools now opens in a new tab in Chrome, rather than a new windows in Brackets. This is a temporary(ish) change due to CEF3. But on the upside, CEF3's developer tools include many updated features!
  • #1551: Changes within an extension (or a unit test) are not reflected by a simple Debug > Reload Brackets. Workarounds:
    • Quit and re-launch Brackets to pick up the changes.
    • Open Developer Tools, click the gear icon in the lower-right, and select "Disable cache". This setting is remembered, but is only in effect so long as the Developer Tools browser tab remains open.
  • #1283: Text selection highlight sometimes jiggles when horizontally resizing window.
  • #1473: Uninstalling on Windows sometimes does not remove the Start menu shortcut for Brackets.
  • Mountain Lion (OS X 10.8) by default will not allow Brackets to run since it's not being digitally signed yet. To work around this, right click the Brackets app and choose Open. You only need to do that once -- afterward, launching Brackets the normal way will work also.

Community contributions to Brackets

Bugs fixed in Sprint 13

For details on the bugs addressed, please refer to closed sprint 13 bugs and closed sprint 13 brackets-shell bugs. A few of the fixed bugs might not be caught by this search query, however.