What's new in Portable Sublime Text 4 Build 4174 Dev
May 1, 2024
- Various syntax highlighting improvements
- Newly rewritten Lisp syntax highlighting thanks to deathaxe
- Improved handling of invalid UTF-16 sequences
- Fixed line numbers not being rendered correctly
- Fixed tab drag targets in mixed-dpi setups
- Fixed dragged tab label alignment in some cases
- Fixed PATH not being restored correctly when a build system fails to launch
- Fixed some crashes related to static initialization order
- minihtml: Improved error messages
- minihtml: <style> tags are now allowed within <head>
- minihtml: HTML is no longer parsed within <style> tags
- minihtml: Made HTML entity parsing more lenient
- API: Added View.utf8_code_units and View.utf16_code_units
- Linux: Implemented kinetic scrolling under Wayland
- Linux: Fixed issues with tab dragging under Wayland
- Linux: Added workaround for KDE drag-drop issue causing the caret to get stuck (Also fixed in kwin 6.0.4)
New in Portable 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 Portable 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 Portable 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 Portable Sublime Text 4 Build 4170 Dev (Feb 21, 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 Portable 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 Portable Sublime Text 4 Build 4168 Dev (Nov 23, 2023)
- Fixed a stack overflow when closing large amounts of files
- Linux: Fixed a rare crash with the save dialog
New in Portable Sublime Text 4 Build 4167 Dev (Nov 22, 2023)
- API: Fixed backwards compatibility breakage with Sheet.is_transient()
New in Portable 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 Portable Sublime Text 4 Build 4165 Dev (Nov 15, 2023)
- Fixed regression with edit_settings command
- API: Reverted changes to on_query_completions
New in Portable Sublime Text 4 Build 4164 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: 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable Sublime Text 4 Build 4154 Dev (Aug 8, 2023)
- Fixed a Goto Anything regression in 4153
- Mac: Fixed crash in 4153 when closing a window while an animation is playing
New in Portable 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 Portable Sublime Text 4 Build 4152 (Aug 2, 2023)
- Mac: Fixed compatibility with macOS 10.14 and earlier
New in Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable Sublime Text 4 Build 4129 Dev (Feb 24, 2022)
- Fixed a selection rendering regression in 4128
New in Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable Sublime Text 4 Build 4118 Dev (Oct 15, 2021)
- Fixed sequential key binding regression in 4117
New in Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable Sublime Text 4 Build 4112 Dev (Jul 14, 2021)
- Windows: Fixed a rendering quality regression in 4111
New in Portable Sublime Text 4 Build 4111 Dev (Jul 12, 2021)
- Fixed an infinite loop that could occur during syntax highlighting
New in Portable 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 Portable 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 Portable 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 Portable Sublime Text 3.2.1 Build 3210 Dev (Sep 24, 2019)
- Mac: Fixed a compatibility regression with some plugins
New in Portable Sublime Text 3.2.1 Build 3209 Dev (Sep 23, 2019)
- 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 Portable 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 Portable Sublime Text 3.2 Build 3206 Dev (Apr 5, 2019)
New in Portable Sublime Text 3.2 Build 3205 Dev (Apr 4, 2019)
- Improved scrolling logic in some scenarios
New in Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable Sublime Text 3.1.1 Build 3197 Dev (Mar 8, 2019)
- Fixed an infinite loop regression in 3195
New in Portable Sublime Text 3.1.1 Build 3196 Dev (Mar 8, 2019)
- Fixed an infinite loop regression in 3195
New in Portable Sublime Text 3.1.1 Build 3195 Dev (Mar 7, 2019)
- Assorted minor fixes
- Fixed a Goto Symbol in Project performance regression
New in Portable Sublime Text 3.1.1 Build 3194 Dev (Mar 5, 2019)
- Various inline diff improvements
New in Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable Sublime Text 3.1.1 Build 3187 Dev (Jan 18, 2019)
- Fixed a crash regression in 3186
New in Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable Sublime Text 3.0 Build 3175 Dev (May 12, 2018)
New in Portable Sublime Text 3.0 Build 3172 Dev (May 10, 2018)
- Fixed a rendering regression in 3171
New in Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable Sublime Text 3.0 Build 3164 Dev (Apr 18, 2018)
- API: Fixed a plugin loading regression in 3162
New in Portable 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 Portable 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 Portable 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 Portable Sublime Text 3.0 Build 3160 Dev (Mar 30, 2018)
- Fixed a crash regression in 3158 when using symlinks on Windows 7
New in Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable Sublime Text 3.0 Build 3033 Beta (May 27, 2013)
- New auto update system for Windows
- 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 Portable Sublime Text 3.0 Build 3021 Beta (May 27, 2013)
- Windows: Fixed a crash under Windows 7 x64
- Fixed a crash that could occur on file open
New in Portable Sublime Text 3.0 Build 3019 Beta (May 27, 2013)
- Added Jump Back and Jump Forward commands, available from the Goto menu
- HTML: Improved completions and auto indent
- HTML: Tags are closed when
New in Portable Sublime Text 3.0 Build 3012 Beta (May 27, 2013)
- Improved protection against degenerate syntax definitions
- Objective-C: Improved symbol indexing
- API: Plugins may import modules from plugin_loaded()
- API: sublime.version(), sublime.platform(), sublime.architecture(), and sublime.channel() may now be used before plugin_loaded() is called
- API: Added view.command_history()
New in Portable Sublime Text 3.0 Build 3010 Beta (May 27, 2013)
- Symbol Indexing: fixed degenerate behavior that could cause an explosion in the number of worker processes
- Symbol Indexing: less worker processes are used, to be more unobtrusive
- Symbol Indexing: better handling of binary files
- OSX: Control+C will cancel the current build
- API: view.insert() returns the number of characters inserted
New in Portable Sublime Text 3.0 Build 3009 Beta (May 27, 2013)
- Improved symbol indexing for Ruby
- Symbol Indexing works on Windows XP
- Can monitor indexing behavior by entering sublime.log_indexing(True) in the console
- Tweaked brace matching logic
- Removed undesirable animation during startup
- API: Added _ssl module on OS X and Windows
- API: Fixed ctypes regression in 3008 on OS X
- API: Plugins can define plugin_loaded() and plugin_unloaded() module functions. plugin_loaded() will be called when the API is ready to use.
- API: Added view.find_by_class()
- API: Added view.expand_by_class()
- API: Fixed on_new_async()
- API: Tweaking handling of show_quick_panel when items is a mixed list of strings and sequences
New in Portable Sublime Text 3.0 Build 3008 Beta (May 27, 2013)
- Fixed Open all with current extension as
- Fixed the Tools/Macros menu
- Linux: Restored compatibility with older glibc versions
- Linux: Added Installed-Size field to the .deb
- API: Fixed missing _socket module on 32 bit Windows
New in Portable Sublime Text 3.0 Build 3007 Beta (May 27, 2013)
- Added Symbol Indexing support for Scala
- Fixed crash that could occur when using Goto Anything
- Fixed the ignored_packages setting not working correctly with zipped packages
- Vintage: Fixed 'o' and 'O'
- API: Fixed on_query_completions not working correctly in some circumstance
- API: Re-added view.score_selector
- API: Selection.add() no longer ignores the xpos
New in Portable Sublime Text 3.0 Build 3006 Beta (May 27, 2013)
- Added Goto Definition, and Goto Symbol in Project
- Significantly improved startup time
- Significantly improved Replace All performance
- Improved matching algorithm used for Goto Anything and Autocomplete, now accepts transposed characters
- UI: Enhanced pane management
- UI: Previewing files from the sidebar creates a preview tab
- UI: Improved animation in the side bar
- Projects: Multiple workspaces can be created for a single project
- Projects: When adding folders to the sidebar, symlinks are not followed by default. This can be changed by enabling follow_symlinks in the project.
- Build Systems: Added 'shell_cmd', which supersedes 'cmd', with more intuitive syntax
- Build Systems: Better PATH handling behavior on OS X when using shell_cmd.
- Build Systems: 'Make' build system has an improved error message regex
- Build Systems: Syntax file can be specified for the output
- Build Systems: Word wrap is enabled by default
- Find in Files: Improved handling of binary files
- Find in Files: Line numbers are hidden in the output
- Find: Find in Selection will no longer be automatically selected
- Find: Removed Reverse option
- API: Upgraded from Python 2.6 to Python 3.3
- API: Plugins run out-of-process
- API: Plugin API is now threadsafe
- API: Some API events are now run asynchronously
- API: begin_edit() / end_edit() are no longer accessible
- API: Projects are exposed to the API
- API: Added window.settings() and window.template_settings()
- API: show_quick_panel accepts an on_highlighted callback
New in Portable 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 Portable 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 Portable 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 Portable Sublime Text 2.0 Build 2165 Beta (Jan 13, 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.
- 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
- Vintage: Added ZZ
- Vintage: Added X command
- Vintage: Added _ command
- Vintage: Added ~
- Vintage: r,enter is supported
- Vintage: Added various Ctrl+W, bindings for layout control
- Vintage: Added various z, bindings for folding
- Vintage: _ accepts a count
- Vintage: dw works as expected at EOL
- Vintage: Fixed an issue with the zz key binding
- 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable 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 Portable Sublime Text 2.0 Build 2076 Beta (Jul 29, 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 Portable Sublime Text 2.0 Build 2065 Alpha (Jul 29, 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 Portable Sublime Text 2.0 Build 2059 Alpha (Jul 29, 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 Portable Sublime Text 2.0 Build 2051 Alpha (Jul 29, 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 Portable Sublime Text 2.0 Build 2047 Alpha (Jul 29, 2011)
- Fixed mouse input regression in the license window and the select project window
New in Portable Sublime Text 2.0 Build 2046 Alpha (Jul 29, 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 Portable Sublime Text 2.0 Build 2039 Alpha (Jul 29, 2011)
- Show minimap setting is respected when cloning
- Fixed flicker that could occur when showing the auto complete window
New in Portable Sublime Text 2.0 Build 2036 Alpha (Jul 29, 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 Portable Sublime Text 2.0 Build 2032 Alpha (Jul 29, 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