Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Release Notes: Sprint 20
Clone this wiki locally
What's New in Sprint 20
- Migrated to CodeMirror 3: This enables many of the benefits listed below
- Undo restores old selection / cursor position much more reliably
- Granularity of Undo steps is more predictable
- Gutter line numbers stay in view when scrolling horizontally
- When closing HTML tags are auto-inserted, newlines are never auto-inserted along with them (we may bring back auto newlines as a preference in a future build)
- Double-click-drag and triple-click-drag to select multiple words/lines quickly
- CSS code coloring is more colorful
- Haxe syntax highlighting
- All Find results are highlighted while search bar is open
- Current result is centered in the viewport instead of often appearing at its edges (Find, Find in Files, Quick Open, etc.)
- Quick Open / Go to Definition results update even faster as you type incrementally (building on last sprint's improvements)
- Code Hinting
CodeMirror API changes - Public Brackets editor APIs have not changed. However, if you access raw CodeMirror APIs directly (by using the
_codeMirror property on Editor or setting CSS styles on CodeMirror instances), you'll need to make sure your code is updated to reflect the changes in the CodeMirror v3 API.
If you want your extension to work with both Brackets and Edge Code (please do!), you will need your code to handle both the v2 and v3 APIs for now, because Edge Code hasn't been updated to CodeMirror v3 yet. (For example, in cases where you're passing x/y in an object today, you might need to make your code pass both x/y and left/top.) Again, this should only be an issue if you're using raw CodeMirror APIs; Brackets APIs like
Editor.setScrollPos() haven't changed.
offsetTopChanged event removed - This was deprecated in sprint 19 and has been removed in sprint 20.
New/Improved Extensibility APIs
Selection centering - Editor's
setCursorPos() now offer the option to center the viewport on the targeted text when scrolling. Most "go to"-type actions should use this option -- pass true as an additional argument.
Quick Open providers - The provider's
search() method is now passed an additional argument,
stringMatcher.match() instead of
QuickOpen.match() will yield improved performance through caching. You can also cache your own data by adding properties to this object; see extensions/default/QuickOpenHTML/main.js for sample usage. Use of this argument is optional.
#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.
- 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.
- 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.
Community contributions to Brackets
- Highlight results while Find bar open largely by Aleksandr Motsjonov
- Fix #2085: Cannot create new file in collapsed, empty folder by Chema Balsas
- Fix #2509: Double-clicking in rename input acts like double-clicking file normally by Bernhard Sirlinger
- Fix #2688: Status bar JSLint tooltip is incorrect when JSLint gives up mid-file by Kieran Gorman
- Fix #850: Give a more useful NativeFileError code for encoding problems by connork09
- Code cleanups: move away from Promise.then(), and remove unneeded additionalKeys arguments by Bernhard Sirlinger
- German translation update (and) by J.M.
- Contributor guidelines: add info on starter bugs/features by Julian Viereck
Contributions from Brackets
Contributions to CodeMirror:
- Fix recently introduced typo
- Wrap undo/redo in an operation
- Need to examine a longer substring for text/x-handlebars-template
- widgetsSeen is no longer an array
- Port htmlmixed code
- The balanced text jQuery plugin/polyfill is being discussed as a possible new native CSS
Bugs fixed in Sprint 20
For details on the bugs addressed, please refer to closed sprint 20 bugs. A few of the fixed bugs might not be caught by this search query, however.