Build 3103
Release Date: 9 February 2016
- Added new Syntax Definition file format, .sublime-syntax
- Added a custom regex engine that matches multiple regexps in parallel, for faster file loading and indexing
- Improved Unicode support, including combining character rendering, character classification in regex searches, and case insensitivity in Goto Anything matching
- Packages are now on GitHub
- Incorporates many community provided improvements to the above packages, with significant improvements to HTML, CSS, JavaScript, Go, D and SQL
- Added Panel Switcher to status bar
- Better handling of troublesome files during indexing
- Improved file change detection
- Added "Profile Events" to the Command Palette, to help identify slow plugins
- 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
- Improved indenting behavior when indent_to_bracket is enabled
- Spell Checker now reads from manually edited user preferences on the fly
- Stability improvements for Find in Files when using regular expressions that result in significant backtracking
- Fixed file truncation when using hexadecimal encoding
- Fixed brackets in strings influencing auto indent
- Fixed inconsistencies in Goto Anything when selecting symbols
- Fixed tab completion regression in 3081, where h1..h6 HTML completions were not triggering
- Fixed Goto Definition command not working when placed in a submenu
- OSX: Fixed Emoji & Symbols popup failing to insert text in some cases
- Windows: Added support for inserting characters from outside of the BMP
- Windows: ctrl+alt+p is no longer bound by default, due to compatibility issues with some keyboard layouts
- Windows: Updated code signing certificate to no longer use SHA1
- Linux: Fixed a file permission issue when running without --wait
- Linux: crash_reporter is statically linked, improving system compatibility
- API: Added Window.is_sidebar_visible() and Window.set_sidebar_visible()
- API: Added View.is_auto_complete_visible()
- API: Added find_output_panel(), destroy_output_panel(), active_panel() and panels()
- API: Added create_output_panel() now accepts an optional parameter, "unlisted"
Build 3083
Release Date: 26 March 2015
- Fixed high CPU usage caused by a corrupt index. This was occuring for some users upgrading from 3065
- Added setting index_workers to control the number of threads used for file indexing. By default the number of threads is based on the number of CPU cores. By setting index_workers to 1 or 2, indexing will be slower, but less intrusive
- Fixed a crash when showing the Command Palette with an empty .sublime-build file
- Tab completion no longer completes numbers. Edit/Show Completions can still be used for this
Build 3080
Release Date: 24 March 2015
- Fixed Redo sometimes restoring the selection to the incorrect location
- Reworked how Build Systems are selected (More Information)
- Build Systems may now declare "keyfiles" (e.g., 'Makefile' for the Make build system) to better auto detect which build system to use
- Improved handling of build systems that generate lots of output
- New windows always use the automatic build system, rather than the build system of the last used window
- Command Palette now remembers the last entered string
- Improved change detection for files that disappear and reappear, as happens with disconnected network drives
- atomic_save is disabled by default
- Right clicking on a URL will show an "Open URL" menu item
- Added Goto Definition to the context menu
- Improved behavior of Goto Definition when using multiple panes
- Misspelled words can now be added to the dictionary, in addition to being ignored
- Fixed Ignored Words not persisting after exiting
- Fixed a long standing issue with spell checking and non-ascii characters
- Added spelling_selector setting, to control what text is checked for misspellings
- Tweaked handling of syntax definitions and unused captures, resolving an issue with spell checking in Markdown links.
- Goto Anything supports :line:col syntax in addition to :line
- Added Edit Project to the Command palette
- Improved quote auto pairing logic
- Added <current file> option to Find in Files
- Improved Console Panel scrolling behavior
- .tmLanguage files may contain a hidden setting, to indicate they shouldn't be displayed to the user
- Improved some error messages when parsing .tmLanguage files
- remember_open_files setting is now defaults to false. Note that this change will have no effect if the hot_exit setting is left at its default value of true
- Added auto_complete_cycle setting
- Fixed Minimap refusing to draw on very large windows
- Fixed not being able to click on the selected row of the auto complete popup
- Fixed sidebar icons sometimes being invisible on startup
- Transient sheets (e.g., as created by Goto Anything when previewing files) are no longer added to the Recently Closed list
- Improved scrolling behavior when line_padding_top is > 0
- Fixed a bug with scrolling tabs, where a 1 pixel line would occasionally appear underneath them
- Fixed tabset background being set to the wrong color on startup if different colored tabs are used
- Updated to a never version of leveldb, fixing constant low level CPU usage if the index becomes corrupted
- Fixed a crash that could occur when directories are being rapidly deleted and recreated
- Fixed a crash that occurred when dragging rows scrolled out of view in the side bar
- Fixed a long standing plugin_host crash triggered via modal dialogs
- Fixed a typo in the "Save Workspace As" dialog
- Fixed incorrect menu mnemonics
- Linux: Added sudo save
- Windows: Popup windows are able to receive scroll wheel input
- Windows: subl.exe command line helper accepts wildcards
- Windows: Fixed access denied errors that could occur when saving with atomic_save disabled
- Windows: Added workaround for broken std::condition_variable in MSVC 2012, fixing a crash in plugin_host
- Windows: Added more descriptive errors when the Update Installer fails to rename a folder
- Windows: Fixed incorrect window sizing after making a maximised window full screen
- OSX: Added work around for performActionForItemAtIndex: taking an excessively long time in Yosemite. This affected any commands that had a corresponding menu item.
- OSX: Workaround for an OS issue with zero size windows and OpenGL views
- OSX: subl command line tool no longer uses Distributed Objects, resolving some intermittent failures
- Posix: Fixed new files not respecting the umask permission flags
- API: Added View.show_popup() and related functions
- API: Added sublime.yes_no_cancel_dialog()
- API: Added sublime.expand_variables()
- API: Added Window.extract_variables()
- API: Added Sheet.view()
- API: Window.show_quick_panel() now accepts the flag sublime.KEEP_OPEN_ON_FOCUS_LOST
- API: Window.show_quick_panel() will now scroll to the selected item when shown
- API: Fixed on_post_window_command() not getting called
Build 3065
Release Date: 27 August 2014
- Added sidebar icons
- Added sidebar loading indicators
- Sidebar remembers which folders are expanded
- Tweaked window closing behavior when pressing ctrl+w / cmd+w
- Improved quote auto pairing logic
- Selected group is now stored in the session
- Added remember_full_screen setting
- Fixed a lockup when transitioning from a blinking to a solid caret
- Fixed a crash in plugin_host
- 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
- API: Updated to Python 3.3.3
Build 3059
Release Date: 17 December 2013
- Added tab scrolling, controlled by the enable_tab_scrolling setting
- Added image preview when opening images
- Encoding and line endings can be displayed in the status bar with the show_encoding and show_line_endings settings
- Added settings caret_extra_top, caret_extra_bottom and caret_extra_width to control the caret size
- Added index_exclude_patterns setting to control which files get indexed
- Automatically closing windows when the last tab is dragged out
- Changed tab close behavior: the neighboring tab is now always selected
- When the last file is closed, a new transient file is created automatically
- Ctrl+Tab ordering is stored in the session
- Added minimap_scroll_to_clicked_text setting
- Improved error messages when unable to save files
- Auto complete now works as expected in macros
- Minor improvements to Python syntax highlighting
- Vintage: A block caret is now used
- Vintage: Improved behavior of visual line mode with word wrapped lines
- Find in Files will no longer block when FIFOs are encountered
- Linux: Added menu hiding
- Linux: Fixed incorrect handling of double clicks in the Find panel
- Linux: Fixed incorrect underscore display in some menus
- Posix: Fixed new files being created with unexpected permissions
- Windows: SSE support is no longer required for 32 bit builds
- API: Window.open_file now accepts an optional group parameter
- API: Plugins may now call Settings.clear_on_change() within a callback from Settings.add_on_change()
- API: Calling Settings.add_on_change() from within a settings change callback won't cause the added callback to be run
Build 3047
Release Date: 27 June 2013
- Beta is now open to non-registered users
- Windows and Linux: Added High DPI support
- Improved file change detection
- Improved rendering performance
- HTML tag auto completion is better behaved in script tags
- Fixed a crash on exit that could occur when hot_exit is disabled
- Linux and OSX: atomic_save is adaptively disabled when it's not possible to preserve file permissions
- OSX: Fixed context menus not working when the application is in the background
- Windows: Auto updater supports updating from unicode paths
- API: Plugins in zip files are able to be overridden via files on disk
- API: Added support for the termios module on Linux and OS X
- API: Fixed Selection.contains
- API: Fixed settings objects getting invalidated too early with cloned views
Build 3033
Release Date: 7 May 2013
- New auto update system for Windows and OS X
- Previewing a file from the side bar will no longer add an entry to the OPEN FILES section of the side bar
- Added Paste from History
- Added setting 'auto_find_in_selection', for S2 style Find in Selection logic
- Find panel has a drop down arrow to select previous items
- Pressing right in the Goto Anything overlay will open the selected file without closing the overlay
- Fixed several crash bugs
- Further startup time improvements
- Improved HTML completions when typing outside of tags
- Fixed Close Tag not respecting self closing tags
- PHP: Improved auto indenting for the alternative control syntax
- Added setting always_prompt_for_file_reload
- Improved handling of deleted files when restoring sessions
- Deleting a file via the side bar will first close the corresponding view, if any
- "Remove all Folders from Project" now prompts to confirm
- Added telemetry. Telemetry is disabled by default, but can be turned on with the enable_telemetry setting
- Using Google Breakpad to automatically report crashes
- Updated syntax highlighting for PHP, Haskell and Pascal
- Symlinks are followed by default in folders added to the side bar
- Windows: Fixed erroneous entries in system menu
- Windows: New style Open Folder dialogs are used on Vista and later
- API: Significantly improved communication speed with plugin_host
- API: Added view.close()
- API: Added view.show_popup_menu()
- API: Added is_valid() method to view and window, to determine if the handle has been invalidated
- API: Added on_post_text_command and on_post_window_command
- API: on_text_command and on_window command are now called when the menu is used
- API: Added sublime.get_macro()
- API: view.substr(point) now has the same semantics as S2 for out of bounds addresses
- API: view.command_history(0, True) now returns the last modifying command, as expected
Build 3021
Release Date: 14 March 2013
- Linux: Fixed atomic_save working incorrectly with symlinks
- Windows: Fixed a crash under Windows 7 x64
- Fixed a crash that could occur on file open
Build 3019
Release Date: 12 March 2013
- Added Jump Back and Jump Forward commands, available from the Goto menu
- HTML: Improved completions and auto indent
- HTML: Tags are closed when </ is entered. This is controlled by the auto_close_tags setting
- Smarter word navigation
- File saves are atomic. This can be disabled with the atomic_save setting
- Find and Replace panels automatically resize when multi line strings are entered
- Faster loading of large, plain text files
- Improved console scrolling performance on high resolution displays
- Improved handling of files with extremely long lines
- Minimap view rectangle auto hides (controlled by the always_show_minimap_viewport setting)
- Indexing: Added detection of stuck workers
- Updated C# package
- Added invert_selection command
- CSS: Completions will not be offered when typing in selectors
- Fixed Reveal in Side Bar
- Fixed C++ syntax highlighting for nested class forward declarations
- Exec panel scrolls again
- OSX: Added support for line numbers sent via apple events
- Windows: ok_cancel_dialog uses new visual styles
- Linux: Using the correct version number for the deb files
- 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()
- 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 3012
Release Date: 10 February 2013
- Fixed a syntax highlighting regression in 3011
Build 3011
Release Date: 9 February 2013
- Improved protection against degenerate syntax definitions
- Linux: Fixed version incompatibilities with libffi
- OSX: Fixed exec command on 10.7
- OSX: Fixed incompatibility between Dictionary lookup and gpu_window_buffer
- Objective-C: Improved symbol indexing
- API: Plugins may import modules from plugin_loaded()
- API: sublime.version(), sublime.platform(), sublime.architecture(), and sublime.channel() may now be used before plugin_loaded() is called
- API: Added view.command_history()
Build 3010
Release Date: 3 February 2013
- OSX: Buttery smooth scrolling on Retina displays
- Symbol Indexing: fixed degenerate behavior that could cause an explosion in the number of worker processes
- Symbol Indexing: less worker processes are used, to be more unobtrusive
- Symbol Indexing: better handling of binary files
- OSX: Control+C will cancel the current build
- API: view.insert() returns the number of characters inserted
Build 3009
Release Date: 1 February 2013
- Improved symbol indexing for Ruby
- OSX: Reduced CPU usage when gpu_window_buffer is enabled
- Symbol Indexing works on Windows XP
- Can monitor indexing behavior by entering sublime.log_indexing(True) in the console
- Tweaked brace matching logic
- Removed undesirable animation during startup
- API: Added _ssl module on OS X and Windows
- API: Fixed ctypes regression in 3008 on OS X
- API: Plugins can define plugin_loaded() and plugin_unloaded() module functions. plugin_loaded() will be called when the API is ready to use.
- API: Added view.find_by_class()
- API: Added view.expand_by_class()
- API: Fixed on_new_async()
- API: Tweaking handling of show_quick_panel when items is a mixed list of strings and sequences
Build 3008
Release Date: 30 January 2013
- Fixed Open all with current extension as
- Fixed the Tools/Macros menu
- Linux: Restored compatibility with older glibc versions
- Linux: Added Installed-Size field to the .deb
- API: urllib.request can be imported on OS X
- API: Fixed missing _socket module on 32 bit Windows
Build 3007
Release Date: 30 January 2013
- OSX: Fixed extraneous dock icons
- Added Symbol Indexing support for Scala
- Fixed crash that could occur when using Goto Anything
- Fixed the ignored_packages setting not working correctly with zipped packages
- Vintage: Fixed 'o' and 'O'
- API: Fixed on_query_completions not working correctly in some circumstance
- API: Re-added view.score_selector
- API: Selection.add() no longer ignores the xpos
Build 3006
Release Date: 29 January 2013
- Added Goto Definition, and Goto Symbol in Project
- Significantly improved startup time
- Significantly improved Replace All performance
- Improved matching algorithm used for Goto Anything and Autocomplete, now accepts transposed characters
- UI: Enhanced pane management
- UI: Previewing files from the sidebar creates a preview tab
- UI: Improved animation in the side bar
- Projects: Multiple workspaces can be created for a single project
- Projects: When adding folders to the sidebar, symlinks are not followed by default. This can be changed by enabling follow_symlinks in the project.
- Build Systems: Added 'shell_cmd', which supersedes 'cmd', with more intuitive syntax
- Build Systems: Better PATH handling behavior on OS X when using shell_cmd.
- Build Systems: 'Make' build system has an improved error message regex
- Build Systems: Syntax file can be specified for the output
- Build Systems: Word wrap is enabled by default
- Find in Files: Improved handling of binary files
- Find in Files: Line numbers are hidden in the output
- Find: Find in Selection will no longer be automatically selected
- Find: Removed Reverse option
- OSX: Improved performance on Retina displays
- OSX: 10.7 or later is required
- OSX: 64 bit only
- OSX: System version of Python is no longer a dependency
- OSX: Italic fonts are synthesized when not available in the typeface
- Linux: .deb files are provided
- Linux: Starting from the command line will daemonize the process by default
- API: Upgraded from Python 2.6 to Python 3.3
- API: Plugins run out-of-process
- API: Plugin API is now threadsafe
- API: Some API events are now run asynchronously
- API: begin_edit() / end_edit() are no longer accessible
- API: Projects are exposed to the API
- API: Added window.settings() and window.template_settings()
- API: show_quick_panel accepts an on_highlighted callback