Sublime Text Changelog

What's new in Sublime Text 4 Build 4173 Dev

Feb 27, 2024
  • Fixed another deadlock issue when reloading plugins
  • Improved accuracy of scope selectors
  • Improved clarity of dragged tabs in mixed-dpi setups
  • Fixed dragged tabs not following mouse in mixed-dpi setups
  • Fixed syntax tests not running when files aren't utf-8 encoded

New in Sublime Text 4 Build 4172 Dev (Feb 22, 2024)

  • Fixed plugins deadlocking
  • Fixed git repository details not always showing
  • Fixed a use-after-free when exiting

New in Sublime Text 4 Build 4171 Dev (Feb 21, 2024)

  • Fixed a crash when auto-completing
  • Fixed whole app crashing when a plugin host crashes
  • Fixed crash when using goto-anything with an image open
  • API: All functions are now available at import time
  • API: Fixed backwards compatibility breakage with View.style_for_scope
  • API: Fixed a regression that caused an infinite loop

New in Sublime Text 4 Build 4170 Dev (Feb 20, 2024)

  • Added enable toggle to indexing status dialog
  • Fixed leak of shared memory
  • Improved error handling for shared memory
  • Improved behavior of Expand Selection in Python docstrings
  • Full Screen is now restored when exiting Distraction Free Mode
  • Added goto_anything_file_preview setting
  • Added context menu for image tabs
  • Added File > Open file as Text/Image for explicitly opening a file as an image or as text
  • Added "image_file_patterns" for controlling which files are automatically opened as an image
  • The "menu" key now works in the side-bar
  • Reduced memory usage when editing large files
  • Fixed dragged tabs being blurry on high-dpi
  • Fixed off-by-one in the alignment of multiple selected tabs
  • Fixed fold markers not having background rendering
  • Fixed an issue with rulers displaying incorrectly while scrolling under OpenGL
  • Opening folder history in Sublime Merge now works recursively
  • Added syntax argument to run_syntax_tests command
  • Added error message for syntax tests that aren't utf-8 encoded
  • Theme: New unmodified files no longer have the "dirty" attribute
  • API: Optimized auto-completion
  • API: Calling functions at import time now raises a RuntimeError
  • API: Fixed ViewEventListener occasionally leaking
  • API: Fixed Settings.get not always returning the default value on failure
  • API: Fixed View.style_for_scope not always returning the right source_line
  • API: minihtml now supports white-space: pre and white-space: pre-wrap
  • Mac: Files moved to trash now have a "Put Back" option
  • Mac: Fixed issues related to dragging the edges of windows
  • Mac: Fixed security entitlements for plugins not applying properly
  • Windows, Linux: Allow numbers as menu mnemonics
  • Windows: Fixed custom top-level menu items not being themed

New in Sublime Text 4 Build 4169 (Nov 24, 2023)

  • Fixed a stack overflow when closing large amounts of files
  • API: Fixed backwards compatibility breakage with Sheet.is_transient()
  • API: Fixed a crash with Window.set_view_index
  • Linux: Fixed a rare crash with the save dialog
  • Windows: Fixed a rare crash related to cursor hiding

New in Sublime Text 4 Build 4168 Dev (Nov 22, 2023)

  • Fixed a stack overflow when closing large amounts of files
  • Linux: Fixed a rare crash with the save dialog

New in Sublime Text 4 Build 4167 Dev (Nov 22, 2023)

  • Fixed backwards compatibility breakage with Sheet.is_transient()

New in Sublime Text 4 Build 4166 (Nov 20, 2023)

  • Various syntax highlighting improvements
  • Index collation is now done incrementally
  • Fixed an issue where animations were causing excessive redraws
  • Find in files now truncates long lines according to the "find_in_files_context_characters" setting
  • Fixed auto-complete not suggesting tokens from the current line
  • Added Mouse Bindings to the Preferences menu
  • Added Preferences > Font > Choose… for an easy way to select a font
  • Added Copy Path to Sidebar context menu
  • Fixed minimap border not rendering
  • Fixed color emoji blending with transparency
  • Fixed line-number alignment when using a variable-width font
  • Fixed double clicking a find in file result sometimes scrolling to the wrong line in the file
  • Fixed case where opening a file from Sublime Merge wouldn't jump to the right line
  • Improved bookmark toggling
  • Improved performance of "Definitions" popup
  • Improved Join Lines behavior
  • Improved behavior of Indent command on empty lines
  • Added "ruler_width" setting
  • Added current_result command
  • Fixed case conversions not taking all-caps into account
  • Fixed an auto-indent issue
  • Fixed an issue with find_under_expand when the find panel is focused
  • Fixed disabling "highlight_gutter" resulting in "highlight_line" begin disabled
  • Fixed some incorrect behavior when converting a multi-line selection to Title Case
  • Fixed a memory corruption bug related to block carets
  • Fixed Quick Switch Project… from the settings window closing the window
  • Fixed "move_to_limit_on_up_down" setting not working
  • Shift+Enter now also hides the incremental find panel
  • Fixed macro recording in Vintage package not working
  • Updated to OpenSSL 1.1.1v
  • Fixed run_syntax_tests command not running symbol tests
  • API: Added sublime.choose_font_dialog
  • API: Allow case insensitive comments using TM_COMMENT_CASE_INSENSITIVE
  • API: Fixed instability related to overlapping API calls
  • API: Fixed crash when an edit token is passed to the wrong view
  • API: Fixed some issues related to plugin initialization
  • API: ListInputHandler now supports initial_selection
  • API: Fixed ListInputHandler not selecting the first result when initial_text is provided
  • API: Added update_text option to sublime.encode_value
  • API: Fixed expand_to_paragraph in paragraph.py incorrectly unpacking tuple
  • Linux: Improved tracking of fullscreen state
  • Linux: Fixed some memory leaks related to fonts
  • Linux: Fixed "ui_scale" setting not being applied to fonts correctly in some cases
  • Windows: Added CRLF handling for text drag an drop
  • Windows: Fixed wrong font extents causing glyphs to be cut off at the top
  • Windows: Fixed caret movement across phantoms when using fractional scaling
  • Mac: Improved animation frame timing
  • Mac: Implemented window cascading
  • Mac: Recent files are now cleared when "update_system_recent_files" is disabled
  • Mac: Fixed Copy as HTML not working
  • Mac: Fixed subl not always finding the correct application bundle
  • Mac: Fixed "regex_auto_escape" not working

New in Sublime Text 4 Build 4165 Dev (Nov 15, 2023)

  • Fixed regression with edit_settings command
  • API: Reverted changes to on_query_completions

New in Sublime Text 4 Build 4162 Dev (Nov 8, 2023)

  • Fixed an issue where animations were causing excessive redraws
  • Fixed some symbols being omitted from index
  • Fixed crash when switching projects before index was initialized
  • Added "ruler_width" setting
  • Fixed color emoji blending with transparency
  • Fixed line-number alignment when using a variable-width font
  • Fixed run_syntax_tests command not running symbol tests
  • API: Removed delay when querying auto-complete during an ongoing query
  • API: Improved performance of View.substr
  • API: sublime_plugin.ListInputHandler now supports initial_selection
  • Windows: Added CRLF handling for text drag an drop
  • Windows: Fixed wrong font extents causing glyphs to be cut off at the top
  • Windows: Fixed caret movement across phantoms when using fractional scaling

New in Sublime Text 4 Build 4161 Dev (Nov 8, 2023)

  • Fixed an issue where animations were causing excessive redraws
  • Fixed some symbols being omitted from index
  • Fixed crash when switching projects before index was initialized
  • Added "ruler_width" setting
  • Fixed color emoji blending with transparency
  • Fixed line-number alignment when using a variable-width font
  • Fixed run_syntax_tests command not running symbol tests
  • API: Removed delay when querying auto-complete during an ongoing query
  • API: Improved performance of View.substr
  • API: sublime_plugin.ListInputHandler now supports initial_selection
  • Linux: Improved tracking of fullscreen state
  • Windows: Added CRLF handling for text drag an drop
  • Windows: Fixed wrong font extents causing glyphs to be cut off at the top
  • Windows: Fixed caret movement across phantoms when using fractional scaling
  • Mac: Implemented window cascading
  • Mac: Recent files are now cleared when "update_system_recent_files" is disabled

New in Sublime Text 4 Build 4160 Dev (Oct 21, 2023)

  • Fixed an indexing crash with very long symbol names
  • Fixed an indexing race condition

New in Sublime Text 4 Build 4159 Dev (Oct 20, 2023)

  • Fixed a crash regression in 4158
  • API: Fixed sublime.choose_font_dialog not working in python 3.3 environment

New in Sublime Text 4 Build 4158 Dev (Oct 19, 2023)

  • Various syntax highlighting improvements
  • Find in files now truncates long lines according to the "find_in_files_context_characters" setting
  • Index collation is now done incrementally
  • Fixed auto-complete not suggesting tokens from the current line
  • Added Copy Path to Sidebar context menu
  • Fixed case where opening a file from Sublime Merge wouldn't jump to the right line
  • Choose font dialog now has the currently configured font initially selected
  • Fixed a number of crashes
  • API: Fixed instability related to overlapping API calls
  • API: Fixed ListInputHandler not selecting the first result when initial_text is provided
  • API: Fixed crash when an edit token is passed to the wrong view
  • Linux: Fixed some memory leaks related to fonts
  • Linux: Font chooser dialog now only shows font families

New in Sublime Text 4 Build 4157 Dev (Oct 19, 2023)

  • Various syntax highlighting improvements
  • Find in files now truncates long lines according to the "find_in_files_context_characters" setting
  • Index collation is now done incrementally
  • Fixed auto-complete not suggesting tokens from the current line
  • Added Copy Path to Sidebar context menu
  • Fixed case where opening a file from Sublime Merge wouldn't jump to the right line
  • Choose font dialog now has the currently configured font initially selected
  • Fixed a number of crashes
  • API: Fixed instability related to overlapping API calls
  • API: Fixed ListInputHandler not selecting the first result when initial_text is provided
  • API: Fixed crash when an edit token is passed to the wrong view
  • Linux: Fixed some memory leaks related to fonts
  • Linux: Font chooser dialog now only shows font families

New in Sublime Text 4 Build 4156 Dev (Sep 18, 2023)

  • Added Preferences > Font > Choose… for an easy way to select a font
  • Fixed a memory corruption bug related to block carets
  • API: Added sublime.choose_font_dialog
  • API: Added update_text option to sublime.encode_value
  • Linux: Fixed "ui_scale" setting not being applied to fonts correctly in some cases

New in Sublime Text 4 Build 4155 Dev (Aug 24, 2023)

  • Improved behavior of Indent command on empty lines
  • Improved bookmark toggling
  • Fixed an auto-indent issue
  • Fixed an issue with find_under_expand when the find panel is focused
  • Fixed a number of crashes
  • Updated to OpenSSL 1.1.1v
  • API: Fixed expand_to_paragraph in paragraph.py incorrectly unpacking tuple

New in Sublime Text 4 Build 4153 Dev (Aug 8, 2023)

  • Fixed double clicking a find in file result sometimes scrolling to the wrong line in the file
  • Fixed minimap border not rendering
  • Added Mouse Bindings to the Preferences menu
  • Improved Join Lines behavior
  • Improved performance of "Definitions" popup
  • Fixed case conversions not taking all-caps into account
  • Fixed disabling "highlight_gutter" resulting in "highlight_line" begin disabled
  • Fixed some incorrect behavior when converting a multi-line selection to Title Case
  • Fixed Quick Switch Project… from the settings window closing the window
  • Fixed "move_to_limit_on_up_down" setting not working
  • Added current_result command
  • Shift+Enter now also hides the incremental find panel
  • Fixed macro recording in Vintage package not working
  • API: Allow case insensitive comments using TM_COMMENT_CASE_INSENSITIVE
  • API: Fixed some issues related to plugin initialization
  • Mac: Improved animation frame timing
  • Mac: Fixed Copy as HTML not working
  • Mac: Fixed subl not always finding the correct application bundle
  • Mac: Fixed "regex_auto_escape" not working

New in Sublime Text 4 Build 4152 (Aug 2, 2023)

  • Mac: Fixed compatibility with macOS 10.14 and earlier

New in Sublime Text 4 Build 4151 (Aug 2, 2023)

  • Various syntax highlighting improvements
  • Added "fold_style" setting for controlling syntax-based code folding
  • Last tab in a group can now be selected with alt+9 (Windows/Linux) and cmd+9 (Mac)
  • Split View retains the original view's viewport position
  • Added WebP support
  • Improved minimap viewport contrast with large amounts of visible text
  • The window title now indicates whether Sublime Text is running with administrator privileges
  • Improved indentation detection for files with many single space indents
  • Improved caret positioning when using text wrapping
  • Fixed files in side-bar not properly reflecting their git status
  • Find in Files: Tab multi-select modifier keys are now supported
  • Find in Files: Fixed search results not being ordered
  • Find in Files: Paths can now be quoted
  • Find in Files: Added "find_in_files_suppress_errors" settings
  • Find in Files: Added "find_in_files_context_lines" settings
  • Find in Files: Added "find_in_files_side_by_side" setting
  • Find in Files: Ongoing searches are no longer canceled on renamed buffer
  • Find in Files: Fixed ./ not working in the "Where" field
  • Find: Added "regex_auto_escape" setting
  • Find: Fixed find settings confusion when run immediately after find_under_expand
  • Find: Fixed find in selection skipping empty selections
  • Fixed word wrap being too early in some cases
  • Fixed scrolling by page not always including a full line of context
  • Fixed first character beyond ASCII range not being decoded/encoded for short code pages
  • Improved performance when drag selecting columns
  • Fixed annotations displaying incorrectly when "ui_scale" is set to something other than 1
  • Fixed recent file list not being updated when quitting with hot exit disabled
  • Fixed high memory usage edge case in minihtml parsing
  • Fixed case where open file/folder dialogs didn't respect "default_dir" setting
  • Reopen Closed File now uses the window's file history by default rather than global history
  • Fixed tabs of deleted files incorrectly showing as modified in some cases
  • Fixed "draw_centered" setting causing incorrect gutter rendering in some cases
  • Fixed extra commands being included for macros in some situations
  • Fixed goto-symbol not showing inside empty groups
  • Fixed column number in the status bar not updating upon changing tab width
  • Fixed issue where the command palette could consume key presses while not having input focus
  • Syntax Highlighting: Improved scope selector performance
  • Syntax Highlighting: Fixed syntax-based folding not working correctly with some indented code
  • Syntax Highlighting: Fixed syntax definition negative symbol tests
  • Syntax Highlighting: Fixed edge case that could break syntax highlighting
  • Syntax Highlighting: Fixed backtracking bug where tokens were being dropped
  • Syntax Highlighting: Fixed some hangs caused by syntax backtracking
  • Syntax Highlighting: Fixed a syntax highlighting performance issue due to backtracking
  • Syntax Highlighting: Fixed a crash when a lazy loaded syntax doesn't exist
  • API: Updated to Python 3.8.12 and OpenSSL 1.1.1s
  • API: The Python 3.3 plugin environment now uses the same OpenSSL as 3.8
  • API: Added support for the "context" key in mousemaps
  • API: Fixed inconsistent focus after Window.open_file()
  • API: The open_file command now supports "transient", "force_group", "clear_to_right" and "force_clone" arguments
  • API: Added Window.num_views_in_group()
  • API: Added sublime.project_history()
  • API: Added sublime.folder_history()
  • Windows: Added alt+shift+p as default keybinding for Quick Switch Project
  • Windows: Fixed a packaging error with the installers
  • Windows: Fixed tooltips sometimes not being removed
  • Windows: Fixed select folder dialog not respecting the initial directory
  • Windows: Fixed lockup that could occur when menus and popups interfere
  • Linux: Files for printing are saved in ~/Downloads if possible to work around snap/flatpak limitations
  • Linux: User config and cache paths are now created at startup if not present
  • Linux: Fixed incorrect mouse behavior at window edges
  • Linux, Mac: Attempt to find the license key for the user when using sudo
  • Mac: Better support for running as root
  • Mac: Fixed extra window being created when ST is launched by opening a file from finder
  • Mac: System setting "click in the scroll bar to" is now respected
  • Mac: Added workaround for Monterey bug causing scrolling to misbehave
  • Mac: Added security entitlements allowing plugins & build systems to request the camera and microphone

New in Sublime Text 4 Build 4150 Dev (May 11, 2023)

  • Fixed regression where syntax highlighting could break
  • Fixed drag selecting columns not respecting line padding
  • Fixed soft warp regression

New in Sublime Text 4 Build 4149 Dev (May 4, 2023)

  • Various syntax highlighting improvements
  • Find in Files now supports quoting paths
  • Fixed minimap viewport opacity attribute not being respected
  • Fixed edge case that could break syntax highlighting
  • Added "find_in_files_suppress_errors" and "find_in_files_context_lines" settings
  • Fixed "draw_centered" setting causing incorrect gutter rendering in some cases
  • Fixed scrolling by page not always including a full line of context
  • Fixed recent file list not being updated when quitting with hot exit disabled
  • Improved performance when drag selecting columns
  • Fixed find in selection skipping empty selections
  • Improved caret positioning when using text wrapping
  • Fixed column number in the status bar not updating upon changing tab width
  • Fixed empty scope selectors not matching correctly
  • Fixed high memory usage edge case in minihtml parsing
  • API: Added support for the "context" key in mousemaps
  • API: The open_file command now supports "transient", "force_group", "clear_to_right" and "force_clone" arguments
  • Linux: Files for printing are saved in ~/Downloads if possible to work around snap/flatpak limitations
  • Linux: User config and cache paths are now created at startup if not present
  • Mac: System setting "click in the scroll bar to" is now respected
  • Windows: Added alt+shift+p as default keybinding for Quick Switch Project
  • Windows: Fixed tooltips sometimes not being removed
  • Windows: Fixed select folder dialog not respecting the initial directory

New in Sublime Text 4 Build 4148 Dev (Mar 14, 2023)

  • Various syntax highlighting improvements
  • Last tab in a group can now be selected with alt+9 (Windows/Linux) and cmd+9 (Mac)
  • Split View retains the original view's viewport position
  • The window title now indicates whether Sublime Text is running with administrator privileges
  • Improved indentation detection for files with many single space indents
  • Fixed first character beyond ASCII range not being decoded/encoded for short code pages
  • Find in Files no longer cancels ongoing search with a renamed buffer
  • Fixed regression where ./ wouldn't work in the "Where" field of find-in-files
  • Fixed find settings confusion when run immediately after find_under_expand
  • Fixed minimap viewport highlighting not working when color schemes specify a text background
  • Reopen Closed File now uses the window's file history by default rather than global history
  • Fixed annotations displaying incorrectly when "ui_scale" is set to something other than 1
  • Fixed issue where the command palette could consume key presses while not having input focus
  • Fixed syntax-based folding not working correctly with some indented code
  • Fixed backtracking bug where tokens were being dropped
  • Fixed some hangs caused by syntax backtracking
  • Fixed tabs of deleted files incorrectly showing as modified in some cases
  • Fixed word wrap wrapping early in some cases
  • API: Added Window.num_views_in_group
  • API: Fixed inconsistent focus after Window.open_file
  • Mac: Better support for running as root
  • Mac: Added workaround for Monterey bug causing scrolling to misbehave
  • Linux: Fixed incorrect mouse behavior at window edges
  • Linux, Mac: Attempt to find the license key for the user when using sudo

New in Sublime Text 4 Build 4147 Dev (Dec 22, 2022)

  • Improved minimap viewport contrast with large amounts of visible text
  • Fixed issues related to windows file descriptors with python 3.3 plugins
  • Fixed crash regression with find-in-files when an invalid regex is used
  • Fixed regression with tab ordering
  • Fixed goto-symbol not showing inside empty groups
  • Fixed extra commands being included for macros in some situations
  • Fixed syntax definition negative symbol tests

New in Sublime Text 4 Build 4146 Dev (Dec 15, 2022)

  • Fixed a crash when a lazy loaded syntax doesn't exist
  • Windows: Fixed a packaging error with the installers

New in Sublime Text 4 Build 4145 Dev (Dec 14, 2022)

  • Added "fold_style" setting, making it easy to disable syntax-based code folding
  • Fixed search results not being ordered for Find in Files
  • Find in Files now supports tab multi-select modifier keys
  • Added "find_in_files_side_by_side" setting
  • Added "regex_auto_escape" setting
  • Fixed case where open file/folder dialogs didn't respect "default_dir" setting
  • Fixed files in side-bar not properly reflecting their git status
  • Fixed syntax highlighting performance issue due to backtracking
  • Fixed a performance regression in 4142 on color schemes with very complex selectors
  • Folded regions no longer include the trailing newline by default
  • Fixed selection jumping when clicking on a fold marker
  • API: Updated to Python 3.8.12 and OpenSSL 1.1.1s
  • API: The Python 3.3 plugin environment now uses the same OpenSSL as 3.8
  • API: Added sublime.project_history() function
  • API: Added sublime.folder_history() function
  • Windows: Fixed lockup that could occur when menus and popups interfere
  • Mac: Fixed extra window being created when ST is launched by opening a file from finder
  • Mac: Added security entitlements allowing plugins & build systems to request the camera and microphone

New in Sublime Text 4 Build 4143 (Nov 11, 2022)

  • Fixed a performance regression in 4142 on color schemes with very complex selectors
  • Folded regions no longer include the trailing newline by default
  • Fixed selection jumping when clicking on a fold marker

New in Sublime Text 4 Build 4142 (Nov 11, 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 4142 Dev (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 4141 Dev (Nov 6, 2022)

  • Fixed scroll jumping when folded regions are at the start of lines
  • Fixed Replace regression in 4139
  • Windows: Fixed menu items sometimes having the wrong size
  • Mac: Fixed Window/New Tab not working with the Adaptive theme

New in Sublime Text 4 Build 4140 Dev (Nov 1, 2022)

  • Various syntax highlighting improvements
  • Mac: Fixed cursor getting stuck as a resize handle on Ventura
  • Linux: Fixed a "ui_scale" regression in 4139

New in Sublime Text 4 Build 4139 Dev (Oct 28, 2022)

  • Fixed folder drag & drop not working in the side bar
  • Fixed fold tag not rendering in some rare cases
  • Fixed case where text in command palette was incorrectly colored
  • Fixed scroll jumping when folding by level
  • Removed trailing comma in status bar when "show_line_column" is disabled
  • Fixed side bar button theming issue in the Default theme
  • Linux: Fixed external pastes being confused for internal ones
  • Mac: Recent files are now available without having a window open

New in Sublime Text 4 Build 4138 Dev (Oct 17, 2022)

  • Added buffer variable to the console
  • Added "show_spell_check" and "show_line_column" settings
  • Sort Lines no longer includes the newline at EOF when nothing is selected
  • Fixed fold-by-level not always folding the correct regions
  • Fixed scope-based folding not always overriding indentation-based folding
  • Fixed sometimes not being able to type a space after completing a snippet
  • Fixed date format in about window

New in Sublime Text 4 Build 4137 Dev (Sep 23, 2022)

  • Linux: Fixed a copy + paste regression
  • Linux and Mac: Fixed zombie processes while indexing
  • Windows: Fixed installer not including sublime_plugin.py

New in Sublime Text 4 Build 4136 Dev (Sep 15, 2022)

  • Improved rendering performance with large folded regions
  • Improved performance while open folders are scanned for the side-bar
  • Improved regex performance for syntax highlighting
  • Added "minimap_horizontal_scrolling" setting
  • Added "hot_exit_projects" setting to control what data gets saved in workspace files
  • Find-in-files now supports project-relative patterns starting with //
  • Fixed code folding performance regression
  • Fixed Reveal in Side Bar not working in some cases
  • Fixed crash when quick switching projects
  • Fixed sheets not being added to the current selection in some cases
  • API: Added Window.promote_sheet
  • 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
  • Mac: Fixed license being removed due to MAC address changing
  • Mac: Fixed case when opening an already open file would jump to the start
  • Mac: Fixed scrolling when command modifier key is pressed
  • Windows: Open Containing Folder and similar now respect file explorer replacements
  • Windows: Fixed GDI font glow glyph positioning
  • Windows: Adjusted for the new Windows 11 window border

New in Sublime Text 4 Build 4135 Dev (Sep 15, 2022)

  • Improved resource utilization during indexing
  • Improved rendering performance with large folded regions
  • Improved performance while open folders are scanned for the side-bar
  • Improved regex performance for syntax highlighting
  • Added "minimap_horizontal_scrolling" setting
  • Added "hot_exit_projects" setting to control what data gets saved in workspace files
  • Find-in-files now supports project-relative patterns starting with //
  • Fixed code folding performance regression
  • Fixed Reveal in Side Bar not working in some cases
  • Fixed crash when quick switching projects
  • Fixed sheets not being added to the current selection in some cases
  • API: Added Window.promote_sheet
  • 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
  • Mac: Fixed license being removed due to MAC address changing
  • Mac: Fixed case when opening an already open file would jump to the start
  • Mac: Fixed scrolling when command modifier key is pressed
  • Windows: Open Containing Folder and similar now respect file explorer replacements
  • Windows: Fixed GDI font glow glyph positioning
  • Windows: Adjusted for the new Windows 11 window border

New in Sublime Text 4 Build 4134 Dev (May 28, 2022)

  • Various syntax highlighting improvements
  • Built-in syntax definitions now have specialized scope-based folding rules instead of using generic ones
  • Scope-based folding regions starting with a newline token now include the newline itself
  • Added option for scope-based folding to exclude trailing newlines in fold regions
  • Fixed regression in fold-by-level behavior
  • A noop command can now be used for keybindings to block default behavior
  • Added the find_in_files_max_file_size setting
  • Added the ruler_style setting
  • Fixed single-line comment toggling regression when syntax has no line comments
  • Fixed HTML sheet styling regression
  • Fixed rendering performance issue in files with large diffs
  • API: Fixed crash when running hide_panel command from EventListener.on_deactivated
  • API: Fixed view.expand_to_scope stopping at phantoms
  • macOS: Fixed various issues with the quick switch project dialog
  • macOS: Fixed issue where dialogs could be triggered during dialogs

New in Sublime Text 4 Build 4133 Dev (May 27, 2022)

  • Various syntax highlighting improvements
  • Built-in syntax definitions now have specialized scope-based folding rules instead of using generic ones
  • Scope-based folding regions starting with a newline token now include the newline itself
  • Added option for scope-based folding to exclude trailing newlines in fold regions
  • Fixed regression in fold-by-level behavior
  • A noop command can now be used for keybindings to block default behavior
  • Added the find_in_files_max_file_size setting
  • Added the ruler_style setting
  • Fixed single-line comment toggling regression when syntax has no line comments
  • Fixed HTML sheet styling regression
  • Fixed rendering performance issue in files with large diffs
  • API: Fixed crash when running hide_panel command from EventListener.on_deactivated
  • API: Fixed view.expand_to_scope stopping at phantoms
  • macOS: fn is now a supported modifier
  • macOS: fn+e now correctly opens the emoji picker
  • macOS: Fixed various issues with the quick switch project dialog
  • macOS: Fixed issue where dialogs could be triggered during dialogs

New in Sublime Text 4 Build 4132 Dev (May 27, 2022)

  • Various syntax highlighting improvements
  • Built-in syntax definitions now have specialized scope-based folding rules instead of using generic ones
  • Scope-based folding regions starting with a newline token now include the newline itself
  • Added option for scope-based folding to exclude trailing newlines in fold regions
  • Fixed regression in fold-by-level behavior
  • A noop command can now be used for keybindings to block default behavior
  • Added the find_in_files_max_file_size setting
  • Added the ruler_style setting
  • Fixed single-line comment toggling regression when syntax has no line comments
  • Fixed HTML sheet styling regression
  • Fixed rendering performance issue in files with large diffs
  • API: Fixed crash when running hide_panel command from EventListener.on_deactivated
  • API: Fixed view.expand_to_scope stopping at phantoms
  • macOS: fn is now a supported modifier
  • macOS: fn+e now correctly opens the emoji picker
  • macOS: Fixed various issues with the quick switch project dialog
  • macOS: Fixed issue where dialogs could be triggered during dialogs

New in Sublime Text 4 Build 4131 Dev (Mar 25, 2022)

  • Generic fold scopes have now been configured
  • Fixed successive fold calls not working in some cases
  • Fixed gitignore toggle for find-in-files not being respected
  • API: View.expand_to_scope now returns None when the text point doesn't match the selector
  • API: Fixed regression in Selection.subtract

New in Sublime Text 4 Build 4130 Dev (Mar 23, 2022)

  • Added syntax-based code folding
  • Find patterns taken from an open file are now escaped for regex searches
  • Find-in-files now works in parallel
  • Reworked comment toggling to better handle embedded languages
  • Fixed various comment toggling edge cases
  • Added setting "goto_anything_exclude_gitignore"
  • Various syntax definition updates
  • Newly rewritten Haskell syntax highlighting thanks to deathaxe
  • Sub-word separators are now configurable using the "sub_word_separators" setting
  • Fixed centered views jumping in some cases when whole content is replaced
  • Added missing theming attributes to update dialog
  • Fixed wrong default extension being used in open file dialog
  • Fixed additional window getting created at startup with hot exit disabled
  • Syntax Highlighting: Context backtraces now show files names for tmLanguage-based syntaxes
  • Syntax Highlighting: Fixed various syntax highlighting bugs related to backtracking
  • API: The toggle_comment command can now take a variant argument for languages with multiple comment variants
  • API: Added View.expand_to_scope
  • macOS: Added work around for broken modal loops

New in Sublime Text 4 Build 4129 Dev (Feb 24, 2022)

  • Fixed a selection rendering regression in 4128

New in Sublime Text 4 Build 4128 Dev (Feb 22, 2022)

  • Added commands for converting between common identifier cases (See Edit > Convert Case)
  • Added support for Nordic (Windows 865) encoding
  • Fixed various issues with faded labels in the sidebar
  • Fixed scroll bar sometimes showing when text is wrapped
  • Reopening a file now asks for confirmation when there are unsaved changes
  • Fixed source mapping for inheritance in syntax backtraces
  • Mac: Fixed open file dialog crash with some syntaxes
  • Mac: Fixed case where settings window couldn't be closed
  • Linux: Fixed crash on startup for some desktop environments

New in Sublime Text 4 Build 4127 Dev (Feb 11, 2022)

  • 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)
  • Improved filesystem symlink detection
  • Fixed changes to very large unsaved files being lost on hot exit; a prompt is now shown to save them
  • Drag operations are no longer interrupted when reloading a file
  • Fixed regression in expand_selection_to_paragraph command behavior
  • Fine tuned binary file detection for find-in-files
  • Fixed text annotation underlines not drawing when combined with other font styles
  • Fixed region rendering edge case
  • Fixed case where multiple reload prompts could show simultaneously
  • Added "open_tabs_after_current" setting for controlling where tabs are opened
  • Fixed shadow related OpenGL rendering bug
  • Fixed OpenGL rendering issue related to the wrong context being active
  • Fixed dragging rows in side-bar not scrolling
  • 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
  • API: View.context_backtrace now returns a list of ContextStackFrame with source file and location data
  • API: "encoded_position": true may be passed to open_file command for the same behavior as sublime.ENCODED_POSITION
  • Linux: Follow system scroll bar overlay setting
  • Linux: Fix various issues caused by the C locale

New in Sublime Text 4 Build 4126 (Dec 21, 2021)

  • Improved OpenGL rendering performance by automatically batching together controls
  • Added support for Chinese standard GB18030 file encoding
  • Added support for CP862 file encoding
  • Resolved various issues tracking symlinks in the side-bar
  • Avoid session data corruption if a crash happens while saving the session
  • subl -n will reuse an existing empty window if the application isn't running
  • Binary files now show as "Binary" syntax instead of "Plain Text" in the status bar
  • Fixed wildcards incorrectly matching subpaths (For settings like "folder_exclude_patterns")
  • Made "find_in_files_max_result_size" not apply when replacing
  • Fixed crash when loading invalid grid layout from session
  • Fixed spell checker incorrectly marking some words as correct if they can't be encoded
  • Fixed rendering order of successive popups
  • Fixed package subfolders sometimes not being loaded when matching the "ignored_packages" setting
  • Fixed layout instability in side bar causing things to occasionally be rendered 1 pixel off
  • Added some missing glyphs to "draw_unicode_white_space": "all"
  • Added "draw_unicode_bidi" setting for drawing unicode bidi characters
  • Added "select_across_groups" setting for opting into the old side bar selection behavior when selecting a single file
  • Fixed "close_windows_when_empty" setting not working
  • Fixed goto-definition preview not closing on escape
  • Fixed quick panel closing on enter when there are no matching entries
  • Syntax Highlighting: Fixed backtracking breaking when creating phantoms or doing a context backtrace
  • Syntax Highlighting: Fixed regression with some syntax definitions introduced in 4115
  • Linux: Added missing libcurl dependency for package managers
  • Linux: Fixed GTK overriding LC_NUMERIC environment variable breaking serialization
  • Windows: Fixed command line not taking focus after closing a waited on file
  • Windows: Fixed crash when OpenGL initialization fails
  • Mac: Aliases are now resolved when using drag and drop
  • Mac: Fixed window sometimes being restored on startup when "create_window_at_startup" is disabled
  • Mac: Fixed native tabs restoration resulting in odd behavior
  • Mac: Fixed subl -b not working
  • Mac: Fixed terminal not being focused after waiting on file
  • Mac: Fixed Window > Merge All Windows merging minimized windows
  • Mac: Fixed various inconsistencies when opening files from finder
  • API: The show_panel command for the find and find in files panels can now take "pattern" and "replace_pattern" arguments
  • API: ListInputHandler.preview is now called with None when no items match the current filter
  • API: Fixed case where Window.project_data() could return an invalid value
  • API: Opening a new pane moves currently selected sheets
  • API: Added Window.move_sheets_to_group
  • API: The commands move_to and move_to_neighbouring now move currently selected sheets

New in Sublime Text 4 Build 4125 Dev (Dec 17, 2021)

  • Improved OpenGL rendering performance by automatically batching together controls
  • Fixed crash when loading invalid grid layout from session
  • Fixed spell checker incorrectly marking some words as correct if they can't be encoded
  • Fixed various edge cases related to phantoms
  • Fixed rendering order of successive popups

New in Sublime Text 4 Build 4124 Dev (Dec 9, 2021)

  • Added GB18030 and CP862 to status bar encoding menu
  • Made "find_in_files_max_result_size" not apply when replacing
  • Fixed text phantom rendering regression
  • Fixed phantom-related crash

New in Sublime Text 4 Build 4123 Dev (Dec 7, 2021)

  • Added support for Chinese standard GB18030 encoding
  • Binary files now show as "Binary" syntax instead of "Plain Text" in the status bar
  • Resolved various issues tracking symlinks in the side-bar
  • Avoid session data corruption if a crash happens while saving the session
  • Syntax Highlighting: Fixed backtracking breaking when creating phantoms or doing a context backtrace
  • Syntax Highlighting: Fixed regression with some syntax definitions introduced in 4115
  • Fixes package subfolders sometimes not being loaded when matching the "ignored_packages" setting
  • Fixed wildcards incorrectly matching subpaths (For settings like "folder_exclude_patterns")
  • Fixed layout instability in side bar causing things to occasionally be rendered 1 pixel off
  • Added some missing glyphs to "draw_unicode_white_space": "all"
  • Linux: Added missing libcurl dependency for package managers
  • Linux: Fixed GTK overriding LC_NUMERIC breaking serialization
  • Mac: Aliases are now resolved when using drag and drop
  • Mac: Fixed window sometimes being restored on startup when "create_window_at_startup" is disabled
  • API: The show_panel command for the find and find in files panels can now take "pattern" and "replace_pattern" arguments

New in Sublime Text 4 Build 4122 Dev (Nov 3, 2021)

  • Added support for CP862 file encoding
  • subl -n will reuse an existing empty window if the application isn't running
  • Added "draw_unicode_bidi" setting for drawing unicode bidi characters
  • Added "select_across_groups" setting for opting into the old side bar selection behavior when selecting a single file
  • Fixed "close_windows_when_empty" setting not working
  • Fixed goto-definition preview not closing on escape
  • Fixed quick panel closing on enter when there are no matching entries
  • API: ListInputHandler.preview is now called with None when no items match the current filter
  • API: Fixed case where Window.project_data() could return an invalid value
  • Windows: Fixed command line not taking focus after closing a waited on file
  • Windows: Fixed crash when OpenGL initialization fails
  • Mac: Fixed native tabs restoration resulting in odd behavior
  • Mac: Fixed subl -b not working
  • Mac: Fixed terminal not being focused after waiting on file
  • Mac: Fixed Window > Merge All Windows merging minimized windows
  • Mac: Fixed various inconsistencies when opening files from finder

New in Sublime Text 4 Build 4121 (Oct 26, 2021)

  • New update dialog that shows versions, license status and links to the changelog
  • Various syntax highlighting improvements
  • Use goto-symbol to jump to specific files in find results
  • Improved color scheme/theme selection UI
  • Layout is no longer remembered when "hot_exit" is disabled. You can change this using "remember_layout"
  • Right-delete now respects "use_tab_stops" setting
  • Various improvements to behavior of moving sheets during window layout changes
  • Improved mini-diff and white space rendering performance under OpenGL
  • Improved performance when reading large files from stdin
  • Fixed regex replace not working on last occurrence when using look-behind
  • Fixed "save_on_focus_lost" not working as expected with the reload dialog
  • Fixed open files not being added to recent file list when "hot_exit" is disabled
  • Fixed snippet completions not respecting word boundaries
  • Fixed extra blank window being opened at startup in some cases
  • Fixed not properly exiting after a prompt when "hot_exit" is disabled
  • Fixed window unexpectedly closing when project has no added folders and "close_windows_when_empty" is enabled
  • Fixed tab selection stack not being updated as expected in some cases
  • Fixed transient sheets persisting when exiting goto-anything
  • Fixed squiggle underline width not scaling properly
  • Fixed line highlighting not working when gutter is disabled
  • Fixed case where folders were being added to existing windows instead of opening in a new window
  • Fixed performance regression under Windows with non-integer DPI scaling
  • Fixed syntax highlighting backtracking-related performance problem
  • Undo stack is now cleared when reading from stdin
  • Added Selection > Expand Selection to Block which has the same behavior as Expand Selection to Paragraph had previously
  • "open_files_in_new_window" is now respected when reading from stdin
  • Added "find_scroll_highlights_limit", "find_highlight_matches_max_size" and "find_regex_highlight_matches_max_size" settings to allow configuring find limits
  • Added newline detection and normalization when changing settings programmatically
  • Sublime Merge menu items are hidden when "sublime_merge_path" is set to null
  • Fixed wrong path sometimes being used when viewing file history in Sublime Merge
  • Fixed focus lost when selected group is closed whilst reducing the number of groups
  • File-specific indentation settings are now persisted across restarts
  • Fixed some edge cases related to "find_in_files_max_result_size"
  • Fixed completions in input panel not utilizing available window space
  • Fixed expand selection to tag not working in XML
  • Fixed current transient sheet unexpectedly closing when using goto-anything
  • Fixed crash related to syntax backtracking and phantoms
  • Fixed being unable to open more than one new empty window
  • Linux: Make selection after middle-click paste consistent with other applications
  • Linux: Fixed race condition with multiple simultaneous command line invocations
  • Linux: Fixed custom title bar label color for some GTK themes
  • Windows: Fixed a case where session could be lost when upgrading
  • Windows: Fixed NTFS alternate data streams being deleted on save
  • Windows: Fixed slow window creation when using OpenGL
  • Windows: Fixed incorrect case being used when opening files from find-in-files with gitignore enabled
  • Windows: Fixed stdout/stderr output data race when building
  • Windows: Fixed hang on modal dialogs when context menu is open
  • Mac: Tweaked text drag-drop behavior to respect NSDragAndDropTextDelay
  • Mac: The setting "use_find_clipboard" can be used to disable global find clipboard integration
  • Mac: Fixed double click not working at the top of a window when in full screen with a custom title bar
  • Mac: Fixed incorrectly reporting successful key event when no command was found
  • Mac: Fixed windows not restoring properly with multi-monitor setups
  • Mac: Fixed window layout issue with native tabs when exiting full screen
  • Mac: Fixed title bar text not fading when out of focus
  • Mac: Fixed reading stdin not working when no windows are open
  • API: Fixed plugin popups sometimes having the wrong placement
  • API: Fixed plugins not loading when a .python-version file is in the User package
  • API: Added Buffer.clear_undo_stack()
  • API: Fixed View.show and View.show_at_center not working from on_load callback

New in Sublime Text 4 Build 4120 Dev (Oct 25, 2021)

  • Fixed crash related to syntax backtracking and phantoms
  • Fixed text drag and drop regression

New in Sublime Text 4 Build 4119 Dev (Oct 22, 2021)

  • Fixed wrong line numbers in some cases when code folding is being used
  • Mac: Fixed open files not being restored when hot_exit is disables
  • Mac: Tweak text drag-drop behavior to respect NSDragAndDropTextDelay

New in Sublime Text 4 Build 4118 Dev (Oct 15, 2021)

  • Fixed sequential key binding regression in 4117

New in Sublime Text 4 Build 4117 Dev (Oct 14, 2021)

  • Use goto-symbol to jump to specific files in find results
  • Improve color scheme/theme selection UI
  • File-specific indentation settings are now persisted across restarts
  • Fix extra blank window being opened at startup in some cases
  • Fix not properly exiting after a prompt when hot_exit is disabled
  • Add Selection > Expand Selection to Block which has the same behavior as Expand Selection to Paragraph had previously
  • Fix goto-anything and quick-panels closing when window loses focus
  • Fix focus lost when selected group is closed whilst reducing the number of groups
  • Various improvements to behavior of moving sheets during window layout changes
  • Fix some edge cases related to "find_in_files_max_result_size"
  • Fix regression where line numbers were not being calculated properly when folding
  • API: Fix View.show and View.show_at_center not working from on_load callback in some cases
  • macOS: Fix incorrectly reporting successful key event when no command was found
  • Windows: Fix stdout/stderr output data race when building
  • Windows: Fix hang on modal dialogs when context menu is open

New in Sublime Text 4 Build 4116 Dev (Sep 29, 2021)

  • Fix download button in update dialog being clickable when disabled
  • Hide Sublime Merge menu items when "sublime_merge_path" is set to `null`.
  • MacOS: Fix windows not restoring properly with multi-monitor setups
  • MacOS: Fix window layout issue with native tabs when exiting full screen
  • Linux: Fix race condition with multiple simultaneous command line invocations

New in Sublime Text 4 Build 4115 Dev (Sep 24, 2021)

  • Fix line highlighting applying to all widgets
  • Fix caret position regression when drag-selecting text
  • Fix syntax highlighting backtracking-related performance problem
  • Improve mini-diff rendering performance under OpenGL
  • Improve performance when reading large files from stdin
  • Undo stack is now cleared when reading from stdin
  • Fix performance regression under Windows with non-integer DPI scaling
  • Fix current transient sheet unexpectedly closing when using goto-anything
  • Fix completions in input panel not utilizing available window space
  • Fix expand selection to tag not working in XML
  • Fix being unable to open more than one new empty window
  • Mac: The setting "use_find_clipboard" can be used to disable global find clipboard integration
  • Mac: Fix double click not working at the top of a window when in full screen with a custom title bar

New in Sublime Text 4 Build 4114 Dev (Sep 3, 2021)

  • New update dialog that shows versions, license status and links to the changelog
  • Various syntax highlighting improvements
  • Right-delete now respects use_tab_stops setting
  • Improved hardware acceleration performance when rendering white space
  • Added find_scroll_highlights_limit, find_highlight_matches_max_size and find_regex_highlight_matches_max_size settings to allow configuring find limits
  • Added newline detection and normalization when changing settings programmatically
  • Layout is not longer remembered when "hot_exit" is disabled. You can change this using the remember_layout setting
  • Fixed tab selection stack not being updated as expected in some cases
  • Fixed transient sheets persisting when exiting goto-anything
  • Fixed save_on_focus_lost not working as expected with the reload dialog
  • Fixed snippet completions not respecting word boundaries
  • Fixed open files not being added to recent file list when hot exit is disabled
  • Fixed wrong path sometimes being used when viewing file history in Sublime Merge
  • Fixed window unexpectedly closing when project has no added folders and close_windows_when_empty is true
  • open_files_in_new_window is now respected when reading from stdin
  • Fixed regex replace not working on last occurrence when using look-behind
  • Fixed plugin popups sometimes having the wrong placement
  • Fixed plugins not loading when a .python-version file is in the User package
  • Fixed squiggle underline width not scaling properly
  • Fixed line highlighting not working when gutter is disabled
  • Fixed case where folders were being added to existing windows instead of opening in a new window
  • Windows: Fixed a case where session could be lost when upgrading
  • Windows: Fixed alternate data streams being deleted on save
  • Windows: Fixed slow window creation when using OpenGL
  • Windows: Fixed incorrect case being used when opening files from find-in-files with gitignore enabled
  • API: Added Buffer.clear_undo_stack()
  • API: Fixed View.show and View.show_at_center not working from on_load callback

New in Sublime Text 4 Build 4113 (Jul 14, 2021)

  • Improved performance when editing large files
  • Improved OpenGL rendering performance
  • Improved handling of deleted files
  • Various syntax highlighting improvements
  • subl can now be used to edit stdin, eg: echo test | subl | cat
  • Syntax and indentation detection is now done when editing stdin
  • Added syntax_detection_size_limit setting for controlling when syntax detection is skipped
  • Theme: Improved scroll puck visibility
  • Theme: Fixed adaptive theme not respecting themed_title_bar setting with light color schemes
  • Middle clicking in the Open Files section of then sidebar will close the clicked on file
  • Preserve Case now works with unicode characters
  • Added reveal_menu setting for disabling revealing the menu when alt is pressed on Linux and Windows
  • Safe Mode key binding can be disabled by creating a file named .Disable Safe Mode Shortcut in the data directory
  • Fixed Ruby syntax highlighting in the Monokai color scheme
  • Fixed a scenario where folders weren't being watched for changes
  • Fixed underlines being drawn behind line highlight
  • Fixed an infinite loop that could occur during syntax highlighting
  • Fixed the append command's scroll_to_end parameter sometimes not working
  • Fixed Goto Symbol sometimes being scrolled incorrectly
  • Fixed multi-select file limit applying to sidebar
  • Fixed auto-complete related hang in some large files
  • Linux: Fixed print sometimes not working
  • Linux: Fixed wrong order of yes/no buttons in GTK dialogs
  • Linux: Fixed letters sometimes being cut off
  • Windows: Always make a new window when launching main executable on Windows
  • Windows: Fixed window icon not scaling properly on Windows
  • Windows: Fixed globs not being expanded in some cases on Windows

New in Sublime Text 4 Build 4112 Dev (Jul 14, 2021)

  • Windows: Fixed a rendering quality regression in 4111

New in Sublime Text 4 Build 4111 Dev (Jul 12, 2021)

  • Fixed an infinite loop that could occur during syntax highlighting

New in Sublime Text 4 Build 4110 Dev (Jul 5, 2021)

  • Further OpenGL rendering performance improvements
  • Added syntax_detection_size_limit setting for controlling when syntax detection is skipped
  • Preserve Case now works with unicode characters
  • Middle clicking in the Open Files section of then sidebar will close the clicked on file
  • Fixed scenario where folders weren't being watched for changes
  • Fixed underlines being drawn behind line highlight
  • Mac: Fixed glyph rendering regression
  • Linux: Fixed letters sometimes being cut off

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

  • Release Highlights:
  • Multi-select tabs to view them side-by-side
  • Context-aware auto complete by finding similar code elsewhere in the current project
  • Symbols have kind information that is shown for completions and navigation
  • Theme can follow system dark mode preference and title bars can be themed on all platforms
  • Syntax highlighting now supports back-tracking and inheritance
  • Many syntax highlighting improvements as well as builtin TypeScript, JSX and TSX support
  • GPU rendering for improved performance. Enabled by default on macOS
  • ARM64 support for Linux and macOS (Apple Silicon)
  • Many plugin API additions particularly to better support plugins like LSP
  • Python 3.8 support for plugins
  • GPU Rendering:
  • New hardware_acceleration setting will composite the UI on the GPU
  • By default, GPU rendering is enabled on Mac, and disabled on Windows and Linux
  • Details about the active GPU will be displayed in the Console
  • Context-aware Auto Complete:
  • The auto complete engine now suggests completions based on patterns in existing code
  • Uses the entire project as a source, instead of just the current view
  • Plugins may specify symbol kind info to be displayed in suggestions list
  • Tab Multi-Select:
  • Multiple tabs can be selected using ctrl/cmd, their contents will be shown side-by-side
  • Selecting multiple files from the sidebar will also preview them simultaneously
  • Included themes have a tab connector joining the active sheet and tab when using sheet multi-select
  • The sidebar can now select multiple files using alt
  • Goto Anything allows opening tabs side-by-side using ctrl/cmd
  • The Definition popup has a dedicated button for opening files side-by-side
  • Multiple tabs can also be selected from the tab dropdown
  • The menu Selection/Tab Selection contains various options for manipulating tab multi-select
  • File/New View into File has been replaced by File/Split View using multi-select
  • Python 3.8 API:
  • Added a Python 3.8 API environment for plugins
  • Plugins can choose Python version via .python-version file in plugin folder
  • Existing plugins are fully supported via legacy Python 3.3 API
  • Many API improvements and additions - see API section for more details
  • Goto Symbol:
  • Goto Symbol in Project is now significantly faster on huge projects
  • Icons are now shown next to symbols, indicating the symbol kind
  • Symbols with 3 characters or less are now indexed
  • Syntax Definitions:
  • Added out of the box support for TypeScript, JSX and TSX - thanks to Thomas Smith
  • Added ability to "branch" within syntax definitions, for non-deterministic or multi-line constructs
  • Many syntax highlighting improvements, including significant improvements to:
  • Erlang, with thanks to deathaxe
  • Significantly improved load times, match times and reduced cache size on disk
  • embed is now lazy loaded, resulting in much higher performance for syntaxes like markdown
  • Added branch and fail for non-deterministic parsing
  • Added version: 2 to fix edge cases while retaining backwards compatibility
  • Added extends to inherit from another syntax definition. Multiple inheritance is supported, provided all parents have the same base syntax
  • Added hidden_extensions
  • Allow using pop alongside push/set/embed/branch
  • Fixed a performance issue with bounded repeats in regular expressions
  • Syntax tests can now assert that reindent is working as expected
  • Syntax tests can now assert that symbols are indexed
  • Prevent infinite include loops via with_prototype
  • Fixed a number of scope related bugs
  • Fixed some regex capture related bugs
  • Added more information to the Show Scope Name popup
  • OS Compatibility:
  • The following operating systems are no longer supported as a result of adding Python 3.8:
  • OS X 10.7
  • OS X 10.8
  • Windows XP
  • Windows Vista
  • Platform Integration:
  • Added automatic dark/light theme and color scheme switching, based on OS theme changes
  • subl - can now be used to read from stdin on all platforms
  • Windows will remember their Virtual Desktop/Space/Workspace, controlled by the remember_workspace setting
  • Scroll bars now follow platform conventions when clicking on them. Configurable using Scroll Bar.sublime-mousemap
  • Mac: Releases use universal binaries with Apple Silicon support
  • Mac: Updated icon to follow macOS 11 style
  • Mac: Windows will now stay maximized when using Mac window tabs
  • Mac: Fix various issues with the wrong cursor being used
  • Linux: ARM64 builds are now available
  • Linux: Text drag and drop is now supported
  • Linux: Added proper support for Wayland
  • Linux: Touch screen events are now handled
  • Linux: Better support for copy+paste with other applications that don't support utf8 text
  • Linux: Native file dialogs like those for KDE will be used when configured
  • Windows: IME preview and multi-select support
  • Windows, Linux: Added support for custom title bars
  • Windows, Linux: Use vsync for animations instead of a fixed 60hz
  • Mac, Linux: Improved compatibility with some keyboard layouts
  • Application Behavior:
  • Added Safe Mode, to simulate a clean install. Enabled by passing --safe-mode on the command line or holding shift+alt/option at startup on Windows/macOS respectively
  • Added Help/Report a Bug to link to our public issue tracker
  • Added options to hot_exit setting to control behavior when the last window is closed
  • Fixed a possible case where an update loses the current session
  • Settings containing a UTF-8 BOM will no longer fail to load
  • Added support for previewing TGA and PSD images
  • Added close_deleted_files setting to control behavior of session restoration when files have been deleted on disk
  • Popup windows now use virtual windows for improved performance
  • Improved performance when loading files with very long lines
  • Improved rendering performance on very long lines
  • Improved performance with large session files
  • Data directories have dropped the "3", though if a "3" directory still exists it will be used
  • Mac: Quick Switch Project now works without any windows open
  • Mac, Linux: The cache and index are now located in the proper location (~/.cache and ~/Library/Caches respectively)
  • Auto Complete:
  • Typing the full tab trigger of a snippet will move it to the top of the results
  • Manually typing in the only available completion will hide the auto complete popup
  • .sublime-completion files can now specify annotation, kind and details
  • Ranking quality improvements
  • Improved behavior of completions starting with non-word characters
  • auto_complete_trailing_symbols is now disabled by default
  • cancelCompletion will no longer prevent manual invocation
  • Added the auto_complete_when_likely setting
  • Added auto_complete_preserve_order setting
  • Added auto_complete_include_snippets_when_typing setting
  • Added auto_complete_use_index setting
  • Added auto_complete_use_history setting to control if previous choices are automatically selected
  • Running the auto_complete command when auto complete is already showing will re-query plugins for results
  • auto_complete_selector now applies to the position before the just-typed in character, matching auto_complete_triggers
  • Input Handling:
  • Modifier key taps can now be used as part of a key binding. For example, ["ctrl", "ctrl"] will trigger when Ctrl is pressed twice without pressing any other keys in between
  • Linux: AltGr can now be used in key bindings via altgr
  • Linux: Added a workaround for a touchscreen driver bug, which would cause right click and mouse scrolling to stop working
  • Linux: When the menu is hidden, pressing alt will show it
  • Mac: Fix Pinyin input
  • Mac: Keypad keys can now be bound to as expected
  • Mac: Added key bindings for macOS application tabs
  • Windows, Linux: Hide mouse cursor when typing. Controlled via hide_pointer_while_typing setting
  • Windows, Linux: Fixed being unable to bind Ctrl+Break
  • Editor Control:
  • Added File/Print, which prints via a browser
  • Added Edit/Copy as HTML
  • Build systems now use new annotations functionality instead of phantoms, reducing re-flow
  • Undo history is preserved in the session
  • Comments and layout are preserved when programmatically editing preferences
  • Caret blinking is disabled by default. Set caret_style setting to smooth for previous behavior
  • Improved automatic indentation detection
  • Added relative line numbers, controlled by the relative_line_numbers setting
  • Added setting scroll_context_lines
  • Added setting hide_pointer_while_typing
  • Added setting control_character_style
  • Added Project/Recent/Remove Deleted
  • Added chain command to run multiple commands in series
  • switch_file command now handles filenames with compound extensions
  • The scroll_past_end setting now supports customizing the scroll distance using numbers from 0.0 to 1.0
  • Double-clicking a semi-transient sheet's tab will now fully open the sheet
  • trim_trailing_white_space_on_save can now be set to "not_on_caret"
  • trim_trailing_white_space_on_save now trims only newly inserted trailing whitespace by default. Controlled via trim_only_modified_white_space setting
  • Expanded draw_white_space setting, supporting leading and trailing white space
  • Unicode white space characters, such as the zero width no-break space, are now drawn as hex values. Controlled via draw_unicode_white_space setting
  • Fixed spelling correction to support languages with upper case characters after start of word
  • Added commands to simplify customizing the active theme or color scheme
  • Quick Switch Project will open the selected project in a new window if Ctrl (Cmd on Mac) is held down
  • Added wrap_width_style preference
  • Added console_max_history_lines
  • Added additional settings to control the status bar: show_sidebar_button, show_indentation and show_syntax
  • Console now uses Python syntax highlighting by default
  • Added Central European (Mac) encoding support
  • Key Bindings: Join Lines is now on Ctrl+Shift+J / Cmd+Shift+J
  • Key Bindings: Expand Selection to Indentation is no longer bound by default
  • Key Bindings: Ctrl+J / Cmd+J is now used as a prefix for sequential key bindings, similar to Ctrl+K / Cmd+K
  • Code Folding: fixed some edge-case incorrect behaviors
  • Linux: Added support for alternate font weight names
  • Linux: Selection is no longer cleared when another application makes a selection
  • Linux: Added Ctrl+Space to trigger Auto Complete
  • Linux, Windows: Added Alt+Shift+Left Mouse Button as an alternative column selection binding
  • Linux, Windows: Added Shift+F10 key binding to open the context menu
  • Text Commands:
  • Macros now record Find commands
  • Reworked Jump Back and Jump Forward commands
  • Improved behavior of Wrap Paragraph
  • Improved behavior of Swap Lines
  • Added Revert Diff Hunk
  • Added Selection/Expand Selection as a general mechanism to expand the selection
  • Selection/Split into Lines will now split a selection into words if the selection doesn't contain any newlines
  • Show a sum in the status bar when there are multiple selections and all of them are numbers
  • set_file_type command now accepts "scope:" prefixed syntax names
  • Fixed sort_lines replacing unicode newlines with regular ones
  • Snippets:
  • Added auto_complete_include_snippets setting, for disabling auto complete integration
  • Added ignored_snippets setting, for disabling default snippets
  • Indexing (Goto Definition):
  • Files ignored by .gitignore are not indexed by default. Controlled via index_exclude_gitignore setting
  • Files without known extensions are no longer indexed by default. Controlled via index_skip_unknown_extensions setting
  • Improved behavior with constantly changing files
  • Significantly improved load times
  • Files and Folders:
  • Saving files is now asynchronous
  • Improved performance when adding directories with extreme amounts of files
  • When save_on_focus_lost is enabled, closing an unsaved file will save and close it, instead of prompting to save
  • Improved behavior of save_on_focus_lost in conjunction with administrator owned files
  • Added reload_file_on_change setting to control if files are automatically reloaded or not
  • folder_exclude_patterns and folder_include_patterns now support project-relative paths, by starting the path with //
  • Folders in the sidebar can be recursively expanded via alt+arrow key
  • Added preview_on_click setting to support only previewing files on left click
  • Windows: Fixed Open Containing Folder for UNC paths
  • Windows: Fixed Save dialog not showing for new files with control characters on the first line
  • Windows: Fixed Ctrl+Backspace inserting a DEL character when a dialog is open in the background
  • Linux: Fix recreated directories not working correctly with file change monitoring
  • Linux: Recursively expanding and collapsing sidebar folders now works with alt or super
  • Find:
  • Find results are highlighted on the scroll bar, controlled by highlight_find_results_in_scrollbar
  • Find in Selection now highlights the area that will be searched
  • Commands can now be run without the find panel having input focus
  • Fix keypad enter not working in find panel
  • Improved find history behavior
  • Find: Various performance improvements with large files using graceful degradation
  • Find: Fixed adjacent matches being skipped when find in selection is in use
  • Find: Fixed find in selection option not being cleared when changing tabs
  • Find: Selection will no longer be reset after Find All is used when finding in selection
  • Find: Results are now properly highlighted on Find All when close_find_after_find_all is turned off
  • Find in Files: Improved performance with large numbers of matches
  • Find in Files: Can now filter by .gitignore
  • Find in Files: Added Preserve Case option for replacements
  • Find in Files: Fix not recursing into directories on networked file systems
  • Find in Files: Hide rulers by default in find results
  • Find in Files: Added Find/Cancel Find in Files menu item
  • Find in Files: Binary file patterns are applied when an explicit folder is given
  • Find in Files: Using "Find in Folder…" from the sidebar context menu will apply project file filters
  • Find in Files: Added close_find_after_find_all preference
  • Find in Files: Added close_find_after_replace_all preference
  • UI:
  • Changed default color scheme to Mariana
  • Added Default Dark theme
  • Added themed_title_bar setting
  • Changed file tab style, adding file_tab_style setting
  • Goto Symbol shows more information about symbols
  • Definitions hover popup shows more information about symbols
  • Sheets without input focus are now dimmed when using included themes
  • Added a New Tab button in the tab bar, and hide_new_tab_button setting
  • Added show_tab_close_buttons_on_left setting
  • Added highlight_gutter and highlight_line_number settings
  • Added the ability to auto hide the menu, tabs, and status bar when typing. See auto_hide_menu and related settings
  • Window title bar can be controlled by show_rel_path and show_project_first settings
  • Tab context menu now includes Close Unmodified Files and Close Deleted Files entries
  • Side bar row highlights now properly reflect the selected tabs
  • Color Schemes: Added glow font option
  • Color Schemes: Added support for the underline font style
  • Color Schemes: Added new property, inactive_selection_border
  • Color Schemes: Slightly darkened the background of Mariana
  • Color Schemes: Added support for stippled_underline and squiggly_underline
  • Color Schemes: .hidden-tmTheme files are now supported by the .sublime-color-scheme convertor
  • Themes: Included themes use variables extensively, making customization simpler
  • Themes: Added style property for title_bar element, for better integration with OS "dark modes"
  • Themes: The tree_row for the file with input focus now gets the attribute highlighted
  • Themes: The settings key now supports objects, with keys being settings and values being a boolean, string or array of strings
  • Themes: Added sheet_contents class to text, image and HTML sheets
  • Themes: Added the background_modifier property for sheet_contents
  • Themes: Added a number of new attributes to tab_control for richer tab theming
  • Themes: The highlighted attribute is only applied to the most recently active sheet, rather that the most recently active sheet in each group
  • Themes: tab_control and sheet_contents classes now synchronize their highlighted and hover attributes
  • Themes: tooltip controls now support animations to their opacity
  • Linux: Show sequential key bindings in the menu
  • Linux: Fixed context menu position being slightly offset
  • Spell Checking:
  • Updated dictionaries
  • Added support for non-utf8 dictionaries
  • Updated Hunspell for improved suggestions
  • System dictionaries are now available on Linux
  • Dictionaries in ~/Library/Spelling are now available on Mac
  • Rendering:
  • Properly query glyph extents in order to avoid cutting off large glyphs
  • Windows, Linux: Added support for per-display subpixel ordering
  • Mac: Improved window resize performance
  • Windows: Fixed rendering bug where other applications could cause persistent artifacts via window animations
  • Windows: Add support for color emoji
  • API:
  • Improved coverage of plugin profiling
  • The cProfile module is now included on Linux
  • Added HTML sheets, which can be created via window.new_html_sheet()
  • repr now works as expected
  • Updated OpenSSL to 1.1.1j
  • .sublime-commands files now support filtering commands via the "platform" key
  • Minihtml now handles list-style-type CSS property - circle, square and disc
  • Minihtml now processes subl: links, running them as commands
  • Minihtml now supports white-space: nowrap
  • Improved minihtml rendering performance
  • EventListener has many new features and bug fixes
  • on_query_completions() can now
  • Return suggestions asynchronously
  • Return command completions
  • Include symbol kind information
  • New: on_init() is called once with list of views opened before plugin was loaded
  • New: on_exit() is called immediately before plugin_host exits, after API is shut down
  • New: on_text_changed() and on_text_changed_async() provide detailed modification info
  • New methods:
  • on_reload()
  • on_revert()
  • on_new_window()
  • on_new_window_async()
  • on_pre_close_window()
  • on_pre_move()
  • on_post_move()
  • on_post_move_async()
  • on_new_project()
  • on_new_project_async()
  • on_load_project()
  • on_load_project_async()
  • on_pre_save_project()
  • on_post_save_project()
  • on_post_save_project_async()
  • on_pre_close_project()
  • on_associate_buffer()
  • Fixed on_selection_modified() to not be called twice when left clicking
  • Fixed on_selection_modified() begin called on non-selection state changes
  • New TextChangeListener for getting callbacks when a text buffer is changed
  • Can be dynamically bound to a Buffer using TextChangeListener.attach and TextChangeListener.detach
  • Methods:
  • on_text_changed()
  • on_text_changed_async()
  • on_revert()
  • on_revert_async()
  • on_reload()
  • on_reload_async()
  • Sheet has some new methods:
  • file_name()
  • group()
  • close()
  • is_semi_transient()
  • Sheet.is_transient
  • View has a number of changes and improvements
  • Fixed newly created views not having a valid viewport before being returned to the API
  • add_regions() now has an annotations parameter, to allow adding a per-region annotation to the buffer. The exec command uses this API for build errors
  • add_regions() calls that add an underline now have that underline applied to whitespace characters
  • show() now takes keep_to_left and animate parameters
  • text_point() and related functions now accept a clamp_column parameter
  • Added "glow" to style_for_scope()
  • Added View.rowcol_utf8(), View.rowcol_utf16(), View.text_point_utf8() and View.text_point_utf16()
  • Added sublime.KEEP_ON_SELECTION_MODIFIED, which can be passed to show_popup()
  • New: element() returns a string describing widget views (find input, quick panel input, etc)
  • New: assign_syntax() sets the syntax used in a view, supports Syntax objects, paths and scope selectors
  • New: syntax() returns the currently set Syntax
  • New: clones()
  • New: sheet() and sheet_id()
  • New: export_to_html()
  • Window has some changes and improvements:
  • show_quick_panel now accepts placeholder text, via the placeholder argument
  • Added sublime.CLEAR_TO_RIGHT and sublime.SEMI_TRANSIENT for use with open_file()
  • Added the flag sublime.REPLACE_MRU for use with open_file(). When multiple sheets are selected, this flag will cause the opened file to replace the most recently used sheet with the file being opened
  • Added the flag sublime.WANT_EVENT for use with show_quick_panel(). This will pass an event dict to the on_select callback. The dict will contain the key modifier_keys, which will be a dict that may contain zero or more of the keys: primary, ctrl, super, alt, altgr
  • open_file now accepts sublime.ADD_TO_SELECTION as a flag
  • New: selected_sheets(), selected_sheets_in_group() and select_sheets()
  • New: workspace_file_name()
  • New: bring_to_front()
  • sublime.ok_cancel_dialog() and sublime.yes_no_cancel_dialog() now accept an optional title parameter
  • Added sublime.open_dialog, sublime.save_dialog and sublime.select_folder_dialog
  • Syntax definitions can be queried via sublime.list_syntaxes(), sublime.find_syntax(), sublime.syntax_from_path(), sublime.find_syntax_by_name(), sublime.find_syntax_by_scope(), and sublime.find_syntax_for_file(). They return Syntax objects
  • Improved sys.stdout to extend io.TextIOBase
  • sublime.executable_path(), sublime.packages_path(), sublime.installed_packages_path() and sublime.cache_path() may now be called at import time
  • Added sublime.SymbolRegion and sublime.SymbolLocation with corresponding methods on View and Window
  • Fix a bug with popup being stuck open when a popup is shown in the hide event handler of another popup
  • Added open_project_or_workspace command
  • append command has new, optional disable_tab_translation argument
  • Added modifier_keys to event dicts when commands are invoked via a menu
  • Added sublime.DYNAMIC_COMPLETIONS. on_query_completions() can return this flag to indicate that completion results should be re-queried as the user types
  • Added sublime.INHIBIT_REORDER. Returned by on_query_competions()
  • CompletionItem now accepts a details parameter, which can include basic HTML
  • CommandInputHandler now has an initial_selection() method
  • Added Region.to_tuple and Phantom.to_tuple
  • Fixed ViewEventListener.on_load_async() sometimes not being called
  • Added sublime.QuickPanelItem() with support for kind info, annotations and basic minihtml
  • Plugins may now add selections to the Jump Back history list via the add_jump_record command
  • Plugins may suppress selections from the Jump Back history list via the jump_ignore_selection region
  • Plugins may now disable the default HTML and CSS completions
  • Added Buffer.id() and Buffer.file_name()
  • The TextInputHandler and ListInputHandler classes may define a method want_event() that returns True to receive an extra parameter, an event dict, when the validate() and confirm() methods are called. The dict will contain the key modifier_keys, which will be a dict that may contain zero or more of the keys: primary, ctrl, super, alt, altgr
  • Add sublime.ui_info() for high-level information about the UI
  • Popups will be properly positioned when displayed near the right-hand side of the editor
  • Popups near the right-hand side of the editor with wrapped lines will now be properly sized
  • Added ListInputItem so that ListInputHandler objects can provide kind info, annotations and details
  • Improvements to the API, applied to the new Python 3.8 environment only:
  • bool(sublime.Selection()) will return False when len() == 0
  • sublime.load_binary_resource() now returns bytes instead of bytearray
  • Added Selection.__iter__()
  • Added Region.__iter__()
  • Added Region.__contains__()
  • Added Settings.to_dict()
  • Settings can now be treated like a dict
  • Plugins starting with _ will be ignored, __all__ global will be respected
  • Events won't be reported until plugin_loaded() has been called
  • .pyc files can now be imported when contained within .sublime-package files, although they will not be scanned for plugins
  • The certifi Python package is preinstalled
  • Significant performance improvements when rapidly printing to the Console
  • Added sublime.log_control_tree(). When enabled, clicking with ctrl+alt will log the control tree under the mouse to the console
  • Added sublime.log_fps(). When enabled, the render times are tracked and logged
  • Added logging status functions:
  • sublime.get_log_commands()
  • sublime.get_log_input()
  • sublime.get_log_build_systems()
  • sublime.get_log_result_regex()
  • sublime.get_log_indexing()
  • sublime.get_log_fps()
  • sublime.get_log_control_tree()
  • Logging functions are now toggle when no argument is passed:
  • sublime.log_commands()
  • sublime.log_input()
  • sublime.log_build_systems()
  • sublime.log_result_regex()
  • sublime.log_indexing()
  • sublime.log_fps()
  • sublime.log_control_tree()
  • Backwards Compatibility Break: The event parameter passed to commands when a minihtml link is clicked changed from a two-element list to a dict with the keys x and y

New in Sublime Text 3.2.2 Build 3211 (Oct 1, 2019)

  • Mac: Added Notarization
  • Fixed a performance regression when moving the caret upwards in large files
  • Fixed a memory leak
  • Fixed not being able to swap lines down with the last line if it was empty
  • Git: Fixed includeIf handling in git config files not interpreting ~ relative paths correctly

New in Sublime Text 3.2.1 Build 3210 Dev (Sep 24, 2019)

  • Mac: Fixed a compatibility regression with some plugins

New in Sublime Text 3.2.1 Build 3209 Dev (Sep 23, 2019)

  • Mac: Added Notarization
  • Fixed a performance regression when moving the caret upwards in large files
  • Fixed a memory leak
  • Fixed not being able to swap lines down with the last line if it was empty
  • Git: Fixed includeIf handling in git config files not interpreting ~ relative paths correctly

New in Sublime Text 3.2.1 Build 3207 (Apr 8, 2019)

  • Various syntax highlighting improvements
  • Git: Git repositories at the top level of a users home directory are ignored for performance reasons. This can be changed via the allow_git_home_dir setting.
  • Git: Improved performance with a large number of git repositories in the side bar
  • Git: Fixed UTF8 BOMs not being handled correctly in .gitignore files
  • Fixed a crash in the Git repository handling
  • Improved file indexing behavior in some scenarios
  • Improved scrolling logic in some scenarios
  • Fixed block carets changing the way text selection works
  • Fixed swap_line_up and swap_line_down transforming tabs into spaces
  • Mac: Added a workaround for a MacOS issue with DisplayLink adapters
  • Lixed: Fixed compatibility with old Linux distributions
  • Linux: Improved high dpi handling under KDE
  • Linux: Tweaked the way text scaling is handled
  • Linux: Fixed incorrect file ownership in the deb packages
  • API: Fixed an incompatibility with SublimeREPL
  • API: Fixed regression with phantoms interfering with home/end behavior

New in Sublime Text 3.2 Build 3206 Dev (Apr 5, 2019)

  • Performance improvements

New in Sublime Text 3.2 Build 3205 Dev (Apr 4, 2019)

  • Improved scrolling logic in some scenarios

New in Sublime Text 3.2 Build 3204 Dev (Apr 2, 2019)

  • Mac: Added a workaround for a MacOS issue with DisplayLink adapters
  • Linux: Tweaked the way text scaling is handled
  • Improved file indexing behavior in some scenarios
  • Fixed block carets changing the way text selection works

New in Sublime Text 3.2 Build 3203 Dev (Mar 28, 2019)

  • Fixed a crash in the Git repository handling
  • Linux: Further improvements to high dpi handling under KDE
  • API: Fixed regression with phantoms interfering with home/end behavior

New in Sublime Text 3.2 Build 3202 Dev (Mar 21, 2019)

  • Various syntax highlighting improvements
  • Git: Git repositories at the top level of a users home directory are ignored for performance reasons. This can be changed via the allow_git_home_dir setting.
  • Git: Improved performance with a large number of git repositories in the side bar
  • Git: Fixed UTF8 BOMs not being handled correctly in .gitignore files
  • Linux: Improved high dpi handling under KDE
  • Linux: Fixed incorrect file ownership in the deb packages
  • Fixed swap_line_up and swap_line_down transforming tabs into spaces
  • API: Fixed an incompatibility with SublimeREPL

New in Sublime Text 3.2 Build 3201 Dev (Mar 21, 2019)

  • Various syntax highlighting improvements
  • Git: Git repositories at the top level of a users home directory are ignored for performance reasons. This can be changed via the allow_git_home_dir setting.
  • Git: Improved performance with a large number of git repositories in the side bar
  • Git: Fixed UTF8 BOMs not being handled correctly in .gitignore files
  • Linux: Improved high dpi handling under KDE
  • Linux: Fixed incorrect file ownership in the deb packages
  • Fixed swap_line_up and swap_line_down transforming tabs into spaces
  • API: Fixed an incompatibility with SublimeREPL

New in Sublime Text 3.2 Build 3200 (Mar 13, 2019)

  • NEW: Git Integration:
  • Files and folders in the sidebar will now display badges to indicate Git status
  • Ignored files and folders are visually de-emphasized
  • The current Git branch and number of modifications is displayed in the status bar
  • Commands have been added to open a repository, see file or folder history, or blame a file in Sublime Merge
  • Themes may customize the display of sidebar badges and status bar information
  • The setting show_git_status allows disabling Git integration
  • All file reads are done through a custom, high-performance Git library written for Sublime Merge
  • NEW: Incremental Diff:
  • All changes to a document are now represented by dedicated markers in the gutter
  • Diff markers show added, modified and deleted lines
  • The setting mini_diff controls incremental diff behavior
  • In coordination with the new Git functionality, diffs can be calculated against HEAD or the index
  • The git_diff_target setting controls base document source
  • API methods View.set_reference_document() and View.reset_reference_document() allow controlling the diff
  • The following diff-related commands were added:
  • Next Modification
  • Previous Modification
  • Revert Modification
  • Full inline diffs of each change can be displayed via the right-click context menu, or keyboard shortcuts
  • Inline diff presentation can be changed by customizing a color scheme
  • Read the documentation
  • Editor Control:
  • Added block_caret setting
  • Improve positioning and sizing of gutter icons in some situations
  • Fixed draw_minimap_border setting not working
  • Windows: Improved IME support
  • Themes/UI:
  • Enhanced the .sublime-theme format:
  • Added variables support and associated revised JSON format with variables key
  • Added extends keyword to have one theme derive from another
  • Colors may be specified via CSS syntax
  • Improved performance with large numbers of rules in a .sublime-theme
  • Windows: Fixed minimized and maximized state not restoring
  • Windows: Fixed a bug where auto complete entries would contain an ellipsis when not required
  • Text Rendering:
  • Support for Unicode 11.0
  • Improved rendering of combining characters
  • Fixed a caret positioning bug when non-trivial graphemes are present
  • Fixed some cases of incorrect glyph positions on Windows and Mac
  • Windows: Fixed a rendering issue with certain combining characters
  • Windows: Fixed some fonts having an incorrect baseline
  • Color Schemes:
  • Added block_caret key to use in conjunction with block carets
  • caret values now respect alpha as expected, rather than pre-blending against the background color
  • Added the foreground_adjust property to rules with a background. Accepts CSS color mod adjusters to manipulate the saturation, lightness or opacity of the foreground color.
  • Syntax Highlighting:
  • Many syntax highlighting improvements, including significant improvements to:
  • Clojure, with thanks to Nelo Mitranim
  • Go, with thanks to Nelo Mitranim
  • Lua, with thanks to Thomas Smith
  • Fixed a crash that could occur when nesting embed patterns in .sublime-syntax files
  • Syntax Tests: Allow syntax test files to have a UTF-8 BOM
  • Files and Folders:
  • Improve performance of file watching for ignored paths on Windows and Mac
  • Windows: Fixed Open File treating paths as case-sensitive
  • Windows: Properly unlock directories after contained files are closed
  • API:;
  • Added View.set_reference_document() and View.reset_reference_document() to control diff generation
  • Phantoms are now drawn correctly in conjunction with draw_centered
  • Various minor improvements related to plugin module loading and unloading
  • Added support for hwb() colors to minihtml
  • Added a custom min-contrast() adjuster for the CSS color mod function in minihtml
  • Miscellaneous:
  • Fixed a Goto Symbol in Project performance regression
  • F21..F24 keys can now be bound
  • Assorted minor fixes and stability improvements

New in Sublime Text 3.1.1 Build 3197 Dev (Mar 8, 2019)

  • Fixed an infinite loop regression in 3195

New in Sublime Text 3.1.1 Build 3196 Dev (Mar 8, 2019)

  • Fixed an infinite loop regression in 3195

New in Sublime Text 3.1.1 Build 3195 Dev (Mar 7, 2019)

  • Assorted minor fixes
  • Fixed a Goto Symbol in Project performance regression

New in Sublime Text 3.1.1 Build 3194 Dev (Mar 5, 2019)

  • Various inline diff improvements

New in Sublime Text 3.1.1 Build 3193 Dev (Mar 1, 2019)

  • Added inline diffs. Right clicking on a modified line will give an option to show a diff. Alternatively, the diff can be toggled via ctrl+k, ctrl+/ (cmd+k, cmd+/ on macOS)
  • Mac: Themed title bars are now disabled when macOS native tabs are used
  • Mac: Ensure context menus are shown without scrolling
  • Mac: Error message dialogs can now be closed with the escape key
  • Linux: Color glyphs are now drawn properly on light backgrounds
  • Color Schemes: Inline diff presentation can be customized via diff.deleted, diff.deleted.char, diff.inserted, and diff.inserted.char
  • API: Phantoms are now drawn correctly in conjunction with draw_centered

New in Sublime Text 3.1.1 Build 3192 Dev (Feb 27, 2019)

  • Mac: Add full support for macOS native tabs
  • Rewritten D syntax highlighting
  • Improve performance of file watching for ignored paths on Windows and Mac
  • Fix rendering of block_caret in combination with scope-specific background colors
  • Properly display Git status badges in Open Files section of sidebar
  • Correct the deleted line marker for mini diffs to scale with ui_scale
  • Linux: Improved behavior of --wait command line argument when Sublime Text isn't currently running
  • Windows: Fix GDI font properties of matched characters in Goto Anything
  • Windows: Prevent plugin_host.exe from crashing when Emmet is first installed

New in Sublime Text 3.1.1 Build 3191 Dev (Feb 27, 2019)

  • Rewritten D syntax highlighting
  • Improve performance of file watching for ignored paths on Windows and Mac
  • Fix rendering of block_caret in combination with scope-specific background colors
  • Properly display Git status badges in Open Files section of sidebar
  • Correct the deleted line marker for mini diffs to scale with ui_scale
  • Fix GDI font properties of matched characters in Goto Anything
  • Prevent plugin_host.exe from crashing when Emmet is first installed

New in Sublime Text 3.1.1 Build 3191 Dev (Feb 27, 2019)

  • Rewritten D syntax highlighting
  • Improve performance of file watching for ignored paths on Windows and Mac
  • Fix rendering of block_caret in combination with scope-specific background colors
  • Properly display Git status badges in Open Files section of sidebar
  • Correct the deleted line marker for mini diffs to scale with ui_scale
  • Fix GDI font properties of matched characters in Goto Anything
  • Prevent plugin_host.exe from crashing when Emmet is first installed

New in Sublime Text 3.1.1 Build 3190 Dev (Feb 19, 2019)

  • Added Edit/Text/Revert Modification menu item
  • Color Schemes: caret values now respect alpha as expected, rather than pre-blending against the background color
  • Color Schemes: Added block_caret key to use in conjunction with block carets
  • Added block_caret setting
  • Improved handling of symlinks and Git repositories
  • Fixed some cases of incorrect glyph positions on Windows and Mac
  • Fixed a bug with the Duplicate Line command
  • Improve positioning and sizing of gutter icons in some situations
  • Windows: Fix DirectWrite handling of fonts with lineGap > 0
  • Linux: Tweaked behavior of up/down when on the first and last lines of a file to better match platform conventions
  • Linux: Fixed regression where native Python modules were unable to be loaded
  • Linux: Fixed scrolling to switch tabs not working as expected under GTK3 with trackpads
  • API: Fixed defining commands in Python that override a previously-loaded command with the same name
  • API: Added View.reset_reference_document(), which is equivalent to calling set_reference_document() with the current buffer contents
  • Various syntax highlighting improvements
  • Misc crash fixes

New in Sublime Text 3.1.1 Build 3189 Dev (Feb 1, 2019)

  • Mini diffs now indicate inserted and deleted lines
  • Added Goto/Next Modification and Goto/Previous Modification commands
  • The mini_diff setting can now be set to "auto", which will only show mini diffs for files in Git repositories
  • Added the git_diff_target setting, to control if the mini diff for Git files is against the index or HEAD
  • Git repositories are now detected through symlinks
  • Fixed a bug calculating Git status badges in the side bar
  • Fixed a caret positioning bug when non-trivial graphemes are present
  • Windows: Fixed a bug where auto complete entries would contain an ellipsis when not required
  • Windows: Fixed a rendering issue with certain combining characters
  • Windows: Fixed some fonts having an incorrect baseline
  • Windows: Properly unlock directories after contained files are closed
  • API: Various minor improvements related to plugin module loading and unloading

New in Sublime Text 3.1.1 Build 3188 Dev (Jan 21, 2019)

  • Fixed a crash regression in 3186
  • Fixed mini diffs showing incorrectly for Git files in some scenarios

New in Sublime Text 3.1.1 Build 3187 Dev (Jan 18, 2019)

  • Fixed a crash regression in 3186

New in Sublime Text 3.1.1 Build 3185 Dev (Jan 18, 2019)

  • Diffs are now shown in the gutter, showing the modified lines since the file was opened, or modified lines vs HEAD if the file is part of a Git repository. This can be disabled via the mini_diff setting.
  • Git: Various improvements to Git repository detection and handling
  • Git: Git status badges are shown in the Open Files section of the side bar
  • Git: Added support for includeIf in Git config files
  • Rewritten Lua syntax highlighting, with thanks to Thomas Smith
  • Various syntax highlighting improvements
  • Support for Unicode 11.0
  • Linux and Windows: Improved IME support
  • Linux: Fixed popup menu positioning on High DPI screens
  • Mac: Fixed middle mouse button support
  • Fixed a crash that could occur when nesting embed patterns in .sublime-syntax files
  • Minihtml: Fix hwb() to normalize w and b channels, and accept an alpha channel
  • Syntax Tests: Allow syntax test files to have a UTF-8 BOM
  • API: Added view.set_reference_document(), to control the mini diff target

New in Sublime Text 3.1.1 Build 3184 Dev (Dec 5, 2018)

  • Improved visualization of ignored files
  • Fixed a crash when looking up Folder History on the root of a repo
  • Fixed hover attributes not being applied in the side bar
  • Fixed output panels always scrolling to the bottom
  • Linux: GTK3 + Wayland compatibility fixes
  • Mac: Fixed Control+click not showing a context menu in the side bar

New in Sublime Text 3.1.1 Build 3183 Dev (Dec 3, 2018)

  • Mac: Fixed missing key bindings in menu items
  • Linux: Fixed a crash when using GTK_IM_MODULE=xim
  • Linux: Fixed popup windows on Wayland

New in Sublime Text 3.1.1 Build 3181 Dev (Nov 29, 2018)

  • Git file status is shown as badges next to file names in sidebar
  • Git branch name and number of modified files is shown in status bar
  • Git repository information may be disabled via show_git_status setting
  • Added Sublime Merge integration - see context menus and command palette
  • Linux: Moved to GTK3
  • Unicode: Improved rendering of combining characters
  • Significant improvements to Go syntax highlighting, with thanks to Nelo Mitranim
  • Significant improvements to Clojure syntax highlighting, with thanks to Nelo Mitranim
  • Various syntax highlighting improvements
  • minihtml: Add support for hwb() colors
  • minihtml: Added a custom min-contrast() adjuster for the color mod function
  • F21..F24 keys can now be bound

New in Sublime Text 3.1.1 Build 3180 Dev (Oct 15, 2018)

  • Fixed scroll events going through overlays
  • Fixed draw_minimap_border setting not working
  • Windows: Fixed Open File treating paths as case-sensitive
  • Windows: Fixed minimized and maximized state not restoring

New in Sublime Text 3.1.1 Build 3179 Dev (Oct 12, 2018)

  • Themes: Added extends keyword to have one theme derive from another
  • Themes: Added variables section
  • Themes: Colors may be specified via CSS syntax
  • Themes: Improved performance with large numbers of rules
  • Color schemes: add a foreground_adjust property to rules with a background. Accepts CSS color mod adjusters to manipulate the saturation, lightness or opacity of the foreground color
  • Mac: Added Mojave support
  • Mac: Fixed a plugin_host crash when running a process that itself crashes
  • Mac: Improved window placement
  • Linux: Various high DPI fixes

New in Sublime Text 3.1.1 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.1 Build 3170 (May 14, 2018)

  • Themes/UI:
  • Windows: Added support for Windows 10 (and 8.1) per-monitor DPI scaling
  • 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
  • Linux/Windows: Improved High DPI minimap rendering
  • 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
  • Windows: DirectWrite is now used by default for all fonts
  • Windows: Support gray_antialias in conjunction with DirectWrite
  • Windows: improved DirectWrite anti-aliasing, adding support for system ClearType tuning
  • 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
  • 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
  • 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
  • Added stand alone syntax test runner for Linux, allowing for CI testing
  • Various syntax definition errors now include the file name in the message
  • 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
  • Linux/Windows: File system notifications now account for symlinks (and Windows junctions)
  • Linux: file system notification now only requires a single inotify instance
  • Linux: Improved behavior when fs.inotify.max_user_watches is too low
  • 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
  • Linux: Context menus no longer cause the editor control to be focused when closed
  • Windows: Fix pen input
  • 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

New in Sublime Text 3.0 Build 3175 Dev (May 12, 2018)

  • Misc crash fixes

New in Sublime Text 3.0 Build 3174 Dev (May 11, 2018)

  • Fixed a spell check rendering regression in 3171

New in Sublime Text 3.0 Build 3172 Dev (May 10, 2018)

  • Fixed a rendering regression in 3171

New in Sublime Text 3.0 Build 3171 Dev (May 10, 2018)

  • Several high DPI related fixes
  • Added ui_scale setting to scale the entire UI
  • Various syntax highlighting improvements
  • 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
  • Mac: Add default key bindings for ctrl+pgup and ctrl+pgdn to match Firefox
  • Some crash fixes

New in Sublime Text 3.0 Build 3168 Dev (May 3, 2018)

  • Fix a command palette input history regression in 3167
  • Windows: Tweaked label alignment

New in Sublime Text 3.0 Build 3167 Dev (May 2, 2018)

  • Added support for 8k monitors and 300% DPI scale
  • Themes can now provide @3x versions of images for very high DPI monitors
  • Fixed a crash when adding folders to the sidebar with a complex combination of hardlinks and symlinks

New in Sublime Text 3.0 Build 3166 Dev (May 1, 2018)

  • Various syntax highlighting improvements
  • Windows: Fixed a label eliding regression with fractional DPI scaling
  • Fixed a scrolling regression in 3165
  • Several crash fixes

New in Sublime Text 3.0 Build 3165 Dev (Apr 27, 2018)

  • Windows: Improved support for fractional DPI scaling
  • Fixed hashed syntax highlighting getting confused by word wrapping
  • Fixed popup and auto complete windows not showing when the caret is at the leftmost position of a widget

New in Sublime Text 3.0 Build 3164 Dev (Apr 18, 2018)

  • API: Fixed a plugin loading regression in 3162

New in Sublime Text 3.0 Build 3163 Dev (Apr 17, 2018)

  • Windows: Fix a performance regression in 3162
  • Windows: Use GDI compatible text layout in some scenarios

New in Sublime Text 3.0 Build 3162 Dev (Apr 16, 2018)

  • Added the Celeste color scheme to showcase hashed syntax highlighting
  • More selection rendering improvements and fixes
  • Fix a bug where theme animations may continue even after a layer has been hidden, causing excessive CPU usage
  • Windows: improved DirectWrite anti-aliasing, adding support for system ClearType tuning
  • Mac: Fixed sizing of some dialog windows when a theme uses a themed title bar
  • Mac: Fixed font_options for OpenType features
  • Mac: Fixed handling of color fonts with light color schemes
  • Various syntax highlighting improvements
  • API: Improve tracebacks for Python in .sublime-package files

New in Sublime Text 3.0 Build 3161 Dev (Apr 4, 2018)

  • Improved selection rendering
  • Fixed an auto complete rendering regression in 3158
  • Reverted inbuilt Python to 3.3.6

New in Sublime Text 3.0 Build 3160 Dev (Mar 30, 2018)

  • Fixed a crash regression in 3158 when using symlinks on Windows 7

New in Sublime Text 3.0 Build 3159 Dev (Mar 29, 2018)

  • Fixed a crash regression in 3158
  • Windows: Fixed a Build System regression with cmd based build systems

New in Sublime Text 3.0 Build 3158 Dev (Mar 29, 2018)

  • Added support for Windows 10 (and 8.1) per-monitor DPI scaling
  • Added Git Formats package for Git config files and use as core.editor, with thanks to Ryan Boehning and deathaxe
  • Added font_options for controlling ligatures and stylistic sets
  • Added support for case-sensitive file systems on Macs
  • File system notifications on Linux and Windows now account for symlinks (and Windows junctions)
  • Linux file system notification now only requires a single inotify instance
  • 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
  • Selections now render by default with true rounded corners
  • Added color scheme options for selection border width, corner style and radius
  • Selection background and border now support alpha channels
  • Fixed a bug in where a phantom at the beginning of a line could cause syntax highlighting issues
  • Tab width is now properly measured for proportional fonts
  • Improved rendering and selection of emojis in the editor control
  • Fixed some issues with loading fonts on Windows, including .fon fonts
  • Fixed a crash on Macs when a window was closed and later the system switched GPUs
  • Double-clicking a themed title bar on Mac now performs the default system action
  • Reduced the number of file stats operations on Mac
  • Context menus on Linux no long cause the editor control to be focused when closed
  • Improved exec build target handling of killing child processes
  • 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
  • Fixed a bug on Linux where some ultra-wide ligatures would have the left edge clipped off
  • shell_environment is now ensured to be loaded before plugin_loaded() is called on plugins
  • Fixed a bug where regions added through the API may not be properly applied when one of the regions ends at the beginning of the first line in the viewport
  • Various syntax highlighting improvements
  • API: Fix EventListener.on_activated_async() not being called for views when the editor starts
  • API: Add ViewEventListener.on_activated() and ViewEventListener.on_activated_async() to be called for views when the editor starts
  • API: The Python ssl module will now negotiate TLS 1.2, 1.1 or 1.0 with the `PROTOCOL_TLSv1` constant
  • API: Updated Python to 3.3.7, SQLite to 3.22.0, and OpenSSL to 1.0.2n

New in Sublime Text 3.0 Build 3157 Dev (Feb 9, 2018)

  • Fix a Command Palette regression in build 3156 with selecting previous filter text
  • Solved increased CPU usage on Macs when a GPU switch occurs while using a theme with a colored title bar
  • Fix embed action to work properly multiple times on a single line
  • Correct a crash related to syntax highlighting when one of the contexts has a regex backreference in a pop pattern
  • Command Palette keyboard shortcut hints are no longer cut off at 15 characters
  • Fixed occasional yellow or black windows on Macs when using a theme with a colored title bar
  • Various syntax highlighting improvements

New in Sublime Text 3.0 Build 3156 Dev (Dec 3, 2017)

  • embed action now treats the target as optional, rather than an error
  • Various syntax definition errors now include the file name in the message
  • Various syntax highlighting improvements
  • Fix a crash in the Command Palette when using up and down keys with text input
  • Initial Command Palette text is no longer selected
  • Reinvoking the Command Palette while it is open, but without focus, now works properly
  • API: Invoking a command that requires input from the Command Palette will always pass a dict to the input() method

New in Sublime Text 3.0 Build 3155 Dev (Nov 30, 2017)

  • Various Command Palette improvements
  • Syntax Highlighting: Fixed a bug with the handling of embed escape patterns
  • Syntax Highlighting: Added stand alone syntax test runner
  • API: Expanded ViewEventListener API
  • API: Commands can implement input_description() to control how they're shown when accepting input in the Command Palette

New in Sublime Text 3.0 Build 3154 Dev (Nov 20, 2017)

  • New Command Palette
  • Fuzzy matching can match terms out of order by space separating them
  • Added Arithmetic command to the Command Palette
  • Added Rename File command to the Command Palette
  • Added View Package File command to the Command Palette
  • Added Convert Color Scheme command
  • Various syntax highlighting improvements
  • Fixed hashed syntax highlighting not working as expected with trailing whitespace
  • Improve idle CPU usage
  • Improved handling of invalid.deprecated scopes in default color schemes
  • Add support for variables in escape patterns

New in Sublime Text 3.0 Build 3153 Dev (Nov 20, 2017)

  • Syntax Highlighting: Add embed action to .sublime-syntax files, which can significantly reduce memory usage
  • Add Hashed Syntax Highlighting
  • Various syntax highlighting improvements
  • Build systems: Improve cancellation handling
  • Build systems: Use /usr/bin/env to locate bash
  • Build systems: Fix multi-byte encodings sometimes triggering decoding errors
  • Improved indent guide positions when using line padding
  • Fixed gutter icons sometimes not drawing on macOS
  • Fixed being unable to load dictionary files larger than 16mb
  • Fix left arrow not working in the side bar
  • Windows: Fix pen input
  • API: Fix regions drawing with incorrect caret colors
  • API: Loaded plugins are now stored in __plugins__ rather than plugins
  • API: Plugin commands are now created before plugin_loaded() is run

New in Sublime Text 3.0 Build 3152 Dev (Nov 20, 2017)

  • Added goto_reference command to the Goto menu
  • Fixed not being able to grab the scrollbar by clicking on the rightmost pixels of the window
  • Fixed a regression where visible whitespace wasn't drawn correctly in conjunction with code folding
  • Fix double clicking on the selection not setting input focus when drag_drop is enabled
  • Color Schemes can specify bold and italic in the brackets_options key
  • Fix font_style typo when parsing .sublime-color-scheme files
  • .sublime-color-scheme: "defaults" has been renamed to "globals"
  • Windows: Removed drop shadows due to Windows not handling them correctly
  • API: Regions are able to change the foreground color again
  • API: Improve View.find() and View.find_all() performance when doing literal matches

New in Sublime Text 3.0 Build 3150 Dev (Nov 20, 2017)

  • Fixed double drawing of selected text
  • Improved color scheme reloading
  • Goto Symbol in Project shows only definitions, not references
  • API: Added view.style()

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
  • 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 23, 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
  • Significant improvements to the LaTeX syntax definition
  • Improved Goto Definition performance when a large number of files are open
  • Minor improvements to file load times
  • 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
  • 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
  • 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 OpenSSL to 1.0.2h

New in Sublime Text 3.0 Build 3103 Beta (Feb 10, 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
  • 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
  • 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 3083 Beta (Aug 17, 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

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
  • 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

New in Sublime Text 3.0 Build 3065 Beta (Aug 29, 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

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 Public Beta (Jun 29, 2013)

  • Beta is now open to non-registered users
  • 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
  • Auto updater supports updating from unicode paths
  • API: Plugins in zip files are able to be overridden via files on disk
  • 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

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

  • Added "Quick Skip Next", on Command+K,Command+D / Ctrl+K,Ctrl+D
  • Added text drag and drop
  • Reloading a file maintains the selection
  • 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
  • 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
  • Tweaked command line handling when Sublime Text isn't already running
  • 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
  • Vintage: Improved quote text object
  • Vintage: Added Ctrl+U and Ctrl+D
  • Vintage: 'vintage_use_clipboard' forces pasting from system clipboard too
  • Vintage: Fixed motions with "0" in them for actions
  • Vintage: Visual mode I and A
  • Vintage: Added vintage_use_clipboard setting to yank to the system clipboard
  • Vintage: Tweaked behavior of cw and cW when the caret is in whitespace
  • Vintage: Added bindings for moving the group focus up, down, left, right
  • Vintage: Paste accepts a repeat count
  • Vintage: Added bindings for u and U in visual mode, to change the case of the selection and exit visual mode
  • Vintage: Macro replay accepts a repeat count
  • Vintage: r processes lines individually
  • Vintage: Tweaked % behavior
  • Vintage: Fix bug that caused deletes to erroneously left_delete
  • Vintage: Fix EOF behavior with linewise changes
  • Vintage: Ignoring a and i when in visual mode
  • Vintage: cc and S take counts
  • Vintage: Correctly shrink selections when reversed
  • Vintage: Added vap
  • 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
  • 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
  • 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 (Feb 22, 2012)

  • Theme: New UI theme
  • 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
  • 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
  • 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 will search by whole words if the selection is empty
  • Ctrl+D 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 (Ctrl+Shift+J)
  • Expand Selection to Tag will handle unclosed tags
  • 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
  • Vintage: Added ga
  • Vintage: Improved H, L and M motions
  • 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 (Aug 31, 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 (Ctrl+Shift+A)
  • Added Close Tag (Alt+. on Windows)
  • 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.
  • 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
  • Windows: Fixed delay when opening multiple files from Explorer
  • Windows: Fixed Open Containing Folder for files in root directories
  • 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
  • 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
  • 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)

  • 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.
  • 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
  • Fixed Goto Line not updating the status bar
  • Fixed Goto Symbol not updating the status bar
  • 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
  • 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
  • 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 2065 Alpha (Jun 28, 2011)

  • Improved cold startup time
  • Added key bindings to toggle find options, which are shown in the tool tips
  • Find: The number of matching occurrences is indicated in the status bar
  • Find: Found text is highlighted in a separate color
  • Added "Reopen with Encoding" menu
  • Updated Scala package
  • Added Clojure syntax highlighting
  • Added Haml syntax highlighting
  • Added reStructuredText syntax highlighting
  • Syntax menu is now organized by package
  • Improved .tmLanguage file compatibility with regards to 0 length matches in rules
  • Added 'theme' global setting
  • Themes are automatically reloaded
  • Theme selectors are more powerful, and can now select based on the classes and attributes of parents
  • Color Schemes: Added inactiveSelection and inactiveSelectionForeground keys
  • Added Solarized color schemes
  • API: Added Window.num_groups(), Window.active_group(), and Window.focus_group(group)
  • API: Added Window.folders(), to access the currently opened folders
  • API: Region rendering will use the foreground and background colors for a given scope if both are specified in the tmTheme file
  • Fixed UI glitch with the replace panel and empty replacement strings
  • Fixed a crash with very large or very small font sizes

New in Sublime Text 2.0 Build 2059 Alpha (Jun 10, 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

New in Sublime Text 2.0 Build 2051 Alpha (Jun 10, 2011)

  • Bracket matching is smarter, and will ignore brackets in comments and strings
  • Added ":;" pairing in CSS
  • Reworked Layout menu
  • Scroll bar pucks are rendered with subpixel precision
  • Windows: Moving to the right by words will stop at the end of words, rather than the beginning
  • "Remove Folder" is now "Remove Folder from Project"
  • Fixed ordering of the Default package
  • Fixed Wrap Paragraph not correctly accounting for leading whitespace
  • API: Added sublime.version() and sublime.channel()
  • API: Fixed view.set_status() and view.erase_status() not refreshing the status bar

New in Sublime Text 2.0 Build 2047 Alpha (Jun 10, 2011)

  • Fixed mouse input regression in the license window and the select project window

New in Sublime Text 2.0 Build 2046 Alpha (Jun 10, 2011)

  • Added a side bar menu, with the ability to do basic file manipulation
  • Snippets with punctuation triggers are supported again
  • Improved automatic snippet field cancellation
  • Added Show Unsaved Changes context menu item
  • Reworked keyboard input
  • Mouse buttons can be configured via the new *.sublime-mousemap files
  • Windows: Right mouse + scroll wheel will change files
  • Mouse buttons 4 and 5 will change files
  • Rotating the mouse wheel in the tab header area will change tabs
  • Ctrl+W will close the window if no files are open
  • Ctrl+Shift+W will close the window
  • Quote auto-pairing is smarter, and will do the intended thing more often
  • Added find_selected_text file setting
  • Packages may add items to menus, including the main menu, context menu, and side bar menu
  • Main.sublime-menu is automatically reloaded when changed
  • Added New Plugin and New Build System menu items
  • Build files may specify environment variables, using the env key
  • Added build_env file preference, which will be picked up by the build system
  • Add Line Before will insert the correct amount of indentation
  • Tweaked status message display
  • Tweaked switch_file
  • Disabled typing while dragging
  • Added diff syntax highlighting
  • Fixed regression in 2036 that caused unsaved file indicators to not show in the title bar

New in Sublime Text 2.0 Build 2039 Alpha (Jun 10, 2011)

  • Show minimap setting is respected when cloning
  • Fixed flicker that could occur when showing the auto complete window

New in Sublime Text 2.0 Build 2036 Alpha (Jun 10, 2011)

  • Tab completion is now off by default, but can be turned back on with the new tab_completion setting
  • Added File/Clone File menu item
  • Showing the project in the title bar
  • Populating file types in Open and Save dialogs
  • Ctrl+Shift+K will delete the current line (all platforms)
  • Improved delete_word command, it will now delete a word and a neighboring space when it makes sense to do so
  • Added Wrap Paragraph command (Alt+Q on Windows and Linux)
  • Updated PHP completions, with thanks to vostok4
  • Build systems support a key containing platform specific settings ("windows", "osx" or "linux")
  • Build systems support an optional "target" setting, which defaults to "exec". This specifies the command that will be run when the build system is triggered
  • Fixed the selector field in .sublime-build files not being interpreted correctly
  • Corrected the file_regex in Make.sublime-build
  • Fixed a crash bug that could occur when using Ctrl+P with save_on_focus_lost enabled
  • Fixed serialization of large numbers in settings files
  • Documentation: Added API Reference

New in Sublime Text 2.0 Build 2032 Alpha (Jun 10, 2011)

  • Opening files no longer does any blocking IO in the main thread; working with remote files is much better now
  • Goto Anything gives file previews a short time to load before displaying them, reducing flicker from asynchronous loading
  • Reworked snippets and auto complete into a unified system
  • Word completions can be inserted by pressing tab
  • Added .sublime-completions file format, for pre-defined completions
  • Added completion entries for HTML and PHP
  • Added new setting, save_on_focus_lost, to automatically save files when switching applications
  • Improved font glpyh generation speed
  • Folder scanning is faster
  • Content based syntax detection now takes a lower precedence to the file extension based detection
  • next_view / prev_view commands won't update the stack until the modifier keys are released
  • In the replace panel, ctrl+alt+enter will perform a replace all
  • Windows: Hide Menu is now restored correctly on startup
  • Fixed default_line_ending not being applied to empty files
  • API: Added auto complete API, EventListener.on_query_completions()
  • API: Added on_activated(view) and on_deactivated(view)
  • API: save and prompt_save_as commands are accessible from the view

New in Sublime Text 2.0 Build 2027 Alpha (Jun 10, 2011)

  • Added bookmarks
  • Opened folders are kept synchronized with the file system
  • Individual folders can be removed via their context menu
  • Folders are loaded incrementally. Refresh Folders also works incrementally, and will not reset the expanded/collapsed state of the folder tree
  • Goto Anything: the ranking function will try harder to find the best match for each file
  • Added for emacs style marks, via commands set_mark, select_to_mark, delete_to_mark and swap_with_mark. Marks interact well with multiple selections.
  • Added an emacs style kill ring, and a corresponding yank command.
  • Added command show_at_center, which scrolls the view to center on the selection. This is bound to Ctrl+K, Ctrl+C on Windows
  • Added Word Wrap Column menu
  • Added Ruler menu
  • Any keys bound to move by lines will take effect in Goto Anything and the filter window. Specifically, on OSX Ctrl+P and Ctrl+N can be used to select the next and previous items.
  • Windows: Added fake scrollbars to the window, as required by some belligerent mouse drivers
  • Stronger protection against infinitely recursive directory trees, especially for file systems that don't report inodes
  • In Global Settings, file_exclude_patterns has been separated from folder_exclude_patterns
  • Changes to folder_exclude_patterns and file_exclude_patterns are applied on the fly
  • Fixed Find in Files not recursing in some scenarios
  • command_mode now disables character input, as it should
  • Automatic Build System selection now prefers Build Systems in the User folder
  • Fixed an issue with curly bracket pairing
  • Normalizing newlines emitted from exec'd programs
  • delete_word no longer deletes punctuation and whitespace at the same time
  • Fixed a crash when trying to focus a group that doesn't exist
  • API: Added view.show_at_center(point)
  • API: add_regions() can be given an icon name
  • API: Added sublime.log_commands(bool), to log the commands that are being run

New in Sublime Text 2.0 Build 2023 Alpha (Jun 10, 2011)

  • Fixed a crash in Goto Anything introduced in the previous version
  • Goto Anything file previewing is faster
  • Windows: Can now hide the menu, revealing it when alt is pressed
  • Multi-part extensions, such as "index.html.erb" work as expected
  • Updated syntax highlighting for Ruby and Ruby on Rails
  • Syntaxes are always shown in the menu, even if they don't have any associated file types
  • Added AppleScript syntax highlighting
  • Fixed window title being set incorrectly in some circumstances

New in Sublime Text 2.0 Build 2020 Alpha (Jun 10, 2011)

  • New version numbering scheme
  • File syntax is detected by looking at the first line of the file
  • Added shadows to the text area when the sides are clipped. These can be customized with the shadowWidth and shadow properties in .tmTheme files
  • Adding folders is faster
  • Added Copy File Path to the context menu
  • Find in Files: The global folder_exclude_patterns are respected
  • Find in Files: Folder names may be used in the include / exclude patterns
  • Fixed a rendering issue with extremely long tokens
  • Fixed a crash bug if the folder list is cleared while it's still loading
  • Fixed a crash when pressing Ctrl+Tab with no open files
  • Added --project command line parameter
  • Tweaked scrolling behavior of the exec command
  • Improved symbol detection, especially for C++
  • Added new key "gutterForeground" to color schemes
  • Updated Haskell.tmLanguage
  • Updated Python.tmLanguage
  • Updated XML.tmLanguage
  • Updated CSS.tmLanguage
  • Lua: Highlighting the not keyword
  • CSS: Fixed the '{' key binding not working as expected
  • Fixed explicitly set file types not being restored correctly from the session
  • Fixed Goto Anything displaying erratically when no files are open
  • API: Added view.set_syntax_file(file_name)
  • API: Implementing the on_close() callback