Skip to content

Release Notes: Sprint 31

Peter Flynn edited this page Sep 24, 2013 · 52 revisions

What's New in Sprint 31

Full change logs: brackets and brackets-shell

UI Changes

Dark-themed window chrome on Windows - the Windows shell now has a dark window chrome that visually complements the Brackets UI. (The Mac shell is expected to receive a similar update next sprint).

Live HTML UI for invalid state - during Live HTML Development, Brackets indicates when code isn't updating due to being in an invalid state. The Live Development icon turns red, and the offending line of code is highlighted with a red background under the line number.

API Changes

LESS - updated to 1.4.2 (from 1.3.3). May require minor changes to LESS stylesheets (e.g. wrapping math expressions in parens).

Key bindings - Cross-platform behavior is now better defined when specifying a set of bindings for one command. Bindings with no platform specified are not used if another binding in the set explicitly specifies the current platform. Bindings can specify a new platform "all" to ensure they are used on all platforms regardless of other platform-specific bindings in the set. See brief examples.

New/Improved Extensibility APIs

  • Linting - Use CodeInspection.register() to provide linting/inspection for a given Language. Just like the built-in JSLint functionality, the provider is invoked whenever a file is opened or saved, and its results are displayed in a panel below the editor (providers may be run more frequently in the future, however). Currently, only one provider is accepted per language, although extensions can replace the default JSLint provider for JavaScript.

  • Code Hints - The behavior when pressing Tab is now configurable on a global and per-provider basis. Use the optional insertHintOnTab flag when registering with registerHintProvider() to make Tab insert the currently selected hint (instead of inserting a Tab character, the default behavior). Use CodeHintManager.setInsertHintOnTab() to globally change the default behavior. See #5084 for more.

  • Web links - Clicking <a> tag in the UI will automatically open its link in the user's default browser (unless it is a bare anchor, i.e. it starts with "#"). The click event will still bubble to any further handlers.

  • Menus - removeMenu() and getAllMenus() methods added.

  • ProjectManager - New "projectRefresh" event, triggered when the tree is refreshed without switching projects (useful for extensions that "decorate" the tree with custom UI).

  • Commands - Use CommandManager.registerInternal() to register a command that can never be invoked by the end user. The command has no name/label (only an ID) and will never appear in any UI (e.g. future UI to customize keyboard shortcuts).

Known Issues

  • Mountain Lion (OS X 10.8) by default will not allow Brackets to run since it's not 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.
  • #2272: Windows Vista may not allow the Brackets installer to run (you may not see any error message). To work around this, right-click the installer file, choose Properties, and click the Unblock button.
  • #4362: Slow startup of Brackets and Live Preview on Windows due to Chrome proxy settings. See workaround https://support.google.com/chrome/answer/106010?hl=en.
  • 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.
  • A last minute fix was taken for Sprint 31, so when opening the About dialog, instead of seeing "(On branch master,master [SHA])", this build will have "(On branch sprint-31-hotfix,sprint-31-hotfix [SHA])".

Community contributions to Brackets

Pulling source code from Git

  • Warning: it is not yet possible to build brackets-shell with XCode 5. Hold off on upgrading XCode if you need to build brackets-shell (should be possible soon though).
  • A new brackets-shell build is optional for this sprint. Be sure to rerun grunt setup before building.
  • Some submodules were updated this sprint. Run git submodule update to ensure your source tree is fully up to date.

Bugs fixed in Sprint 31

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

Clone this wiki locally