## Build 3105

Release Date: 18 February 2016

- Fixed a performance issue with the JavaScript syntax highlighting changes
- `show_scope_name` command shows the scope in a popup

## Build 3104

Release Date: 17 February 2016

- JavaScript syntax highlighting improvements
- Various other syntax highlighting improvements to the shipped Packages
- Improved word wrap behavior
- Improved spell check behavior
- Fixed some Unicode handling issues in Goto Anything
- Fixed a 3096 regression in regular expressions when using `\x{nnnn}` escapes
- Fixed a 3096 rendering performance regression

## Build 3102

Release Date: 8 February 2016

- Fixed a 3096 regression in regular expressions when using the `[[:space:]]` character class
- Fixed a 3096 regression Find in Files output with non-ascii text
- Added fallback for themes without the Panel Switcher button
- File change detection better handles failures in the underlying API

## Build 3101

Release Date: 5 February 2016

- Added Panel Switcher to status bar
- Sublime Text is more proactive about polling for file changes, rather than waiting for file system change notifications
- Fixed regression in regular expressions with upper case escape sequences
- Fixed regression in regular expression format strings
- API: Added find_output_panel(), destroy_output_panel(), active_panel() and panels()
- API: Added create_output_panel() now accepts an optional parameter, `"unlisted"`

## Build 3100

Release Date: 3 February 2016

- Windows: Updated code signing certificate to no longer use SHA1
- Added "Profile Events" to the Command Palette, to help identify slow plugins
- Incorporates further changes to the provided packages
- Fixed Copy and Paste not working with some Unicode strings
- Fixed Goto Definition command not working when placed in a submenu
- Fixed incorrect handling of `[[:blank:]]` character class in syntax definitions
- Spell Checker: Improved Unicode handling
- Spell Checker: Now reads from manually edited user preferences on the fly
- minihtml: Fixed `text-decoration: none` not being handled correctly
- OSX: Fixed Emoji & Symbols popup failing to insert text in some cases
- Windows: Added support for inserting characters from outside of the BMP

## Build 3099

Release Date: 29 January 2016

- Fixed a code folding crash regression in 3098

## Build 3098

Release Date: 29 January 2016

- Improved Unicode support, including combining character rendering, character classification in regex searches, and case insensitivity in Goto Anything matching
- Updates to many packages, with more substantial changes to D, Go and SQL
- Stability improvements for Find in Files when using regular expressions that result in significant backtracking
- Better handling of troublesome files during indexing
- Fixed file truncation when using hexadecimal encoding
- Syntax: Improvements to the Syntax Tests build system, including a new variant for measuring performance
- Syntax: .sublime-syntax files with unused captures no longer cause spellcheck errors
- Windows: `ctrl+alt+p` is no longer bound by default, due to compatibility issues with some keyboard layouts
- Linux: crash_reporter is statically linked, improving system compatibility
- API: Added Window.is_sidebar_visible() and Window.set_sidebar_visible()

## Build 3095

Release Date: 10 July 2015

- Incorporates further changes to the provided packages

## Build 3094

Release Date: 2 July 2015

- Fixed a regression in 3093 where the Go and Makefile syntax definitions were missing
- Incorporates further changes to the provided packages

## Build 3093

Release Date: 1 July 2015

- Packages are now on GitHub
- Incorporates several community provided improvements to the above packages, with significant improvements to HTML, CSS and JavaScript
- Fixed an infinite loop that occurred when loading some .sublime-syntax files

## Build 3092

Release Date: 4 June 2015

- Improved handling of third party packages that try to replace the default HTML syntax definition
- Fixed an issue with nested with_prototype statements in .sublime-syntax files

## Build 3091

Release Date: 2 June 2015

- Fixed a regression in 3090 where .tmLanguage files with missing includes weren't loaded

## Build 3090

Release Date: 2 June 2015

- .sublime-syntax files may now include .tmLanguage ones, using "scope:source.foo" to refer to them
- Fixed some inconsistencies in Goto Anything when selecting symbols

## Build 3088

Release Date: 27 May 2015

- Fixed regressions in JavaScript and PHP syntax highlighting
- Syntax: .sublime-syntax files can now specify just the basename of an included file, to enable overriding
- Linux: Fixed a file permission issue when running without --wait

## Build 3087

Release Date: 26 May 2015

- Updated various syntax highlighting definitions
- Syntax: .tmLanguage files may now include .sublime-syntax ones
- Syntax: Fixed scope names not being applied correctly when pushing multiple contexts
- Syntax: .sublime-syntax files may now push a list of anonymous contexts
- Syntax: Anonymous contexts may now be used within `with_prototype` blocks
- Syntax: Fixed variable expansion within included syntax files
- API: Added View.is_auto_complete_visible()

## Build 3086

Release Date: 12 May 2015

- Fixed a code folding and indent guide regression in 3085 when indenting with tabs
- Fixed syntax highlighting regressions in 3085
- Improved the behavior of `convert_syntax.py` on multi line regexs

## Build 3085

Release Date: 5 May 2015

- Sublime Text now includes a custom regex engine that matches multiple regexps in parallel, for faster file loading and indexing
- .sublime-syntax files can now define variables, to help write repetitive patterns
- Improved indenting behavior when `indent_to_bracket` is enabled
- Fixed brackets in strings influencing auto indent

## Build 3084

Release Date: 8 April 2015

- Added new Syntax Definition file format, .sublime-syntax
- Added support for testing syntax definitions in either format (details at above link)
- YAML editing improvements
- Build Systems may now define a list of file name wildcard patterns to trigger on, via the `file_patterns` key
- `prompt_open_file` and related commands now accept an `initial_directory` argument
- Fixed tab completion regression in 3081, where h1..h6 HTML completions were not triggering

## Build 3082

Release Date: 26 March 2015

- Improved handling of index corruption: index will be automatically recreated
- Fixed squiggly lines not drawing squiggly in tall windows

## Build 3081

Release Date: 25 March 2015

- Improved handling of index corruption: Sublime Text will no longer perform repetitive indexing in this scenario
- Added `index_workers` setting to control the number of threads used for file indexing
- Tab completion no longer completes numbers. Edit/Show Completions can still be used for this
- Fixed Command Palette causing a crash with empty .sublime-build files

## Build 3079

Release Date: 20 March 2015

- Fixed a long standing plugin_host crash triggered via modal dialogs
- Python: Tweaked property snippet to not be so intrusive

## Build 3078

Release Date: 19 March 2015

- Fixed a plugin_host regression in 3077

## Build 3077

Release Date: 19 March 2015

- Fixed a regression in 3075 that caused the default preferences to be marked as unsaved
- Fixed a performance regression with large folders introduced in 3067
- Partially reworked plugin_host communication
- OSX: Fixed a regression in 3076 that caused excess CPU usage

## Build 3075

Release Date: 10 March 2015
See also the Forum Thread

- Build Systems: Build systems can now be explicitly selected again
- Build Systems: Renamed "keyfile" to "keyfiles", now accepting a list of files that can trigger the build system (e.g., `["Makefile", "makefile"]`)
- Improved change detection for files that disappear and reappear, as happens with disconnected network drives
- Windows: Added workaround for broken `std::condition_variable` in MSVC 2012, fixing a crash in `plugin_host`
- Updated to a never version of leveldb, fixing constant low level CPU usage if the index becomes corrupted
- Fixed a crash that could occur in directory scanning when directories are being rapidly deleted and recreated
- Transient sheets (e.g., as created by Goto Anything when previewing files) are no longer added to the Recently Closed list
- Windows: Added more descriptive errors when the Update Installer fails to rename a folder

## Build 3074

Release Date: 3 March 2015
See also the Forum Thread

- Build Systems: Variants can now be selected directly when pressing Primary+B (See this discussion for more information)
- Posix: Fixed new files not respecting the umask permission flags
- OSX: Workaround for an OS issue with zero size windows and OpenGL views
- Windows: Fixed incorrect window sizing after making a maximised window full screen
- Windows: Fixed access denied errors that could occur when saving with `atomic_save` disabled
- `remember_open_files` setting is now hidden, and defaults to false. Note that this change will have no effect if the `hot_exit` setting is left at its default value of true

## Build 3073

Release Date: 28 February 2015
See also the Forum Thread

- Fixed a Goto Definition regression in 3072
- Build System choices are remembered, so the user will be prompted to choose a build system less often
- Added Edit Project to the Command palette

## Build 3072

Release Date: 27 February 2015
See also the Forum Thread

- Changelog is now in HTML
- Reworked how Build Systems are selected (More Information)
- Fixed Redo sometimes restoring the selection to the incorrect location
- Command Palette now remembers the last entered string
- `atomic_save` is disabled by default
- Fixed tabset background being set to the wrong color on startup if different colored tabs are used
- Improved scrolling behavior when `line_padding_top` is > 0
- minihtml: Added support for <img> tags, in conjunction with file://, res:// and data: URLs
- minihtml: Added support <ul> and <li> elements
- minihtml: Added support for padding
- minihtml: Added support background-color on inline elements

## Build 3071

Release Date: 20 February 2015
See also the Forum Thread

- API: Added COOPERATE_WITH_AUTO_COMPLETE flag for View.show_popup()
- Properly improved behavior of Goto Definition when using multiple panes
- Fixed a bug with scrolling tabs, where a 1 pixel line would occasionally appear underneath them
- minihtml: Added support for trivial tags small, code, em, var, and strong
- minihtml: Fixed units not being assigned correctly when using shorthand notation
- Windows: Popup windows are now able to receive scroll wheel input
- API: Fixed a regression 3070 where Window.show_quick_panel() incorrectly reported the highlighted item
- API: Fixed a crash caused by passing an empty string into View.show_popup()

## Build 3070

Release Date: 17 February 2015

- API: Added View.show_popup() and related functions
- Added auto_complete_cycle setting
- Fixed Minimap refusing to draw on very large windows
- Tweaked handling of syntax definitions and unused captures, resolving an issue with spell checking in Markdown links.
- Improved behavior of Goto Definition when using multiple panes
- Fixed tmLanguages files with the hidden flag set appearing in the Command Palette
- Tweak to quote auto pairing logic
- Tweak to Open URL regex (thanks facelessuser)
- OSX: Added work around for performActionForItemAtIndex: taking an excessively long time in Yosemite. This affected any commands that had a corresponding menu item.
- API: Window.show_quick_panel() will now scroll to the selected item when shown
- API: Window.show_quick_panel() now accepts the flag sublime.KEEP_OPEN_ON_FOCUS_LOST
- API: Fixed on_post_window_command() not getting called

## Build 3069

Release Date: 4 February 2015

- Fixed a crash regression in 3068 when typing in a transient sheet
- Fixed a long standing issue with spell checking and non-ascii characters
- API: Fixed sublime.yes_no_cancel dialog return value on Windows

## Build 3068

Release Date: 3 February 2015

- Added Goto Definition to the context menu
- Added <current file> option to Find in Files
- Added spelling_selector setting, to control what text is checked for misspellings
- Misspelled words can now be added to the dictionary, in addition to being ignored
- Fixed Ignored Words not persisting after exiting
- Improved some error messages when parsing .tmLanguage files
- Improved URL detection in Open URL context menu item (thanks iamntz and facelessuser)
- Fixed incorrect menu mnemonics
- OSX: Added logging when FSEvents API returns failure
- Fixed a crash regression in 3067 triggered by renaming files
- Fixed sidebar icons sometimes being invisible on startup
- API: Added sublime.yes_no_cancel_dialog()
- API: Added sublime.expand_variables()
- API: Added Window.extract_variables()
- API: Added Sheet.view()

## Build 3067

Release Date: 30 January 2015

- Right clicking on a URL will show an 'Open URL' menu item
- Improved Console Panel scrolling behavior
- Linux: Improved sudo save system compatibility
- OSX: subl command line tool no longer uses Distributed Objects, resolving some intermittent failures
- .tmLanguage files may contain a <hidden> element, to indicate they shouldn't be displayed to the user
- Fixed a crash that occurred when dragging rows scrolled out of view in the side bar
- Fixed not being able to click on the selected row of the auto complete popup
- Fixed a typo in the "Save Workspace As" dialog

## Build 3066

Release Date: 16 October 2014

- Linux: Added sudo save
- Windows: subl.exe command line helper accepts wildcards
- Improved handling of build systems that generate lots of output
- Build Systems may now declare a "keyfile" (e.g., 'Makefile' for the Make build system) to better auto detect which build system to use
- When opening a project with a build system, that build system is now selected by default
- New windows now always use the automatic build system, rather than the build system of the last used window
- Goto Anything supports :line:col syntax in addition to :line

## Build 3064

Release Date: 27 August 2014

- Added remember_full_screen setting
- Posix: Fixed a file permission regression in 3063

## Build 3063

Release Date: 26 August 2014

- Improved quote auto pairing logic
- Selected group is now stored in the session
- Fixed a crash triggered by Goto Anything cloning views
- Windows: Added command line helper, subl.exe
- OSX: Added 'New Window' entry to dock menu
- Posix: Using correct permissions for newly created files and folders

## Build 3062

Release Date: 5 May 2014

- Added sidebar icons
- Added sidebar loading indicators
- Sidebar remembers which folders are expanded
- Fixed a crash in plugin_host

## Build 3061

Release Date: 21 December 2013

- API: Updated to Python 3.3.3
- Tweaked window closing behavior when pressing ctrl+w / cmd+w
- Fixed a lockup when transitioning from a blinking to a solid caret

## Build 3058

Release Date: 12 December 2013

- Added index_exclude_patterns setting to control which files get indexed
- Fixed a crash regression in 3057

## Build 3057

Release Date: 10 December 2013

- Added settings caret_extra_top, caret_extra_bottom and caret_extra_width to control the caret size
- Added settings show_encoding and show_line_endings to control what gets shown on the status bar

## Build 3056

Release Date: 20 November 2013

- Transparent images are drawn with a checkerboard background
- Fixed Find in Files not selecting the correct line for already opened files
- Windows: Fixed extraneous .tmp files when saving
- Vintage: Improved behavior of visual line mode with word wrapped lines

## Build 3055

Release Date: 19 November 2013

- Added image preview when opening images
- Encoding and line endings are displayed in the status bar
- Linux: Fixed a menu hiding issue
- Find in Files will no longer block when FIFOs are encountered

## Build 3054

Release Date: 16 October 2013

- Fixed incorrect title bar in new sessions
- Auto complete now works as expected in macros
- Vintage: A block caret is now used
- Linux: Fixed menu hiding not restoring correctly at startup
- Linux: Fixed incorrect underscore display in some menus

## Build 3053

Release Date: 30 August 2013

- Ctrl+Tab ordering is stored in the session
- Fixed an atomic save file permission regression for newly created files
- When the last file is closed, a new transient file is created automatically
- Linux: Added menu hiding
- API: Window.open_file now accepts an optional group parameter

## Build 3052

Release Date: 23 July 2013

- API: Calling Settings.add_on_change() from within a settings change callback won't cause the added callback to be run
- Fixed a crash in 3050

## Build 3050

Release Date: 22 July 2013

- Fixed a crash regression in 3049
- Minor improvements to Python syntax highlighting

## Build 3049

Release Date: 19 July 2013

- Tab scrolling now works with mouse wheels
- Changed tab close behavior: the neighboring tab is now always selected
- Linux: Fixed incorrect handling of double clicks in the Find panel
- Windows: Fixed hidden attribute regression in 3048 when atomic_save is disabled
- Fixed a crash related to tab scrolling
- API: Plugins may now call Settings.clear_on_change() within a callback from Settings.add_on_change()

## Build 3048

Release Date: 10 July 2013

- Added tab scrolling, controlled by the enable_tab_scrolling setting
- Automatically closing windows when the last tab is dragged out
- Added minimap_scroll_to_clicked_text setting
- Improved error messages when unable to save files
- font_options is now case insensitive
- Posix: Fixes new files being created with unexpected permissions
- Windows: SSE support is no longer required for 32 bit builds

## Build 3046

Release Date: 26 June 2013

- API: Supporting a distinction between Python modules and packages, to ensure relative imports work as expected

## Build 3045

Release Date: 25 June 2013

- Windows: Fixed plugin overriding

## Build 3044

Release Date: 24 June 2013

- Improved handling of Python sub-package importing, fixing the delete from side bar regression

## Build 3043

Release Date: 21 June 2013

- Deleted files are marked as dirty again
- Fixed a regression when overriding the color scheme in syntax specific settings
- Linux and OSX: atomic_save is adaptively disabled when it's not possible to preserve file permissions
- API: Fixed settings objects getting invalidated too early with cloned views
- API: Plugins in zip files are able to be overridden via files on disk

## Build 3041

Release Date: 14 June 2013

- Fixed file change detection regression in 3040
- Windows: Fixed a crash introduced in 3034

## Build 3040

Release Date: 13 June 2013

- Fixed a crash on exit that could occur when hot_exit is disabled
- Fixed a crash introduced in 3036
- Windows: DirectWrite support uses the old path when drawing from a the text buffer
- Windows: Auto updater supports updating from unicode paths
- API: Added support for the termios module on Linux and OS X.

## Build 3038

Release Date: 9 June 2013

- Fixed further regressions in 3036

## Build 3037

Release Date: 4 June 2013

- Fixed a regression in 3036

## Build 3036

Release Date: 4 June 2013

- Fixed regressions in file change detection
- Linux: Added support for High DPI, controlled by the GTK Text Scaling Factor
- Windows: DirectWrite is enabled automatically in high DPI mode
- OSX: Fixed context menus not working when the application is in the background

## Build 3035

Release Date: 17 May 2013

- Restored Windows XP compatibility
- Fixed an OSX crash
- Fixed double closing of script tags

## Build 3034

Release Date: 16 May 2013

- Improved file change detection
- Windows: Added high DPI support
- Graphics rendering ported to Skia from Cairo
- HTML tag auto completion is better behaved in script tags
- API: Fixed Selection.contains

## Build 3032

Release Date: 6 May 2013

- Added setting always_prompt_for_file_reload
- Pressing right in the Goto Anything overlay will open the selected file without closing the overlay
- Improved handling of deleted files when restoring sessions
- Linux: Fixed popup menu positioning
- Windows: Fixed erroneous entries in system menu

## Build 3031

Release Date: 1 May 2013

- Find panel has a drop down arrow to select previous items
- Minor Auto Complete visual tweaks
- API: Added view.show_popup_menu()
- API: Added is_valid() method to view and window, to determine if the handle has been invalidated

## Build 3030

Release Date: 23 April 2013

- Fixed crash introduced in 3029

## Build 3029

Release Date: 22 April 2013

- Fix for rare crash
- Telemetry is enabled by default for dev builds
- Improved Minimap hover logic
- Faster startup time

## Build 3028

Release Date: 16 April 2013

- Fixed a regression in 3027

## Build 3027

Release Date: 15 April 2013

- Fixed several rare crashes
- Improved HTML completions when typing outside of tags
- Fixed Close Tag not respecting self closing tags
- Windows: Fixed auto updates not installing when the application is installed to a drive other than C

## Build 3026

Release Date: 10 April 2013

- auto_find_in_selection defaults to false as intended
- Fixed a sidebar regression in 3024
- Windows: Fixed an 'Open in Sublime Text' regression introduced in 3024
- Improved handling of packages with non-utf8 encoded .py files

## Build 3025

Release Date: 9 April 2013

- Fixed some regressions in 3024
- Added Paste from History
- API: on_text_command and on_window command are now called when the menu is used
- API: Added on_post_text_command and on_post_window_command

## Build 3024

Release Date: 8 April 2013

- Semi-transient sheets are no longer shown in the OPEN FILES section of the side bar
- Added setting 'auto_find_in_selection', for S2 style Find in Selection logic
- Using Google Breakpad to automatically report crashes
- Symlinks are followed by default in folders added to the side bar
- PHP: Improved auto indenting for the alternative control syntax
- "Remove all Folders from Project" now prompts to confirm
- Deleting a file via the side bar will first close the corresponding view, if any
- Update window will display properly even if the theme doesn't have rules for it
- Windows: New style Open Folder dialogs are used on Vista and later
- API: Added view.close()
- API: Added sublime.get_macro()

## Build 3023

Release Date: 3 April 2013

- New auto update system for Windows and OS X
- Added telemetry. Telemetry is currently disabled by default, but will be enabled by default in future dev builds. It can be explicitly controlled with the enable_telemetry setting
- API: Fixed a memory leak in plugin_host

## Build 3022

Release Date: 18 March 2013

- Updated syntax highlighting for PHP, Haskell and Pascal
- API: view.command_history(0, True) now returns the last modifying command, as expected
- API: view.substr(point) now has the same semantics as S2 for out of bounds addresses
- API: Improved communication speed with plugin_host

## Build 3020

Release Date: 13 March 2013

- Linux: Fixed atomic_save working incorrectly with symlinks
- Windows: Fixed a crash under Windows 7 x64

## Build 3018

Release Date: 11 March 2013

- CSS: Completions will not be offered when typing in selectors
- Fixed a scenario where close tag gave incorrect results
- Fixed crash that could occur when dragging a tab associated with a file that needs to be reloaded
- Windows: Fixed shared memory race condition

## Build 3017

Release Date: 7 March 2013

- Further word navigation tweaks
- HTML: Close Tag now works with script and style elements
- HTML: Reindent has been reenabled
- PHP: Fixed typing delay

## Build 3016

Release Date: 6 March 2013

- Smarter word navigation
- HTML: Tags are closed when </ is entered. This is controlled by the auto_close_tags setting
- HTML: Added attribute completion
- Find and Replace panels automatically resize when multi line strings are entered
- Fixed files being created with the hidden attriute on Windows XP when atomic_save is enabled
- Linux: Using the correct version number for the deb files

## Build 3015

Release Date: 4 March 2013

- Fixed various regressions in 3014
- OSX: Jump Back is now bound to control+hypen
- Improved handling of files with extremely long lines

## Build 3014

Release Date: 28 February 2013

- Added Jump Back and Jump Forward commands
- Improved HTML completions
- Improved HTML auto indent
- Minimap view rectangle auto hides (controlled by the always_show_minimap_viewport setting)
- Updated C# package
- Added invert_selection command
- atomic_save is enabled by default
- Indexing: Added detection of stuck workers
- OSX: Improved handling of line numbers sent via apple events
- API: view.add_regions() will accept package relative paths for the icon
- API: view.add_regions() can show underlines
- API: Added on_pre_close() callback
- API: view.window() will now work even if the view isn't frontmost

## Build 3013

Release Date: 21 February 2013

- Faster loading of large, plain text files
- Improved console scrolling performance on high resolution displays
- Further protection against degenerate syntax definitions
- Added atomic_save setting
- Fixed Reveal in Side Bar
- Fixed C++ syntax highlighting for nested class forward declarations
- Exec panel scrolls again
- Windows: ok_cancel_dialog uses new visual styles
- OSX: Added experimental support for line numbers in the ODB protocol
- API: Added on_text_command() and on_window_command()
- API: Added load_resource(), load_binary_resource() and find_resources()
- API: Added encode_value() and decode_value()
- API: view.sel() supports negative indices
- API: Implemented settings.add_on_change() and settings.clear_on_change()