Sublime Text Changelog

What's new in Sublime Text 4 Build 4142

Nov 10, 2022
  • Added syntax-based code folding
  • Various syntax highlighting improvements
  • Newly rewritten Haskell syntax highlighting thanks to deathaxe
  • The recent file list is now global instead of per window
  • Files opened in Sublime Text are now added to the system recent file list (See the "update_system_recent_files" setting)
  • Added commands for converting between common identifier cases (See Edit > Convert Case)
  • Added "hot_exit_projects" setting to control what data gets saved in workspace files
  • Added "minimap_horizontal_scrolling" setting
  • Added "open_tabs_after_current" setting for controlling where tabs are opened
  • Added "show_spelling_errors" and "show_line_column" settings
  • Added "goto_anything_exclude_gitignore" setting
  • Added "ruler_style" setting
  • Reworked comment toggling to better handle embedded languages
  • Sub-word separators are now configurable using the "sub_word_separators" setting
  • Added support for Nordic (Windows 865) encoding
  • Reopening a file now asks for confirmation when there are unsaved changes
  • Improved filesystem symbolic link detection
  • Improved performance while open folders are scanned for the side-bar
  • Improved regex performance for syntax highlighting
  • Find: Patterns taken from an open file are now escaped for regex searches
  • Find in Files: Improved binary file detection for find-in-files
  • Find in Files: Find-in-files now supports project-relative patterns starting with //
  • Find in Files: Added the "find_in_files_max_file_size" setting
  • Syntax Highlighting: Context backtraces now link to their origin in sublime-syntax files
  • Syntax Highlighting: Fixed crash caused by starting a branch point at the end of a line
  • Syntax Highlighting: Fixed various syntax highlighting bugs related to backtracking
  • Rendering: Improved performance with large folded regions
  • Rendering: Fixed OpenGL issue related to the wrong context being active
  • Rendering: Fixed shadow related OpenGL rendering bug
  • Rendering: Fixed region rendering edge case
  • Rendering: Improved performance in files with large diffs
  • Rendering: Fixed various issues with faded labels in the sidebar
  • Rendering: Fixed text annotation underlines not drawing when combined with other font styles
  • Sort Lines no longer includes the newline at EOF when nothing is selected
  • Fixed very large unsaved files being lost on hot exit; a prompt is now shown to save them
  • Fixed extraneous window getting created at startup with hot exit disabled
  • Fixed case where multiple reload prompts could show simultaneously
  • Drag operations are no longer interrupted when reloading a file
  • Fixed case where text in command palette was incorrectly colored
  • Fixed side bar button theming issue in the Default theme
  • Fixed sometimes not being able to type a space after completing a snippet
  • Fixed wrong default extension being used in open file dialog
  • Fixed centered views jumping in some cases when whole content is replaced
  • Fixed scroll jumping when folding
  • Fixed Reveal in Side Bar not working in some cases
  • Fixed scroll bar sometimes showing when text is wrapped
  • Fixed sheets not being added to the current selection in some cases
  • Added missing theming attributes to update dialog
  • Linux: System scroll bar overlay settings are now followed
  • Linux: Fixed various issues caused by the C locale
  • Linux: Added safeguard around nested GTK main loops possibly causing data loss
  • Linux: Fixed case where dragging a tab to a window wasn't working
  • Linux: Fixed crash on startup for some desktop environments
  • Linux: Fixed not being able to grab the scrollbar in a maximized window when at the right edge of the screen
  • Windows: Adjusted for the new Windows 11 window border
  • Windows: Open Containing Folder and similar now respect file explorer replacements
  • Windows: Fixed GDI font glow glyph positioning
  • Mac: Fixed license being removed due to network MAC address changing
  • Mac: Fixed cursor getting stuck as a resize handle on Ventura
  • Mac: Recent files are now available without having a window open
  • Mac: Fixed various issues with the quick switch project dialog
  • Mac: Fixed issue where dialogs could be triggered during dialogs
  • Mac: Fixed case when opening an already open file would jump to the start
  • Mac: Added work around for broken modal loops
  • Mac: Fixed case where settings window couldn't be closed
  • Mac: Fixed open file dialog crash with some syntaxes
  • Mac: Fixed scrolling when command modifier key is pressed
  • Mac: Fixed Window/New Tab not working with the Adaptive theme
  • API: Added buffer variable to the console
  • API: A noop command can now be used for keybindings to block default behavior
  • API: "encoded_position": true may be passed to open_file command for the same behavior as sublime.ENCODED_POSITION
  • API: View.context_backtrace can be used to get a stack trace from syntax highlighting
  • API: View.expand_to_scope now returns None when the text point doesn't match the selector
  • API: Added View.expand_to_scope
  • API: Added Window.promote_sheet
  • API: Fixed crash when running hide_panel command from EventListener.on_deactivated
  • API: The toggle_comment command can now take a variant argument for languages with multiple comment variants

New in Sublime Text 4 Build 4107 (May 24, 2021)

  • The first stable release of Sublime Text 4 has finally arrived! We've worked hard on providing improvements without losing focus on what makes Sublime Text great. There are some new major features that we hope will significantly improve your workflow and a countless number of minor improvements across the board.
  • The first stable release of Sublime Text 4 has finally arrived! We've worked hard on providing improvements without losing focus on what makes Sublime Text great. There are some new major features that we hope will significantly improve your workflow and a countless number of minor improvements across the board.
  • A huge thanks goes out to all the beta testers on discord and all the contributors to our packages.
  • License Changes:
  • Sublime Text license keys are no longer tied to a single major version, instead they are now valid for all updates within 3 years of purchase. After that, you will still have full access to every version of Sublime Text released within the 3 year window, but newer builds will required a license upgrade. These are the same license terms we use for Sublime Merge, and they allow us to deliver more frequent and exciting updates as soon as they're ready, without having to roll them into a new major version.
  • Tab Multi-Select:
  • File tabs have been enhanced to make split views effortless, with support throughout the interface and built-in commands. The side bar, tab bar, Goto Anything, Goto Definition, auto complete and more have all been tweaked to make code navigation easier and more intuitive than ever.
  • Apple Silicon and Linux ARM64:
  • Sublime Text for Mac now includes native support for Apple Silicon processors. Linux ARM64 builds are also available for devices like the Raspberry Pi.
  • Refreshed UI:
  • The Default and Adaptive themes have been refreshed with new tab styles and inactive pane dimming. Themes and Color Schemes support auto dark-mode switching. The Adaptive theme on Windows and Linux now features custom title bars.
  • Context-Aware Auto Complete:
  • The auto complete engine has been rewritten to provide smart completions based on existing code in a project. Suggestions are also augmented with info about their kind, and provide links to definitions.
  • TypeScript, JSX and TSX Support:
  • Support for one of the most popular new programming languages is now shipped by default. Utilize all of the smart syntax-based features of Sublime Text within the modern JavaScript ecosystem.
  • Superpowered Syntax Definitions:
  • The syntax highlighting engine has been significantly improved, with new features like handling non-deterministic grammars, multi-line constructs, lazy embeds and syntax inheritance. Memory usage has been reduced, and load times are faster than ever.
  • GPU Rendering:
  • Sublime Text can now utilize your GPU on Linux, Mac and Windows when rendering the interface. This results in a fluid UI all the way up to 8K resolutions, all while using less power than before.
  • Updated Python API:
  • The Sublime Text API has been updated to Python 3.8, while keeping backwards compatibility with packages built for Sublime Text 3. The API has been significantly expanded, adding features that allow plugins like LSP to work better than ever.
  • Compatibility:
  • Sublime Text 4 is fully compatible with version 3. It will pickup your session and configuration automatically. If you'd prefer however, it is possible to keep things separate.

New in Sublime Text 3.0 Build 3176 (May 14, 2018)

  • Various fixes from 3.1
  • Added ui_scale setting to scale the entire UI, dpi_scale is now Linux-only
  • Linux: Added workaround for a display driver issue, giving significant scrolling improvements for some environments
  • Indexing: Added more information in the Indexing Status window, and reduced CPU utilization in some scenarios

New in Sublime Text 3.0 Build 3170 (May 7, 2018)

  • THEMES/UI:
  • Improved overall High DPI support
  • Added support for 8k monitors and 300% DPI scale
  • Themes can now provide @3x versions of images for very high DPI monitors
  • Improved indent guide positions when using line padding
  • Rulers are drawn with stippled lines
  • Mac: Fixed occasional yellow or black windows when using a theme with a colored title bar
  • Mac: Double-clicking a themed title bar now performs the default system action
  • Mac: Fixed sizing of some dialog windows when a theme uses a themed title bar
  • Mac: Fixed gutter icons sometimes not drawing
  • TEXT RENDERING:
  • Added ligature support for symbols
  • Added font_options for controlling ligatures and stylistic sets
  • Improved rendering and selection of emojis
  • Tab width is now properly measured for proportional fonts
  • GOTO DEFINITION:
  • Added Goto References when hovering over a symbol
  • Added goto_reference command to the Goto menu
  • COLOR SCHEMES:
  • Added new color scheme format, .sublime-color-scheme
  • Add Hashed Syntax Highlighting
  • Added the Celeste color scheme to showcase hashed syntax highlighting
  • Selections now render by default with true rounded corners
  • Added color scheme settings for selection border width, corner style and radius
  • Selection background and border now support alpha channels
  • Improved color scheme reloading
  • Added Convert Color Scheme command
  • Added support for the invisibles key in color schemes
  • selection_foreground can now be specified on a per-scope basis
  • Color Schemes can specify bold and italic in the brackets_options key
  • Improved handling of invalid.deprecated scopes in default color schemes
  • COMMAND PALETTE:
  • New Command Palette implementation that can accept text input from users
  • Fuzzy matching can match terms out of order by space separating them
  • Added new commands Arithmetic, Rename File and View Package File to showcase new features
  • Keyboard shortcut hints are no longer cut off at 15 characters
  • BUILD SYSTEMS:
  • Improve cancellation handling
  • Use /usr/bin/env to locate bash
  • Fix multi-byte encodings sometimes triggering decoding errors
  • Improved exec build target handling of killing child processes
  • FILES AND FOLDERS:
  • Improved handling of symlinks in the sidebar, including additions and removals
  • Symlinks no longer have an expand arrow in the sidebar, but have a Reveal Link Source context menu entry
  • Add support for binary_file_patterns, index_exclude_patterns and index_include_patterns to .sublime-project files
  • index_exclude_patterns and index_include_patterns can now match full paths instead of just filename
  • Mac: Reduced the number of file stats operations
  • Mac: Added support for case-sensitive file systems
  • INPUT:
  • Fixed popup and auto complete windows not showing when the caret is at the leftmost position of a widget
  • Fix left arrow not working in the side bar
  • Fixed not being able to grab the scrollbar by clicking on the rightmost pixels of the window
  • Fix double clicking on the selection not setting input focus when drag_drop is enabled
  • PERFORMANCE:
  • Significantly reduced memory usage related to syntax definitions - using up to 30% less total program memory
  • Improve idle CPU usage
  • Fix a bug where theme animations may continue even after a layer has been hidden, causing excessive CPU usage
  • Mac: Solved increased CPU usage on Macs when a GPU switch occurs while using a theme with a colored title bar
  • API:
  • Added TextInputHandler and ListInputHandler to interact with new Command Palette functionality
  • Added View.style() and View.style_for_scope()
  • Added automatically generated scope names for use with the regions API: region.redish, region.orangish, region.yellowish, region.greenish, region.bluish, region.purplish and region.pinkish
  • Improve View.find() and View.find_all() performance when doing literal matches
  • Expanded ViewEventListener API
  • Fix EventListener.on_activated_async() not being called for views when the editor starts
  • Add ViewEventListener.on_activated() and ViewEventListener.on_activated_async() to be called for views when the editor starts
  • Improve tracebacks for Python in .sublime-package files
  • shell_environment is now ensured to be loaded before plugin_loaded() is called on plugins
  • Plugin commands are now created before plugin_loaded() is run
  • Loaded plugins are now stored in __plugins__ rather than plugins
  • The Python ssl module will now negotiate TLS 1.2, 1.1 or 1.0 with the PROTOCOL_TLSv1 constant
  • Updated Python environment with SQLite 3.22.0, and OpenSSL 1.0.2n
  • MISCELLANEOUS:
  • Fixed being unable to load dictionary files larger than 16mb
  • Fixed an issue where out of memory conditions would trigger a buffer overflow instead of a clean crash
  • Word wrap is turned on by default for the console
  • Added Regex Replace Widget.sublime-settings and Console Input Widget.sublime-settings
  • Fixed a number of bugs that would cause crashes
  • SYNTAX HIGHLIGHTING:
  • Add embed action to .sublime-syntax files for improved syntax nesting
  • Added Git Formats package for Git config files and use as core.editor, with thanks to Ryan Boehning and deathaxe
  • Added stand alone syntax test runner for Linux, allowing for CI testing
  • Various syntax definition errors now include the file name in the message
  • Many syntax highlighting improvements, including significant improvements to:
  • JavaScript, with thanks to Thomas Smith
  • ShellScript, with thanks to Raoul Wols
  • Makefiles, with thanks to Raoul Wols
  • Java, with thanks to lastsecondsave
  • C#, with thanks to keith-hall
  • Markdown, with thanks to keith-hall
  • Python, with thanks to FichteFoll

New in Sublime Text 3.0 Build 3143 (Sep 13, 2017)

  • Refreshed UI theme, including full high DPI support
  • New icon
  • Added alternate theme, Adaptive, that inherits colors from the color scheme
  • Added new color schemes Breakers, Mariana and Sixteen, derived from the excellent work of Chris Kempson and Dmitri Voronianski
  • Added color scheme and theme switchers with live preview via the command palette
  • Windows: Added touch input
  • Linux: Added repositories for apt, yum and pacman
  • Mac: Added Touch Bar support
  • Mac: Support for custom color window title bars on OS X 10.10+
  • Many additions and bug fixes to the theme engine, plus full documentation
  • Significant improvements to Markdown syntax highlighting, with thanks to keith-hall
  • Significant improvements to C# syntax highlighting, with thanks to gwenzek
  • Significant improvements to Java syntax highlighting, with thanks to djspiewak
  • Significant improvements to Python syntax highlighting, with thanks to FichteFoll
  • Significant improvements for R syntax highlighting, with thanks to randy3k
  • Markdown: Improved symbol handling
  • C#: Improved symbol handling
  • Many other syntax highlighting improvements
  • Various bugs with the syntax highlighting engine have been resolved
  • Fixed several crash issues
  • Improved responsiveness when the system is under high CPU load
  • High DPI textures are used on Windows and Linux when the DPI scale is greater than 1.0
  • Improved font selection on all platforms, allowing selection of different weights by name
  • Added setting theme_font_options to control font rendering of UI elements
  • Improved auto indent rules for HTML and PHP
  • Font geometry issues that prevent bold or italics are now printed in the console
  • Fixed flash-of-white that could occur when the auto complete window is closed
  • Disable scroll animation when animation_enabled is false in settings
  • Files can now be renamed when only the case has changed
  • New windows start with an empty find history
  • Find in Files panel now responds to find_all and replace_all commands
  • Various regex handling improvements in the Find panel
  • Fixed text widgets cutting off the bottom pixel of their selection border
  • Fixed an issue with close_windows_when_empty in empty session
  • Fixed empty panes on startup when hot_exit was set to false
  • Fix Open Containing Folder on Windows with a folder containing a comma
  • Fix multi-cursor pasting when clipboard contains one or more full lines
  • Prevent UNC paths from being mangled by edit_settings
  • Prevent a crash when a malformed regex is used in indentation settings
  • Improved rendering performance with a large number of gutter icons
  • Gutter icons are now sized properly on Windows and Linux high DPI screens
  • Improved sidebar performance when folders contain many thousands of files
  • Improved inline error message style
  • Fixed an issue where multiple indexing status windows could be shown
  • Windows: Font rendering defaults to DirectWrite unless using Consolas or Courier New
  • Windows: Added support for no_antialias font option when using DirectWrite
  • Windows: Improved touch pad scrolling
  • Windows: Improved file change detection robustness
  • Windows: Improved font selection logic
  • Windows: Fix ctrl+` shortcut for UK (ISO) keyboards
  • Windows: Improved fallback font handling in UI elements
  • Windows: The subl executable on OS X and plugin_host.exe on Windows are now signed
  • Windows: sublime_text.exe now has CompanyName set in VERSIONINFO
  • Mac: Handle layout changes due to macOS Sierra tabs
  • Mac: Improved default web browser detection
  • Mac: OS X 10.11 and macOS 10.12+ default to using San Francisco for the UI font
  • Mac: Fixed file change notifications from freezing UI on macOS Sierra
  • Mac: the user's default shell is executed and environmental variables are set in the plugin Python environment
  • Linux: Update X11 selection on clipboard every time selection changes
  • Linux: Improved MOD3 modifier key handling
  • minihtml: Added support for borders
  • minihtml: Respects font_options from the settings
  • minihtml: Fixed layout of html popups on Windows and Linux under High DPI
  • minihtml: Fixed crash when doctype is present
  • minihtml: Fixed a crash from non-existent CSS vars
  • minihtml: Fixed a crash triggered by bad image paths
  • API: Add View.text_to_window() and View.layout_to_window()
  • API: All API functions now accept and return device-independent-pixels
  • API: Fixed input panel not running on_cancel when re-showing the input panel
  • API: Fixed selector scoring with the & operator
  • API: Fixed a bug causing incorrect phantom contents
  • API: Fixed crash in Window.set_view_index()
  • API: Updated OpenSSL to 1.0.2k, SQLite to 3.16.02

New in Sublime Text 3.0 Build 3126 Beta (Sep 24, 2016)

  • Added Indexing Status to the Help menu to give more information about what the indexer is doing
  • Fixed a compatibility issue with some third party syntax definitions that include JavaScript.sublime-syntax
  • Reduced the default number of worker processes used for indexing. This can be manually controlled via the index_workers setting
  • API: Updated OpenSSL to 1.0.2i

New in Sublime Text 3.0 Build 3124 Beta (Sep 22, 2016)

  • Settings now open in a new window, with the default and user settings side-by-side
  • Hovering over a symbol will show a popup indicating where it's defined. This is controlled with the show_definitions setting.
  • Build errors are now shown inline at the location where they occurred. This is controlled with the show_errors_inline setting.
  • Added a menu item and command palette entry to install Package Control
  • Various syntax highlighting improvements
  • Significant improvements to the Scala syntax definition, with thanks to djspiewak and gwenzek
  • Significant improvements to the LaTeX syntax definition, with thanks to randy3k
  • Improved Goto Definition performance when a large number of files are open
  • Minor improvements to file load times
  • Linux and OSX: Improved memory usage
  • Fixed Replace not working as expected in conjunction with regex look behinds
  • Fixed build systems being unable to use "file_patterns" with the exec command
  • Corrected tab overlap on HiDPI Windows and Linux configurations
  • OSX: Fixed a graphical glitch when switching tabs
  • OSX: Fixed crash when entering a surrogate pair via hex input
  • Linux: Improved rendering performance for some systems
  • File encoding of open files is now stored in the session
  • Build Systems may define a cancel command using the "cancel" key
  • Syntax: Added clear_scopes directive, to give more control over the generated scopes
  • Color Schemes: Added popupCss key, for defining default popup style sheets
  • Color Schemes: Added phantomCss key, for defining default phantom style sheets
  • minihtml: HiDPI support was added for Windows and Linux
  • minihtml: Windows style line endings and single quoted attributes are now supported
  • minihtml: Child selectors may now be used in style sheets
  • minihtml: The inherit CSS value has been implemented
  • minihtml: font-family stacks may now be used
  • minihtml: Support for the line-height CSS property was added
  • minihtml: Elements may now be relatively positioned
  • minihtml: Inline elements support padding and background-color set
  • minihtml: CSS variables and the var() function are now supported
  • minihtml: Added the CSS color functions color() (partial), rgb(), rgba(), hsl() and hsla()
  • minihtml: Fixed a stack overflow on Windows with too many unclosed tags
  • API: Added Phantom and PhantomSet
  • API: Added ViewEventListener
  • API: Added View.is_primary()
  • API: Added EventListener.on_hover(view, point, hover_zone)
  • API: Added functions to get and set visibility of the minimap, status bar, tabs and menu
  • API: Modifications to a selection are now constrained to the valid range
  • API: Updated Python 3.3 to commit 8e3b9bf917a7, and SQLite to 3.14.1
  • Packages: Loading packages will no longer abort if a .sublime-package is corrupt
  • Packages: Fixed an edge case when loading third party packages from unicode paths on Windows

New in Sublime Text 3.0 Build 3114 Beta (May 13, 2016)

  • New C++, JavaScript and Rust syntax definitions with improved accuracy and performance
  • Many other syntax highlighting improvements
  • OSX: Improved rendering performance, especially on high resolution screens
  • Improved word wrap behavior
  • Improved spell check behavior
  • Improved file indexing behavior with multiple windows open
  • Themes may now be switched on the fly without artifacts
  • HTML: Pressing enter when between a tag pair will increase indentation
  • Some snippets have have been moved into a sub-directories, so custom overrides and key bindings that reference them will need to be updated
  • show_scope_name command shows the scope in a popup
  • Package Development: Added 'Syntax Tests - Regex Compatibility' build variant for evaluating syntax definition performance
  • Package Development: Expanded the set of regexes the new regex engine is able to handle
  • Syntax Definitions: Fixed some cases where pop matches with back references weren't working correctly
  • Fixed some Unicode handling issues in Goto Anything
  • Fixed a scenario where changes to .tmPreferences files weren't being picked up
  • Fixed a 3096 rendering performance regression
  • Fixed a 3096 regression in regular expressions when using \x{nnnn} escapes
  • Fixed a crash that could occur with an invalid result_file_regex settings
  • API: Added window.status_message
  • API: Changes to how plugins are loaded. This should be transparent, but resolves a number of corner cases
  • API: Updated to Python 3.3.6, and now includes the _ssl module on Linux, plus sqlite3 and bz2 on all platforms
  • API: Updated OpenSSL to 1.0.2h

New in Sublime Text 3.0 Build 3103 Beta (Feb 9, 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"

New in Sublime Text 3.0 Build 3095 Beta (Sep 12, 2015)

  • Incorporates further changes to the provided packages

New in Sublime Text 3.0 Build 3083 Beta (Mar 27, 2015)

  • Fixed high CPU usage caused by a corrupt index. This was 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

New in Sublime Text 3.0 Build 3080 Beta (Mar 24, 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 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
  • 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

New in Sublime Text 3.0 Build 3065 Beta (Mar 24, 2015)

  • 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

New in Sublime Text 3.0 Build 3059 Beta (Dec 18, 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

New in Sublime Text 2.0.2 Build 2221 (Jul 8, 2013)

  • Removed expiry date
  • Backported various fixed from Sublime Text 3
  • Improved minimap click behavior. The old behavior is available via the minimap_scroll_to_clicked_text setting
  • Added copy_with_empty_selection setting, to control the behavior of the copy and cut commands when no text is selected

New in Sublime Text 3.0 Build 3047 Beta (Jul 1, 2013)

  • Beta is now open to non-registered users
  • 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
  • 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

New in Sublime Text 3.0 Build 3033 Beta (May 10, 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

New in Sublime Text 2.0.1 Build 2217 (Jul 14, 2012)

  • Keyboard input while dragging a selection will cancel the drag
  • Improved backspace behavior when use_tab_stops and translate_tabs_to_spaces are true
  • Improved shift+drag behavior
  • Improved double click drag select behavior
  • About Window shows the license key details
  • Fixed a Goto Anything issue where pressing backspace could scroll the overlay incorrectly
  • Fixed a crash triggered by double clicking in the Goto Anything overlay
  • Fixed incorrect window position when dragging a tab in some scenarios
  • Added missing toggle_preserve_case command
  • word_wrap setting accepts "true" and "false" as synonyms to true and false
  • OSX: Fixed System Preferences menu not working

New in Sublime Text 2.0 Build 2210 (Jun 26, 2012)

  • OSX: Added Retina display support
  • Added "Quick Skip Next", on Command+K,Command+D / Ctrl+K,Ctrl+D
  • Added text drag and drop
  • Reloading a file maintains the selection
  • OSX: Find uses the system find pasteboard
  • OSX: Added support for the ODB Editor Suite
  • Theme: Added support for the highlight_modified_tabs setting
  • Added setting show_full_path, to control if the full path is shown in the window title
  • Added setting bold_folder_labels
  • OSX: Bundle is signed in preparation for Mountain Lion
  • OSX: Added scroll bar support for the "Jump to the spot that's clicked" system preference
  • OSX: Added create_window_at_startup setting
  • OSX: Folders accessed via symlinks are monitored for changes
  • OSX: Fixed Lion press-and-hold inserting two characters
  • Windows: Installer is signed
  • Windows: Directory scanning makes use of inodes where available
  • Windows: Files are opened with the FILE_SHARE_DELETE share mode
  • Windows: Fixed a regression in command line handling with network paths
  • Windows and Linux: Tweaked command line handling when Sublime Text isn't already running
  • Linux: Tweaked handling of the Primary selection
  • Linux: GTK is loaded at runtime, removing any dependency on specific libpng versions
  • Linux: Fixed occasional jittering with the auto complete window
  • Linux: Fixed a directory watching issue
  • Linux: Sub-folders within the syntax menu on the status bar work as expected
  • Linux: Show Completions has changed from ctrl+space to alt+/, to not interfere with IMEs
  • Reworked CSS completions
  • Improved Toggle Comment for HTML and CSS
  • Added Open in Browser context menu for HTML files
  • Saving a file now calls fsync to ensure the data is written to disk
  • Added support for file_include_patterns and folder_include_patterns in projects
  • Find in Files can exclude directories using "-some_path/" syntax
  • Added BOM variants to the Save with Encoding menu
  • Added setting preview_on_click
  • Improved Indentation Detection
  • ASCII control codes are rendered in a different style
  • Auto complete and tool tips say within the screen boundaries
  • Double clicking in the tab header area will create a new tab
  • Delete Folder will prompt before moving the folder to the trash
  • Double clicking on whitespace will select only whitespace
  • Theme: Added 'expandable' attribute to tree_rows, enabling folders to be styled differently
  • Theme: Tweaked quick panel to better indicate the selected item
  • Disabling find result highlighting will also disable find-as-you-type in the Find panel
  • Pressing escape in the incremental find panel will set the selection to the search start point
  • Extended behavior of home and end keys on word wrapped lines
  • Changes in file name case are detected in the side bar
  • Fixed save_on_focus_lost causing Goto Anything to not show if the current file has unsaved changes
  • Fixed folders not being added to the recent folders list
  • Fixed rendering of active indent guides
  • Fixed pasting file:line expressions into the Goto Anything panel
  • Invalid key names in keymap files will are logged to the console
  • Build Systems: Added variants
  • Build Systems: Improved debug output of the exec command when the target isn't found
  • Build Systems: Added show_panel_on_build setting
  • Build Systems: Build times are reported
  • Build Systems: Exit code is reported, if it's non-zero
  • Build Systems: Improved output panel height serialization
  • Build Systems: Canceling a build will terminate rather than kill the process
  • Vintage: Added backspace motion (thanks mrannanj)
  • Vintage: Improved quote text object (thanks Guillermo)
  • Vintage: Added Ctrl+U and Ctrl+D (thanks misfo)
  • Vintage: 'vintage_use_clipboard' forces pasting from system clipboard too (thanks Guillermo)
  • Vintage: Fixed motions with "0" in them for actions (thanks bengolds)
  • Vintage: Visual mode I and A (thanks misfo)
  • Vintage: Added vintage_use_clipboard setting to yank to the system clipboard (thanks Guillermo)
  • Vintage: Tweaked behavior of cw and cW when the caret is in whitespace (thanks misfo)
  • Vintage: Added bindings for moving the group focus up, down, left, right (thanks misfo)
  • Vintage: Paste accepts a repeat count (thanks misfo)
  • Vintage: Added bindings for u and U in visual mode, to change the case of the selection and exit visual mode (thanks quarnster)
  • Vintage: Macro replay accepts a repeat count (thanks zbuc)
  • Vintage: r processes lines individually (thanks Guillermo)
  • Vintage: Tweaked % behavior (thanks misfo)
  • Vintage: Fix bug that caused deletes to erroneously left_delete (thanks misfo)
  • Vintage: Fix EOF behavior with linewise changes (thanks misfo)
  • Vintage: Ignoring a and i when in visual mode (thanks Guillermo)
  • Vintage: cc and S take counts (thanks misfo)
  • Vintage: Correctly shrink selections when reversed (thanks misfo)
  • Vintage: Added vap (thanks behrends)
  • API: Added sublime.message_dialog()
  • API: Added sublime.ok_cancel_dialog()
  • API: Added Command.is_checked() to support checkbox menu items
  • API: Added sublime.log_result_regex()

New in Sublime Text 2.0 Build 2181 Beta (Feb 22, 2012)

  • New Icon, by The Iconfactory
  • File and Global settings have been combined into a single settings file
  • Selecting a word will highlight other occurrences. This can be controlled with the match_selection setting
  • Reworked text rendering for improved quality
  • Improved automatic indentation. It now uses bracket matching to better determine indentation
  • Added setting indent_to_bracket and smart_indent, to customize automatic indentation
  • Auto Complete is less intrusive
  • Renaming a file via the side bar will rename any open files
  • Improved folder scanning performance on huge directory trees
  • Untitled files have their name set automatically from the first line of the file. The can be controlled with the set_unsaved_view_name setting
  • Ruby: #{} is expanded when # is entered in a string
  • Folder names are shown in the window title if no project is open
  • Folders in projects are stored with relative paths
  • Added Save with Encoding
  • Spelling errors are indicated with an underline only, the foreground color of the text is no longer changed
  • Added no_bold and no_italic font options
  • Added margin setting, to control the size of the gutter
  • Key bindings for Goto Anything, Save, etc will work if a panel has input focus
  • "Open all with current extension as" handles filenames without extensions
  • Fixed an auto complete display issue
  • Fixed find_under_expand not setting whole_word correctly
  • Fixed Paste and Indent adding unwanted whitespace when pasting within a line
  • Fixed a minor compatibility issue with .tmLanguage files
  • Fixed a tab dragging issue on OS X and Windows
  • OS X: Tweaked sub-pixel positioning to match TextEdit and Terminal. The previous behavior is available via the no_round font option.
  • OS X: Open File and Open Folder have been combined into a single Open menu item
  • OS X: Control+Option+Left/Right will move by sub words, in the same manner as Control+Left/Right
  • Windows: Default font is now Consolas
  • Windows: Improved text rendering quality when using Direct Write
  • Windows: Added support for --wait
  • Windows: Added support for drive letter relative paths passed on the command line
  • Windows and Linux: Added key bindings for ctrl+shift+backspace/delete
  • Linux: Added a workaround for a glibc bug when MALLOC_CHECK_ is defined
  • Linux: Pango is used for font rendering, improving support for CJK text
  • Vintage: Escape cancels current input (thanks fjl)
  • Vintage: Pasting over visual mode selections works as expected (thanks misfo)
  • Vintage: Linewise changes set indentation (thanks misfo)
  • Vintage: Linewise motions work as expected (thanks misfo)
  • Vintage: c, C, s and S update registers (thanks misfo)
  • Vintage: Tweaks to G and gg (thanks guillermooo)
  • Vintage: Added zt and zb (thanks djjcast)
  • Vintage: Added gq (thanks orutherfurd)
  • Plugin initialization time is reported in the console at startup
  • API: Tweaked module importing
  • API: Added window.find_open_file(file_name)
  • API: Added sublime.run_command()
  • API: Added view.unfold([regions])
  • API: Added view.folded_regions()

New in Sublime Text 2.0 Build 2165 Beta (Jan 12, 2012)

  • Theme: New UI theme, by Mike Rundle
  • Added support for bold and italic font styles
  • Speed: Improved startup time
  • Speed: Optimized memory usage
  • Speed: Improved font glyph rasterization speed
  • Rearranged the menu, making important features are easier to locate
  • Auto complete: Completion menu is shown automatically. This is configurable with the auto_complete file setting
  • Auto complete: Tab can be used instead of enter to accept the current completion, by using the auto_complete_commit_on_tab file setting
  • Auto complete: Many quality improvements
  • Tab Completion: Pressing tab multiple times will cycle through the available completions
  • Added reopen_last_file command, bound to Command+Shift+T / Ctrl+Shift+T
  • Deleting files via the side bar will send them to the trash, rather than deleting them outright
  • Improved behavior when hot_exit and remember_open_files are false
  • Color schemes and syntax definitions are reloaded on the fly
  • Paste and Indent will now do the right thing in more circumstances
  • save_on_focus_lost won't save if the underlying file has been deleted
  • Added key binding for replace_next
  • slurp_find_string will set the whole_word flag based on if the selection is empty
  • Added file setting move_to_limit_on_up_down. This is enabled by default on OS X.
  • Shift+Drag will set the active end of the selection as expected
  • Clicking on a tab will always give the relevant sheet input focus
  • Simplified indent guide settings, and disabled active indent guide drawing by default. The indent_guide_options file setting can be used to change this
  • Improved minimap dragging
  • increase_font_size command will allow sizes up to 128pt
  • Changed how the toggle argument to show_panel is handled
  • Files with colons in their names may be opened from the command line
  • Fixed handling of selectors with extraneous '.' characters
  • File Encoding: Added default_encoding setting
  • File Encoding: Added Hexadecimal encoding, for basic editing of binary files. This is controlled with the enable_hexadecimal_encoding global setting
  • Projects: Folders may be given a name attribute, to change how they're displayed
  • Projects: Exclude patterns may include paths, for example: file_exclude_patterns: ["tmp/*.cc"]
  • Projects: .sublime-project files passed on the command line will be opened as projects, without --project being required
  • Projects: Folder paths with trailing slashes are supported
  • Projects: Fixed folder_exclude_patterns not being serialized correctly in project files
  • OS X: Prompting for elevated privileges when saving protected files
  • OS X: Double clicking on a .sublime-project file in Finder will open it in Sublime Text
  • OS X: Control clicking on a tab will show the context menu
  • OS X: Increased default font size
  • OS X: Fixed an issue that opened additional empty windows when using the command line helper
  • Linux: Fixed an issue with tab dragging
  • Vintage: Column is maintained when moving between lines
  • Vintage: == reindents current line (thanks Gordin)
  • Vintage: Added ZZ (thanks Guillermooo)
  • Vintage: Added X command (thanks misfo)
  • Vintage: Added _ command (thanks redjohn)
  • Vintage: Added ~ (thanks misfo)
  • Vintage: r,enter is supported (thanks misfo)
  • Vintage: Added various Ctrl+W, bindings for layout control (thanks Gordin)
  • Vintage: Added various z, bindings for folding (thanks Gordin)
  • Vintage: _ accepts a count (thanks guillermooo)
  • Vintage: Ctrl+C is a synonym for escape on OS X(thanks sugarcoded)
  • Vintage: dw works as expected at EOL
  • Vintage: Fixed an issue with the zz key binding (thanks Bradley Priest)
  • API: Plugins have a finite time to respond to events before users will be issued a warning indicating the slow plugin
  • API: Added sublime.log_input()
  • API: Added view.encoding() and view.set_encoding()
  • API: Added view.line_endings() and view.set_line_endings()
  • API: Added view.viewport_position() and view.set_viewport_position()
  • API: Added view.viewport_extent() and view.layout_extent()
  • API: Added view.text_to_layout() and view.layout_to_text()
  • API: Added view.line_height() and view.em_width()
  • API: Added window.active_view_in_group(group)
  • API: Added window.views_in_group(group)
  • API: Added window.get_layout() and window.set_layout()
  • API: Added window.get_view_index() and window.set_view_index()
  • API: settings.has() now works as expected
  • API: on_query_completions results may have a tab embedded in their descriptions, to delimit help text

New in Sublime Text 2.0 Build 2139 Beta (Nov 2, 2011)

  • Added Replace in Files functionality to the Find in Files panel
  • Find in Files panel now has a single "Where" field, combining the previous "In Files" and "In Location" fields
  • Added fold buttons to the gutter. They can be customized with the fold_buttons and fade_fold_buttons file settings
  • Added keyboard navigation to the side bar
  • Re-added and improved side bar expand / collapse animations. This can be controlled with the tree_animation_enabled global setting
  • Alt clicking a folder in the side bar will expand it and all its children
  • The reindent command can be used to reformat selected lines, via the Edit/Line/Reindent menu item
  • Improved startup time in some scenarios
  • OSX: Menu items flash when triggered with a key binding
  • OSX: Improved open file behavior when no windows are currently open
  • OSX: Command+Right Delete will delete to EOL
  • OSX: Tweaked click-through behavior
  • OSX: Fixed opening an already open file from Finder with open_files_in_new_window enabled creating a new window
  • Windows and Linux: Ctrl+Scroll Wheel will change the font size
  • Ctrl+F will select the find pattern when the find panel is already open
  • The show_panel command now accepts a toggle parameter, which is false by default. The previous behavior was to always toggle
  • Pressing escape while dragging a scroll bar will cancel the scroll
  • Fixed a Ctrl+D/Super+D regression, where wrapping at EOF wasn't handled correctly
  • Fixed a Find in Files regression where unsaved files couldn't be opened from the Find Results buffer
  • Fixed a crash that could occur when trying to drag a closed panel
  • Fixed a rare crash that could occur after moving a file between windows
  • Vintage: Added '=' action to reindent
  • Vintage: 'o' in visual mode will reverse the selection direction (by Guillermo)
  • Vintage: Added support for the "'" key to go to bookmarks (by Guillermo)
  • Vintage: Escape will exit visual line mode, instead of changing to visual mode
  • Vintage: Added gf (by Guillermo)
  • Vintage: Added z. and z,enter (by Guillermo)
  • Vintage: Added zz (by Johnfn)
  • Vintage: Added "{" and "}" motions (by Johnfn)
  • Vintage: Fixed a regression with escape in 2126, causing it not to exit from visual mode
  • API: window.run_command() will run text commands, dispatching them via input focus
  • API: hide_auto_complete is safe to call from on_modified

New in Sublime Text 2.0 Build 2126 Beta (Sep 28, 2011)

  • Hot Exit is now the default, and configurable via the hot_exit global setting
  • Added Code Folding, see the Edit/Coding Folding menu for details. More folding options will be added in the future.
  • Find in Files results are colored for better visibility
  • Matching tags are highlighted
  • Improved word wrapping of source code: extra indentation is now added on wrapped lines
  • Added global setting highlight_modified_tabs to better indicate tabs with unsaved changes
  • Goto Anything: Improved ranking accuracy on repetitive file paths
  • Goto Anything: Files are now displayed in most recently used order, and shown by default
  • Side Bar: The side bar will auto hide if open files aren't shown, and there are no open folders
  • Side Bar: Disabled animation on expand/collapse
  • Side Bar: Headings are no longer indented
  • Side Bar: Clicking on a folder will expand or collapse it, rather than selecting it
  • Side Bar: Open files are now hidden by default
  • Side Bar: The current file is highlighted in both the Open Files and Open Folders sections, if present
  • Side Bar: Folders will be expanded by default
  • The find highlight outline color now has a better default, and is configurable via the highlight key in the color scheme
  • Ctrl+F3 (Option+Command+G on OS X) will search by whole words if the selection is empty
  • Ctrl+D (Command+D on OS X) will search by whole words if the selection is initially empty
  • Find All no longer disables the "In selection" flag
  • Find Preview will not be shown if finding for "." in regex mode
  • Find Next Using Selection unsets the reverse flag
  • Find in Files accepts relative paths
  • Projects: File names in workspaces are stored with relative paths
  • Projects: Fixed project specific settings persisting when the project is closed
  • Indent Guides: Fixed solid indent guides not rendering crisply with sub-pixel glyph positioning
  • Indent Guides: Fixed indent guide rendering and word wrapping in conjunction with Perl syntax highlighting
  • Ctrl+Tab will only cycle between files in the current group
  • Improved undo grouping logic, so the amount of typing undone is more predictable
  • Added Expand Selection to Indentation (Command+Shift+J on OS X, and Ctrl+Shift+J on Windows and Linux)
  • Expand Selection to Tag will handle unclosed tags
  • OSX: Clicking on a background window will bring it to the front only, and not change the selection
  • OSX: Sequential key bindings are displayed in the menu
  • OSX: Ctrl+Delete will delete by sub words
  • OSX: Added workaround for Core Text crashing on invalid unicode code points
  • OSX: Killing the subl process while waiting for files to be closed no longer causes problems for the application
  • OSX: Fixed dictionary lookups being offset
  • Linux: Ctrl+Q is bound to quit
  • Fixed rot13 tripping up on non-ascii characters
  • Vintage: Find no longer selects the found text
  • Vintage: Arrow keys, page up/down and home/end act as motions
  • Vintage: All Ctrl key bindings are now enabled only if the vintage_ctrl_keys setting is true, which is the default for OS X, but not Windows and Linux.
  • Vintage: Ctrl+[ is now an alias for escape (if vintage_ctrl_keys is enabled)
  • Vintage: Added Ctrl+E and Ctrl+Y, to scroll up/down by lines, if vintage_ctrl_keys is enabled.
  • Vintage: I will insert at the first non-whitespace character on the line (thanks Trent)
  • Vintage: Added ga (thanks Guillermo)
  • Vintage: Improved H, L and M motions (thanks Guillermo)
  • Vintage: 1G and G are distinguished
  • Theme: Tabs with modified files now have a "dirty" attributes that can be used in selectors
  • Theme: Added key indent_top_level for the sidebar_tree class
  • API: Added view.fold() and view.unfold()

New in Sublime Text 2.0 Build 2111 Beta (Sep 2, 2011)

  • Added indentation guides. These may be disabled with the draw_indent_guides setting
  • Added syntax, indentation, and spell checking information to the status bar
  • Added Vintage mode, for vi key bindings in Sublime Text 2
  • Added Expand Selection to Tag (Command+Shift+A on OS X, and Ctrl+Shift+A on Windows and Linux)
  • Added Close Tag (Command+Alt+. on OS X, and Alt+. on Windows and Linux)
  • Projects are now stored in two files: .sublime-project (user editable, can be checked into version control) and .sublime-workspace (containing the session state). Existing project files will be converted on load.
  • Projects: Folders in projects may be given file_exclude_patterns and folder_exclude_patterns
  • Projects: Per-project file settings may be specified in the .sublime-project files
  • Projects: Build systems may be specified within .sublime-project files
  • Projects: Open Project and Recent Projects open the project in a new window
  • Added File/Open Folder, to open a folder in a new window. These entries will appear in the Open Recent list.
  • Passing folders on the command line will open them in a new window by default
  • Shift+Tab will always unindent when the caret is at the beginning of the line
  • Tweaked Delete Word
  • Tweaked behavior of up/down with non-empty selections
  • Build is now bound to Ctrl+B Windows and Linux (Command+B on OS X, as it was previously). F7 is also bound to build on all platforms.
  • Toggle Side Bar is now bound to Command+K, Command+B on OS X, and Ctrl+K, Ctrl+B on Windows and Linux
  • Added the ability to hide the open files section on the side bar, via the View/Side Bar menu
  • Added global setting close_windows_when_empty, to close windows as soon as the last file is closed. This is enabled by default on OS X
  • Find and replace panels operate via commands, and indicate the relevant key bindings on the buttons
  • Updated C syntax highlighting
  • Updated Bash highlighting
  • fallback_encoding is respected by Find in Files
  • The copy command is now recorded in macros
  • Resolved a syntax highlighting issue in contentName handling
  • Fixed a crash that could occur with replace in selection
  • Fixed an issue that could result in an incorrect scroll range when scroll_past_end is enabled
  • Fixed incorrect tab positions in some circumstances
  • Fixed an issue that could erroneous carets in the replace panel
  • Middle clicking on tab close buttons is no longer ignored
  • OS X: Fixed Quit not quitting until the next input event
  • Windows: Fixed delay when opening multiple files from Explorer
  • Windows: Fixed Open Containing Folder for files in root directories
  • Linux: Hid the window resize grip on Ubuntu
  • API: Added Command.description()
  • API: Added sublime.score_selector(scope, selector)
  • API: Added view.score_selector(point, selector)
  • API: Added view.find_by_selector(selector)
  • API: view.scope_name() now returns scope components in the expected order. view.syntax_name() is still available for compatibility.
  • API: Added sublime.get_macro()
  • API: Added sublime.MONOSPACE_FONT option for the quick panel
  • API: If a plugin module has a top level function called unload_handler, it'll be called when the plugin is reloaded or unloaded.
  • API: Fixed a crash when reloading plugins while threads are active
  • API: API functions better handle null windows

New in Sublime Text 2.0 Build 2095 Beta (Aug 3, 2011)

  • Improved labeling in Preferences menu
  • Added context menu key support (alt+F2 in OS X)
  • Files opened from the command line use the last active window on any virtual desktop, rather than only looking on the current virtual desktop
  • OSX: Sub-pixel glyph placement is disabled when rendering without anti-aliasing
  • Windows without open files now display the project name
  • Fixed a scenario where tabs would be incorrectly positioned
  • Fixed a scenario where Jump to Matching Bracket could cause the carets to not update
  • Changed Preferences menu mnemonic from 'r' to 'n', to remove a conflict with the find panel
  • Dialogs now accept both the normal enter/return key and the one one the keypad
  • OSX: Fixed a crash when closing a window in full screen mode
  • OSX: Fixed a scenario that could result in carets not blinking after toggling full screen
  • OSX: Fixed multi-character key bindings that don't use modifiers
  • OSX: Updated keyboard handling to support the 'Dvorak - Qwerty Command' keyboard layout
  • OSX: Fixed a rare crash bug crash when redrawing the minimap
  • OSX: Updated .dmg file with a symlink to /Applications
  • API: Fixed a crash when calling view.run_command("save") on a background view
  • API: Added view.command_history()
  • API: Added Settings.add_on_change() and Settings.clear_on_change()

New in Sublime Text 2.0 Build 2091 Beta (Jul 29, 2011)

  • OSX: Text layout uses sub-pixel positions
  • OSX: Added support for OS X 10.7 style scroll bars (over-bounce is not yet implemented)
  • OSX: Added support for Lion style full screen
  • Linux: Sub-pixel anti-aliasing is enabled by default
  • Carets blink by default (can be changed with the caret_style file setting).
  • Files with the same name, but different directories, now have unambiguous labels in the side bar and tabs
  • New windows are created with the settings and size of the previous window. This supersedes the new_window_settings.
  • duplicate_line will operate on non-empty selections, duplicating the selection
  • Added global setting show_tab_close_buttons
  • Added Reveal in Side Bar context menu item
  • Added Tools/New Snippet menu item
  • Added menu items for syntax specific settings and distraction free settings
  • Fixed performance issues with SQL and JavaScript syntax highlighting on files with long lines
  • shellVariables values specified in .tmPreferences files are available to snippets, fixing many Rails snippets.
  • OSX: Changed key bindings for Find, Replace and Full Screen to match Lion defaults
  • OSX: Files and folders dropped onto the dock icon will be opened in a new window by default
  • OSX: Command+Alt+O will toggle overwrite mode
  • OSX: Command+, will open the user file settings
  • OSX: Initial support for input methods
  • Dropped files will be opened in the pane they're dropped on
  • Added global setting binary_file_patterns, to exclude files from Goto Anything and Find in Files
  • Commands may be passed as arguments via --command
  • Enabling scroll_past_end in Distraction Free.sublime-settings
  • Line highlights are disabled by default
  • Improved scrolling logic when working with cloned files, and resizing word wrapped files
  • Improved behavior of page up / page down
  • Improved Toggle Comment behavior on empty selections for languages without line comments
  • Find in Files: 'Use Buffer' is now selected by default
  • "New Folder" menu item can create multiple folders at once
  • Panel heights are stored in the session
  • Goto Symbol is able to display symbols with forward slashes
  • Fixed scenario where characters with a background color could be drawn clipped
  • Fixed a scenario that could result in Goto Anything rows appearing in the wrong location
  • OSX and Linux: Fixed reading and writing of UTF-16 encoded files
  • OSX and Linux: Select Folder dialogs allow multiple selection
  • OSX: Fixed not being able to click on the auto complete window
  • Fixed Goto Line not updating the status bar
  • Fixed Goto Symbol not updating the status bar
  • Linux: Improved redraw performance
  • Windows: Save As dialog will prompt to overwrite files
  • Windows: Fixed a scenario where the update notification dialog could be missed
  • Using a bullet, rather than an asterisk, to indicate dirty files
  • Theme: Tab labels fade rather than elide, and are better positioned to make use of available space
  • Theme: Images are reloaded on the fly
  • Theme: Added a 1px border to the right of the side bar
  • Theme: Added new classes sidebar_container, overlay_control and sheet_container_control
  • Theme: Minimap viewport color is themeable, via the minimap_control class
  • Theme: Theme specific widget settings are now used, via Widget - .sublime-settings
  • Theme: Buttons now use standard label controls for their text
  • Theme: Label controls now have properties font.face, font.size, font.bold, font.italic, shadow_color and shadow_offset
  • Theme: Layers now have a repeat property
  • Theme: Controls that used to use 'background_color' now use layers instead
  • API: Added window.views()
  • API: More strictly enforcing the main thread only usage restriction
  • API: show_input_panel() will run its callbacks at a time when they're able to show panels and overlays
  • API: Changed handling of on_query_completion results with an empty trigger
  • API: Added window.hwnd() (Windows only)

New in Sublime Text 2.0 Build 2076 Beta (Jul 1, 2011)

  • Relabeling from Alpha to Beta
  • Added Command Palette (Windows and Linux: Ctrl+Shift+P, OSX: Command+Shift+P)
  • Added Distraction Free mode (accessible via View/Enter Distraction Free Mode)
  • Selected text is rendered with syntax highlighting, unless the color scheme specifies a selectionForeground key
  • Added a progress bar when loading files
  • OSX: Distributing as a universal binary, with 64 bit and 32 bit support
  • Added a key binding to wrap the selection in a tag (Windows and Linux: Alt+Shift+W, OSX: Ctrl+Shift+W)
  • Monokai is now the default color scheme, rather than Monokai Bright
  • Added a File/Close All menu item
  • Folders may now be dropped anywhere on the window, not just on the side bar
  • Improved selection and line highlight rendering
  • Selection border color can be customized in .tmTheme files with the selectionBorder key
  • Find highlight color will default to yellow if a color scheme doesn't specify one
  • Added encode_html_entities command (accessible via the Command Palette)
  • Added rot13 command (accessible via the Command Palette)
  • Added shift_tab_unindent setting, to force shift+tab to unindent even without a multi-line selection
  • Added setting ensure_newline_at_eof_on_save
  • Increased search limit for the Jump to Matching Bracket command
  • Improved auto-indent behavior in the face of mixed indentation
  • Improved toggle block comment on an empty selection
  • Tweaked auto-pairing rules
  • Fixed Add Line Before adding indentation on lines where there should be none
  • Fixed issue when using Find/Replace with back references and a reversed search direction
  • JavaScript: Added support for node.js shebangs
  • Improved the HTML completions for link and style
  • Shell Script: Fixed file type associations
  • Added Toggle Comment support for YAML
  • Fixed shutdown not proceeding while folders are being scanned
  • Fixed spell checking for words with non-ascii prefixes or suffixes
  • Fixed a quirk when using Goto Anything, typing, and then clearing the text box
  • Fixed the minimap initially showing at the wrong size on new files
  • Fixed a scenario where the label and close button on a tab would be in the wrong spot
  • Fixed a rare crash that could occur after closing a file, then changing layout
  • Windows: Improved support for menu hiding
  • OSX: Changed the color space used for rendering
  • Linux: Fixed an issue that could cause the status bar not to show at startup
  • Linux: Changed Python compiler settings, to enable loading of compiled python extensions, and importing the hashlib module
  • Build Systems: Current directory when building will default to the file's directory if none is specified in the build system
  • Build Systems: result_line_regex may specify a column and message (using the 2ed and 3rd capture groups)
  • insert_snippet command: extra arguments passed to the command will be forwarded onto the snippet
  • The auto_complete command now takes an optional disable_auto_insert argument
  • API: Added window.show_quick_panel()
  • API: Added sublime.platform() and sublime.arch()
  • API: Added window.focus_view()
  • API: Improved the behavior of tab completion in conjunction with on_query_completions returning non-word triggers
  • API: Calling run_command() from Python will no longer bypass is_enabled() checks
  • API: Fixed view.replace() scrolling the view

New in Sublime Text 2.0 Build 2059 (May 9, 2011)

  • Added smooth scrolling
  • Added spell checking
  • Tab Completion is enabled by default. Shift+Tab can be used to insert a literal tab
  • Pressing Ctrl+Space after a tab completion will adjust the last completion, rather than starting a new one
  • Tab completion is smarter about when to insert a completion, and when to insert a tab
  • Auto complete is now case insensitive
  • Added global setting, remember_open_files
  • Disclosure buttons on the tree control have a larger target area
  • Tweaked tab header background for improved contrast
  • Status bar column display correctly accounts for tabs
  • Fixed an issue with scrollbars on small files
  • Shift+Mouse wheel scrolls horizontally
  • Recent files no longer appear in the Goto Anything list
  • Improved startup time
  • Updated HTML completions
  • Updated path handling in exec.py
  • OSX: Added support for Help/Search
  • OSX: Activating the application when no windows are open creates a new window
  • Linux: Fixed a crash that could occur in Save All